最小割问题

为了证明
http://blog.csdn.net/tlonline/article/details/47403027
中的算法所求得的确是是最大流,我们首先介绍“割”这一概念。所谓的一个图的割,指的是对于某个顶点集合 SV ,从S出发指向S外部的那些边的集合,记为割 (S,V\S)。这些边的容量之和被称为割的容量。如果有 sS ,而 tV/S ,那么此时的割又被称为s-t割。如果将网络中s-t割所包含的边都删去,也就不再有从s到t的路径了。因此,可以考虑一下如下问题:

对于给定网络,为了保证没有从s-t的路径,需要删去的边的总容量最小值是多少?

这个问题又被称为最小割问题。事实上,这个问题与之前的最大流问题有着很深的联系。
首先,让我们来考虑一下任意的 st f 和任意的 st (S,V/S) 。因为有 f 的流量= s 的出边的总流量,而对 vS/{s} 又有v的出边的总流量 = v的入边的总流量,所以有f的流量 = s的出边的总流量。
由此可知f的流量一定小于等于割的容量。

接下来,让我们来考虑通过Ford-Fulkerson算法所求得的流 f 记流 f 对应的残余网络中从 s 可达的顶点v组成的集合为S,因为 f 对应残余网络中不存在s-t路径。因此, (S,V/S) 就是一个s-t割。此外,根据S的定义,对包含在割中的边e应该有 f(e)=c(e) ,而对从V\S到S的边 e 应该有f(e)=0。因此 f 的流量=S的出边的总流量 - S的入边的总流量 = 割的容量,再由之前的不等式可以知道, f 即是最大流。

利用该定理,我们我们就可以直接利用求解最大流问题的算法来求解最小割问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值