TCSLib

143 Matchings

143.1 Matchings

Definition 143.1 A maximum matching: a matching no larger than which exists
✓
#

A maximum matching: a matching no larger than which exists.

A subset \(M\) of \(E\) is called a matching in \(G\) if its elements are links and no two are adjacent in \(G\); the two ends of an edge in \(M\) are said to be matched under \(M\). A matching \(M\) saturates a vertex \(v\), and \(v\) is said to be \(M\)-saturated, if some edge of \(M\) is incident with \(v\); otherwise, \(v\) is \(M\)-unsaturated. If every vertex of \(G\) is \(M\)-saturated, the matching \(M\) is perfect. \(M\) is a maximum matching if \(G\) has no matching \(M'\) with \(|M'| \gt |M|\); clearly, every perfect matching is maximum.

Definition 143.2 \(M\)-alternating walk: consecutive edges alternate in/out of \(M\)
✓
#

M-alternating walk: consecutive edges alternate in/out of M.

Let \(M\) be a matching in \(G\). An \(M\)-alternating path in \(G\) is a path whose edges are alternately in \(E \backslash M\) and \(M\). For example, the path \(v_5 v_8 v_1 v_7 v_6\) in the graph of figure 5.1\(a\) is an \(M\)-alternating path.

Definition 143.3 \(M\)-augmenting path: alternating, both ends \(M\)-unsaturated
✓
#

M-augmenting path: alternating, both ends M-unsaturated.

An \(M\)-augmenting path is an \(M\)-alternating path whose origin and terminus are \(M\)-unsaturated.

Definition 143.4 A minimum covering
✓
#

A minimum covering.

A covering \(K\) is a minimum covering if \(G\) has no covering \(K'\) with \(|K'| \lt |K|\) (see figure 5.4).

Definition 143.5 A \(k\)-factor: a \(k\)-regular spanning subgraph
✓
#

A k-factor: a k-regular spanning subgraph.

5.1.5 A \(k\)-factor of \(G\) is a \(k\)-regular spanning subgraph of \(G\), and \(G\) is \(k\)-factorable if there are edge-disjoint \(k\)-factors \(H_1, H_2, \ldots , H_n\) such that \(G = H_1 \cup H_2 \cup \ldots \cup H_n\).

Definition 143.6 \(G\) is \(k\)-factorable: it decomposes into edge-disjoint \(k\)-factors
✓
#

G is k-factorable: it decomposes into edge-disjoint k-factors.

\(G\) is \(k\)-factorable if there are edge-disjoint \(k\)-factors \(H_1, H_2, \ldots , H_n\) such that \(G = H_1 \cup H_2 \cup \ldots \cup H_n\).

Definition 143.7 The \(k\)-cube \(Q_k\)
#

The k-cube Q_k.

The \(k\)-cube is the graph whose vertices are the ordered \(k\)-tuples of \(0\)s and \(1\)s, two vertices being joined if and only if they differ in exactly one coordinate.

Defined in chapter 1; chapter 5 uses it only in exercise 5.1.1(a).

Definition 143.8 The \(m \times n\) grid graph
#

The m \(\times \) n grid graph.

Theorem 143.9 Berge’s theorem on maximum matchings

Let \(G\) be a finite simple graph and let \(M\) be a matching in \(G\). Then \(M\) is a maximum matching if and only if \(G\) contains no \(M\)-augmenting path.

Theorem 143.10 Hall’s marriage theorem for bipartite matchings
#

Let \(G\) be a finite simple graph whose vertex set admits a bipartition into parts \(X\) and \(Y\), so that every edge of \(G\) joins a vertex of \(X\) to a vertex of \(Y\). For a set \(S\) of vertices write \(N(S) = \bigcup _{v \in S} N(v)\) for the union of the neighborhoods of the vertices in \(S\). Then \(G\) has a matching that saturates \(X\) — a set of pairwise disjoint edges covering every vertex of \(X\) — if and only if \(\left\lvert S\right\rvert \le \left\lvert N(S)\right\rvert \) for every \(S \subseteq X\).

Theorem 143.11 Perfect matchings in regular bipartite graphs
#

Let \(G\) be a simple graph on a finite vertex set that is bipartite with parts \(X\) and \(Y\), so that every edge of \(G\) joins a vertex of \(X\) to a vertex of \(Y\). If there is an integer \(k \gt 0\) such that every vertex of \(G\) has degree exactly \(k\), then \(G\) admits a perfect matching: a set of edges that is vertex-disjoint and covers every vertex of \(G\).

Theorem 143.12 Matchings are no larger than coverings

Let \(G\) be a finite simple graph. If \(M\) is a matching in \(G\) and \(K\) is a covering of \(G\), then the number of edges of \(M\) is at most the number of vertices in \(K\); that is, \(\left\lvert M\right\rvert \le \left\lvert K\right\rvert \).

Theorem 143.13 Equal size forces maximum matching and minimum covering

Let \(G\) be a finite simple graph, let \(M\) be a matching in \(G\), and let \(K\) be a covering of \(G\). If \(|M| = |K|\), then \(M\) is a maximum matching and \(K\) is a minimum covering of \(G\).

Theorem 143.14 König’s theorem: maximum matching equals minimum covering

Let \(G\) be a finite bipartite graph with bipartition \((X, Y)\) of its vertex set. If \(M\) is a maximum matching of \(G\) and \(K\) is a minimum covering of \(G\), then the number of edges in \(M\) equals the number of vertices in \(K\).

Theorem 143.15 Tutte’s theorem on perfect matchings
#

Let \(G\) be a simple graph on a finite vertex set \(V\). For a set \(S \subseteq V\), write \(G - S\) for the graph obtained by deleting the vertices of \(S\) (together with their incident edges), and let \(o(G - S)\) denote the number of odd components of \(G - S\), that is, the connected components with an odd number of vertices. Then \(G\) has a perfect matching if and only if

\[ o(G - S) \le \left\lvert S\right\rvert \qquad \text{for every } S \subseteq V. \]
Theorem 143.16 Petersen’s theorem on perfect matchings of bridgeless cubic graphs

Let \(G\) be a finite simple graph that is \(3\)-regular (every vertex has exactly three neighbours) and bridgeless (no edge of \(G\) is a bridge, i.e. removing any single edge leaves the graph with the same number of connected components). Then \(G\) has a perfect matching: there is a set of edges, no two sharing a vertex, that together cover every vertex of \(G\).

Definition 143.17 Feasible vertex labelling: \(l x + l y \ge w s(x,y)\)
✓
#

Feasible vertex labelling: l x + l y \(\ge \) w s(x,y).

We define a feasible vertex labelling as a real-valued function \(l\) on the vertex set \(X \cup Y\) such that, for all \(x \in X\) and \(y \in Y\)

\[ l(x) + l(y) \geq w(xy) \qquad (5.11) \]

(The real number \(l(v)\) is called the label of the vertex \(v\).) [...] No matter what the edge weights are, there always exists a feasible vertex labelling; one such is the function \(l\) given by

\[ l(x) = \max _{y \in Y} w(xy) \ \text{if} \ x \in X, \qquad l(y) = 0 \ \text{if} \ y \in Y \qquad (5.12) \]
Definition 143.18 The equality subgraph \(G_l\)
#

The equality subgraph G_l.

If \(l\) is a feasible vertex labelling, we denote by \(E_l\) the set of those edges for which equality holds in (5.11); that is

\[ E_l = \{ xy \in E \mid l(x) + l(y) = w(xy)\} \]

The spanning subgraph of \(G\) with edge set \(E_l\) is referred to as the equality subgraph corresponding to the feasible vertex labelling \(l\), and is denoted by \(G_l\).

Definition 143.19 Weight of a matching
✓
#

Weight of a matching.

The book uses the notation w(M) without a display, in (5.13)–(5.14):

\[ w(M^*) = \sum _{e \in M^*} w(e) = \sum _{v \in V} l(v) \qquad (5.13) \]
Definition 143.20 An optimal matching: a max-weight perfect matching
✓
#

An optimal matching: a max-weight perfect matching.

The optimal assignment problem is clearly equivalent to that of finding a maximum-weight perfect matching in this weighted graph. We shall refer to such a matching as an optimal matching.

Theorem 143.21 A perfect matching in the equality subgraph is optimal

Let \(G\) be a bipartite graph on a finite vertex set with bipartition into parts \(X\) and \(Y\) whose union is the whole vertex set, and let \(w\) assign a real weight to each edge. Suppose \(l\) is a feasible vertex labelling for these weights, and let \(G_l\) be the corresponding equality subgraph. If \(G_l\) contains a perfect matching \(M^*\), then \(M^*\), regarded as a matching of \(G\), is an optimal matching of \(G\) — that is, a perfect matching of maximum total weight.

Theorem 143.22 The \(k\)-cube has a perfect matching
#

For every integer \(k \ge 2\), the \(k\)-cube \(Q_k\) admits a perfect matching: there is a set of edges of \(Q_k\), no two sharing a vertex, that together cover every vertex.

Theorem 143.23 Number of perfect matchings of the complete graph

For every natural number \(n\), the number of perfect matchings of the complete graph \(K_{2n}\) on \(2n\) vertices — that is, the number of ways to partition its vertex set into \(n\) disjoint pairs, each joined by an edge — is

\[ \frac{(2n)!}{2^{n}\, n!}. \]
Theorem 143.24 Perfect matchings of \(K_{n,n}\)

For every natural number \(n\), the complete bipartite graph \(K_{n,n}\), whose two vertex classes each have \(n\) vertices and whose edges are exactly the pairs joining a vertex of one class to a vertex of the other, has exactly \(n!\) perfect matchings.

Theorem 143.25 A tree has at most one perfect matching

Let \(G\) be a tree on a finite vertex set — a connected, acyclic simple graph. Then any two perfect matchings of \(G\) coincide; that is, \(G\) has at most one perfect matching.

Theorem 143.26 The complete bipartite graph \(K_{n,n}\) is 1-factorable

For every natural number \(n\), the complete bipartite graph \(K_{n,n}\), whose two vertex classes each have \(n\) vertices and whose edges join every vertex of one class to every vertex of the other, is \(1\)-factorable: its edge set decomposes into edge-disjoint \(1\)-factors (perfect matchings).

Theorem 143.27 The complete graph on an even number of vertices is 1-factorable

For every natural number \(n\), the complete graph \(K_{2n}\) on \(2n\) vertices is \(1\)-factorable; that is, its edge set can be partitioned into edge-disjoint \(1\)-factors.

Theorem 143.28 A 3-factor from a minimum-degree bound

Let \(G\) be a finite simple graph on \(n\) vertices, and suppose that \(n\) is even and that the minimum degree \(\delta \) of \(G\) satisfies \(n + 2 \le 2\delta \), that is, \(\delta \ge \tfrac {n}{2} + 1\). Then \(G\) has a \(3\)-factor: a spanning subgraph in which every vertex has degree exactly \(3\).

Theorem 143.29 Walecki’s decomposition of \(K_{2n+1}\) into connected 2-factors

For every integer \(n \ge 1\), the complete graph \(K_{2n+1}\) on \(2n+1\) vertices can be expressed as the edge-disjoint union of \(n\) connected \(2\)-factors. Concretely, there exist spanning subgraphs \(H_1, \ldots , H_n\) of \(K_{2n+1}\), each of which is \(2\)-regular (every vertex has exactly two neighbours in it) and connected, whose edge sets are pairwise disjoint and whose union is all of \(K_{2n+1}\).

Theorem 143.30 Hall-type criterion for a perfect matching in a bipartite graph
#

Let \(G\) be a simple graph on a finite vertex set \(V\) that is bipartite with parts \(X\) and \(Y\): the sets \(X\) and \(Y\) are disjoint, together they exhaust \(V\) (so \(X \cup Y = V\)), and every edge of \(G\) joins a vertex of \(X\) to a vertex of \(Y\). For a set \(S \subseteq V\) write \(N(S) = \bigcup _{v \in S} N(v)\) for the set of all vertices adjacent to some vertex of \(S\). Then \(G\) has a perfect matching if and only if \(\left\lvert S\right\rvert \le \left\lvert N(S)\right\rvert \) for every set \(S \subseteq V\).

Theorem 143.31 Every regular bipartite graph is 1-factorable

Let \(G\) be a bipartite graph with vertex classes \(X\) and \(Y\), and let \(k\) be a positive integer. If \(G\) is \(k\)-regular, then \(G\) is \(1\)-factorable; that is, \(G\) decomposes into edge-disjoint \(1\)-factors.

Theorem 143.32 Petersen’s two-factorization of even-regular graphs
#

Let \(G\) be a finite simple graph, and suppose \(G\) is regular of degree \(2k\) for some natural number \(k\), meaning every vertex has exactly \(2k\) neighbours. Then \(G\) is \(2\)-factorable: its edges decompose into finitely many pairwise edge-disjoint \(2\)-factors, that is, edge-disjoint \(2\)-regular spanning subgraphs whose union is all of \(G\).

Theorem 143.33 König’s theorem in line-cover form for 0–1 matrices
#

Let \(A\) be an \(m \times n\) matrix with entries in \(\{ 0,1\} \), and call a *line* of \(A\) any single row or single column. Consider two quantities: the minimum number \(c\) of lines needed to cover all the \(1\)-entries of \(A\) (that is, the least value of \(\left\lvert R\right\rvert + \left\lvert C\right\rvert \) over all sets \(R\) of rows and \(C\) of columns such that every entry equal to \(1\) lies in a row of \(R\) or a column of \(C\)), and the maximum number \(d\) of \(1\)-entries of \(A\) no two of which share a line (that is, the largest size of a set of positions with entry \(1\) whose members have pairwise distinct rows and pairwise distinct columns). Then \(c = d\).

Theorem 143.34 König–Ore defect formula for bipartite matchings
#

Let \(G\) be a finite bipartite graph with bipartition \((X, Y)\), and for a set \(S \subseteq X\) write \(N(S) = \bigcup _{v \in S} N(v)\) for the set of vertices adjacent to some vertex of \(S\). If \(M\) is a maximum matching of \(G\), then

\[ \lvert M\rvert \; +\; \max _{S \subseteq X}\, \max \bigl(\lvert S\rvert - \lvert N(S)\rvert ,\; 0\bigr) \; =\; \lvert X\rvert , \]

where \(\lvert M\rvert \) denotes the number of edges of \(M\).

Theorem 143.35 Large edge count forces a matching of size \(k\)

Let \(G\) be a finite bipartite graph with vertex parts \(X\) and \(Y\), so that every edge of \(G\) joins a vertex of \(X\) to a vertex of \(Y\), and suppose \(\left\lvert X\right\rvert = \left\lvert Y\right\rvert = n\). Write \(\varepsilon \) for the number of edges of \(G\), and let \(k\) be a natural number. If \((k-1)\, n \lt \varepsilon \), then \(G\) contains a matching consisting of exactly \(k\) edges.

Theorem 143.36 Doubly balanced matrices are square
#

Let \(m\) and \(n\) be finite index sets, and let \(Q = (Q_{ij})_{i \in m,\, j \in n}\) be a real matrix whose every row sums to \(1\), so that \(\sum _{j \in n} Q_{ij} = 1\) for each \(i \in m\), and whose every column sums to \(1\), so that \(\sum _{i \in m} Q_{ij} = 1\) for each \(j \in n\). Then the two index sets have the same size, \(\left\lvert m\right\rvert = \left\lvert n\right\rvert \); that is, \(Q\) is square.

Theorem 143.37 Common transversal of left and right cosets (P. Hall)
#

Let \(H\) be a finite group and let \(K \le H\) be a subgroup. Then there exist a natural number \(n\) and elements \(h_1, \dots , h_n \in H\) such that the assignment \(i \mapsto h_i K\), sending each index to the corresponding left coset viewed as a subset of \(H\), is a bijection from \(\{ 1, \dots , n\} \) onto the collection of all subsets of \(H\), and, simultaneously, the assignment \(i \mapsto K h_i\), sending each index to the corresponding right coset, is also a bijection from \(\{ 1, \dots , n\} \) onto the collection of all subsets of \(H\).

Theorem 143.38 Perfect matchings in edge-connected regular graphs

Let \(G\) be a finite simple graph that is \(k\)-regular for some integer \(k \ge 1\), and whose edge connectivity satisfies \(\kappa '(G) \ge k - 1\). If \(G\) has an even number of vertices, then \(G\) has a perfect matching, that is, a set of pairwise disjoint edges that together cover every vertex.

Theorem 143.39 Perfect matchings in trees via odd components
#

Let \(G\) be a finite tree, and for a graph \(H\) write \(o(H)\) for the number of connected components of \(H\) having an odd number of vertices. Then \(G\) has a perfect matching if and only if \(o(G - v) = 1\) for every vertex \(v\) of \(G\), where \(G - v\) denotes the graph obtained from \(G\) by deleting \(v\) together with all edges incident to it.

Theorem 143.40 Berge’s defect formula for maximum matchings
#

Let \(G\) be a finite simple graph on vertex set \(V\), and let \(M\) be a maximum matching of \(G\), so that no matching of \(G\) has more edges than \(M\). For a set \(S \subseteq V\), write \(o(G - S)\) for the number of connected components having an odd number of vertices in the subgraph of \(G\) induced on \(V \setminus S\). Then

\[ 2\, \left\lvert M\right\rvert + \max _{S \subseteq V}\bigl(o(G - S) - \left\lvert S\right\rvert \bigr) = \left\lvert V\right\rvert , \]

where \(\left\lvert M\right\rvert \) is the number of edges of \(M\) and the maximum ranges over all subsets \(S\) of \(V\).

Theorem 143.41 Large edge count forces a perfect matching
#

Let \(G\) be a finite simple graph on \(n\) vertices with \(m\) edges and minimum degree \(\delta \). Suppose that \(n\) is even, that \(2\delta \lt n\), and that

\[ m \gt \binom {\delta }{2} + \binom {n - 2\delta - 1}{2} + \delta \, (n - \delta ). \]

Then \(G\) has a perfect matching.