## Graph Theory Lecture Notes 13

### The Marriage Theorem

Theorem: (Philip Hall - 1935) In a society of m men and w women, w marriages between women and men they are acquainted with are possible if and only if each subset of k women (1 <= k <= w) is collectively acquainted with at least k men.

Pf: The condition is clearly necessary. We prove the sufficiency by strong induction on w.

The induction statement is:
S(n) : If in a collection of n women, each subset of k women (1 <= k <= n) collectively is acquainted with at least k men, then n marriages are possible.

S(1): Since there is only one woman, and she knows at least one man, "heavenly bliss" is possible.

Now assume S(i) is true for all i <= n. Consider S(n+1). There are two cases to consider.
Case 1: Every set of k women (1 <= k <= n) knows at least k + 1 men.
In this case, take one woman and a man she is acquainted with and marry them off. Now, there are only n women left, and every subset of k of them collectively know at least k men. By the induction hypothesis, n marriages are possible. Together with the original marriage, we get n+1 marriages.

Case 2: Suppose that there is a set of k women (1 <= k <= n) who collectively know exactly k men.
Since this set of k women and k men satisfy the condition, by induction we can arrange k marriages. There remain n+1 - k women. Any subset of j of these women must collectively know at least j men, otherwise these j women together with the k women already married would have collectively known less than k + j men (contradicting the assumption for the n+1 women). So, the induction hypothesis is valid for these n+1-k women, and we can arrange n+1-k marriages. Together with the previous k marriages, we have arranged n+1 marriages.

Thus, by induction, the statement is true for all w.

The marriage theorem can be rephrased in graph theoretical terms as:

Theorem: Let G = (X, Y, E) be a bipartite graph. Then there exists an X-saturating matching if and only if for all subsets S of X, | N(S) | >= |S|.

Def: Regular graph

Corollary: If G = (X,Y,E) is a regular bipartite graph with at least one edge, then G has an X- saturating matching.

Pf: Let S be a subset of X, E1 the set of edges incident with vertices of S, and E2 the set of edges incident with vertices of N(S). Since each edge of E1 joins a vertex in S with a vertex in the neighborhood of S, we have that E1 is a subset of E2. Thus, |E1 | <= |E2|. If k is the common degree of all the vertices in G, then |E1| = k |S| and |E2| = k |N(S)|, so k |S| <= k |N(S)|. Since, k >= 1, we have |S| <= |N(S)| for all subsets S in X.

Def: Perfect matching

Notice that a matching of a regular bipartite graph is a perfect matching.

Also notice that in Hall's Theorem, every subset must be checked. In the bipartite graph below, there is only one subset (X0) that fails to meet the condition.

We can recast the marriage theorem in set-theoretic terms as follows:

Let F = {S1, S2, ...., Sp} denote a family of not necessarily distinct sets. A p-tuple, (a1, a2 , ..., ap) with ai in Si for all i is called a system of representatives for F. If all the ai are different, then we say that it is a system of distinct representatives (SDR).

Construct a bipartite graph with the vertices in X being the subsets of F, and the vertices of Y being the elements in the union of all the subsets of F. Draw an edge between a vertex in X and one in Y if and only if, the element in Y is a member of the subset in X. An X-saturating matching in this bipartite graph corresponds to an SDR of F. So, we can rephrase the Marriage Theorem as:

Corollary: The family F = {S1, S2, ...., Sp} possesses an SDR if and only if for all k, 1 <= k <= p, the union of any k subsets of F has at least k elements.

We now turn to arbitrary graphs.

Theorem: If a graph G has 2n vertices and each vertex has degree at least n, then G has a perfect matching.

We will prove this theorem constructively, that is, we will give an algorithm for constructing the perfect matching and prove that it works under the assumptions of the theorem.

Algorithm: Finding a Perfect Matching.

Step 1: Pick edges for a matching (i.e., no two meeting at a vertex) until you can't any more.
Step 2: If you have picked n edges, stop
else
for a pair of unsaturated vertices a, b in the graph, find the edge {u, v} in the partial matching you have so far, such that {a, u} and {b, v} are edges of the graph. Remove {u, v} and add {a, u} and {b, v}. Return to Step 1.

Pf: Assume that we are in step 2 of the algorithm and the matching we have so far has r < n edges. With a and b unsaturated vertices (which can not be joined, otherwise we could add the edge {a,b} to the matching), we would not be able to continue if for each edge {u, v} in the matching, at most two of {a, u}, {a, v}, {b, u}, {b, v} are edges of the graph (but not the pair {a, u} and {b, v}). So, the number of edges from a or b to a saturated vertex is at most 2r. But every edge from a or b goes to a saturated vertex (otherwise, we could have added another edge to the matching). So,

deg(a) + deg(b) <= 2r < 2n
which contradicts the assumption that each vertex has degree at least n.

Another way to view a perfect matching in a graph is to consider it as a spanning subgraph which is regular of degree 1. From this point of view, a perfect matching is often called a 1-factor.

A 1-factorization of a graph is a decomposition of all the edges of the graph into 1-factors.

Ex: A 1-factorization of K6 is given below:

K2n always has a 1-factorization (i.e., is 1-factorable).

Theorem: Regular bipartite graphs are 1-factorable.

Pf: We know that a regular bipartite graph has a 1-factor. After removing these edges, the graph that remains is also a regular bipartite graph (of degree 1 less), so we may find a 1-factor in it. Continue until the common degree of the graph is 1, this last graph is itself a 1-factor.