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

 f \colon V(G) \to V(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.

Contents

[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

\sum_{v \in V(G)} v\cdot\text{deg }v

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

|E_i\cap E_j| = |F_i \cap F_j|

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:

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

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

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

  1. ^ H. Whitney, "Congruent graphs and the connectivity of graphs", Am. J. Math., 54(1932) pp. 160-168.
  2. ^ McKay 1981
  3. ^ P.J. Kelly, "A congruence theorem for trees" Pacific J. Math., 7 (1957) pp. 961–968
  4. ^ Aho, Hopcroft & Ullman 1974
  5. ^ Hopcroft & Wong 1974
  6. ^ Booth & Lueker 1979
  7. ^ Colbourn 1981
  8. ^ Bodlaender 1990
  9. ^ Miller 1980
  10. ^ Filotti & Mayer 1980
  11. ^ Luks 1982
  12. ^ Babai, Grigoryev & Mount 1982
  13. ^ Booth & Colbourn 1979; Köbler, Schöning & Torán 1993
  14. ^ Köbler, Schöning & Torán 1992; Arvind & Kurur 2006
  15. ^ Arvind & Köbler 2000
  16. ^ 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
  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
  20. ^ M.I.Trofimov, E.A.Smolenskii, Russian Chemical Bulletin, 2005, Vol. 54, 9, 2235. (http://dx.doi.org/10.1007/s11172-006-0105-6)
  21. ^ Luks 1982

[edit] References

  • 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
  • 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 .
  • 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 .


[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.)