A number of important special cases of the graph isomorphism problem have efficient, polynomial-time solutions: •
Trees •
Planar graphs (In fact, planar graph isomorphism is in
log space, a class contained in
P) •
Interval graphs •
Permutation graphs •
Circulant graphs • Bounded-parameter graphs • Graphs of bounded
treewidth • Graphs of bounded
genus (Planar graphs are graphs of genus 0.) • Graphs of bounded
degree • Graphs with bounded
eigenvalue multiplicity •
k-Contractible graphs (a generalization of bounded degree and bounded genus) • 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. == 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. 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 X 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 X. 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. 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. 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: •
digraphs •
balanced incomplete block designs
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: • 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. ==Program checking==