二分图匹配相关定理
二分图匹配相关定理
1. Berge 定理
定理:匹配 \(M\) 是最大匹配,当且仅当二分图 \(G\) 中没有增广路。
当 \(M\) 是最大匹配时,显然没有增广路。
当 \(G\) 没有增广路时:
假设 \(M\) 不是最大匹配且 \(G\) 中没有增广路,那么存在一个匹配 \(P\) 满足 \(|P|>|M|\)。
考虑 \(M,P\) 的对称差 \(Q=P\oplus M\),得到图 \(G'=(V,Q)\)。
\(G'\) 有一些性质:
- \(G'\) 中每个节点的度数 \(\leq 2\),否则与 \(M,P\) 为匹配矛盾。即 \(G'\) 由孤立点、链、环组成。
- 在每个链或环中,来自 \(M\) 的边与来自 \(P\) 的边交替出现。
又由于 \(|P|>|M|\),所以一定存在一条路径,使得路径上来自 \(P\) 的边数多于来自 \(M\) 的边数。
容易发现,这条路径是 \(G''=(V,M)\) 的一条增广路,与假设矛盾。
所以若 \(G\) 不存在增广路,则 \(M\) 是一个最大匹配。
定理:若 \(x\) 没有找到增广路,则经过之后的增广后 \(x\) 也不会找到增广路。
设 \(x\) 本没有找到增广路,找到增广路 \(C=u\rightsquigarrow v\) 并增广后,\(x\) 又找到了增广路。
设这条增广路为 \(D=x \rightsquigarrow y\),那么 \(C\cap D\neq \varnothing\),且 \(y=u\) 或 \(y=v\)。
设 \(C,D\) 的交点为 \(z\)。容易发现,\(x \rightsquigarrow z\) 与 \(z \rightsquigarrow u\) 或者 \(z \rightsquigarrow v\) 拼起来也一定是一条增广路,与 \(x\) 本没有增广路矛盾。
2. Konig 定理 / 二分图最小点覆盖
定理:二分图最小点覆盖大小等于最大匹配大小。
考虑以下构造过程:
- 先求出二分图最大匹配;
- 分别以左侧每个非匹配点作为起点,寻找增广路(一定失败),标记沿途经过的所有点;
- 取出所有 左侧未被标记的点 和 右侧被标记的点,即为一组最小点覆盖。
首先证明它的大小等于最大匹配大小:
- 左部非匹配点一定被标记(它们是起点),于是它们一定不被选择;
- 右部非匹配点一定没被标记(否则找到增广路),于是它们也一定不被选择。
- 匹配边两个端点的标记状态一定相同。
- 对于每条匹配边的两个端点,如果都被标记则右部点被选择,否则左部点被选择。
于是每条匹配边恰好被选走一个端点,得证。
然后证明它是一组点覆盖。对于每条边 \((x,y)\) 进行讨论,不妨设 \(x\) 是左部点。
- \(x,y\) 都是非匹配点。不存在,否则找到增广路;
- \(x\) 为匹配点,\(y\) 为非匹配点。不存在,否则找到增广路;
- \(x\) 为非匹配点,\(y\) 为匹配点。\(x,y\) 一定都被标记,于是这条边被覆盖;
- \(x,y\) 均为匹配点。再分情况讨论:
- \((x,y)\) 是匹配边,根据上面的证明,这条边被覆盖;
- \((x,y)\) 是非匹配边。设 \(x,u\) 匹配,\(v,y\) 匹配。
- \((x,u),(v,y)\) 均未被标记,\(x\) 被选择;
- \((x,u),(v,y)\) 均被标记,\(y\) 被选择;
- \((x,u)\) 被标记,\((v,y)\) 未被标记。\(x\) 被访问后,一定会继续访问 \(y\),矛盾;
- \((x,u)\) 未被标记,\((v,y)\) 被标记。\(x,y\) 都被选择。
于是所有的 \((x,y)\) 都被覆盖,得证。
3. 二分图最大独立集
定理:二分图最大独立集大小 等于 总点数减去最大匹配大小。
最小点覆盖的补集即为最大独立集。
4. DAG 最小路径覆盖问题
对于一张有向无环图 \(G\),将其每个点 \(x\) 拆为 \(x_{in},x_{out}\)。若 \(G\) 中存在边 \((u,v)\),则连边 \(u_{out},v_{in}\),得到 \(G'\)。
\(G'\) 显然为一张二分图,称为 \(G\) 的 拆点二分图。
称一个路径集合 \(S\) 为 \(G\) 的 路径覆盖,当且仅当 \(G\) 中每个点 恰好 被 \(S\) 中路径覆盖一次。
称一个路径集合 \(S\) 为 \(G\) 的 可重路径覆盖,当且仅当 \(G\) 中每个点 至少 被 \(S\) 中路径覆盖一次。
定理:设 \(G\) 中点数为 \(n\),\(G\) 的最小路径覆盖大小等于 \(n\) 减去 \(G'\) 的最大匹配大小。
\(S\) 是一个路径覆盖,当且仅当只保留 \(S\) 中的边,每个点的入度和出度都 \(\leq 1\)。
于是 \(G'\) 中的匹配与着 \(G\) 的路径覆盖构成双射。
最小化路径覆盖大小,等价于最小化起点个数,等价于最小化 \(x_{in}\) 未匹配点个数, 等价于最大匹配。__
定理:设 \(G_0\) 为 \(G\) 的传递闭包,\(G_0'\) 为 \(G_0\) 的拆点二分图。\(G\) 的最小可重路径覆盖等于 \(n\) 减去 \(G_0'\) 的最大匹配大小。
若两条路径 \(X,Y\) 在 \(p\) 处相交,那么就让 \(X\) 跳过 \(p\)。即设 \(X=\cdots,u,p,v,\cdots\),直接连一条 \((u,v)\) 有向边。
那么对 \(G\) 做传递闭包得到 \(G_0\),可重路径覆盖一定能转化为不可重链覆盖。
5. 二分图最大匹配的必须边、可行边、不可行边
对于二分图 \(G\),若边 \((x,y)\) 在所有最大匹配中都出现,则 \((x,y)\) 为 \(G\) 的 最大匹配必须边;
若边 \((x,y)\) 在至少一组最大匹配中出现,则 \((x,y)\) 为 \(G\) 的 最大匹配可行边;
若边 \((x,y)\) 在所有一组最大匹配中都不出现,则 \((x,y)\) 为 \(G\) 的 最大匹配不可行边。
考虑网络流建模跑最大流,求出一组最大匹配,得到最后的残量网络 \(G_f\)。
对于所有的左部点 \(x\),若其为非匹配点,则 \((S,x)\in E_f,(x,S)\notin E_f\);否则 \((S,x)\notin E_f,(x,S)\in E_f\);
对于所有的右部点 \(x\),若其为非匹配点,则 \((x,T)\in E_f,(T,x)\notin E_f\);否则 \((x,T)\notin E_f,(T,x)\in E_f\);
对于所有的边 \((x,y)\),若其为非匹配边,则 \((x,y)\in E_f,(y,x)\notin E_f\);否则 \((x,y)\notin E_f,(y,x)\in E_f\)。
对于任意的左部非匹配点 \(x\) 与右部非匹配点 \(y\),\(x\) 可达 \(y\),等价于原二分图上存在 \(x\rightsquigarrow y\) 的增广路。
必须边判定定理:\((x,y)\) 为必须边,等价于其满足以下两个条件:
- \(f(x,y)=1\);
- \(x,y\) 在 $ G_f$ 中不属于同一个 SCC。
首先有:$(x,y) $ 为必须边,等价于 \((x,y)\) 为匹配边,且删除 \((x,y)\) 后找不到增广路。
前者对应 \(f(x,y)=1\),主要解决后者。
此时 \((y,x)\in E_f\)。删除 \((x,y)\) 这条匹配边后,分情况讨论:
- \(x\) 能通过一条增广路与 \(u\) 匹配。即在 \(G_f\) 上,\(x\) 可达 \(u\),且 \(u\) 为右部非匹配点。又由于 \((u,T)\in E_f,(T,v)\in E_f\),则 \(x,y,u,T\) 在同一个 SCC 内。
- \(y\) 能通过一条增广路与 \(v\) 匹配。即在 \(G_f\) 上,\(v\) 可达 \(y\),且 \(v\) 为左部非匹配点。又由于 \((S,u)\in E_f,(x,S)\in E_f\),则 \(x,y,v,S\) 在同一个 SCC 内。
命题得证。
可行边判定定理:\((x,y)\) 为可行边,等价于其至少满足以下两个条件之一:
- \(f(x,y)=1\);
- \(x,y\) 在 \(G_f\) 中属于同一个 SCC。
首先有:\((x,y)\) 为可行边,等价于 \((x,y)\) 为匹配边,或者连接 \((x,y)\) 后可找到一条新的增广路。
还是主要解决后者,此时有 \((x,y)\in E_f\)。分情况讨论:
- \(x,y\) 均为非匹配点。不存在,否则与最大匹配矛盾;
- \(x\) 为匹配点,\(y\) 为非匹配点。设 \(x\) 原先与 \(u\) 匹配,则 \((u,x)\in E_f\)。设 \(u\) 能通过一条增广路与 \(v\) 匹配,则 \(v\rightsquigarrow u\)。继续得到 \((x,S),(S,v),(y,T),(T,u)\in E_f\),得到 \(x,y,u,v,S,T\) 在同一个 SCC 内。
- \(x\) 为非匹配点,\(y\) 为匹配点。同理可证。
- \(x,y\) 均为匹配点。设 \(x,y\) 原先分别与 \(u,v\) 匹配,则 \((u,x),(y,v)\in E_f\)。继续分情况讨论:
- \(u\) 能通过一条增广路与 \(v\) 匹配。则 \(v\rightsquigarrow u\),得到 \(u,v,x,y\) 在同一个 SCC 内。
- \(u\) 能通过一条增广路与 \(p\) 匹配。则 \(p \rightsquigarrow u,(y,T),(T,u),(S,p),(x,S)\in E_f\),得到 \(x,y,u,p,S,T\) 同一个 SCC 内。
- \(v\) 能通过一条增广路与 \(q\) 匹配。同理得到 \(x,y,v,q,S,T\) 在同一个 SCC 内。
命题得证。
不可行边判定定理:\((x,y)\) 为不可行边,等价于满足以下两个条件:
- \(f(x,y)=0\);
- \(x,y\) 在 \(G_f\) 中不属于同一个 SCC。
不可行边的集合是可行边集合的补集,由此得证。

浙公网安备 33010602011771号