Tutte theorem
Template:Short description Script error: No such module "Distinguish".
In the mathematical discipline of graph theory, the Tutte theorem, named after William Thomas Tutte, is a characterization of finite undirected graphs with perfect matchings. It is a special case of the Tutte–Berge formula.
Intuition
The goal is to characterize all graphs that do not have a perfect matching. Start with the most obvious case of a graph without a perfect matching: a graph with an odd number of vertices. In such a graph, any matching leaves at least one unmatched vertex, so it cannot be perfect.
A slightly more general case is a disconnected graph in which one or more components have an odd number of vertices (even if the total number of vertices is even). Let us call such components odd components. In any matching, each vertex can only be matched to vertices in the same component. Therefore, any matching leaves at least one unmatched vertex in every odd component, so it cannot be perfect.
Next, consider a graph G with a vertex u such that, if we remove from G the vertex u and its adjacent edges, the remaining graph (denoted G − uScript error: No such module "Check for unknown parameters".) has two or more odd components. As above, any matching leaves, in every odd component, at least one vertex that is unmatched to other vertices in the same component. Such a vertex can only be matched to u. But since there are two or more unmatched vertices, and only one of them can be matched to u, at least one other vertex remains unmatched, so the matching is not perfect.
Finally, consider a graph G with a set of vertices UScript error: No such module "Check for unknown parameters". such that, if we remove from G the vertices in UScript error: No such module "Check for unknown parameters". and all edges adjacent to them, the remaining graph (denoted G − UScript error: No such module "Check for unknown parameters".) has more than |U|Script error: No such module "Check for unknown parameters". odd components. As explained above, any matching leaves at least one unmatched vertex in every odd component, and these can be matched only to vertices of UScript error: No such module "Check for unknown parameters". - but there are not enough vertices on UScript error: No such module "Check for unknown parameters". for all these unmatched vertices, so the matching is not perfect.
We have arrived at a necessary condition: if G has a perfect matching, then for every vertex subset UScript error: No such module "Check for unknown parameters". in G, the graph G − UScript error: No such module "Check for unknown parameters". has at most |U|Script error: No such module "Check for unknown parameters". odd components. Tutte's theorem says that this condition is both necessary and sufficient for the existence of perfect matching.
Tutte's theorem
A graph, G = (V, E)Script error: No such module "Check for unknown parameters"., has a perfect matching if and only if for every subset UScript error: No such module "Check for unknown parameters". of VScript error: No such module "Check for unknown parameters"., the subgraph G − UScript error: No such module "Check for unknown parameters". has at most |U|Script error: No such module "Check for unknown parameters". odd components (connected components having an odd number of vertices).[1]
Proof
First we write the condition:
where denotes the number of odd components of the subgraph induced by .
Necessity of (∗): This direction was already discussed in the section Intuition above, but let us sum up here the proof. Consider a graph GScript error: No such module "Check for unknown parameters"., with a perfect matching. Let UScript error: No such module "Check for unknown parameters". be an arbitrary subset of VScript error: No such module "Check for unknown parameters".. Delete UScript error: No such module "Check for unknown parameters".. Let CScript error: No such module "Check for unknown parameters". be an arbitrary odd component in G − UScript error: No such module "Check for unknown parameters".. Since GScript error: No such module "Check for unknown parameters". had a perfect matching, at least one vertex in CScript error: No such module "Check for unknown parameters". must be matched to a vertex in UScript error: No such module "Check for unknown parameters".. Hence, each odd component has at least one vertex matched with a vertex in UScript error: No such module "Check for unknown parameters".. Since each vertex in UScript error: No such module "Check for unknown parameters". can be in this relation with at most one connected component (because of it being matched at most once in a perfect matching), odd(G − U) ≤ |U|Script error: No such module "Check for unknown parameters"..[2]
Sufficiency of (∗): Let GScript error: No such module "Check for unknown parameters". be an arbitrary graph with no perfect matching. We will find a so-called Tutte violator, that is, a subset SScript error: No such module "Check for unknown parameters". of VScript error: No such module "Check for unknown parameters". such that |S| < odd(G − S)Script error: No such module "Check for unknown parameters".. We can suppose that GScript error: No such module "Check for unknown parameters". is edge-maximal, i.e., G + eScript error: No such module "Check for unknown parameters". has a perfect matching for every edge eScript error: No such module "Check for unknown parameters". not present in GScript error: No such module "Check for unknown parameters". already. Indeed, if we find a Tutte violator SScript error: No such module "Check for unknown parameters". in edge-maximal graph GScript error: No such module "Check for unknown parameters"., then SScript error: No such module "Check for unknown parameters". is also a Tutte violator in every spanning subgraph of GScript error: No such module "Check for unknown parameters"., as every odd component of G − SScript error: No such module "Check for unknown parameters". will be split into possibly more components at least one of which will again be odd.
We define SScript error: No such module "Check for unknown parameters". to be the set of vertices with degree |V| − 1Script error: No such module "Check for unknown parameters".. First we consider the case where all components of G − SScript error: No such module "Check for unknown parameters". are complete graphs. Then SScript error: No such module "Check for unknown parameters". has to be a Tutte violator, since if odd(G − S) ≤ |S|Script error: No such module "Check for unknown parameters"., then we could find a perfect matching by matching one vertex from every odd component with a vertex from SScript error: No such module "Check for unknown parameters". and pairing up all other vertices (this will work unless |V|Script error: No such module "Check for unknown parameters". is odd, but then ∅Script error: No such module "Check for unknown parameters". is a Tutte violator).
Now suppose that KScript error: No such module "Check for unknown parameters". is a component of G − SScript error: No such module "Check for unknown parameters". and x, y ∈ KScript error: No such module "Check for unknown parameters". are vertices such that xy ∉ EScript error: No such module "Check for unknown parameters".. Let x, a, b ∈ KScript error: No such module "Check for unknown parameters". be the first vertices on a shortest x,yScript error: No such module "Check for unknown parameters".-path in KScript error: No such module "Check for unknown parameters".. This ensures that xa, ab ∈ EScript error: No such module "Check for unknown parameters". and xb ∉ EScript error: No such module "Check for unknown parameters".. Since a ∉ SScript error: No such module "Check for unknown parameters"., there exists a vertex cScript error: No such module "Check for unknown parameters". such that ac ∉ EScript error: No such module "Check for unknown parameters".. From the edge-maximality of GScript error: No such module "Check for unknown parameters"., we define M1Script error: No such module "Check for unknown parameters". as a perfect matching in G + xbScript error: No such module "Check for unknown parameters". and M2Script error: No such module "Check for unknown parameters". as a perfect matching in G + acScript error: No such module "Check for unknown parameters".. Observe that surely xb ∈ M1Script error: No such module "Check for unknown parameters". and ac ∈ M2Script error: No such module "Check for unknown parameters"..
Let PScript error: No such module "Check for unknown parameters". be the maximal path in GScript error: No such module "Check for unknown parameters". that starts from cScript error: No such module "Check for unknown parameters". with an edge from M1Script error: No such module "Check for unknown parameters". and whose edges alternate between M1Script error: No such module "Check for unknown parameters". and M2Script error: No such module "Check for unknown parameters".. How can PScript error: No such module "Check for unknown parameters". end? Unless we arrive at 'special' vertices such as x, aScript error: No such module "Check for unknown parameters". or bScript error: No such module "Check for unknown parameters"., we can always continue: cScript error: No such module "Check for unknown parameters". is M2Script error: No such module "Check for unknown parameters".-matched by caScript error: No such module "Check for unknown parameters"., so the first edge of PScript error: No such module "Check for unknown parameters". is not in M2Script error: No such module "Check for unknown parameters"., therefore the second vertex is M2Script error: No such module "Check for unknown parameters".-matched by a different edge and we continue in this manner.
Let vScript error: No such module "Check for unknown parameters". denote the last vertex of PScript error: No such module "Check for unknown parameters".. If the last edge of PScript error: No such module "Check for unknown parameters". is in M1Script error: No such module "Check for unknown parameters"., then vScript error: No such module "Check for unknown parameters". has to be aScript error: No such module "Check for unknown parameters"., since otherwise we could continue with an edge from M2Script error: No such module "Check for unknown parameters". (even to arrive at xScript error: No such module "Check for unknown parameters". or bScript error: No such module "Check for unknown parameters".). In this case we define C:=P + acScript error: No such module "Check for unknown parameters".. If the last edge of PScript error: No such module "Check for unknown parameters". is in M2Script error: No such module "Check for unknown parameters"., then surely v ∈ {x, bScript error: No such module "Check for unknown parameters".} for analogous reason and we define C:=P + va + acScript error: No such module "Check for unknown parameters"..
Now CScript error: No such module "Check for unknown parameters". is a cycle in G + acScript error: No such module "Check for unknown parameters". of even length with every other edge in M2Script error: No such module "Check for unknown parameters".. We can now define M:=M2 Δ CScript error: No such module "Check for unknown parameters". (where ΔScript error: No such module "Check for unknown parameters". is symmetric difference) and we obtain a perfect matching in GScript error: No such module "Check for unknown parameters"., a contradiction.
Equivalence to the Tutte-Berge formula
The Tutte–Berge formula says that the size of a maximum matching of a graph equals . Equivalently, the number of unmatched vertices in a maximum matching equals .
This formula follows from Tutte's theorem, together with the observation that has a matching of size if and only if the graph obtained by adding new vertices, each joined to every original vertex of , has a perfect matching. Since any set which separates into more than components must contain all the new vertices, (*) is satisfied for if and only if .
In infinite graphs
For connected infinite graphs that are locally finite (every vertex has finite degree), a generalization of Tutte's condition holds: such graphs have perfect matchings if and only if there is no finite subset, the removal of which creates a number of finite odd components larger than the size of the subset.[3]
See also
Notes
<templatestyles src="Reflist/styles.css" />
Script error: No such module "Check for unknown parameters".
References
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".