The following problems are (essentially) equivalent:
Given two simple graphs. Decide if they are isomorphic.
Given two simple graphs. Find an isomorphism or return fail
Given two simple graphs with vertex colorings. Find a color-preserving isomorphism or return fail
Given a simple graph. Find a generating set of its automorphism group.
Theoretical result:
Theorem (L Babai, 2015) GI has quasi-polinomal time complexity.
Quasi-polynomial means
Canonical labelings of graphs
Definition A canonical isomorph function assigns to every graph an isomorph such that whenever is isomorphic to we have . We call the canonical isomorph of .
Definition A canonical labeling function assigns to every graph a permutation such that the map
is a canonical isomorph function. We call the canonical labeling of .
In computation, the vertex set of all graphs are assumed to be
Hence, a canonical labeling is a permutation of degree .
Good practice: Graph aut group <=> canonical labeling => graph isomorhism
Canonical Labeling Algorithm
The algorithm and its first implementation is due to Brendan McKay
1978-1981, improved continuously
nauty (No AUTomorphism, Yes?)
Recent reimplementation: Bliss
Other attempts: saucy, conauto, Traces
Traces by Piperno is distributed with nauty since 2014
SageMath, GAP and Magma interfaces
Complexity of canonical labelings
Not known
Babai's paper does not address the question whether graphs permit quasipolynomial-time computable canonical forms
McKay's algorithm is good for "average real life" graphs
It is hard but possible to construct graphs with exponential running time
It may be that the canonical labeling problem is harder that GI
Complexity of the Group Isomorphism Problem
The strong connection between GI, group isomorphism and quasigroup isotopism is folklore
Theorem (Robert Tarjan 1970s) Group Isomorphism is quasi-polynomial
Hard cases: 2-step nilpotent -groups
Recent developments by Xiaorui Sun (U Illinois at Chicago) link