「学习笔记」Hall 定理
半年前我在 PKUSC2022 的赛场上,折戟沉沙。半年后,我没有从倒下的地方爬起。
我失败了。我还是以前的那个我。
对于二分图 \(G = (V,E)\),令 \(N(v)\) 表示点 \(v\) 的邻居集,则关于图 \(G\) 的最大匹配我们有如下结论:
Hall 定理:设二分图 \(G\) 的两部分分别为 \(V_L,V_R\) 且 \(|V_L| \leq |V_R|\),则其存在一个大小为 \(|V_L|\) 的匹配当且仅当 \(\forall S \subseteq V_L\),都有 \(|S| \leq |\bigcup \limits_{v \in S} N(v)|\)。
证明:
必要性:考虑反证,若存在 \(S\) 使得条件不成立,那么考虑 \(S\) 中所有点的匹配点,他们形成了一个大小为 \(|S|\) 的点集,而它们必然在 \(\bigcup \limits_{v \in S} N(v)\) 中,这意味着一个子集的大小大于超集的大小,显然这不可能。
充分性:考虑归纳,这时有两种情况:
如果存在一个严格子集 \(S\) 满足 \(|S| = |\bigcup \limits_{v \in S} N(v)|\),那么 \(S\) 存在完备匹配。如果删去 \(S,\bigcup \limits_{v \in S} N(v)\) 后出现了不满足条件的集合 \(T\),那么在原二分图中取子集 \(S \cup T\),此时必然有 \(|S \cup T| \leq | \bigcup \limits_{v \in S \cup T} N(v)|\),与题设矛盾,那么由归纳假设可得当存在 \(|S| = |\bigcup \limits_{v \in S} N(v)|\) 时 Hall 定理成立。
否则对于所有子集 \(S\) 均有 \(|S| < |\bigcup \limits_{v \in S} N(v)|\),这时我们随便删掉一个点 \(u \in V\) 及其邻边 \((u,v) \in E\),显然对于剩下的二分图,任意子集 \(S\) 均有 \(|S| \leq |\bigcup \limits_{v \in S} N(v)|\),根据归纳假设 Hall 定理成立。
综上可知 Hall 定理成立。
Hall 定理有一个简单的推论:
推论 \(1\):对于一个 \(k\) 正则二分图(每个点度数都为 \(k\),其中 \(k \geq 1\)),若其左右点数相等,那么其必有完美匹配。
证明:
假设存在一个子集 \(S\) 不满足条件,那么 \(|\bigcup \limits_{v \in S} N(v)|\) 中所有点度数和不小于 \(|S| \times k\)。但由于 \(|S| > |\bigcup \limits_{v \in S} N(v)|\),因此这不可能。由此可知结论成立。
我们还可以对 Hall 定理进行推广:
推论 \(2\):设二分图 \(G\) 的两部分分别为 \(V_L,V_R\),则其最大匹配为 \(|V_L| - \max \limits_{S \subseteq V_L} (|S| - |\bigcup \limits_{v \in S} N(v)|)\)。
变一下号可以得到它也等于 \(\min \limits_{S \subseteq V_L} (|V_L| -|S| + |\bigcup \limits_{v \in S} N(v)|)\)。
证明:
对于子集 \(S\),我们将 \(V_L - S\) 和 \(\bigcup \limits_{v \in S} N(v)\) 中的点全部删除,显然剩下的 \(S\) 和 \(V_R - \bigcup \limits_{v \in S} N(v)\) 中不存在边。由于删除的点至多产生 \(|V_L| - |S| + |\bigcup \limits_{v \in S} N(v)|\) 组匹配,因此最大匹配 \(\leq |V_L| - |S| + |\bigcup \limits_{v \in S} N(v)|\)。
另一方面,考虑取到最小值的 \(S\),接下来我们证明这个上界可以取到:
若删除的点内部匹配显然无法达到上界,因此达到上界等价于 \(S \to \bigcup \limits_{v \in S} N(v)\),\((V_L - S) \to (V_R - \bigcup \limits_{v \in S} N(v))\) 均存在完美匹配。结合 Hall 定理,我们考虑反证:
假设存在 \(T \subseteq \bigcup \limits_{v \in S} N(v)\) 使得 \(|\bigcup \limits_{v \in T} N(v) \cap S| < |T|\),取 \(S' = S - \bigcup \limits_{v \in T} N(v)\),注意到 \(\bigcup \limits_{v \in S'} N(v) \cap T = \varnothing\),则 \(|\bigcup \limits_{v \in S'} N(v)| - |S'| \leq (|\bigcup \limits_{v \in S} N(v)| - |T|) - (|S| - |\bigcup \limits_{v \in T} N(v) \cap S|) < |\bigcup \limits_{v \in S} N(v)| - |S|\)。
假设存在 \(T \subseteq V_L - S\) 使得 \(| \bigcup \limits_{v \in T} N(v) \cap (V_R - \bigcup \limits_{v \in S} N(v))| < |T|\),取 \(S' = S \cap T\),则 \(|\bigcup \limits_{v \in S'} N(v)| - |S'| = (|\bigcup \limits_{v \in S} N(v)| + |\bigcup \limits_{v \in T} N(v) \cap (V_R - \bigcup \limits_{v \in S} N(v))|) - (|S| + |T|) < |\bigcup \limits_{v \in S} N(v)| - |S|\)。
两种情况均与 \(S\) 取到最小值矛盾,故结论成立。
那么 Hall 定理有什么用呢?
对于一般的二分图而言,Hall 定理确有其局限性。但对于一些特殊的二分图,如果 \(\bigcup \limits_{v \in S} N(v)\) 具有很好的性质(例如连边是一个区间等等),Hall 定理则可以作为一些显式或隐式匹配问题的贪心策略依据。
一个例子是 JOISC 2022 Day3 T3。
另一种应用的方式是当点权有变量的时候,可以利用 Hall 定理将完备匹配的条件写成不等式,没准就能直接解出变量的范围了。
因为 NOI 至今还没考过这个所以考到的概率相对高一些(?),以后做题的时候要多加注意。