A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Graph Isomorphism

College Depth 72 in the knowledge graph ☐ I know this ☆ Set as goal
313prerequisites beneath it
See this on the map →
Introduction to Graph TheoryGraph Representation: Matrices and Lists→
graph-isomorphism structural-equivalence invariants bijection

Core Idea

Two graphs G and H are isomorphic if there exists a bijection between their vertex sets that preserves the edge relation — the graphs are structurally identical, differing only in vertex labeling. Proving isomorphism requires exhibiting an explicit edge-preserving bijection. Disproving it uses graph invariants: properties preserved under isomorphism, such as vertex count, edge count, degree sequence, girth, and number of triangles. Graph isomorphism is one of the few natural computational problems not known to be either in P or NP-complete.

How It's Best Learned

Practice by examining pairs of graphs and deciding isomorphism using cheap invariants first (degree sequence), then attempting bijection construction. For small graphs, generate all possible degree-respecting bijections systematically. Appreciation for the computational difficulty grows from experiencing larger cases.

Common Misconceptions

Explainer

Two graphs can look completely different drawn on paper yet be mathematically identical in structure. A graph drawn as a neat square with diagonals and the same graph drawn as a tangled mess of crossing lines are — assuming the same connections — the same graph. Graph isomorphism is the formal tool for saying "these two graphs are structurally the same." Two graphs G and H are isomorphic if you can find a bijection — a one-to-one, onto function — from G's vertices to H's vertices that preserves every edge. If vertices u and v are connected in G, then their images under the bijection must be connected in H, and vice versa.

Think of it like renaming the players in a game. If you take a social network and rename every person, the friendship structure hasn't changed. Isomorphism asks: is there a renaming that makes one graph look exactly like the other? The challenge is that with n vertices, there are n! possible bijections to check, which becomes impossibly large even for moderate n. This is why the computational side of graph isomorphism — determining whether two graphs are isomorphic efficiently — is famously hard.

To avoid checking all bijections, mathematicians use graph invariants: properties that must be equal in isomorphic graphs. If any invariant differs, the graphs cannot be isomorphic. Vertex count, edge count, and degree sequence are the cheapest invariants to compute. If G has degree sequence [3, 2, 2, 1] and H has degree sequence [3, 3, 1, 1], they cannot be isomorphic — stop there. Stronger invariants include the number of triangles, girth (length of shortest cycle), and diameter. Each invariant is a filter, and applying them cheapest-first prunes the search space efficiently.

Proving two graphs *are* isomorphic requires more: you must explicitly exhibit the bijection and verify that every edge is preserved. A useful strategy is to match high-degree vertices to high-degree vertices (degree must be preserved under any isomorphism), then check that those vertices' neighborhoods also match up. For small graphs, this process is manageable; for large ones, it remains an open problem whether a polynomial-time algorithm exists. Graph isomorphism sits in an unusual limbo in complexity theory — not known to be in P, but also not known to be NP-complete — making it one of the most intriguing open questions in combinatorics and computer science.

Practice Questions 5 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Dividing Integers → Unit Rates → Proportions → Percent Concept → Converting Between Fractions, Decimals, and Percents → Operations with Rational Numbers → Two-Step Equations → Solving Multi-Step Equations → Equations with Variables on Both Sides → Literal Equations → Slope-Intercept Form → Point-Slope Form → Writing Linear Equations → Parallel and Perpendicular Line Slopes → Graphing Linear Equations → Systems of Equations — Graphing Method → Systems of Equations — Elimination Method → Systems of Three Variables → Matrices Introduction → Graph Representation: Matrices and Lists → Graph Isomorphism

Longest path: 73 steps · 313 total prerequisite topics

Prerequisites (2)

Leads To (0)

No topics depend on this one yet.