Tutte's Theorem and Matching in General Graphs
While Hall's theorem characterizes matchings in bipartite graphs, Tutte's theorem provides the analogous characterization for general graphs. The key obstruction to a perfect matching is the existence of odd components.
Tutte's Condition
A graph has a perfect matching if and only if for every : where denotes the number of odd components (components with an odd number of vertices) of . Taking : must be even (necessary condition).
For : removing any vertex gives (1 odd component), and . Removing two vertices gives at most 2 components, with at most 1 odd. Tutte's condition holds; indeed has perfect matchings. For the Petersen graph: every vertex removal gives a connected graph on 9 vertices (odd), so . One checks Tutte's condition holds for all ; the Petersen graph has perfect matchings.
Gallai-Edmonds Decomposition
Every graph admits a Gallai-Edmonds decomposition where:
- = set of vertices not saturated by at least one maximum matching
- = (neighbors of outside )
- =
Properties: (1) each component of is factor-critical (removing any vertex leaves a graph with a perfect matching); (2) has a perfect matching; (3) every maximum matching matches into distinct odd components of ; (4) (Berge formula).
A graph is factor-critical if has a perfect matching for every . Factor-critical graphs are the "building blocks" of the matching theory: they are the obstructions that create odd components. Every 2-edge-connected factor-critical graph is also brick (3-connected with no non-trivial tight cuts), and bricks are the primitive structures in matching decomposition theory.
Weighted Matching
In weighted bipartite matching, each edge has weight , and we seek a perfect matching of minimum total weight. The Hungarian algorithm solves this in time using dual variables (vertex potentials) satisfying . By LP duality, the minimum weight matching equals . For general graphs, Edmonds' weighted blossom algorithm solves the minimum weight perfect matching in polynomial time.