定理简介
这个定理的内容非常简洁,只有一句话,MAXFLOW的值等于极小割集的容量,MAXFLOW问题之前的博文已经总结过,这里需要给出一些新的定义,这些定义和本科图论的定义类似,和复杂性课上老师给的定义有一些出入,但所指的具体概念是没有区别的。
可行流:满足下述条件的流称为可行流(网络记为)
- 容量限制条件:对每一边,有
- 平衡条件:对于中间点,流出量等于流入量,即对于每个$i$($i \neq s,t$)有
- 对于出发点,记
- 对于收点,记,式中称为这个可行流的流量
可行流显然是存在的,比如令所有的弧的流量$f_{ij}=0$,就得到一个可行流,其流量$v(f)=0$。
可行流$f$的增广链:设$f$是一个可行流,$\mu$是从到的一条链,若$\mu$满足下列条件,称为关于可行流$f$的增广链
- 在弧($\mu$的前向弧)上,,即中每一弧是非饱和弧
- 在弧($\mu$的后向弧)上,,即中每一弧是非零流弧
截集与截集的容量(也称为割集):网络$D=(V,A,C)$,点集$V$被分为两个非空集合和,使得,,则把弧集称为是分离和的截集,截集中所有弧的容量之和称为这个截集的容量(简称为截量),记为,即
定理证明
由截集的定义可知,任何一个可行流的流量$v(f)$都不会超过任一截集的容量,即
显然,如果能找到一个可行流$f$,使得存在某个截集有成立,必有为一个最大流,为最小截集,若不是最大流,即存在使,则有,矛盾。若不是最小截集,则有使得则有,同样导出矛盾。
下面假设为最大流,若$D$中存在关于的增广链$\mu$,取
由增广链的定义,可知$\theta>0$,令
此时的显然也是一个可行流,且,这与是最大流矛盾,故此时$D$中不存在关于的增广链$\mu$。
已知关于的增广链不存在,定义点集合如下:
- 令
- 若,且,则令
- 若,且,则令
因为不存在关于的增广链,故由增广链的定义可知。
则记,得到一个截集,显然有
这里此截集上的正向流量都等于容量,不可能再增加流量,则必有
最大流的流量等于一个截集的容量,则必为最小截集,则最大流量等于最小截集的容量,原命题得证。
这个问题的证明很巧妙,把比较抽象的东西用数学语言表述出来了,图论方面的很多命题都有这样的特点。
- 本文作者: sklois-gjx
- 本文链接: http://yoursite.com/2020/06/01/MAXFLOW的值等于极小割集的容量/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!