TheoremComplete

Hall's Marriage Theorem

Theorem6.1Hall's Marriage Theorem

A bipartite graph G=(XβˆͺY,E)G = (X \cup Y, E) has a matching that saturates XX (i.e., a matching of size ∣X∣|X|) if and only if ∣N(S)∣β‰₯∣S∣|N(S)| \geq |S| for all SβŠ†XS \subseteq X.


Proof

Proof

Necessity. If MM saturates XX, then for any SβŠ†XS \subseteq X, the matching maps SS injectively into N(S)N(S), so ∣N(S)∣β‰₯∣S∣|N(S)| \geq |S|.

Sufficiency (by induction on ∣X∣|X|). Base case ∣X∣=1|X| = 1: Hall's condition gives ∣N({x})∣β‰₯1|N(\{x\})| \geq 1, so xx has a neighbor, and the single edge is the desired matching.

For ∣X∣>1|X| > 1, distinguish two cases.

Case 1: ∣N(S)∣β‰₯∣S∣+1|N(S)| \geq |S| + 1 for all βˆ…β‰ S⊊X\emptyset \neq S \subsetneq X (strict inequality for proper subsets). Pick any edge xyxy with x∈X,y∈Yx \in X, y \in Y. In Gβ€²=Gβˆ’{x,y}G' = G - \{x, y\} (remove xx and yy), for any Sβ€²βŠ†Xβˆ–{x}S' \subseteq X \setminus \{x\}: ∣NGβ€²(Sβ€²)∣β‰₯∣NG(Sβ€²)βˆ£βˆ’1β‰₯(∣Sβ€²βˆ£+1)βˆ’1=∣Sβ€²βˆ£|N_{G'}(S')| \geq |N_G(S')| - 1 \geq (|S'| + 1) - 1 = |S'|. By induction, Gβ€²G' has a matching Mβ€²M' saturating Xβˆ–{x}X \setminus \{x\}, and M=Mβ€²βˆͺ{xy}M = M' \cup \{xy\} saturates XX.

Case 2: There exists βˆ…β‰ T⊊X\emptyset \neq T \subsetneq X with ∣N(T)∣=∣T∣|N(T)| = |T|. Consider the subgraph G1G_1 induced by TβˆͺN(T)T \cup N(T). Hall's condition holds for G1G_1 (since NG1(S)=NG(S)N_{G_1}(S) = N_G(S) for SβŠ†TS \subseteq T, as neighbors of TT-vertices in YY lie in N(T)N(T)). By induction (on ∣T∣<∣X∣|T| < |X|), G1G_1 has a matching M1M_1 saturating TT.

Now consider G2=Gβˆ’(TβˆͺN(T))G_2 = G - (T \cup N(T)), a bipartite graph on (Xβˆ–T)βˆͺ(Yβˆ–N(T))(X \setminus T) \cup (Y \setminus N(T)). For SβŠ†Xβˆ–TS \subseteq X \setminus T: ∣NG2(S)∣=∣NG(SβˆͺT)βˆ£βˆ’βˆ£N(T)∣β‰₯∣SβˆͺTβˆ£βˆ’βˆ£T∣=∣S∣|N_{G_2}(S)| = |N_G(S \cup T)| - |N(T)| \geq |S \cup T| - |T| = |S| where we used Hall's condition for SβˆͺTS \cup T in GG and ∣N(T)∣=∣T∣|N(T)| = |T|.

By induction, G2G_2 has a matching M2M_2 saturating Xβˆ–TX \setminus T. Then M=M1βˆͺM2M = M_1 \cup M_2 saturates all of XX. β–‘\square

β– 

ExamplePerfect Matchings in Regular Bipartite Graphs

Every kk-regular bipartite graph (kβ‰₯1k \geq 1) has a perfect matching. Proof: for SβŠ†XS \subseteq X, count edges from SS to N(S)N(S): there are k∣S∣k|S| edges leaving SS and at most k∣N(S)∣k|N(S)| entering N(S)N(S), giving ∣N(S)∣β‰₯∣S∣|N(S)| \geq |S|. By Hall's theorem, a perfect matching exists. Iterating: a kk-regular bipartite graph decomposes into kk perfect matchings (and thus has Ο‡β€²=k\chi' = k, confirming KΓΆnig).

RemarkAlgorithmic Aspects

Hall's condition involves checking 2∣X∣2^{|X|} subsets, but maximum matching algorithms bypass this: the Hopcroft-Karp algorithm finds a maximum matching in O(nm)O(\sqrt{n}m), and Hall's condition fails iff Ξ½<∣X∣\nu < |X|. The deficiency max⁑(∣Sβˆ£βˆ’βˆ£N(S)∣)\max(|S| - |N(S)|) equals ∣Xβˆ£βˆ’Ξ½(G)|X| - \nu(G).