Graph isomorphism problem
Template:Short description Template:DMCA
Page Template:Unsolved/styles.css has no content.
The graph isomorphism problem is the computational problem of determining whether two finite graphs are isomorphic.[1]
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.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. 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]Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
This problem is a special case of the subgraph isomorphism problem,Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. 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.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
In the area of image recognition it is known as the exact graph matching problem.[3]
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 for some fixed .[4][5][6][7] 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.[8][9] Helfgott further claims that one can take c = 3, so the running time is 2O((log n)3).[10][11] Babai published a "preliminary report" on related work at the 2019 Symposium on Theory of Computing, describing a quasipolynomial algorithm for graph canonization,[12] but as of 2025[update] the full version of these algorithms remains unpublished.
Prior to this, the best accepted theoretical algorithm was due to Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found., and was based on the earlier work by Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. combined with a subfactorial algorithm of V. N. Zemlyachenko Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.. The algorithm has run time 2O(√n log n) for graphs with n vertices and relies on the classification of finite simple groups. Without this classification theorem, a slightly weaker bound 2O(√n log2 n) was obtained first for strongly regular graphs by László Babai (1980), and then extended to general graphs by Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.. Improvement of the exponent √n for strongly regular graphs was done by Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.. For hypergraphs of bounded rank, a subexponential upper bound matching the case of graphs was obtained by Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found..
There are several competing practical algorithms for graph isomorphism, such as those due to Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found., Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found., Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found., and Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.. While they seem to perform well on random graphs, a major drawback of these algorithms is their exponential time performance in the worst case.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
The graph isomorphism problem is computationally equivalent to the problem of computing the automorphism group of a graph,Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.[13][14] and is weaker than the permutation group isomorphism problem and the permutation group intersection problem. For the latter two problems, Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. 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:
- TreesLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- Planar graphsLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. (In fact, planar graph isomorphism is in log space,Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. a class contained in P)
- Interval graphsLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- Permutation graphsLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- Circulant graphsLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- Bounded-parameter graphs
- Graphs of bounded treewidthLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- Graphs of bounded genus[15] (Planar graphs are graphs of genus 0.)
- Graphs of bounded degreeLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- Graphs with bounded eigenvalue multiplicityLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- k-Contractible graphs (a generalization of bounded degree and bounded genus)Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- Color-preserving isomorphism of colored graphs with bounded color multiplicity (i.e., at most k vertices have the same color for a fixed k) is in class NC, which is a subclass of P.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
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.[16] 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 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 .
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.[17] 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.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. 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:[18]
- digraphs[18]
- labelled graphs, with the proviso that an isomorphism is not required to preserve the labels,[18] 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)[18]
- 2-colored graphs[18]
- explicitly given finite structures[18]
- multigraphs[18]
- hypergraphs[18]
- finite automata[18]
- Markov Decision ProcessesLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- commutative class 3 nilpotent (i.e., xyz = 0 for every elements x, y, z) semigroups[18]
- finite rank associative algebras over a fixed algebraically closed field with zero squared radical and commutative factor over the radical.[18]Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- context-free grammars[18]
- normal-form games[19]
- balanced incomplete block designs[18]
- Recognizing combinatorial isomorphism of convex polytopes represented by vertex-facet incidences.[20]
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:[18]
- connected graphs[18]
- graphs of diameter 2 and radius 1[18]
- directed acyclic graphs[18]
- regular graphs[18]
- bipartite graphs without non-trivial strongly regular subgraphs[18]
- bipartite Eulerian graphs[18]
- bipartite regular graphs[18]
- line graphs[18]
- split graphsLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- chordal graphs[18]
- regular self-complementary graphs[18]
- polytopal graphs of general, simple, and simplicial convex polytopes in arbitrary dimensions.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
Many classes of digraphs are also GI-complete.
Other GI-complete problems
There are other nontrivial GI-complete problems in addition to isomorphism problems.
- Finding a graph's automorphism group.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- Counting automorphisms of a graph.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- The recognition of self-complementarity of a graph or digraph.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- A clique problem for a class of so-called M-graphs. It is shown that finding 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 a clique of order (1 − ε)n in a M-graph of size n2 is NP-complete for arbitrarily small positive ε.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- The problem of homeomorphism of 2-complexes.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- The definability problem for first-order logic. The input of this problem is a relational database instance I and a relation R, and the question to answer is whether there exists a first-order query Q (without constants) such that Q evaluated on I gives R as the answer.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
GI-hard problems
- The problem of counting the number of isomorphisms between two graphs is polynomial-time equivalent to the problem of telling whether even one exists.[21]
- The problem of deciding whether two convex polytopes given by either the V-description or H-description are projectively or affinely isomorphic. The latter means existence of a projective or affine map between the spaces that contain the two polytopes (not necessarily of the same dimension) which induces a bijection between the polytopes.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
Program checking
Manuel Blum and Sampath Kannan (1995) 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:
- Ask P whether G and H are isomorphic.
- If the answer is "yes":
- Attempt to construct an isomorphism using P as subroutine. Mark a vertex u in G and v in H, and modify the graphs to make them distinctive (with a small local change). Ask P if the modified graphs are isomorphic. If no, change v to a different vertex. Continue searching.
- Either the isomorphism will be found (and can be verified), or P will contradict itself.
- If the answer is "no":
- Perform the following 100 times. Choose randomly G or H, and randomly permute its vertices. Ask P if the graph is isomorphic to G and H. (As in AM protocol for graph nonisomorphism).
- If any of the tests are failed, judge P as invalid program. Otherwise, answer "no".
- If the answer is "yes":
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.[22]
In cheminformatics and in mathematical chemistry, graph isomorphism testing is used to identify a chemical compound within a chemical database.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. 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.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. 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.[23]
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.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
See also
Notes
Page Template:Reflist/styles.css has no content.
- ^ Page Module:Citation/CS1/styles.css has no content.Kobler, Johannes; Schöning, Uwe; Torán, Jacobo (2012). The graph isomorphism problem: its structural complexity. Springer Science & Business Media. p. 1.
- ^ Page Module:Citation/CS1/styles.css has no content.Babai, László; Erdős, Paul; Selkow, Stanley M. (1980-08-01). "Random Graph Isomorphism". SIAM Journal on Computing. 9 (3): 628–635. doi:10.1137/0209047. ISSN 0097-5397.
- ^ Endika Bengoetxea, "Inexact Graph Matching Using Estimation of Distribution Algorithms", Ph. D., 2002, Chapter 2:The graph matching problem (retrieved June 28, 2017)
- ^ Page Module:Citation/CS1/styles.css has no content."Mathematician claims breakthrough in complexity theory". Science. November 10, 2015.
- ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- ^ Video of first 2015 lecture linked from Babai's home page
- ^ Page Module:Citation/CS1/styles.css has no content."The Graph Isomorphism Problem". Communications of the ACM. November 2020. Retrieved 4 May 2021.
- ^ Page Module:Citation/CS1/styles.css has no content.Babai, László (January 9, 2017), Graph isomorphism update
- ^ Page Module:Citation/CS1/styles.css has no content.Erica Klarreich (January 14, 2017). "Graph Isomorphism Vanquished — Again". Quanta Magazine.
- ^ Page Module:Citation/CS1/styles.css has no content.Helfgott, Harald (January 16, 2017), Isomorphismes de graphes en temps quasi-polynomial (d'après Babai et Luks, Weisfeiler-Leman...), arXiv:1701.04372, Bibcode:2017arXiv170104372A
- ^ Page Module:Citation/CS1/styles.css has no content.Dona, Daniele; Bajpai, Jitendra; Helfgott, Harald Andrés (October 12, 2017). "Graph isomorphisms in quasi-polynomial time". arXiv:1710.04574 [math.GR].
- ^ Page Module:Citation/CS1/styles.css has no content.Babai, László (2019), "Canonical form for graphs in quasipolynomial time: preliminary report", in Charikar, Moses; Cohen, Edith (eds.), Proceedings of the 51st Annual ACM SIGACT Symposium on Theory of Computing, STOC 2019, Phoenix, AZ, USA, June 23-26, 2019, Association for computing machinery, pp. 1237–1246, doi:10.1145/3313276.3316356, ISBN 978-1-4503-6705-9
- ^ Page Module:Citation/CS1/styles.css has no content.Luks, Eugene (1993-09-01). "Permutation groups and polynomial-time computation". DIMACS Series in Discrete Mathematics and Theoretical Computer Science. Vol. 11. Providence, Rhode Island: American Mathematical Society. pp. 139–175. doi:10.1090/dimacs/011/11. ISBN 978-0-8218-6599-6. ISSN 1052-1798.
- ^ 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
- ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found..
- ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found..
- ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- ^ a b c d e f g h i j k l m n o p q r s t u v w x Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- ^ Page Module:Citation/CS1/styles.css has no content.Gabarró, Joaquim; García, Alina; Serna, Maria (2011). "The complexity of game isomorphism". Theoretical Computer Science. 412 (48): 6675–6695. doi:10.1016/j.tcs.2011.07.022. hdl:2117/91166.
- ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found..
- ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found..
- ^ Endika Bengoetxea, Ph.D., Abstract
- ^ Page Module:Citation/CS1/styles.css has no content.Heller, Stephen R.; McNaught, Alan; Pletnev, Igor; Stein, Stephen; Tchekhovskoi, Dmitrii (2015-05-30). "InChI, the IUPAC International Chemical Identifier". Journal of Cheminformatics. 7 (1): 23. doi:10.1186/s13321-015-0068-4. ISSN 1758-2946. PMC 4486400. PMID 26136848.
References
Page Template:Refbegin/styles.css has no content.
- Page Module:Citation/CS1/styles.css has no content.Aho, Alfred V.; Hopcroft, John; Ullman, Jeffrey D. (1974), The Design and Analysis of Computer Algorithms, Reading, MA: Addison-Wesley, Bibcode:1974daca.book.....A.
- Page Module:Citation/CS1/styles.css has no content.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, Lecture Notes in Computer Science, vol. 1770, Springer-Verlag, pp. 431–442, doi:10.1007/3-540-46541-3_36, ISBN 3-540-67141-2, MR 1781752.
- Page Module:Citation/CS1/styles.css has no content.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, MR 2226371.
- Page Module:Citation/CS1/styles.css has no content.Arenas, Marcelo; Diaz, Gonzalo I. (2016), "The Exact Complexity of the First-Order Logic Definability Problem", ACM Transactions on Database Systems, 41 (2): 13:1–13:14, doi:10.1145/2886095.
- Page Module:Citation/CS1/styles.css has no content.Babai, László (1980), "On the complexity of canonical labeling of strongly regular graphs", SIAM Journal on Computing, 9 (1): 212–216, doi:10.1137/0209018, MR 0557839.
- Page Module:Citation/CS1/styles.css has no content.Babai, László; Codenotti, Paolo (2008), "Isomorphism of hypergraphs of low rank in moderately exponential time" (PDF), Proceedings of the 49th Annual IEEE Symposium on Foundations of Computer Science (FOCS 2008), IEEE Computer Society, pp. 667–676, doi:10.1109/FOCS.2008.80, ISBN 978-0-7695-3436-7, S2CID 14025744.
- Page Module:Citation/CS1/styles.css has no content.Babai, László; Grigoryev, D. Yu.; Mount, David M. (1982), "Isomorphism of graphs with bounded eigenvalue multiplicity", Proceedings of the 14th Annual ACM Symposium on Theory of Computing, pp. 310–324, doi:10.1145/800070.802206, ISBN 0-89791-070-2, S2CID 12837287.
- Page Module:Citation/CS1/styles.css has no content.Babai, László; Kantor, William; Luks, Eugene (1983), "Computational complexity and the classification of finite simple groups", Proceedings of the 24th Annual Symposium on Foundations of Computer Science (FOCS), pp. 162–171, doi:10.1109/SFCS.1983.10, ISBN 0-8186-0508-1, S2CID 6670135.
- Page Module:Citation/CS1/styles.css has no content.Babai, László; Luks, Eugene M. (1983), "Canonical labeling of graphs", Proceedings of the Fifteenth Annual ACM Symposium on Theory of Computing (STOC '83), pp. 171–183, doi:10.1145/800061.808746, ISBN 0-89791-099-0, S2CID 12572142.
- Page Module:Citation/CS1/styles.css has no content.Babai, László (2015), Graph Isomorphism in Quasipolynomial Time, arXiv:1512.03547, Bibcode:2015arXiv151203547B
- Page Module:Citation/CS1/styles.css has no content.Baird, H. S.; Cho, Y. E. (1975), "An artwork design verification system", Proceedings of the 12th Design Automation Conference (DAC '75), Piscataway, NJ, USA: IEEE Press, pp. 414–420.
- Page Module:Citation/CS1/styles.css has no content.Blum, Manuel; Kannan, Sampath (1995), "Designing programs that check their work", Journal of the ACM, 42 (1): 269–291, CiteSeerX 10.1.1.38.2537, doi:10.1145/200836.200880, S2CID 52151779, archived from the original on 2017-07-05.
- Page Module:Citation/CS1/styles.css has no content.Bodlaender, Hans (1990), "Polynomial algorithms for graph isomorphism and chromatic index on partial k-trees", Journal of Algorithms, 11 (4): 631–643, doi:10.1016/0196-6774(90)90013-5, MR 1079454.
- Page Module:Citation/CS1/styles.css has no content.Booth, Kellogg S.; Colbourn, C. J. (1977), Problems polynomially equivalent to graph isomorphism, Technical Report, vol. CS-77-04, Computer Science Department, University of Waterloo.
- Page Module:Citation/CS1/styles.css has no content.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, MR 0528025, S2CID 18859101.
- Page Module:Citation/CS1/styles.css has no content.Boucher, C.; Loker, D. (2006), Graph isomorphism completeness for perfect graphs and subclasses of perfect graphs (PDF), Technical Report, vol. CS-2006-32, Computer Science Department, University of Waterloo.
- Page Module:Citation/CS1/styles.css has no content.Chung, Fan R. K. (1985), "On the cutwidth and the topological bandwidth of a tree", SIAM Journal on Algebraic and Discrete Methods, 6 (2): 268–277, doi:10.1137/0606026, MR 0778007.
- Page Module:Citation/CS1/styles.css has no content.Colbourn, C. J. (1981), "On testing isomorphism of permutation graphs", Networks, 11: 13–21, doi:10.1002/net.3230110103, MR 0608916.
- Page Module:Citation/CS1/styles.css has no content.Colbourn, Marlene Jones; Colbourn, Charles J. (1978), "Graph isomorphism and self-complementary graphs", ACM SIGACT News, 10 (1): 25–29, doi:10.1145/1008605.1008608, S2CID 35157300.
- Page Module:Citation/CS1/styles.css has no content.Cook, Diane J.; Holder, Lawrence B. (2007), "Section 6.2.1: Canonical Labeling", Mining Graph Data, Wiley, pp. 120–122, ISBN 978-0-470-07303-2.
- Page Module:Citation/CS1/styles.css has no content.Datta, S.; Limaye, N.; Nimbhorkar, P.; Thierauf, T.; Wagner, F. (2009), "Planar graph isomorphism is in log-space", 2009 24th Annual IEEE Conference on Computational Complexity, p. 203, arXiv:0809.2319, doi:10.1109/CCC.2009.16, ISBN 978-0-7695-3717-7, S2CID 14836820.
- Page Module:Citation/CS1/styles.css has no content.Filotti, I. S.; Mayer, Jack N. (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, pp. 236–243, doi:10.1145/800141.804671, ISBN 0-89791-017-6, S2CID 16345164.
- Page Module:Citation/CS1/styles.css has no content.Foggia, P.; Sansone, C.; Vento, M. (2001), "A performance comparison of five algorithms for graph isomorphism" (PDF), Proc. 3rd IAPR-TC15 Workshop Graph-Based Representations in Pattern Recognition, pp. 188–199, archived from the original (PDF) on 2015-09-24, retrieved 2009-12-18.
- Page Module:Citation/CS1/styles.css has no content.Garey, Michael R.; Johnson, David S. (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, ISBN 978-0-7167-1045-5.
- Page Module:Citation/CS1/styles.css has no content.Grigor'ev, D. Ju. (1981), "Complexity of 'wild' matrix problems and of the isomorphism of algebras and graphs", Zapiski Nauchnykh Seminarov Leningradskogo Otdeleniya Matematicheskogo Instituta imeni V. A. Steklova Akademii Nauk SSSR (LOMI) (in Russian), 105: 10–17, 198, MR 0628981
{{citation}}: CS1 maint: unrecognized language (link). English translation in Journal of Mathematical Sciences 22 (3): 1285–1289, 1983. - Page Module:Citation/CS1/styles.css has no content.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, S2CID 15561884.
- Page Module:Citation/CS1/styles.css has no content.Irniger, Christophe-André Mario (2005), Graph Matching: Filtering Databases of Graphs Using Machine Learning, Dissertationen zur künstlichen Intelligenz, vol. 293, AKA, ISBN 1-58603-557-6.
- Page Module:Citation/CS1/styles.css has no content.Kaibel, Volker; Schwartz, Alexander (2003), "On the complexity of polytope isomorphism problems", Graphs and Combinatorics, 19 (2): 215–230, arXiv:math/0106093, doi:10.1007/s00373-002-0503-y, MR 1996205, S2CID 179936, archived from the original on 2015-07-21.
- Page Module:Citation/CS1/styles.css has no content.Kelly, Paul J. (1957), "A congruence theorem for trees", Pacific Journal of Mathematics, 7: 961–968, doi:10.2140/pjm.1957.7.961, MR 0087949.
- Page Module:Citation/CS1/styles.css has no content.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, MR 1215315, S2CID 8542603.
- Page Module:Citation/CS1/styles.css has no content.Kozen, Dexter (1978), "A clique problem equivalent to graph isomorphism", ACM SIGACT News, 10 (2): 50–52, doi:10.1145/990524.990529, S2CID 52835766.
- Page Module:Citation/CS1/styles.css has no content.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, doi:10.1016/0022-0000(82)90009-5, MR 0685360, S2CID 2572728.
- Page Module:Citation/CS1/styles.css has no content.Luks, Eugene M. (1986), "Parallel algorithms for permutation groups and graph isomorphism", Proc. IEEE Symp. Foundations of Computer Science, pp. 292–302.
- Page Module:Citation/CS1/styles.css has no content.Mathon, Rudolf (1979), "A note on the graph isomorphism counting problem", Information Processing Letters, 8 (3): 131–132, doi:10.1016/0020-0190(79)90004-8, MR 0526453.
- Page Module:Citation/CS1/styles.css has no content.McKay, Brendan D. (1981), "Practical graph isomorphism", 10th. Manitoba Conference on Numerical Mathematics and Computing (Winnipeg, 1980), Congressus Numerantium, vol. 30, pp. 45–87, MR 0635936.
- Page Module:Citation/CS1/styles.css has no content.Miller, Gary (1980), "Isomorphism testing for graphs of bounded genus", Proceedings of the 12th Annual ACM Symposium on Theory of Computing, pp. 225–235, doi:10.1145/800141.804670, ISBN 0-89791-017-6, S2CID 13647304.
- Page Module:Citation/CS1/styles.css has no content.Miller, Gary L. (1983), "Isomorphism testing and canonical forms for k-contractable graphs (a generalization of bounded valence and bounded genus)", Proc. Int. Conf. on Foundations of Computer Theory, Lecture Notes in Computer Science, vol. 158, pp. 310–327, doi:10.1007/3-540-12689-9_114, ISBN 978-3-540-12689-8. Full paper in Information and Control 56 (1–2): 1–20, 1983.
- Page Module:Citation/CS1/styles.css has no content.Moore, Cristopher; Russell, Alexander; Schulman, Leonard J. (2008), "The symmetric group defies strong Fourier sampling", SIAM Journal on Computing, 37 (6): 1842–1864, arXiv:quant-ph/0501056, doi:10.1137/050644896, MR 2386215, S2CID 9550284.
- Page Module:Citation/CS1/styles.css has no content.Muzychuk, Mikhail (2004), "A Solution of the Isomorphism Problem for Circulant Graphs", Proc. London Math. Soc., 88: 1–41, doi:10.1112/s0024611503014412, MR 2018956, S2CID 16704931.
- Page Module:Citation/CS1/styles.css has no content.Narayanamurthy, S. M.; Ravindran, B. (2008), "On the hardness of finding symmetries in Markov decision processes" (PDF), Proceedings of the Twenty-Fifth International Conference on Machine Learning (ICML 2008), pp. 688–696.
- Page Module:Citation/CS1/styles.css has no content.Schmidt, Douglas C.; Druffel, Larry E. (1976), "A fast backtracking algorithm to test directed graphs for isomorphism using distance matrices", Journal of the ACM, 23 (3): 433–445, doi:10.1145/321958.321963, MR 0411230, S2CID 6163956.
- Page Module:Citation/CS1/styles.css has no content.Schöning, Uwe (1987), "Graph isomorphism is in the low hierarchy", Proceedings of the 4th Annual Symposium on Theoretical Aspects of Computer Science, pp. 114–124; also Journal of Computer and System Sciences 37: 312–323, 1988.
- Page Module:Citation/CS1/styles.css has no content.Shawe-Taylor, John; Pisanski, Tomaž (1994), "Homeomorphism of 2-complexes is graph isomorphism complete", SIAM Journal on Computing, 23 (1): 120–132, doi:10.1137/S0097539791198900, MR 1258998.
- Page Module:Citation/CS1/styles.css has no content.Spielman, Daniel A. (1996), "Faster isomorphism testing of strongly regular graphs", Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing (STOC '96), ACM, pp. 576–584, ISBN 978-0-89791-785-8.
- Page Module:Citation/CS1/styles.css has no content.Ullman, Julian R. (1976), "An algorithm for subgraph isomorphism" (PDF), Journal of the ACM, 23: 31–42, CiteSeerX 10.1.1.361.7741, doi:10.1145/321921.321925, MR 0495173, S2CID 17268751.
Surveys and monographs
- Page Module:Citation/CS1/styles.css has no content.Read, Ronald C.; Corneil, Derek G. (1977), "The graph isomorphism disease", Journal of Graph Theory, 1 (4): 339–363, doi:10.1002/jgt.3190010410, MR 0485586, S2CID 26589776.
- Page Module:Citation/CS1/styles.css has no content.Gati, G. (1979), "Further annotated bibliography on the isomorphism disease", Journal of Graph Theory, 3 (2): 95–109, doi:10.1002/jgt.3190030202.
- Page Module:Citation/CS1/styles.css has no content.Zemlyachenko, V. N.; Korneenko, N. M.; Tyshkevich, R. I. (1985), "Graph isomorphism problem", Journal of Mathematical Sciences, 29 (4): 1426–1481, doi:10.1007/BF02104746, S2CID 121818465. (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.)
- Page Module:Citation/CS1/styles.css has no content.Arvind, V.; Torán, Jacobo (2005), "Isomorphism testing: Perspectives and open problems" (PDF), Bulletin of the European Association for Theoretical Computer Science, 86: 66–84. (A brief survey of open questions related to the isomorphism problem for graphs, rings and groups.)
- Page Module:Citation/CS1/styles.css has no content.Köbler, Johannes; Schöning, Uwe; Torán, Jacobo (1993), The Graph Isomorphism Problem: Its Structural Complexity, Birkhäuser, ISBN 978-0-8176-3680-7. (From the book cover: The books focuses on the issue of the computational complexity of the problem and presents several recent results that provide a better understanding of the relative position of the problem in the class NP as well as in other complexity classes.)
- Page Module:Citation/CS1/styles.css has no content.Johnson, David S. (2005), "The NP-Completeness Column", ACM Transactions on Algorithms, 1 (1): 160–176, doi:10.1145/1077464.1077476, S2CID 12604799. (This 24th edition of the Column discusses the state of the art for the open problems from the book Computers and Intractability and previous columns, in particular, for Graph Isomorphism.)
- Page Module:Citation/CS1/styles.css has no content.Torán, Jacobo; Wagner, Fabian (2009), "The complexity of planar graph isomorphism" (PDF), Bulletin of the European Association for Theoretical Computer Science, 97, archived from the original (PDF) on 2010-09-20, retrieved 2010-06-03.
- Page Module:Citation/CS1/styles.css has no content.Stoichev, Stoicho D. (2019), "New Exact and Heuristic Algorithms for Graph Automorphism Group and Graph Isomorphism", Journal of Experimental Algorithmics, 24: 1–27, doi:10.1145/3333250, S2CID 202676274.
Software
- Graph Isomorphism, review of implementations, The Stony Brook Algorithm Repository.
Lua error in package.lua at line 80: module 'Module:Authority control/config' not found.