Matchings II: Tutte's 1-Factor Theorem and the Tutte-Berge Formula
Anchor (Master): Diestel 2017 *Graph Theory* (5th ed., Springer GTM 173) §2.2; Lovász-Plummer 1986 *Matching Theory* (North-Holland) Ch. 3-5 and Ch. 7 (factor-critical graphs, ear decompositions, the Gallai-Edmonds structure theorem, the matching lattice and polytope); Schrijver 2003 *Combinatorial Optimization* (Springer) Vol. A, Ch. 24-25 (Edmonds' blossom algorithm and the matching polytope); the original sources Petersen 1891, Tutte 1947, Berge 1958, Edmonds 1965, Gallai 1964
Intuition Beginner
In the earlier matching unit everyone sat on one of two sides: applicants and jobs, people and partners-of-the-other-kind. The clean rule there was about groups on one side reaching too few targets on the other. But most real pairing problems have no two sides at all. Picture a chess club where any two members can play each other, and you want to pair everyone into games at once. Now there is no left and right, just one pool, and the question is whether everyone can be paired off with no one left sitting out.
The new obstruction is about odd leftovers. Imagine you tear a few key people out of the club and look at the friend-groups that remain. If pulling out three people shatters the rest into five little cliques whose internal sizes are all odd, you are in trouble: each odd clique can pair up its members internally except for one straggler, and those five stragglers must reach outside their clique to find a partner — but the only people outside are the three you pulled. Five stragglers chasing three outsiders means at least two go unpaired.
Tutte's theorem says this is the only thing that can go wrong. You can pair everyone off exactly when no small set of people, once removed, leaves behind more odd cliques than the number you removed. Counting odd leftover pieces replaces counting neighbours, and that single change carries matching theory from two-sided problems to every graph.
Visual Beginner
Picture seven people drawn as dots. One central person is joined to three others, and those three each sit at the tip of their own little triangle of three people. So we have one hub and three separate triangles, with reaching one corner of each triangle. Removing the single hub leaves three triangles standing alone.
Each triangle has three people, an odd number. Inside one triangle you can pair only one couple, leaving one person stranded. Three triangles strand three people, and the only outsider they can reach is the hub — but is a single person and can partner just one of them.
| removed set | odd leftover pieces | enough partners? |
|---|---|---|
| (size 1) | 3 triangles | no — 3 strandees, 1 outsider |
| empty set (size 0) | 1 piece of 7 | the whole graph, odd total |
Removing one person exposes three odd pieces, and three is bigger than one. The table makes the failure visible: more odd leftover pieces than removed people means somebody is always left unpaired.
Worked example Beginner
Take a five-person cycle: people seated around a table, each able to play only the two neighbours beside them. We ask whether all five can be paired into games at once, and if not, how close we can get.
Step 1. Count the people. There are five, an odd number. Any pairing puts people into couples of two, and two never divides five evenly, so at least one person must sit out no matter what. A complete pairing is impossible here for the simplest reason: the count is odd.
Step 2. Find the best partial pairing. Pair with , and pair with . That uses four people in two games. Person is left, and 's only possible partners are and , both already busy.
Step 3. Check we cannot do better. Two games is the most possible: a third game would need a fifth and sixth player, but only one person remains. So the best pairing leaves exactly one person out.
Step 4. Read off the deficiency. The number left unpaired is one. This single leftover is forced, and it equals the gap Tutte-Berge measures: removing the empty set already leaves one odd piece (the whole odd cycle), and one odd piece minus zero removed equals one stranded person.
What this tells us: when full pairing fails, there is still a sharp best answer, and you can predict the number left out by hunting for the set whose removal exposes the most odd leftover pieces. Here the empty set already does it, and the leftover count of one matches the one person who sits out.
Check your understanding Beginner
Formal definition Intermediate+
Let be a graph. A perfect matching (or -factor) is a matching saturating every vertex, so each vertex lies on exactly one edge of and [Diestel 2017 §2.2]. More generally a -factor is a spanning subgraph that is -regular; a -factor is a perfect matching and a -factor is a spanning disjoint union of cycles. As in 40.04.02, a vertex on an edge of is -saturated and otherwise -exposed, and the matching number is the maximum size of a matching.
For write for the graph induced on . A component of is odd if it has an odd number of vertices and even otherwise. The central new invariant is
The deficiency of is , with the maximum taken over all including . A set attaining the maximum is a barrier (or Tutte set).
A graph satisfies the Tutte condition if for every . Taking shows the Tutte condition forces , so a graph satisfying it has no odd component and in particular an even number of vertices.
Definition (factor-critical). A graph on at least one vertex is factor-critical (or hypomatchable) if has a perfect matching for every vertex . A factor-critical graph is connected, has an odd number of vertices, and has : every maximum matching misses exactly one vertex, and the missed vertex can be any chosen vertex. The odd cycle is the basic example.
Definition (ear decomposition). An ear added to a graph is a path (an open ear) or cycle (a closed ear) attached to at its endpoints, its interior vertices new. An odd ear decomposition of a graph builds it from a single vertex by successively adding ears each of odd length (odd number of edges).
Definition (bridgeless, cubic). An edge is a bridge if deleting it increases the number of components; is bridgeless (or -edge-connected when connected) if it has no bridge. A graph is cubic if every vertex has degree .
Counterexamples to common slips
- The Tutte condition is about odd components, not all components. Even components never obstruct a perfect matching — they can be matched internally — so only the parity-forced strandees of odd components matter. Counting all components instead of odd ones over-counts and gives a false obstruction.
- Bipartite Hall is a special case, not a different theorem. For bipartite with parts and , Tutte's condition specialises to Hall's: the odd components hidden in reproduce the deficiency . Tutte strictly generalises König/Hall from
40.04.02. - Factor-critical is stronger than "has a near-perfect matching". A path on three vertices misses a vertex in its maximum matching but is not factor-critical, since removing the centre leaves two isolated vertices with no matching. Factor-critical demands be perfectly matchable for every .
- Maximal odd-component count is achieved by a clever , not by alone. The deficiency is a maximum over all . For the path the empty set gives but removing the centre gives as well; one must scan to find the true barrier.
Key theorem with proof Intermediate+
Theorem (Tutte's 1-factor theorem and the Tutte-Berge formula).
(a) Tutte's theorem. A graph has a perfect matching if and only if for every .
(b) Tutte-Berge formula. For every graph , the number of vertices left exposed by a maximum matching equals ; equivalently .
(See [Diestel 2017 §2.2], [Tutte 1947], [Berge 1958].)
Proof. Necessity in (a). Suppose has a perfect matching and fix . Each odd component of has odd order, so cannot match all of inside ; at least one vertex of is matched by to a vertex of . Distinct odd components use distinct vertices of this way, so .
The parity bound for (b). For any and any matching , every odd component of contributes at least one -exposed vertex unless one of its vertices is matched into or to another component through ; counting, the number of exposed vertices is at least , because the vertices of can absorb at most of the odd-component strandees. Hence a maximum matching exposes at least vertices, giving .
Sufficiency in (a), and the matching reverse bound. It suffices to prove (b)'s reverse inequality: has a matching exposing at most vertices. We induct on . The claim is vacuous for . Choose a set attaining the maximum that is inclusion-maximal among maximisers. We show every component of is odd and factor-critical, and that the bipartite graph between and the components satisfies Hall's condition; assembling a matching from these pieces leaves exactly vertices exposed.
First, by the choice of as a maximiser, adding any vertex to cannot increase , while removing the constraint shows each component of is odd: an even component would let us move a vertex of into , splitting into odd pieces and strictly raising by the maximality/parity bookkeeping, contradicting that is a maximiser. Next, each odd component is factor-critical: for , the set remains a maximiser for , and applying the induction hypothesis to shows has a perfect matching, since otherwise a barrier inside would combine with to beat . Form the bipartite graph with the components of on one side and on the other, joining a component to each -vertex it touches. Hall's condition holds in — a violating set of components would, by removing their shared neighbourhood, exhibit a set beating — so by Hall's theorem from 40.04.02 there is a matching saturating all but of the components into distinct vertices of . Match each such component's designated vertex to its -partner, perfectly match the rest of that (factor-critical) component, and perfectly match every component not hit. Exactly components remain, each contributing one exposed vertex; the matching exposes exactly vertices. This matches the upper bound, proving (b); the case is (a).
Bridge. This theorem builds toward the entire structure theory of general matchings and appears again in every flow, factor, and polyhedral argument that drops the bipartite hypothesis, because the odd-component count is the universal obstruction that the augmenting-path search of 40.04.02 could not see. The foundational reason Tutte and Tutte-Berge belong together is that the barrier set plays exactly the role Hall's deficient set played: it is the certificate of optimality that the maximum matching cannot beat, and this is exactly the duality that bipartite König expressed as a vertex cover, now read through odd components rather than neighbourhoods. The Tutte condition generalises Hall's condition — bipartiteness collapses back to — so the marriage theorem is the even-everything shadow of the -factor theorem. Putting these together, a matching is maximum precisely when its exposed set is forced by a barrier, which is dual to the covering view and generalises directly to the Gallai-Edmonds decomposition, where the canonical barrier organises the whole graph. The bridge is the factor-critical component: the odd piece that Berge's lemma stalls on becomes the structural atom that Edmonds' blossom contraction learns to traverse.
Exercises Intermediate+
Advanced results Master
Theorem (Gallai-Edmonds structure theorem). For any graph let be the set of vertices missed by at least one maximum matching, let be its neighbourhood outside , and let . Then: every component of is factor-critical; has a perfect matching; the bipartite graph obtained from by contracting each component of to a single vertex and deleting satisfies that every nonempty subset of the -side has more contracted- neighbours than its own size; every maximum matching of matches into distinct components of , near-perfectly matches each component of , and perfectly matches ; and , where is the number of components of . (Gallai [Diestel 2017 §2.2]; Lovász-Plummer [Lovász-Plummer 1986 Ch. 3].) The set is the canonical barrier: it attains and is determined by alone, independent of any chosen maximum matching. The decomposition refines Tutte-Berge from a single number into the full architecture of every maximum matching, with the factor-critical components of as the irreducible odd atoms and as their shared coupling set.
Theorem (ear-decomposition characterisation of factor-critical graphs). A graph is factor-critical if and only if it has an odd ear decomposition: is built from a single vertex by successively adding ears, each of odd length. (Lovász [Lovász-Plummer 1986 Ch. 5].) The forward direction grows the decomposition by following alternating structure: starting from a vertex, each added odd ear preserves factor-criticality because an odd path attached at its ends flips matched/unmatched status consistently; the reverse direction matches each vertex by routing along the ears. This structural picture is what makes the blossom of an odd cycle the right object to contract: a blossom is precisely a factor-critical subgraph built so far, and an odd ear is the increment by which the alternating search enlarges it.
Theorem (Edmonds' blossom algorithm). Maximum matching in a general graph is computable in polynomial time. Edmonds' algorithm grows an alternating forest from the exposed vertices; on meeting an odd cycle (a blossom) it contracts the blossom to a single pseudovertex, recurses, and lifts the resulting matching back through the contraction, augmenting whenever an augmenting path between two exposed vertices is found. (Edmonds [Edmonds 1965]; Schrijver [Schrijver 2003 Ch. 24].) The correctness rests on the lemma that a graph has an -augmenting path iff its blossom-contraction does, so contracting an odd cycle preserves the augmenting-path question while shrinking the graph. This was the first polynomial-time matching algorithm and the paper in which Edmonds proposed polynomial time as the definition of tractable computation, founding the modern theory of algorithmic efficiency.
Theorem (the perfect-matching polytope). The convex hull of the incidence vectors of perfect matchings of a graph is exactly the set of satisfying , the degree equations for every vertex , and and the odd-set inequalities for every odd , where is the set of edges with exactly one end in . (Edmonds [Edmonds 1965]; Schrijver [Schrijver 2003 Ch. 25].) Unlike the bipartite case of 40.04.02, where degree constraints alone cut out an integral polytope by total unimodularity, the general matching polytope needs the exponentially many odd-set (blossom) inequalities, one for each odd vertex set, each asserting that an odd set must send at least one matching edge across its boundary — the polyhedral echo of Tutte's odd-component obstruction. Edmonds proved this description integral, and the blossom algorithm is its constructive dual, separating over the odd-set inequalities in polynomial time.
Synthesis. These results are a single structure theorem seen at increasing depth, and putting these together the general matching problem becomes the prototype of min-max duality outside the bipartite world, where a maximum matching's exposed set is certified by a canonical barrier and the obstruction is an odd-component count. The central insight is that the odd cycle, the very object on which the bipartite augmenting-path search of 40.04.02 stalls, is the irreducible atom of the whole theory: factor-critical graphs are exactly the odd-ear-buildable pieces, the components of the Gallai-Edmonds -set are factor-critical, and the blossom Edmonds contracts is a factor-critical subgraph grown by the alternating search. This is exactly the principle that Tutte's condition generalises Hall's — the odd-component count collapses to the neighbourhood deficiency when the graph is bipartite, so the marriage theorem is the even-everything shadow of the -factor theorem. The Tutte-Berge formula is dual to the barrier, identifying , and the Gallai-Edmonds decomposition is the bridge from that single number to the full architecture every maximum matching must respect. The foundational reason the perfect-matching polytope needs odd-set inequalities while the bipartite polytope did not is the same odd-component obstruction read polyhedrally: total unimodularity fails exactly where odd cycles live, so the blossom inequalities are the linear-programming face of Tutte's theorem, and Edmonds' algorithm is their constructive separation.
Full proof set Master
Proposition 1 (parity lemma). For every graph and , .
Proof. The components of partition its vertices. Each even component contributes an even number of vertices and so vanishes modulo ; each odd component contributes an odd number, congruent to . Summing, .
Proposition 2 (necessity of the Tutte condition). If has a perfect matching , then for every .
Proof. Fix and an odd component of . Since is odd, restricted to cannot pair all of within , so some vertex is matched by to a vertex outside ; as is a component of , the only edges leaving go to , so . Distinct odd components give distinct partners , because is a matching and are distinct. The map injects the odd components into , so .
Proposition 3 (Tutte's theorem, sufficiency). If for all , then has a perfect matching.
Proof. Taking gives , so is even (Proposition 1). Suppose, for contradiction, has no perfect matching, and add edges to until it is edge-maximal without a perfect matching; the Tutte condition is preserved under adding edges (adding an edge cannot increase any ). Let be the set of vertices of degree . We claim is a disjoint union of complete graphs. If not, some component has three vertices with but , and since there is a vertex with . By edge-maximality and each have perfect matchings ; in the edges and lie on an alternating cycle, and rerouting along it produces a perfect matching of avoiding both new edges, a contradiction. So is a disjoint union of complete graphs. Each odd such clique has one leftover vertex to match into , and lets Hall match the odd cliques injectively to ; matching the remainder of each clique internally and matching 's leftover vertices among themselves (they form a clique, having the right parity by Proposition 1) yields a perfect matching of , contradicting the assumption. Hence had a perfect matching.
Proposition 4 (Tutte-Berge formula). For every graph , the minimum number of vertices exposed over all maximum matchings equals .
Proof. For the lower bound, fix any matching and any . Each odd component of has a vertex either exposed by or matched into ; the vertices of absorb at most such, so at least odd components contribute an exposed vertex, giving at least exposed vertices. For the matching upper bound, add a set of new vertices, each joined to every vertex of , forming . For any : if , then is connected through a vertex of , so when , and is even so ; if , write and compute . So satisfies Tutte's condition and has a perfect matching (Proposition 3); deleting the edges of meeting leaves a matching of exposing at most vertices. The two bounds coincide.
Proposition 5 (Petersen's theorem). Every bridgeless cubic graph has a perfect matching.
Proof. Verify Tutte's condition. Fix and let be the odd components of , so . For each , let be the number of edges between and . Summing degrees inside , counts each internal edge twice and each – edge once, so ; as is odd, is odd, forcing odd. Thus , and since a lone edge from to the rest would be a bridge; hence . The total number of – edges is at most , so , giving . By Tutte's theorem has a perfect matching.
Proposition 6 (factor-critical components in the Gallai-Edmonds -set). Let be the set of vertices exposed by some maximum matching. Every component of is factor-critical.
Proof (sketch following Lovász-Plummer). Let be a component of and . Choose a maximum matching exposing (possible since ). By the Gallai-Edmonds analysis, matches within : any -edge leaving would run to , and a counting argument on alternating paths shows every vertex of other than is matched inside , so restricted to is a perfect matching of . Since was arbitrary and each vertex of lies in (hence is exposed by some maximum matching, which by the same argument matches the rest of internally), has a perfect matching for every . Therefore is factor-critical. The full proof, including that the canonical is a barrier and , runs by establishing that every maximum matching near-perfectly matches each component of , matches injectively into distinct components of , and perfectly matches ; see [Lovász-Plummer 1986 Ch. 3].
Connections Master
Matchings I: König's theorem and Hall's marriage theorem
40.04.02. This unit is the non-bipartite continuation of the bipartite theory developed there: Tutte's condition generalises Hall's , and the Tutte-Berge deficiency formula generalises Ore's defect form, with the odd-component count collapsing back to the neighbourhood deficiency when the graph is bipartite. Berge's augmenting-path lemma proved there is the shared starting point both halves build on; the foundational reason the two theorems split is the odd cycle, the structure on which the bipartite alternating-tree search stalls and which Edmonds' blossom contraction repairs. The regular-bipartite perfect-matching corollary of that unit is the engine of the Petersen -factor argument here.Network flows: max-flow min-cut and the integrality theorem
40.04.09. Maximum matching is the prototype combinatorial-optimization problem whose duality this unit casts through odd components rather than cuts, and the two min-max theories meet at the integrality question: bipartite matching is a unit-capacity flow with an integral polytope by total unimodularity, while general matching needs the odd-set (blossom) inequalities precisely where flows would still be integral. The augmenting-path mechanism that drives Ford-Fulkerson is the alternating-path search that Edmonds' blossom algorithm extends past odd cycles, so the flow duality developed in the co-produced flows unit and the Tutte-Berge duality here are two faces of the same packing-covering principle, separated by the parity obstruction that flows never see.Linear and integer programming: polytopes, duality, and total unimodularity
40.06.01. The perfect-matching polytope is a central example of an integral polytope that is not cut out by a totally unimodular system: it requires the exponentially many odd-set inequalities, and Edmonds' proof that this description is integral, together with the blossom algorithm's polynomial separation over those inequalities, is a founding result of polyhedral combinatorics. The barrier sets of Tutte-Berge are the combinatorial certificates that LP duality turns into the tight odd-set constraints, placing general matching inside the broader theory of when integer programs have integral relaxations.Computability and complexity: the class P and polynomial-time reductions
25.03.04pending. Edmonds' blossom algorithm is the first polynomial-time maximum-matching algorithm and the paper in which polynomial time was proposed as the formal criterion of tractable computation, so this unit is a historical root of the complexity class P. The blossom-contraction technique — shrinking an odd cycle to preserve the augmenting-path question — is the algorithmic content that the complexity unit abstracts into efficient reductions, and general matching remains the canonical example of a problem in P that resisted the naive augmenting-path approach until the odd-cycle obstruction was understood.
Historical & philosophical context Master
The non-bipartite theory began with Julius Petersen, whose 1891 paper Die Theorie der regulären Graphs (Acta Mathematica 15) [Petersen 1891] proved that every bridgeless cubic graph has a perfect matching and that every even-regular graph factors into -factors, work motivated by the factorisation of symmetric functions in invariant theory. The general criterion waited until William Thomas Tutte's 1947 paper The factorization of linear graphs (Journal of the London Mathematical Society 22) [Tutte 1947], which characterised the graphs with a -factor by the odd-component condition now bearing his name; Tutte's original proof used the Pfaffian of a skew-symmetric matrix, tying matchings to determinants much as Frobenius had tied Hall's condition to permanents.
Claude Berge extended Tutte's theorem to the deficiency version for maximum matchings in a 1958 note (Comptes Rendus de l'Académie des Sciences 247) [Berge 1958], giving the min-max formula for the number of exposed vertices; the result is jointly named Tutte-Berge. Tibor Gallai and Jack Edmonds independently developed the canonical structure decomposition in the early 1960s, isolating the inessential vertices , their neighbours , and the perfectly matchable remainder , with the factor-critical components that Gallai had studied as the irreducible atoms.
Edmonds' 1965 paper Paths, trees, and flowers (Canadian Journal of Mathematics 17) [Edmonds 1965] supplied the blossom algorithm, the first polynomial-time procedure for maximum matching, and in its introduction proposed polynomial running time as the definition of a "good" algorithm — the conceptual seed of the complexity class P. The same paper derived the matching polytope with its odd-set inequalities, founding polyhedral combinatorics; László Lovász and Michael Plummer's 1986 Matching Theory consolidated the ear-decomposition and Gallai-Edmonds machinery into the standard reference.
Bibliography Master
@book{Diestel2017,
author = {Diestel, Reinhard},
title = {Graph Theory},
edition = {5th},
series = {Graduate Texts in Mathematics},
volume = {173},
publisher = {Springer},
year = {2017}
}
@book{BondyMurty2008,
author = {Bondy, J. A. and Murty, U. S. R.},
title = {Graph Theory},
series = {Graduate Texts in Mathematics},
volume = {244},
publisher = {Springer},
year = {2008}
}
@book{LovaszPlummer1986,
author = {Lov\'asz, L\'aszl\'o and Plummer, Michael D.},
title = {Matching Theory},
series = {North-Holland Mathematics Studies},
volume = {121},
publisher = {North-Holland},
year = {1986}
}
@book{Schrijver2003,
author = {Schrijver, Alexander},
title = {Combinatorial Optimization: Polyhedra and Efficiency},
series = {Algorithms and Combinatorics},
volume = {24},
publisher = {Springer},
year = {2003}
}
@article{Petersen1891,
author = {Petersen, Julius},
title = {Die Theorie der regul\"aren Graphs},
journal = {Acta Mathematica},
volume = {15},
year = {1891},
pages = {193--220}
}
@article{Tutte1947,
author = {Tutte, William T.},
title = {The factorization of linear graphs},
journal = {Journal of the London Mathematical Society},
volume = {22},
year = {1947},
pages = {107--111}
}
@article{Berge1958,
author = {Berge, Claude},
title = {Sur le couplage maximum d'un graphe},
journal = {Comptes Rendus de l'Acad\'emie des Sciences},
volume = {247},
year = {1958},
pages = {258--259}
}
@article{Edmonds1965,
author = {Edmonds, Jack},
title = {Paths, trees, and flowers},
journal = {Canadian Journal of Mathematics},
volume = {17},
year = {1965},
pages = {449--467}
}
@article{Gallai1964,
author = {Gallai, Tibor},
title = {Maximale Systeme unabh\"angiger Kanten},
journal = {Magyar Tudom\'anyos Akad\'emia Matematikai Kutat\'o Int\'ezet\'enek K\"ozlem\'enyei},
volume = {9},
year = {1964},
pages = {401--413}
}