Jump to content

Graph isomorphism

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by MathMartin (talk | contribs) at 14:06, 23 January 2008 (removed citation and unclear sentence by Tim32. See Talk page.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In graph theory, a graph isomorphism is a bijection (a one-to-one and onto mapping) between the vertices of two graphs G and H

with the property that any two vertices u and v from G are adjacent if and only if ƒ(u) and ƒ(v) are adjacent in H. If an isomorphism can be constructed between two graphs, then the graphs are called isomorphic. The bijection in question is called an isomorphism of G and H. In the case when the bijection is a mapping of a graph onto itself, i.e., when G and H are one and the same graph, the bijection is called an automorphism of G.

Determining whether two graphs are isomorphic is referred to as the graph isomorphism problem.

Besides its practical importance, the graph isomorphism problem is a curiosity in computational complexity theory as it is one of a very small number of problems listed by Garey & Johnson (1979) as belonging to NP, but neither known to be in polynomial time nor NP-complete, although isomorphism for many special classes of graphs can be solved in polynomial time, and in practice graph isomorphism can often be solved efficiently.[1]

A generalization of the problem, the subgraph isomorphism problem, is known to be NP-complete.

Example

The two graphs shown below are isomorphic, despite their very different looking drawings, due to the existence of the bijection described to the right.

Graph G Graph H An isomorphism
between G and H
ƒ(a) = 1

ƒ(b) = 6

ƒ(c) = 8

ƒ(d) = 3

ƒ(g) = 5

ƒ(h) = 2

ƒ(i) = 4

ƒ(j) = 7

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 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.[12] Problems this way equivalent to graph isomorphism are called GI-complete.

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.[13] 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.[14] 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 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. [15]

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.[16]

Many classes of digraphs are also GI-complete.

Other

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

  • The recognition of self-complementarity of a graph or digraph[17]
  • A clique problem for a class of so-called M-graphs. It is shown that finding of an isomorphism for n-vertex graphs is equivalent to finding an n-clique in an M-graph of size n2. This fact is interesting because the problem of finding an n-ε-clique in a M-graph of size n2 is NP-complete for arbitrarily small positive ε. [18]

Applications

The graph isomorphism problem arises in a variety of practical applications. For example, in cheminformatics and in mathematical chemistry, graph isomorphism and other graph matching techniques are used to identify a chemical compound within a chemical database. [19] Also, in organic mathematical chemistry graph isomorphism testing may be necessary for generation of molecular graphs and for computer synthesis. Regular graphs are the most difficult for such testing and many of them are very important for chemistry (for example, Cyclohexane, Benzene, Cuneane, Dodecahedrane etc.), but their part among chemical compounds is small, and decreases with increasing of number of vertices (i.e. number of atoms). Also, the majority of chemical structures are planar graphs. So, for many practical wide-distributed tasks (chemical database support etc.) special notations (for example, SMILES) or fast isomorphism testing for planar molecular graphs may be sufficient.

Another important application is in electronic design automation: graph isomorphism is the basis of the Layout Versus Schematic (LVS) circuit design verification.

See also

Notes

  1. ^ McKay 1981
  2. ^ P.J. Kelly, "A congruence theorem for trees" Pacific J. Math., 7 (1957) pp. 961–968
  3. ^ Aho, Hopcroft & Ullman 1974
  4. ^ Hopcroft & Wong 1974
  5. ^ Booth & Lueker 1979
  6. ^ Colbourn 1981
  7. ^ Bodlaender 1990
  8. ^ Miller 1980
  9. ^ Filotti & Mayer 1980
  10. ^ Luks 1982
  11. ^ Babai, Grigoryev & Mount 1982
  12. ^ Booth & Colbourn 1979; Köbler, Schöning & Torán 1993
  13. ^ Köbler, Schöning & Torán 1992; Arvind & Kurur 2006
  14. ^ Arvind & Köbler 2000
  15. ^ Zemlyachenko, Korneenko & Tyshkevich 1982
  16. ^ Zemlyachenko, Korneenko & Tyshkevich 1982
  17. ^ Colbourn M.J., Colbourn Ch.J. "Graph isomorphism and self-complementary graphs", SIGACT News, 1978, vol. 10, no. 1, 25-29
  18. ^ Kozen 1978.
  19. ^ Christophe-André Mario Irniger (2005) "Graph Matching: Filtering Databases of Graphs Using Machine Learning", ISBN 1586035576

References

  • Aho, Alfred V.; Hopcroft, John; Ullman, Jeffrey D. (1974), The Design and Analysis of Computer Algorithms, Reading, MA: Addison-Wesley
  • Arvind, Vikraman; Köbler, Johannes (2000), "Graph isomorphism is low for ZPP(NP) and other lowness results.", Proceedings of the 17th Annual Symposium on Theoretical Aspects of Computer Science, Springer-Verlag, Lecture Notes in Computer Science 1770, pp. 431–442, ISBN 3-540-67141-2.
  • Arvind, Vikraman; Kurur, Piyush P. (2006), "Graph isomorphism is in SPP", Information and Computation, 204 (5): 835–852, doi:10.1016/j.ic.2006.02.002.
  • Bodlaender, Hans (1990), "Polynomial algorithms for graph isomorphism and chromatic index on partial k-trees", Journal of Algorithms, 11: 631–643
  • Booth, Kellogg S.; Colbourn, C. J. (1979), Problems polynomially equivalent to graph isomorphism, Technical Report CS-77-04, Computer Science Department, University of Waterloo.
  • Colbourn, C. J. (1981), "On testing isomorphism of permutation graphs", Networks, 11: 13–21
  • I. S. Filotti , Jack N. Mayer (1980), A polynomial-time algorithm for determining the isomorphism of graphs of fixed genus, Proceedings of the 12th Annual ACM Symposium on Theory of Computing, p.236-243
  • Hopcroft, John; Wong, J. (1974), "Linear time algorithm for isomorphism of planar graphs", Proceedings of the Sixth Annual ACM Symposium on Theory of Computing, pp. 172–184, doi:10.1145/800119.803896.
  • Köbler, Johannes; Schöning, Uwe; Torán, Jacobo (1992), "Graph isomorphism is low for PP", Computational Complexity, 2 (4): 301–330, doi:10.1007/BF01200427.
  • Köbler, Johannes; Schöning, Uwe; Torán, Jacobo (1993), The Graph Isomorphism Problem: Its Structural Complexity, Birkhäuser, ISBN 978-0817636807.
  • Kozen, Dexter (1978), "A clique problem equivalent to graph isomorphism", ACM SIGACT News, 10 (2): 50–52, doi:10.1145/990524.990529.
  • Luks, Eugene M. (1982), "Isomorphism of graphs of bounded valence can be tested in polynomial time", Journal of Computer and System Sciences, 25: 42–65.


Surveys

  • Ronald Read and Derek Corneil. "The graph isomorphism disease". Journal of Graph Theory 1977, 1, 339-363
  • Gati, G. "Further annotated bibliography on the isomorphism disease." – J. of Graph Theory, 3 (1979), 95-109
  • V. N. Zemlyachenko, N. M. Korneenko and R. I. Tyshkevich, "Graph isomorphism problem", " Journal of Mathematical Sciences", Vol. 29, no. 4, 1985, pp. 1426-1481 doi:10.1007/BF02104746 (Translated from Zapiski Nauchnykh Seminarov Leningradskogo Otdeleniya Matematicheskogo Instituta im. V. A. Steklova AN SSSR, Vol. 118, pp. 83–158, 1982.)

graph isomorphism at PlanetMath.