12.18复习小记
- 二分图博弈
- 游戏规则:
- 判定方法:当且仅当先手状态在每个最大匹配中都是匹配点时,先手必胜;否则先手必败
- 证明:若存在某个最大匹配不包含起始点,则先手移动后的节点一定是残余图中每个最大匹配中的匹配点(否则可以将这条边加入最大匹配,使之更大,矛盾),那么后手只需按照匹配边移动即可,然后残余图的最大匹配减一,先手又陷入了存在某个最大匹配不包含起始点的境地(即原先的最大匹配减去这条匹配边)。如此以往,先手必败,后手必胜。
- 霍尔定理
假设\(G=(X,Y,E)\) 是二分图,且\(|X|\le |Y|\)。对于任何 \(W\subseteq X\),记\(N_G(W)\) 为图\(G\) 中所有与\(W\) 中的顶点相邻的顶点集合。那么,\(X\)‑完美匹配存在,当且仅当\(|W|\le |N_G(W)|\)对于所有\(W\subseteq X\) 都成立。
霍尔定理是二分图匹配理论的基石。下面我给出一个严谨且相对直观的证明。
霍尔定理(Hall's Theorem)表述
设 \( G = (U, V, E) \) 为一个二分图(\(U\) 为左部,\(V\) 为右部)。则 \(G\) 存在一个覆盖 \(U\) 中所有顶点的匹配(称为 \(U\)-完全匹配)的充要条件是:对于 \(U\) 的任意子集 \(X \subseteq U\),其邻居集合 \(N(X) \subseteq V\) 满足
这个条件称为 霍尔条件。
证明
证明分为必要性和充分性两部分。
第一部分:必要性(⇒)
如果存在一个 \(U\)-完全匹配 \(M\),那么 \(M\) 将 \(U\) 中的每个顶点 \(u\) 匹配到 \(V\) 中某个不同的顶点 \(v\)。
对于任意 \(X \subseteq U\),这 \(|X|\) 个顶点在 \(M\) 下的像(即与它们匹配的顶点)都包含在 \(N(X)\) 中,并且互不相同。因此,
必要性得证。这部分是显然的。
第二部分:充分性(⇐)
假设霍尔条件对 \(U\) 的所有子集成立,我们要证明存在 \(U\)-完全匹配。我们使用数学归纳法对 \(|U|\) 进行归纳。
- 归纳基础:当 \(|U| = 0\) 或 \(|U| = 1\) 时,结论显然成立。
- 归纳假设:假设对于所有满足 \(|U| < m\) 的二分图,霍尔条件能推出 \(U\)-完全匹配存在。
- 归纳步骤:现在考虑 \(|U| = m \ (m > 1)\) 且满足霍尔条件的图 \(G\)。我们考虑两种情形:
情形1:存在一个非空真子集 \(A \subset U\),使得霍尔条件“恰好取等”,即
令 \(B = N(A)\)。
-
子图 \(G_1\):考虑由顶点集 \(A \cup B\) 及其之间的边导出的子图 \(G_1\)。对于 \(A\) 的任意子集 \(X \subseteq A\),它在 \(G_1\) 中的邻居集 \(N_{G_1}(X)\) 等于 \(N_G(X) \subseteq B\)。因此,
\[|N_{G_1}(X)| = |N_G(X)| \geq |X|. \]所以 \(G_1\) 满足霍尔条件,且 \(|A| < m\)。由归纳假设,在 \(G_1\) 中存在一个覆盖 \(A\) 的匹配 \(M_1\)(且恰好匹配了 \(B\) 中所有顶点)。
-
子图 \(G_2\):考虑从原图 \(G\) 中删去 \(A \cup B\) 及其关联的边后剩下的子图 \(G_2\),其左部为 \(U' = U \setminus A\),右部为 \(V' = V \setminus B\)。
关键断言:\(G_2\) 也满足霍尔条件。
反证:假设存在一个子集 \(X \subseteq U'\) 使得在 \(G_2\) 中 \(|N_{G_2}(X)| < |X|\)。那么在原图 \(G\) 中,\(X\) 的邻居集为 \(N_G(X) = N_{G_2}(X) \cup B\),但请注意,\(X\) 与 \(B\) 可能没有边相连。实际上,如果 \(X\) 与 \(B\) 有边,那么由于 \(B = N(A)\),这条边在 \(G_1\) 中已经被考虑了,所以 \(X\) 与 \(B\) 之间没有边。
因此,在原图中,\(N_G(X) = N_{G_2}(X)\)。那么对于集合 \(A \cup X \subseteq U\),有:\[|N_G(A \cup X)| = |N_G(A) \cup N_G(X)| = |B \cup N_{G_2}(X)| = |B| + |N_{G_2}(X)|. \]因为 \(B\) 和 \(N_{G_2}(X)\) 在情形1下不相交。
由假设 \(|N_{G_2}(X)| < |X|\),且 \(|B| = |A|\),可得:\[|N_G(A \cup X)| = |A| + |N_{G_2}(X)| < |A| + |X| = |A \cup X|. \]这与原图 \(G\) 满足霍尔条件矛盾!因此断言成立,\(G_2\) 满足霍尔条件。并且 \(|U'| = m - |A| < m\)。
-
由归纳假设,在 \(G_2\) 中存在一个覆盖 \(U'\) 的匹配 \(M_2\)。
-
最后,将匹配 \(M_1\)(覆盖 \(A\) 和 \(B\))与匹配 \(M_2\)(覆盖 \(U'\) 和 \(V'\))合并。因为 \(M_1\) 和 \(M_2\) 的顶点集互不相交,它们的并 \(M = M_1 \cup M_2\) 就是原图 \(G\) 的一个覆盖 \(U = A \cup U'\) 的完美匹配。
情形2:对于 \(U\) 的所有非空真子集 \(A\),霍尔条件都是“严格大于”,即
- 任意取一条边 \((u, v) \in E\),其中 \(u \in U, v \in V\)。
- 考虑从 \(G\) 中删除顶点 \(u\) 和 \(v\) 及其关联的边,得到新图 \(G' = (U\setminus{u}, V\setminus{v}, E')\)。
- 断言:\(G'\) 也满足霍尔条件。
对于任意 \(X \subseteq U\setminus{u}\),它在原图中的邻居集 \(N_G(X)\) 大小至少为 \(|X|+1\)(因为情形2的严格不等式)。现在删除顶点 \(v\) 后,其邻居集大小最多减少1(仅当 \(v \in N_G(X)\) 时)。因此,在 \(G'\) 中:\[|N_{G'}(X)| \geq |N_G(X)| - 1 \geq (|X| + 1) - 1 = |X|. \]所以霍尔条件成立。 - \(G'\) 的左部大小为 \(m-1\),根据归纳假设,存在一个覆盖 \(U\setminus{u}\) 的匹配 \(M'\)。
- 将边 \((u, v)\) 加入匹配 \(M'\),就得到了原图 \(G\) 的一个覆盖 \(U\) 的完美匹配 \(M = M' \cup {(u, v)}\)。
在两种情形下,我们都在归纳假设下构造出了完美匹配。因此,由数学归纳法,充分性得证。
证毕。
直观理解与意义
- 必要性:非常直观。如果一个集合 \(X\) 的“可选对象” \(N(X)\) 比它本身还少,那 \(X\) 里肯定有人匹配不上。
- 充分性:证明的精妙之处在于分情形讨论。
- 情形1:存在一个“临界”的子集 \(A\),它把问题分解为两个更小的、独立的子问题。
- 情形2:所有子集都有“盈余”,那么我们可以大胆地先匹配一条边,剩下的图依然“富裕”,归纳进行即可。
这个定理不仅在理论上是优美的,其证明思想也直接引出了寻找最大匹配的 匈牙利算法 或 基于DFS的增广路算法 的核心逻辑:不断寻找未匹配点出发的增广路,本质上就是在检查和调整是否满足霍尔条件。

浙公网安备 33010602011771号