König 定理与 Hall 定理
整理一下一些有关图论的结论。
以下一般图 \(G=(V,E)\),二分图左部点集为 \(L\),右部点集为 \(R\)。
一般图中,最小点覆盖+最大独立集=\(|V|\)
考虑到最小点覆盖,最大独立集都可以写成整数规划的形式。
最大独立集:\(|V|\) 个 \(01\) 变量 \(x_i\),\(\forall_{(u,v)\in e} x_u+x_v\leq 1\) 最大化 \(\sum_{i\in V} x_i\)。
最小点覆盖:\(|V|\) 个 \(01\) 变量 \(x_i\),\(\forall_{(u,v)\in e} x_u+x_v\geq 1\) 最小化 \(\sum_{i\in V} x_i\)。
我们发现点覆盖的可行解取个补就是独立集的可行解。所以最小点覆盖和最大独立集有补集关系。
König 定理:二分图最小点覆盖=最大匹配
最小点覆盖 \(\geq\) 最大匹配
对于匹配中的边显然至少要选择一个端点才能覆盖,所以至少要用最大匹配条边才可以覆盖整张图。
最小点覆盖 \(\leq\) 最大匹配
考虑如下构造:设左部的未匹配点出发走交错路访问到的点集,换句话说就是从源点在残量网络上 \(\text{dfs}\) 访问到的点集为 \(M\),那么一种点覆盖就是 \((L/M)\cup(R\cap M)\)。
这种构造把边分为了若干类。
我们先考虑它的匹配边,如果一个匹配边右端点被访问了,那么左端点也一定会随着交错路(残量网络)被访问。而且我们发现它的左端点想要被访问只能通过右端点访问,因为它的左端点是匹配点,在残量网络上它的入度正好是 \(1\)。这也就是说每一个匹配边要么左右端点都访问了,要么都没访问。构造出的点覆盖中这条边一定恰有一个端点被覆盖。
进一步地,构造出来的所有点覆盖中所有点一定是匹配点。因为显然 \(L/M\) 中的所有点都是匹配点(非匹配点一定被访问了),而 \(R\cap M\) 中如果有非匹配点,那么我们就可以沿着刚刚 \(\text{dfs}\) 的残量网络增广流量与最大匹配矛盾。又因为匹配边恰有一个端点被覆盖。这样就可以说明我们构造出来的点覆盖就是的大小就是最大匹配。
接下来对于非匹配边,一定不存在它的左端点被 \(\text{dfs}\) 到而右端点没有的情况,因为可以沿着交错路(残量网络)从左到右,这样它的两个端点至少会被一个点覆盖。
总上所述我们利用最大匹配构造出了一个等大的点覆盖。
Hall 定理:不妨设左部点集大小比右部点集大,如果左部点的任意一个子集的邻域之并不小于该子集大小,这个条件等价于二分图存在完美匹配。即最大匹配为 \(\min(|L|,|R|)=|R|\)。
显然这个条件充分。
由于在二分图中最大独立集+最大匹配=\(|V|\)=\(|L|+|R|\),由于存在完美匹配,此时该二分图最大独立集就是 \(\max(|L|,|R|)=|L|\)。这个相当于把左部点全选上,是个下界。
我们考虑反证证明必要性,假设它选择了一个比 \(|L|\) 还大的独立集。设它在左部选了点集 \(A\),右部选了点集 \(B\),那么 \(|A|+|B|>|L|\geq |R|\)。考虑 \(A\) 一定满足 \(|\bigcup_{i\in A} \text{adj}(i)|\geq |A|\)。这样 \(|\bigcup_{i\in A} \text{adj}(i)|+|B|\geq |A|+|B| > |R|\)。这样发现这个集合无论如何都不可能是独立集,所以这张图的最大独立集正好是 \(|L|\)。
所以这张图的最大匹配一定是 \(|R|\)。

浙公网安备 33010602011771号