[原]最大流, 最小分割分析

1如果图G存在s-t流f,并且在剩余图Gf中没有s-t的路径, 存在一个s-t的分割cut(A, B), 且v(f) = cut(A, B),  并且f拥有最大的流值, 分割cut(A, B)拥有最小的负载能力
证明: 以上论断,声明存在一个分割满足特定的属性; 因此我们应该识别这个分割. A表示所有的点集, 在Gf中存在一个s-v的路径, B表示所有其他的点构成的集合.
首先证明,A, B是分割.
源s在A中, 因为总存在s-s的路径.
目的t不在A中, 因为由论断假设已知, 流f, 的G图中,Gf没有s-t路径.
因此, A, B 都非空.
接下来, 假设e = (u, v)是G中的边, 且起点在A中, 且终点在B中,  则f(e) = Ce, 因为若存在余量, 则在剩余图Gf中, 存在前进边e = (u, v), 而因为s-u存在路径, u-v存在路径, 所以 s-v存在路径, 矛盾于, v属于B, 不存在路径集合.
假设e = (u', v')且起点u' 在B, 终点v'在A中, 则f(e) = 0. 因为, 若不为0, 则在剩余图Gf中, 存在后退边 e' = (v', u'),而导致产生路径到u', 矛盾.
因此, 所有A中的输出边界边是完全充满流量, 而进入边界边完全为空.
 
2以上算法返回的流是最大的.

3给定一个最大流, 总能构造出一个最小分割.
证明: 通过构造s可达到的点的集合, 可以构造出最小分割.

可能存在多个最小负载的分割, 以上构造方法找到一个特定于最大流的分割.

4在每个流网络中, 存在一个流f 和分割cut(A, B), 且v(f) = c(A, B)
证明的关键在于存在最大s-t流, 因为如果存在更大的流f', 则违反了分割的限制原则, 即任何分割的负载能力, 都大于等于流量.
而如果存在更小的负载能力分割, 则当前获得的流同样违背了以上原则.

5在每个流网络中, s-t流的最大值等于s-t分割的最小负载能力.



作者:liyonghelpme 发表于2010/6/20 13:53:00 原文链接
阅读:783 评论:0 查看评论
原文地址:https://www.cnblogs.com/liyonghelpme/p/4273541.html