算法如下:

  从G中任取一点s,然后依次计算s到其他V-1个点的最大流,这V-1个最大流中的最小的那个流值|f|min就是要求的边连通度k

 

证明: 

    (1) 假设以t为汇点,最小割割(S,T),   容量为c(S,T)=|f|, 由于每条边的容留都是1,因此割(S,T)之间有c(S,T)条边相连,删除这c(S,T)条边,G一定会

            变成非连通,因此k<=c(S,T)=|f|。 该不等式对任意一点为汇点都成立,因此k<=|f|min

 

    (2) 假设以t为汇点,最大流值为|f|, 我们要证明至少要删除|f|条边才会导致G中没有s-->t的路径:

            由于最小割c(S,T)=|f|, 只有删除至少|f|条边才能保证存在一个割的容量c(S,T)=0;反过来说如果删除的边数少于|f|,则所有的割的容量大于0,由最小割最大流定理可知,最大流值大于0,

            也就是说存在s--->t的路径

            如果删除的边数k<|f|min, 则任取汇点都会有s到该汇点的路径,即整个图是连通的, 因此k>=|f|min

 

   综合(1)(2)可知 k=|f|min

posted on 2012-07-31 10:33  ellusak  阅读(635)  评论(0编辑  收藏  举报