An Efficient Algorithm for Graph Isomorphism

Abstract
A procedure for determining whether two graphs are isomorphic is described. During the procedure, from any given graph two graphs, the representative graph and the reordered graph, are derived. The representative graph is a homomorphic image of the original graph; the reordered graph is constructed from the representative graph to be isomorphic to the given graph. Unique labels are assigned to the vertices of both derived graphs. It follows that two repre- sentative graphs or two reordered graphs are isomorphic if and only if they are identical. A conjecture states that the representative graphs exhibit the automorphism partitioning of the given graph. The representative graphs form a necessity condition for isomorphism; namely, if the representative graphs are not identical, then the given graphs are not isomorphic. The converse is true for trees and follows from the conjecture for other types of graphs. It is also shown that the reordered graphs form a sufficiency condition for isomorphism; namely, if the reordered graphs are identical, then the given graphs are isomorphic. The converse follows from the conjecture. The time required to determine both derived graphs depends on a power of n, the order of the given graph. This power is a function of an adjacency property known as the strong regu- larity of the given graph. For graphs that do not contain a strongly regular transitive sub- graph, the power is, at worst, five.