[学习笔记]二分图の定理们
记号与约定 ¶
- 图:一个图 \(G\) 为一个二元组,即 \(G=\lang V,E\rang\).
- 二分图:点集可以被恰好分成两个独立集 \(S,T\) 且 \(S\) 和 \(T\) 之间有边相连,\(S,T\) 内部没有的图是二分图;
- 对于任意点集 \(S\),定义 \(N(S)\) 为 \(S\) 的邻域,即 \(S\) 中所有节点的邻接点的并集;
- 对于图 \(G\),定义其点覆盖为一个点集 \(P\),其满足 \(\forall e=(u,v)\in E,u\in P\lor v\in P\),特别地,最小点覆盖为 \(P'(|P'|=\min(P))\),记 \(|P'|=\beta(G)\),定义其边覆盖为一个边集 \(R\),其满足 \(\forall u\in V,\exists e\in R\;\text{s.t.}\;u\in e\),最小边覆盖定理类似;
- 对于图 \(G\),定义其匹配为一个边集 \(Q\),其满足 \(\forall e=(u,v)\in Q,u\notin e'\land v\neq e'(e'\in Q\setminus\{e\})\),特别地,最大匹配为 \(Q'(|Q'|=\max(Q))\),记 \(|Q'|=\alpha(G)\);
- 定义一个图的最大点度数为 \(\delta(G)\),即 \(\delta(G)=\max(d_u|u\in V)\);
- 图的边色数问题:对图 \(G\) 的每条边涂上一种颜色,使得有公共点的边涂不同的颜色,若能用 \(k\) 种颜色给 \(G\) 的边着色就称对 \(G\) 的边进行了 \(k\) 着色,或称 \(G\) 是 \(k-\)边可着色的。若 \(G\) 是 \(k-\)边可着色,而不是 \((k-1)-\)边可着色的,就称 \(k\) 是 \(G\) 的边色数,记作 \(f(G)\);
- ......很多东西都可以在 \(\rm oi-wiki\) 上找到,就不赘述了;
定理部分 ¶
二分图判定
二分图判定满足:\(G\) 是二分图 \(\Leftrightarrow\) \(G\) 的点色数为 \(2\) \(\Leftrightarrow\) \(G\) 中不存在奇环。
一些特殊的二分图:树、偶环、每个面的次数是偶数的平面图(该图的对偶图(将面当成点)是欧拉图)、完全二分图、K-方体图.....
可图化问题
给一个度数序列,问是否存在一个 图/简单图/二分图/简单二分图 满足度数序列。
对于度数序列 \(D=(d_1,d_2,\cdots,d_n)(d_i\ge 0)\) 是可图化的当且仅当
更强地,若 \(n-1\ge d_1\ge d_2\ge d_3\cdots\ge d_n\ge 0\),则 \(D\) 是可简单图化当且仅当
事实上,后者就是每次将最大度数的点向次大、次次大.....总计 \(d_1\) 个点各连了一条边,然后归约为一个 \(n-1\) 个点的子问题,并且若子问题可图化,则原图可图化。以上便是在描述这个过程。
最大流最小割定理
一个很经典的结论:\(flow=\text{cut}(S,T)\). 从直观上理解,每一个 \(\rm cut\) 相当于水管网络的一个截面,从 \(\rm source\) 到 \(\rm sink\) 的全部流量都要通过这个截面才能从一端到另一端。因此,任意截面的流量是总流量的上界。从线性规划的角度来看,最大流和最小割是对偶问题,因此最大流等于最小割。但此处讨论图论相关,便不引入线性规划。
证明该结论之前,先介绍给出一些记号:
- \(x_{ij}:\) 从 \(i\) 到 \(j\) 的流量;
- \(c_{ij}:\) 从 \(i\) 到 \(j\) 的容量;
然后进入证明部分:
一些说明:
- \((1)\):没有点会向汇点流,因此后一项 \(\sum_{j=1}^nx_{js}=0\);
- \((1)\to(2)\):事实上对于其他 \(i\in S\setminus\set{s}\) 都有 \(\sum_{j}x_{ij}=\sum_{j}x_{ji}\),所以只有当 \(i=s\) 时括号里面才有值。
- \((2)\to(3)\):就是把点分成 \(S,T\) 两个部分而已;
- \((3)\to(4)\):仅仅只是把括号拆开;
- \((4)\to(5)\):显然前面那一项为 \(0\) ;
- \((5)\to(6)\to(7)\):简单放缩而已;
此时我们证明了最大流小于任意割,只需要取最紧的部分:\(flow\le \min(cnt(S,T))\),若我们想要证明 \(flow=\min(cnt(S,T))\),需要引入残留网络:
- 残留网络:对原图重新设置流量,若 \(flow\) 中 \(i\) 到 \(j\) 上的流量为 \(x_{ij}\),那么残留网络的 \(c’_{ij}=c_{ij}-x_{ij}\),另外 \(c'_{ji}=x_{ij}\) ;
由于 \(flow\) 是最大流,所以残留网络中 \(s\) 到 \(t\) 不存在流量了,假设把 \(c'_{ij}=0\) 的边删掉,那么 \(s\) 和 \(t\) 不连通,定义 \(S\) 集为:当前残留网络中 \(s\) 能够到达的点。同时定义 \(T=V\setminus S\). 此时 \((S,T)\) 构成一个割 \((S,T)\). 对于任意的 \(u\in S,v\in T\),有\(x_{uv}=c_{uv}\). 所以 \(flow=cut(S,T)\),因为若 \(x_{uv}<c_{uv}\),则有 \(x'_{uv}>0\),即 \(s\) 可以到达 \(v\),与 \(v\) 属于 \(T\) 矛盾.
\(\mathcal{Menger}\) 定理
该定理有边、点两种形式,先看边形式:
对于图 \(G=\lang V,E\rang\),取 \(x\neq y\in V\),设 \(P_e(x,y)\) 为 \(G\) 中从 \(x\) 到 \(y\) 的边不交的路径集合,设 \(f_e(x,y)=\max(|P_e(x,y)|)\),设 \(g_e(x,y)\) 表示让 \(x,y\) 不连通,最少删除的边数,则 \(\mathcal {Menger}\) 定理的边形式即 \(f_e(x,y)=g_e(x,y)\).
证明比较简单,不难看出 \(f_e(x,y)=maxflow,g_e(x,y)=mincut\),由上文定理,有 \(f_e(x,y)=g_e(x,y)\).
接下来看点形式:
对于图 \(G=\lang V,E\rang\),取 \(x\neq y\in V\land (x,y)\notin E\),设 \(P_u(x,y)\) 为 \(G\) 中从 \(x\) 到 \(y\) 的点不交的路径集合,设 \(f_u(x,y)=\max(|P_u(x,y)|)\),设 \(g_u(x,y)\) 表示让 \(x,y\) 不连通,最少删除的点数,则 \(\mathcal {Menger}\) 定理的点形式即 \(f_u(x,y)=g_u(x,y)\).
证明是同样的道理,将一个点拆成入点和出点,从而该形式和边形式一模一样......
\(\mathcal{Hall}\) 定理
对于二分图 $G=\lang V_1,V_2,E\rang $,不妨设 \(|V_1|\le |V_2|\). 则 \(\mathcal{Hall}\) 定理的内容为:
若满足相异性条件,则 \(G\) 有完备匹配,反之亦然. 相异性条件指的是 \(\forall Q\subset V_1,|Q|\le |N(Q)|\) .
必要性很直观?一方面,若存在完备匹配,不妨设 \(M\) 为完备匹配,由于 \(M\) 是将 \(Q\) 中每个点与 \(N(Q)\) 匹配,因此一定满足 \(|Q|\le |N(Q)|\). 另一方面,若我们将 \(E\) 定向,将边方向设为 \(V_1\to V_2\),同时新增 \(s,t\),即源汇点,设 \(T\) 为删点使得 \(s,t\) 不连通的最小点集,则 \(maxflow=|M|=f_u(s,t)=g_u(s,t)=|T|\). 设 \(T_1=T\cap V_1,T_2=T\cap V_2\),显然 \(N(V_1\setminus T_1)\subset T_2\),因此:
因此 \(|M|\ge |V_1|\),显然 \(M\) 同时满足 \(|M|\le |V_1|\),因此 \(|M|=|V_1|\). 至此,充要性证明完毕。
柯尼希定理
对于任意一个没有自环的图 \(G\),满足 \(\alpha(G)\le \beta(G)\). 因为匹配的边可以任选一个点加入点覆盖中,且不能保证加入完毕的点完全覆盖图。而柯尼希定理的内容为:
对于任意二分图 \(G\),满足 \(\alpha(G)=\beta(G)\).
显然,我们只需要证明 \(\alpha(G)\ge \beta(G)\). 事实上,我们可以利用 \(\mathcal {Hall}\) 定理直接证明 \(\alpha(G)=\beta(G)\),即由 \(\mathcal {Hall}\) 定理,\(\alpha(G)=|M|=f_u(s,t)=g_u(s,t)=|T|=\beta(G)\).
\(\mathcal{Vizing}\) 定理
若 \(G\) 是简单图,则 \(\delta(G)\le f(G)\le \delta(G)+1\). 特别地,若 \(G\) 是二分图,则 \(\delta(G)=f(G)\).
其证明目前暂不给出,由于它在二分图中有十分美妙的性质,我们考虑这个部分的证明。显然存在 \(f(G)\ge \delta(G)\),接下来我们只需要证明 \(f(G)\le \delta(G)\). 考虑对边数 \(m\) 进行归纳:
- 当 \(m=0\) 时,\(\delta(G)=f(G)=0\);
- 设当 \(m=k\) 时成立;
- 当 \(m=k+1\) 时,设当前 \(G=\lang V,E\rang\),再设 \(e=(u,v)\in V\),令 \(G'=\lang V,E\setminus e\rang\),考虑先对 \(G'\) 染色,由于 \(|E\setminus e|=k\),则 \(f(G')\le \delta(G')\le \delta(G)\). 显然,对于 \(G'\),一定有 \(d_{G'}(u)<\delta(G)\land d_{G'}(v)<\delta(G)\). 因此,在对 \(G'\) 染色时,一定存在某种颜色,它不在 \(u\) 关联的边集中,对于 \(v\) 同理。一方面,如果 \(u,v\) 同时存在一种一样的、且没有出现过的颜色,那么直接对 \(e\) 染上这一种即可,此时完成了 \(G\) 的 \(\delta(G)\) 染色;另一方面,若不存在这样一种颜色,我们则考虑证明限制最紧的一种情况:\(u,v\) 均只有一种颜色没有出现过,即 \(d_{G'}(u)=d_{G'}(v)=\delta(G)-1\). 设 \(\gamma\) 表示 \(u\) 中未出现过的颜色,\(\sigma\) 为 \(v\) 中未出现过的颜色,由前提,\(\gamma\) 在 \(v\) 中出现,\(\sigma\) 在 \(u\) 中出现。先将 \(G'\) 中涂 \(\gamma\) 或 \(\sigma\) 的边找出来,设 \(G_s'\) 为这些边的导出子图,接下来我们想要证明,在 \(G'_s\) 中,\(u,v\) 不连通:考虑反证法,若 \(u,v\) 联通,由于 \(u,v\) 分属左右部,因此路径 \(P\) 的长度 \(|P|\) 为奇数,此时的路径就相当于 \(01\) 路径,一定是从 \(\gamma\) 颜色(或者 \(\sigma\) 颜色)开始,最终也是 \(\gamma\) 颜色(或者 \(\sigma\) 颜色)结束,其说明 \(\gamma\) 色(或 \(\sigma\) 色)同时存在于 \(u,v\),与前提矛盾,故假设不成立。因此,\(u,v\) 不连通,因此我们可以将 \(G'_s\) 中与 \(v\) 相连的边 \(\gamma\) 与 \(\sigma\) 色交换,然后将 \(e\) 染成 \(\gamma\) 色,这也完成了 \(G\) 的 \(\delta(G)\) 染色;
总结部分 ¶
总的来说,二分图有几个定理:
- 最大流最小割定理;
- \(\mathcal{Menger}\) 定理:任意图中,最大边不交路径条数等于最小消边数;最大点不交路径条数等于最小消点数;
- \(\mathcal{Hall}\) 定理:一张二分图中,若 \(\forall S\in V_1,|S|\le |N(S)|\),则该二分图存在完备匹配;
- 柯尼希定理:二分图中,最大匹配等于最小点覆盖;
- \(\mathcal {Vizing}\) 定理:一张二分图一定可以 \(\delta(G)\) 染色;