[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] Inexact graph matching

From: Tamás Nepusz
Subject: Re: [igraph] Inexact graph matching
Date: Wed, 4 Jul 2012 10:34:17 +0200

Hello Khris, 

This seems to be a very complicated graph matching problem and I'm very 
confident that you cannot find the exact solution in polynomial time -- if you 
could, you could also solve the graph isomorphism problem in polynomial time by 
finding the best match between the two graphs and checking whether the distance 
between the two matched matrices is zero or not. If the graph is small, you can 
try a branch-and-bound strategy -- basically an exhaustive search where you 
keep track of the best match found so far (and its "cost") and skip the 
branches of the search tree where you can infer that the cost of any leaf in 
that branch is higher than the best match found so far. (You can do this 
because the cost function is monotonously increasing as you match more and more 
nodes along a branch of a search tree). This will be exponential, but with some 
clever heuristics it may be tractable. The heuristic part comes into play at 
two places:

1. You have to decide in which order you are going to consider the nodes of one 
graph to be matched to the other as you build up the complete matching.
2. You have to decide in which order you try to assign the unmatched nodes of 
G2 to the currently considered node in G1.


On Tuesday, 3 July 2012 at 16:12, Khris wrote:

> Hi,
> I have specific Graph matching problem and I am not sure what's the best way 
> to deal with it. The following is the def:-
> We have 2 weighted undirected graphs. In one graph I know the distance of 
> every vertex from every other vertex whereas in another graph I know only 
> which vertices are close to a given vertex. So I know the neighboring 
> vertices given a vertex. So the distance matrix of other Graph is 
> incompletely known. So the question is what's the best way to find the 
> correct alignment between the 2 graphs. Are there any functions in iGraph 
> library which implements those Algorithms?
> Ex:- G1 is know the complete distance matrix. For G2, if there are four 
> vertices let's say (v1, v2, v3 v4) the I know edge weight (v1,v2) and (v1,v3) 
> but have no information of edge weight(v1,v4). Similarly I know about (v2,v3) 
> but no information about edge weights (v2,v4) or (v3,v4). So G2 is 
> incompletely known.
> Appreciate any useful feedback and pointers.
> Rest fine
> Khris.
> _______________________________________________
> igraph-help mailing list
> address@hidden (mailto:address@hidden)
> https://lists.nongnu.org/mailman/listinfo/igraph-help

reply via email to

[Prev in Thread] Current Thread [Next in Thread]