Graph isomorphism
From Wikipedia, the free encyclopedia
In graph theory, an isomorphism of graphs G and H is a bijection between the vertex sets of G and H
such that any two vertices u and v of G are adjacent in G if and only if ƒ(u) and ƒ(v) are adjacent in H. This kind of bijection is commonly called "edge-preserving bijection", in accordance with the general notion of isomorphism being a structure-preserving bijection.
If an isomorphism exists between two graphs, then the graphs are called isomorphic. 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.
The graph isomorphism is an equivalence relation on graphs and as such it partitions the set of all graphs into equivalence classes. A set of graphs isomorphic to each other is called an isomorphism class of graphs.
|
[edit] Example
The two graphs shown below are isomorphic, despite their different looking drawings.
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 |
[edit] Motivation
The formal notion of "isomorphism", e.g., of "graph isomorphism", captures the informal notion that some objects have "the same structure" if one ignores individual distinctions of "atomic" components of objects in question, see the example above. Whenever individuality of "atomic" components (vertices and edges, for graphs) is important for correct representation of whatever is modeled by graphs, the model is refined by imposing additional restrictions on the structure, and other mathematical objects are used: digraphs, labeled graphs, colored graphs, rooted trees and so on. The isomorphism relation may also be defined for all these generalizations of graphs: the isomorphism bijection must preserve the elements of structure which define the object type in question: arcs, labels, vertex/edge colors, the root of the rooted tree, etc.
The notion of "graph isomorphism" allows us to distinguish graph properties inherent to the structures of graphs themselves from properties associated with graph representations: graph drawings, data structures for graphs, graph labelings, etc. For example, if a graph has exactly one cycle, then all graphs in its isomorphism class also have exactly one cycle. On the other hand, in the common case when the vertices of a graph are (represented by) the integers 1, 2,... N, then the expression
may be different for two isomorphic graphs.
[edit] Whitney graph isomorphism theorem
The Whitney graph isomorphism theorem[1], named after H. Whitney, gives a general condition for two graphs being isomorphic. The theorem is as follows: Let G and H be two simple, connected graphs, with an equal number of verticies and edges, and with at least three verticies. Let {Ei} be the set of edges of G, and {Fi} be the set of edges for H. Then, if
for all i and j, where the vertical bars denote the cardinality of a set (here, the cardinality of the set of verticies shared by pairs of edges), then G and H are isomorphic, with only one exception: G = K3 is not isomorphic to H = K1,3. More simply stated: if the line graphs of G and H are isomorphic, then with one exception G and H themselves are isomorphic.
Here, K3 is the complete graph of three verticies, and K1,3 is the complete bipartite graph with 1,3 vertices.
The Whitney graph theorem can be extended to hypergraphs.
[edit] The graph isomorphism problem
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 belonging to NP neither known to be solvable in polynomial time nor NP-complete. 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.[2]
A generalization of the problem, the subgraph isomorphism problem, is known to be NP-complete.
[edit] Solved special cases
A number of important special cases of the graph isomorphism problem have efficient, polynomial-time solutions:
- Trees.[3][4]
- Planar graphs.[5]
- Interval graphs.[6]
- Permutation graphs.[7]
- Partial k-trees.[8]
- Bounded-parameter graphs
[edit] 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.[13] 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.[14] 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.[15] 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.
[edit] GI-Complete problems
[edit] 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: [16]
- digraphs[16]
- labelled graphs, with the proviso that an isomorphism is not required to preserve the labels, [16]but only the equivalence relation consisting of pairs of vertices with the same label
- polarized graphs (made of a complete graph Km and an empty graph Kn plus some edges connecting the two; their isomorphism must preserve the partition)[16]
- 2-colored graphs[16]
- explicitly given finite structures[16]
- multigraphs[16]
- hypergraphs[16]
- finite automata[16]
- commutative class 3 nilpotent (i.e., xyz = 0 for every elements x, y, z) semigroups[16]
- finite rank associative algebras over a fixed algebraically closed field with zero squared radical and commutative factor over the radical [16]
- context-free grammars[16]
- balanced incomplete block designs[16]
[edit] 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]
- connected graphs [16]
- graphs of diameter 2 and radius 1[16]
- directed acyclic graphs [16]
- regular graphs. [16]
- bipartite graphs without non-trivial strongly regular subgraphs [16]
- bipartite Eulerian graphs [16]
- bipartite regular graphs [16]
- line graphs [16]
- chordal graphs [16]
- regular self-complementary graphs [16]
- graphs of general, simple, and simplicial polytopes in arbitrary dimensions[citation needed]
Many classes of digraphs are also GI-complete.
[edit] 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]
[edit] 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[20]. 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.
Notice that molecular graphs have bounded degree (as the valence of any atom is at most 8), hence their isomorphism is testable in polynomial time[21].
Another important application is in electronic design automation: graph isomorphism is the basis of the Layout Versus Schematic (LVS) circuit design verification.
[edit] See also
[edit] Notes
- ^ H. Whitney, "Congruent graphs and the connectivity of graphs", Am. J. Math., 54(1932) pp. 160-168.
- ^ McKay 1981
- ^ P.J. Kelly, "A congruence theorem for trees" Pacific J. Math., 7 (1957) pp. 961–968
- ^ Aho, Hopcroft & Ullman 1974
- ^ Hopcroft & Wong 1974
- ^ Booth & Lueker 1979
- ^ Colbourn 1981
- ^ Bodlaender 1990
- ^ Miller 1980
- ^ Filotti & Mayer 1980
- ^ Luks 1982
- ^ Babai, Grigoryev & Mount 1982
- ^ Booth & Colbourn 1979; Köbler, Schöning & Torán 1993
- ^ Köbler, Schöning & Torán 1992; Arvind & Kurur 2006
- ^ Arvind & Köbler 2000
- ^ a b c d e f g h i j k l m n o p q r s t u v w x Zemlyachenko, Korneenko & Tyshkevich 1982
- ^ Colbourn M.J., Colbourn Ch.J. "Graph isomorphism and self-complementary graphs", SIGACT News, 1978, vol. 10, no. 1, 25-29
- ^ Kozen 1978.
- ^ Christophe-André Mario Irniger (2005) "Graph Matching: Filtering Databases of Graphs Using Machine Learning", ISBN 1586035576
- ^ M.I.Trofimov, E.A.Smolenskii, Russian Chemical Bulletin, 2005, Vol. 54, 9, 2235. (http://dx.doi.org/10.1007/s11172-006-0105-6)
- ^ Luks 1982
[edit] 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.
- Babai, László; Grigoryev, D. Yu. & Mount, David M. (1982), Isomorphism of graphs with bounded eigenvalue multiplicity, pp. 310-324, Proceedings of the 14th Annual ACM Symposium on Theory of Computing, <http://portal.acm.org/citation.cfm?id=802206&dl=ACM&coll=portal>
- 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.
- Booth, Kellogg S. & Lueker, George S. (1979), “A linear time algorithm for deciding interval graph isomorphism”, Journal of the ACM 26 (2): 183–195, DOI 10.1145/322123.322125
- 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
- Garey, Michael R. & Johnson, David S. (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, ISBN 978-0716710455
- 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.
- McKay, Brendan D. (1981), “Practical graph isomorphism”, Congressus Numerantium 30: 45–87, 10th. Manitoba Conference on Numerical Mathematics and Computing (Winnipeg, 1980), <http://cs.anu.edu.au/~bdm/nauty/PGI/>
- Miller, Gary (1980), Isomorphism testing for graphs of bounded genus, pp. 225-235, Proceedings of the 12th Annual ACM Symposium on Theory of Computing, <http://portal.acm.org/citation.cfm?id=804670&dl=ACM&coll=portal>
[edit] 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." – Journal of Graph Theory 1979, 3, 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 (Records of Seminars of the Leningrad Department of Steklov Institute of Mathematics of the USSR Academy of Sciences), Vol. 118, pp. 83–158, 1982.)