网络流对于二分图的 最小点覆盖数 最大匹配数 最大独立点集数 的作用

二分图:

即可以把图中所有顶点归为A部分和B部分,A中的各自顶点没有边相连。B中也一样。

可以用染色法判断。

以下都在二分图中讨论:

最大匹配数:

即匈牙利算法实现求的最大匹配数。比如HDU 2063 过山车。

实现最大配对对数。


最小点覆盖数:

选取最小数量的点集,可以使所有边中的某一端点(或两个)存在于这个点集。


最大独立点集数:

选取最大数量的点集,没有存在的边可以连接这些点。


针对于这些性质,有以下结论:

1.//证明:matrix67

最大匹配数=最小点覆盖数


2.//jianglangcaijin

最小覆盖点集和最大独立点集互补

最小点覆盖 +最大独立点集 = 总顶点数


类似的,在带点权的二分图中,最小点权覆盖集 +最大点权独立集 = 总权和




对于网络流在二分图这些定理的证明:

百度百科:

对两侧添加源汇点后可以从最小割最大流的角度理解。

在原图上对所有的边的左结点和右结点连一条容量无穷大的流(从左结点到右结点),然后再添加源汇顶点,对源点到每个左顶点添加容量为1的流,对每个右顶点到汇点添加容量为1的流。

易知,最大流即为最大匹配数。

我们来研究所有的割,我们将所有左顶点划为A1,A2两部分,右顶点划为B1,B2两部分,并研究从SA1B2TA2B1这个割的最小取法(这个划分方式包含了所有可能的割),如若左顶点P到右顶点Q有边,那么最小割中显然不会有“P属于A1Q属于B1”成立(否则就这一条边割出来就是无穷大,肯定不是最小割),于是最小割中所有的边PQ必满足“P属于A2Q属于B2”,换句话说,A2B2中所有顶点组成这个二分图的一个点集覆盖。

下面观察,我们易知,再最小割中,总的割必然等于SA2+B2T的(这些是最小割中所有可能的边了)。而SA2+B2T就是A2B2中所有顶点的个数总和,所以最小割就是满足题意(A2B2构成最小点集覆盖)的A2B2中顶点最少的情况,亦即最小点集覆盖,于是乎:

最大匹配数=最大流=最小割=最小点集覆盖


可以顺便看看

胡伯涛《最小割模型在信息学竞赛中的应用》中的:

5. 二分图的最小点权覆盖集与最大点权独立集 

你可能感兴趣的:(小知识)