Graph isomorphism problem explained

The graph isomorphism problem is the computational problem of determining whether two finite graphs are isomorphic.

The problem is not known to be solvable in polynomial time nor to be NP-complete, and therefore may be in the computational complexity class NP-intermediate. It is known that the graph isomorphism problem is in the low hierarchy of class NP, which implies that it is not NP-complete unless the polynomial time hierarchy collapses to its second level. At the same time, isomorphism for many special classes of graphs can be solved in polynomial time, and in practice graph isomorphism can often be solved efficiently.[1]

This problem is a special case of the subgraph isomorphism problem, which asks whether a given graph G contains a subgraph that is isomorphic to another given graph H; this problem is known to be NP-complete. It is also known to be a special case of the non-abelian hidden subgroup problem over the symmetric group.

In the area of image recognition it is known as the exact graph matching.[2]

State of the art

In November 2015, László Babai announced a quasi-polynomial time algorithm for all graphs, that is, one with running time

O((logn)c)
2
for some fixed

c>0

.[3] [4] [5] On January 4, 2017, Babai retracted the quasi-polynomial claim and stated a sub-exponential time bound instead after Harald Helfgott discovered a flaw in the proof. On January 9, 2017, Babai announced a correction (published in full on January 19) and restored the quasi-polynomial claim, with Helfgott confirming the fix.[6] Helfgott further claims that one can take, so the running time is .[7]

Prior to this, the best accepted theoretical algorithm was due to, and was based on the earlier work by combined with a subfactorial algorithm of V. N. Zemlyachenko . The algorithm has run time 2O for graphs with n vertices and relies on the classification of finite simple groups. Without this classification theorem, a slightly weaker bound was obtained first for strongly regular graphs by, and then extended to general graphs by . Improvement of the exponent for strongly regular graphs was done by . For hypergraphs of bounded rank, a subexponential upper bound matching the case of graphs was obtained by .

There are several competing practical algorithms for graph isomorphism, such as those due to,,, and . While they seem to perform well on random graphs, a major drawback of these algorithms is their exponential time performance in the worst case.

The graph isomorphism problem is computationally equivalent to the problem of computing the automorphism group of a graph,[8] [9] and is weaker than the permutation group isomorphism problem and the permutation group intersection problem. For the latter two problems, obtained complexity bounds similar to that for graph isomorphism.

Solved special cases

A number of important special cases of the graph isomorphism problem have efficient, polynomial-time solutions:

Complexity class GI

Since the graph isomorphism problem is neither known to be NP-complete nor known to be tractable, researchers have sought to gain insight into the problem by defining a new class GI, the set of problems with a polynomial-time Turing reduction to the graph isomorphism problem.[11] If in fact the graph isomorphism problem is solvable in polynomial time, GI would equal P. On the other hand, if the problem is NP-complete, GI would equal NP and all problems in NP would be solvable in quasi-polynomial time.

As is common for complexity classes within the polynomial time hierarchy, a problem is called GI-hard if there is a polynomial-time Turing reduction from any problem in GI to that problem, i.e., a polynomial-time solution to a GI-hard problem would yield a polynomial-time solution to the graph isomorphism problem (and so all problems in GI). A problem

X

is called complete for GI, or GI-complete, if it is both GI-hard and a polynomial-time solution to the GI problem would yield a polynomial-time solution to

X

.

The graph isomorphism problem is contained in both NP and co-AM. GI is contained in and low for Parity P, as well as contained in the potentially much smaller class SPP. That it lies in Parity P means that the graph isomorphism problem is no harder than determining whether a polynomial-time nondeterministic Turing machine has an even or odd number of accepting paths. GI is also contained in and low for ZPPNP. This essentially means that an efficient Las Vegas algorithm with access to an NP oracle can solve graph isomorphism so easily that it gains no power from being given the ability to do so in constant time.

GI-complete and GI-hard problems

Isomorphism of other objects

There are a number of classes of mathematical objects for which the problem of isomorphism is a GI-complete problem. A number of them are graphs endowed with additional properties or restrictions:

GI-complete classes of graphs

A class of graphs is called GI-complete if recognition of isomorphism for graphs from this subclass is a GI-complete problem. The following classes are GI-complete:

Many classes of digraphs are also GI-complete.

Other GI-complete problems

There are other nontrivial GI-complete problems in addition to isomorphism problems.

GI-hard problems

Program checking

have shown a probabilistic checker for programs for graph isomorphism. Suppose P is a claimed polynomial-time procedure that checks if two graphs are isomorphic, but it is not trusted. To check if graphs G and H are isomorphic:

This procedure is polynomial-time and gives the correct answer if P is a correct program for graph isomorphism. If P is not a correct program, but answers correctly on G and H, the checker will either give the correct answer, or detect invalid behaviour of P.If P is not a correct program, and answers incorrectly on G and H, the checker will detect invalid behaviour of P with high probability, or answer wrong with probability 2−100.

Notably, P is used only as a blackbox.

Applications

Graphs are commonly used to encode structural information in many fields, including computer vision and pattern recognition, and graph matching, i.e., identification of similarities between graphs, is an important tools in these areas. In these areas graph isomorphism problem is known as the exact graph matching.[15]

In cheminformatics and in mathematical chemistry, graph isomorphism testing is used to identify a chemical compound within a chemical database. Also, in organic mathematical chemistry graph isomorphism testing is useful for generation of molecular graphs and for computer synthesis.

Chemical database search is an example of graphical data mining, where the graph canonization approach is often used. In particular, a number of identifiers for chemical substances, such as SMILES and InChI, designed to provide a standard and human-readable way to encode molecular information and to facilitate the search for such information in databases and on the web, use canonization step in their computation, which is essentially the canonization of the graph which represents the molecule.

In electronic design automation graph isomorphism is the basis of the Layout Versus Schematic (LVS) circuit design step, which is a verification whether the electric circuits represented by a circuit schematic and an integrated circuit layout are the same.

See also

References

also Journal of Computer and System Sciences 37: 312–323, 1988.

Surveys and monographs

Software

Notes and References

  1. Babai. László. Erdős. Paul. Selkow. Stanley M.. 1980-08-01. Random Graph Isomorphism. SIAM Journal on Computing. 9. 3. 628–635. 10.1137/0209047. 0097-5397.
  2. Endika Bengoetxea, "Inexact Graph Matching Using Estimation of Distribution Algorithms", Ph. D., 2002, Chapter 2:The graph matching problem (retrieved June 28, 2017)
  3. News: Mathematician claims breakthrough in complexity theory. Science. November 10, 2015.
  4. http://people.cs.uchicago.edu/~laci/ Video of first 2015 lecture linked from Babai's home page
  5. Web site: The Graph Isomorphism Problem . Communications of the ACM . 4 May 2021.
  6. . Graph Isomorphism Vanquished — Again . Quanta Magazine . January 14, 2017 .
  7. Dona. Daniele. Bajpai. Jitendra. Helfgott. Harald Andrés. 2017-10-12. Graph isomorphisms in quasi-polynomial time. math.GR. en. 1710.04574. mdy-all.
  8. Book: Luks, Eugene . DIMACS Series in Discrete Mathematics and Theoretical Computer Science . Permutation groups and polynomial-time computation . American Mathematical Society . Providence, Rhode Island . 1993-09-01 . 11 . 978-0-8218-6599-6 . 1052-1798 . 10.1090/dimacs/011/11 . 139–175.
  9. Algeboy (https://cs.stackexchange.com/users/90177/algeboy), Graph isomorphism and the automorphism group, URL (version: 2018-09-20): https://cs.stackexchange.com/q/97575
  10. .
  11. .
  12. Gabarró. Joaquim. García. Alina. Serna. Maria. The complexity of game isomorphism. Theoretical Computer Science. 412. 48. 6675-6695. 2011. 10.1016/j.tcs.2011.07.022. 2117/91166. free.
  13. .
  14. .
  15. Endika Bengoetxea, Ph.D., Abstract