ArticleslgStudy

computer science

Graph isomorphism

Graph isomorphism is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Graph isomorphism rather than just read about it. In short: In graph theory, an isomorphism of graphs G and H is a bijection between the vertex sets of G and H f : V ( G ) → V ( H ) {\displaystyle f\colon V(G)\to V(H)} such that any two vertices u and v of G are adjacent in G if and only if f ( u ) {\displaystyle f(u)} and f ( v ) {\displaystyle f(v)} are adjacent in H. This kind of bijection is commonly described as "edge-preserving bijection", in accordance with the genera…

Graph isomorphism — main illustration
Graph isomorphism — illustration

Key takeaways

  • Graph isomorphism belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Graph isomorphism to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Graph isomorphism from memory before moving on to harder problems.

Reference excerpt

In graph theory, an isomorphism of graphs G and H is a bijection between the vertex sets of G and H

f : V ( G ) → V ( H ) {\displaystyle f\colon V(G)\to V(H)}

such that any two vertices u and v of G are adjacent in G if and only if f ( u ) {\displaystyle f(u)} and f ( v ) {\displaystyle f(v)} 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, often denoted by G ≃ H {\displaystyle G\simeq H} . In the case when the isomorphism is a mapping of a graph onto itself, i.e., when G and H are one and the same graph, the isomorphism is called an automorphism of G. Graph isomorphism is an equivalence relation on graphs and as such it partitions the class of all graphs into equivalence classes. 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, known as the graph isomorphism problem. The two graphs shown below are isomorphic, despite their different looking drawings.

Variations In the above definition, graphs are understood to be undirected non-labeled non-weighted graphs. However, the notion of isomorphism 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 K 2 {\displaystyle K_{2}} 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 graphs, 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: arcs, 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, 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

∑ v ∈ V ( G ) v ⋅ deg v {\displaystyle \sum _{v\in V(G)}v\cdot {\text{deg }}v}

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: K3, the complete graph on three vertices, and the complete bipartite graph K1,3, which are not isomorphic but both have K3 as their line graph. The Whitney graph theorem can be extended to hypergraphs.

Recognition of graph isomorphism

… excerpt ends here. Continue reading the full article.

Illustrations

Graph isomorphism illustration
Graph isomorphism illustration
Graph isomorphism: The exception to Whitney's theorem: these two graphs are not isomorphic but have isomorphic line graphs.
The exception to Whitney's theorem: these two graphs are not isomorphic but have isomorphic line graphs.

Worked examples

Example 1 — a first encounter with Graph isomorphism

Start with the simplest possible case. Write down what Graph isomorphism claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Graph isomorphism before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Graph isomorphism ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Graph isomorphism

In research
Graph isomorphism appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Graph isomorphism in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Graph isomorphism is common in secondary-school and first-year university syllabi. It links to neighbouring topics Bijections, Graph algorithms, Graph theory, so understanding it makes those chapters shorter.
In everyday life
Look for Graph isomorphism outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Graph isomorphism” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Graph isomorphism in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Graph isomorphism means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Graph isomorphism out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Graph isomorphism in simple terms?

In graph theory, an isomorphism of graphs G and H is a bijection between the vertex sets of G and H f : V ( G ) → V ( H ) {\displaystyle f\colon V(G)\to V(H)} such that any two vertices u and v of G are adjacent in G if and only if f ( u ) {\displaystyle f(u)} and f ( v ) {\displaystyle f(v)} are a…

Why does Graph isomorphism matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Graph isomorphism?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Graph isomorphism.

Tags

  • Bijections
  • Graph algorithms
  • Graph theory
  • Morphisms

Keep exploring