In
graph theory, an isomorphism of
graphs ''G'' and ''H'' is a
bijection
In mathematics, a bijection, also known as a bijective function, one-to-one correspondence, or invertible function, is a function between the elements of two sets, where each element of one set is paired with exactly one element of the other s ...
between the vertex sets of ''G'' and ''H''
:
such that any two vertices ''u'' and ''v'' of ''G'' are
adjacent
Adjacent or adjacency may refer to:
*Adjacent (graph theory), two vertices that are the endpoints of an edge in a graph
*Adjacent (music), a conjunct step to a note which is next in the scale
See also
*Adjacent angles, two angles that share a c ...
in ''G''
if and only if and
are adjacent in ''H''. This kind of bijection is commonly described as "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 and denoted as
. 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
In mathematics, an automorphism is an isomorphism from a mathematical object to itself. It is, in some sense, a symmetry of the object, and a way of mapping the object to itself while preserving all of its structure. The set of all automorphisms ...
of ''G''.
If a graph is finite, we can prove it to be bijective by showing it is one-one/onto; no need to show both.
Graph isomorphism is an
equivalence relation
In mathematics, an equivalence relation is a binary relation that is reflexive, symmetric and transitive. The equipollence relation between line segments in geometry is a common example of an equivalence relation.
Each equivalence relation ...
on graphs and as such it partitions the
class of all graphs into
equivalence class
In mathematics, when the elements of some set S have a notion of equivalence (formalized as an equivalence relation), then one may naturally split the set S into equivalence classes. These equivalence classes are constructed so that elements a ...
es. A set of graphs isomorphic to each other is called an
isomorphism class of graphs. The question of whether graph isomorphism can be determined in polynomial time is a major unsolved problem in computer science.
The two graphs shown below are isomorphic, despite their different looking
drawings.
Variations
In the above definition, graphs are understood to be
undirected
In discrete mathematics, and more specifically in graph theory, a graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related". The objects correspond to mathematical abstractions called '' ...
non-labeled non-weighted graphs. However, the notion of isomorphic may be applied to all other variants of the notion of graph, by adding the requirements to preserve the corresponding additional elements of structure: arc directions, edge weights, etc., with the following exception.
Isomorphism of labeled graphs
For
labeled graphs, two definitions of isomorphism are in use.
Under one definition, an isomorphism is a vertex bijection which is both edge-preserving and label-preserving.
Under another definition, an isomorphism is an edge-preserving vertex bijection which preserves equivalence classes of labels, i.e., vertices with equivalent (e.g., the same) labels are mapped onto the vertices with equivalent labels and vice versa; same with edge labels.
For example, the
graph with the two vertices labelled with 1 and 2 has a single automorphism under the first definition, but under the second definition there are two auto-morphisms.
The second definition is assumed in certain situations when graphs are endowed with ''unique labels'' commonly taken from the integer range 1,...,''n'', where ''n'' is the number of the vertices of the graph, used only to uniquely identify the vertices. In such cases two labeled graphs are sometimes said to be isomorphic if the corresponding underlying unlabeled graphs are isomorphic (otherwise the definition of isomorphism would be trivial).
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. 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 graph
''Colored'' (or ''coloured'') is a racial descriptor historically used in the United States during the Jim Crow Era to refer to an African American. In many places, it may be considered a slur, though it has taken on a special meaning in South ...
s,
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:
arc
ARC may refer to:
Business
* Aircraft Radio Corporation, a major avionics manufacturer from the 1920s to the '50s
* Airlines Reporting Corporation, an airline-owned company that provides ticket distribution, reporting, and settlement services
* ...
s, 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
Cycle, cycles, or cyclic may refer to:
Anthropology and social sciences
* Cyclic history, a theory of history
* Cyclical theory, a theory of American political history associated with Arthur Schlesinger, Sr.
* Social cycle, various cycles in soc ...
, 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
:
may be different for two isomorphic graphs.
Whitney theorem

The Whitney graph isomorphism theorem, shown by
Hassler Whitney, states that two connected graphs are isomorphic if and only if their
line graphs are isomorphic, with a single exception: ''K''
3, the
complete graph on three vertices, and the
complete bipartite graph ''K''
1,3, which are not isomorphic but both have ''K''
3 as their line graph. The Whitney graph theorem can be extended to
hypergraphs.
Recognition of graph isomorphism
While graph isomorphism may be studied in a classical mathematical way, as exemplified by the Whitney theorem, it is recognized that it is a problem to be tackled with an algorithmic approach. The computational problem of determining whether two finite graphs are isomorphic is called the graph isomorphism problem.
Its practical applications include primarily
cheminformatics
Cheminformatics (also known as chemoinformatics) refers to use of physical chemistry theory with computer and information science techniques—so called "''in silico''" techniques—in application to a range of descriptive and prescriptive problem ...
,
mathematical chemistry (identification of chemical compounds), and
electronic design automation
Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD), is a category of software tools for designing Electronics, electronic systems such as integrated circuits and printed circuit boards. The tools wo ...
(verification of equivalence of various representations of the design of an
electronic circuit
An electronic circuit is composed of individual electronic components, such as resistors, transistors, capacitors, inductors and diodes, connected by conductive wires or traces through which electric current can flow. It is a type of electrical ...
).
The graph isomorphism problem is one of few standard problems in
computational complexity theory belonging to
NP, but not known to belong to either of its well-known (and, if
P ≠ NP, disjoint) subsets:
P and
NP-complete. It is one of only two, out of 12 total, problems listed in whose complexity remains unresolved, the other being
integer factorization
In number theory, integer factorization is the decomposition of a composite number into a product of smaller integers. If these factors are further restricted to prime numbers, the process is called prime factorization.
When the numbers are suf ...
. It is however known that if the problem is NP-complete then the
polynomial hierarchy collapses to a finite level.
In November 2015,
László Babai, a mathematician and computer scientist at the University of Chicago, claimed to have proven that the graph isomorphism problem is solvable in
quasi-polynomial time. He published preliminary versions of these results in the proceedings of the 2016
Symposium on Theory of Computing, and of the 2018
International Congress of Mathematicians
The International Congress of Mathematicians (ICM) is the largest conference for the topic of mathematics. It meets once every four years, hosted by the International Mathematical Union (IMU).
The Fields Medals, the Nevanlinna Prize (to be rename ...
. In January 2017, Babai briefly retracted the quasi-polynomiality claim and stated a
sub-exponential time complexity bound instead. He restored the original claim five days later.
, the full journal version of Babai's paper has not yet been published.
Its generalization, the
subgraph isomorphism problem, is known to be NP-complete.
The main areas of research for the problem are design of fast algorithms and theoretical investigations of its
computational complexity
In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) ...
, both for the general problem and for special classes of graphs.
See also
*
Graph homomorphism
*
Graph automorphism problem
In the mathematical field of graph theory, an automorphism of a graph is a form of symmetry in which the graph is mapped onto itself while preserving the edge–vertex connectivity.
Formally, an automorphism of a graph is a permutation of the ...
*
Graph isomorphism problem
*
Graph canonization In graph theory, a branch of mathematics, graph canonization is the problem of finding a canonical form of a given graph ''G''. A canonical form is a labeled graph Canon(''G'') that is isomorphic to ''G'', such that every graph that is isomorphic ...
Notes
References
*
{{DEFAULTSORT:Graph Isomorphism
Graph theory
Graph algorithms
Morphisms