3

Assume that there are two graphs like this:

enter image description here

We aim to find the matching correspondences between the two graph.And now we use a method to calculate the similarity of two nodes between the two graphs. w(A,1) means the similarity of the node A from the left graph between the node 1 from the right graph. Then we can have table like this:

enter image description here

Our target is to calculate the maximum weight matching of all this nodes. And we can use the algorithm Kuhn-Munkras to solve this problem.

But now the question is that is if we add the similarity between edges from the two graphs,how can we calulate the maximum weight matching. It means that the table become this:

enter image description here

AA means the node A, and AB means the edge from A to B. The constraints are that if the final result is that node A matches node 1,the edge AB must matches 12 or 13.So can we use a algorithm like Kuhn-Munkras to solve this problem? If not , how can we find the the maximum weight matching in polynomial time?

dingalapadum
  • 2,077
  • 2
  • 21
  • 31
GaoYu
  • 31
  • 3
  • Feels like it is unlikely that Kuhn algorithm can extend to this case because if it could I think we could solve the NP graph isomorphism problem. Perhaps a genetic algorithm would work well here to find reasonable answers (but not necessarily optimal)? – Peter de Rivaz Nov 27 '15 at 08:39
  • Oh,thanks ! But I don't quite understand the relationship between my question and the NP graph isomorphism problem. Can you give me more information about it? – GaoYu Nov 27 '15 at 15:01

1 Answers1

1

Suppose we want to know if two graphs are isomorphic, e.g. the two in your example.

In the first graph we have edges AC and CB, while in the second graph we have edges 13 and 32.

We can set the weight matrix such that there is a high reward for mapping any edge in the first to an edge in the second.

i.e. AC->13 and AC->32 and CB->13 and CB->32 will all have weight 1, while all other matchings have weight zero.

There is an isomorphism between the graphs if and only if there is a maximum weight matching with weight equal to the number of edges.

Therefore your problem is at least as hard as graph isomorphism so it is unlikely that the Kuhn algorithm can be efficiently extended to this case.

Peter de Rivaz
  • 33,126
  • 4
  • 46
  • 75
  • ok,thanks !As I understand Subgraph isomorphism problem is about directed graph, but my question is about undirectd graph.So is the directed graph npc ? What's more ,Do u have me some information about the approximate algorithm for my question – GaoYu Dec 01 '15 at 09:17