A perfect matching is a matching that covers every vertex of a graph. Every vertex belongs to exactly one selected edge. Perfect matchings represent complete pairings without omission. They appear in scheduling, assignment problems, network design, chemistry, combinatorics, and statistical physics. (en.wikipedia.org)
Perfect matchings form one of the central subjects of matching theory. Their existence depends on both local and global structure. Some graphs admit many perfect matchings. Others admit none, even when every vertex has large degree.
57.1 Definition
Let
be a graph. A matching
is called a perfect matching if every vertex of is incident with exactly one edge of .
Equivalently,
Every vertex is matched once and only once.
If has vertices and is perfect, then
Thus a graph can have a perfect matching only if the number of vertices is even.
For example, the cycle
has perfect matchings:
and
The cycle
cannot have a perfect matching because it contains an odd number of vertices.
57.2 Necessary Conditions
Several immediate conditions are necessary for a graph to possess a perfect matching.
Even Number of Vertices
If is perfect, then every edge of covers two vertices, and the matched vertices partition the vertex set. Therefore,
must be even.
This condition alone is far from sufficient.
The graph consisting of a path on four vertices and an isolated vertex removed still has an even number of vertices, but it may fail to contain a perfect matching because some vertices cannot be paired.
No Isolated Vertices
A graph with an isolated vertex cannot have a perfect matching.
If
then no edge is incident with , so no matching can cover .
Thus every vertex must have degree at least one.
57.3 Perfect Matchings in Basic Graph Families
Perfect matchings can often be determined explicitly for standard graph families.
Complete Graphs
The complete graph has a perfect matching exactly when is even.
If
pair the vertices arbitrarily into disjoint pairs.
Thus,
always has a perfect matching.
Paths
The path graph has a perfect matching exactly when is even.
If
then
is a perfect matching.
Cycles
The cycle graph has a perfect matching exactly when is even.
An odd cycle necessarily leaves one vertex unmatched.
Complete Bipartite Graphs
The graph
has a perfect matching exactly when
Each edge joins one vertex from each part, so both parts must contain the same number of vertices.
If
then every bijection between the two parts defines a perfect matching.
57.4 Alternating Cycles
Let be a perfect matching in .
An alternating cycle is a cycle whose edges alternate between belonging to and not belonging to .
For example,
If one flips the status of every edge along such a cycle, removing matching edges and inserting non-matching edges, the result is again a perfect matching.
This operation preserves the property that every vertex is matched exactly once.
Alternating cycles therefore generate new perfect matchings from old ones.
57.5 Uniqueness of Perfect Matchings
A graph may have:
| Situation | Meaning |
|---|---|
| No perfect matching | Complete pairing impossible |
| One perfect matching | Pairing uniquely determined |
| Many perfect matchings | Multiple compatible pairings |
For example, the path
has a unique perfect matching:
The cycle
has two distinct perfect matchings.
The complete graph
has many perfect matchings.
The number of perfect matchings in equals
This is the double factorial
57.6 Perfect Matchings and Degree Conditions
Large vertex degrees often force the existence of perfect matchings.
One important result is Petersen’s theorem.
Theorem 57.1. Petersen’s Theorem.
Every regular graph of positive even degree with no bridges has a perfect matching. (en.wikipedia.org)
In particular, every cubic bridgeless graph contains a perfect matching.
This theorem is fundamental in structural graph theory and appears in the study of network design and edge coloring.
Another important result concerns bipartite graphs and appears in the next chapter as Hall’s marriage theorem.
57.7 Perfect Matchings and Components
Perfect matchings strongly constrain the structure of components.
Suppose has a perfect matching . Let . Removing may split the graph into several connected components.
Each odd component of
must contain at least one vertex matched to a vertex of . Otherwise, that odd component would need a perfect matching internally, which is impossible because it contains an odd number of vertices.
This observation leads to Tutte’s theorem.
57.8 Tutte’s Theorem
Tutte’s theorem completely characterizes graphs with perfect matchings.
For a graph , let
denote the number of odd connected components of .
Theorem 57.2. Tutte’s Theorem.
A graph has a perfect matching if and only if for every subset
the number of odd components of
satisfies
This theorem is one of the deepest results in matching theory.
Intuition
Suppose removing produces many odd components.
Every odd component requires at least one matching edge connecting it to , because odd graphs cannot be perfectly matched internally.
If there are more odd components than vertices in , then there are not enough vertices in to connect to all odd components. A perfect matching becomes impossible.
Tutte’s theorem states that this obstruction is the only obstruction.
57.9 Factor-Critical Graphs
A graph is factor-critical if removing any single vertex leaves a graph with a perfect matching.
Formally,
has a perfect matching.
Odd cycles provide simple examples.
If one removes any vertex from
the remaining graph is a path with an even number of vertices, hence it has a perfect matching.
Factor-critical graphs appear naturally in the decomposition theory associated with maximum matchings.
57.10 Perfect Matchings in Bipartite Graphs
Perfect matchings in bipartite graphs have a particularly elegant theory.
Let
be bipartite.
A perfect matching exists only if
However, equal size alone is insufficient.
The graph
with edges
has no perfect matching because both vertices in compete for the same vertex in .
Hall’s theorem gives the exact condition.
57.11 Hall’s Condition
For a subset
let
denote the set of neighbors of vertices in .
Hall’s condition states:
for every subset
Intuitively, every group of vertices on the left must collectively have enough available neighbors on the right.
Hall’s theorem states that this condition is equivalent to the existence of an -saturating matching.
When
it becomes equivalent to the existence of a perfect matching.
The next chapter develops this theorem systematically.
57.12 Perfect Matchings and Matrix Theory
Perfect matchings are closely connected to matrices.
Let be a bipartite graph with parts
Its bipartite adjacency matrix is
where
A perfect matching corresponds exactly to a permutation matrix contained inside .
Equivalently, a perfect matching corresponds to a nonzero term in the permanent of .
This connection links graph theory with combinatorics, algebra, and optimization.
57.13 Perfect Matchings and Chemistry
Perfect matchings play a major role in chemical graph theory.
In molecular graphs representing hydrocarbons, perfect matchings correspond to Kekulé structures. These structures describe arrangements of alternating single and double bonds.
For benzene, multiple perfect matchings correspond to resonance structures.
This connection motivated much early research on matchings and counting perfect matchings.
57.14 Counting Perfect Matchings
Determining whether a perfect matching exists is usually easier than counting how many perfect matchings exist.
For general graphs, counting perfect matchings is computationally difficult.
For bipartite graphs, the count equals the permanent of the adjacency matrix:
This expression resembles the determinant, except that all signs are positive.
Unlike determinants, permanents are generally hard to compute efficiently.
57.15 Perfect Matchings and Algorithms
Many matching algorithms search for augmenting paths.
Starting from a matching , an augmenting path increases the size of the matching by one. Repeated augmentation eventually produces a maximum matching.
If the graph has a perfect matching, the algorithm terminates with one.
For bipartite graphs, augmenting-path algorithms are especially efficient. For general graphs, odd cycles introduce additional complications, handled by blossom algorithms developed by Edmonds.
Matching theory became one of the foundations of combinatorial optimization partly because efficient algorithms exist for these problems.
57.16 Deficiency
The deficiency of a graph measures how far the graph is from having a perfect matching.
If
is the size of a maximum matching, define
This equals the number of unmatched vertices left by a maximum matching.
Thus:
| Deficiency | Interpretation |
|---|---|
| Perfect matching exists | |
| Near-perfect matching exists | |
| Several vertices remain unmatched |
Deficiency is closely related to Tutte’s theorem and the Gallai-Edmonds decomposition.
57.17 Perfect Matchings and Edge Covers
Suppose has no isolated vertices.
If possesses a perfect matching , then is also a minimum edge cover.
Indeed, every edge covers exactly two vertices, and every vertex must be covered. Since contains exactly
edges, no smaller edge cover is possible.
Thus perfect matchings simultaneously solve a covering problem and a pairing problem.
57.18 Perfect Matchings in Regular Graphs
Regular graphs frequently contain perfect matchings.
A -regular bipartite graph always has a perfect matching for every
This follows from Hall’s theorem.
Proof Sketch
Let
be -regular.
For any subset
there are exactly
edges incident with vertices of .
All these edges end in
Since every vertex in has degree ,
Hence,
Hall’s condition holds, so a perfect matching exists.
This theorem is one of the most useful applications of Hall’s theorem.
57.19 Common Examples
| Graph | Perfect Matching? |
|---|---|
| Yes iff even | |
| Yes iff even | |
| Yes iff even | |
| Yes iff | |
| Odd cycle | No |
| Graph with isolated vertex | No |
These examples illustrate that parity is important, but structure is equally important.
57.20 Exercises
Prove that every graph with a perfect matching has an even number of vertices.
Determine all perfect matchings of .
Show that has no perfect matching.
Prove that has a perfect matching.
Determine whether the graph has a perfect matching.
Give an example of a graph with exactly one perfect matching.
Let be bipartite with parts and . Prove that if , then cannot have a perfect matching.
Prove that every perfect matching is maximum.
Show that every even cycle has exactly two perfect matchings.
Let be a graph with a perfect matching . Prove that every alternating cycle with respect to produces another perfect matching after flipping the edges.