Min_Cut stoerwagner算法

前两天一时兴起,就学了一下全局最小割,却无奈的发现网上的中文比较好的资料奇缺无比,基本算法书上也没能找到这个算法。这还不是最惨的,网上还多资料模棱两可,甚至有一些错误的算法。于是打算稍微了解一下这个算法。经过看了各种资料,基本这个算法可以领略一二,但是最关键的一个部分至今不懂,以后有机会再补上。

为了说明这个算法,先引入两个引理。

引理1.任意在无向图G中选出s和t. 最小割的值要么等于以s和t为源汇点的最小割,要么等于将s和t缩点之后的全局最小割。

简单说明,如果存在一个最小割,s和t分别在两个点集中,那么s-t最小割就等于全局最小割,如果不是,那么s和t就在同一侧点集,缩点之后肯定不影响最小割的求解。将s和t缩点的操作就是将新建一点 ,该点到任意点的边权等于s到该点的边权与t到该点的边权之和。

既然有了这个结论,那大体的算法框架就是,找任意s和t的最小割,然后缩点,总点数减一,重复n-1次之后,那么就剩下一个点,算法结束。

现在的难点就是如何在最短的时间内找到任意s和t之间的最小割大小。

引理2.初始集合A为空集,任意选择无向图中一点进入集合,开数组记录到达每一个点的边权和,边权和更新加上每次进入集合的点到达其他不在集合内的点的边权,然后每次从不在集合内的所有点中选择一点累计边权和最大的点进入集合,直至所有点进入A中,最后一个进入A的点为t,t之前一个进入集合的点为s,则t进入集合时的边权和就是s和t之间的最小割。(我也不懂)

至此整个算法流程就出炉了。

具体的证明在97年两人发表的论文上有(没看懂)。

最后奉上两篇极品论文。

stoerwagner-mincut.[Stoer-Wagner_Prim].pdf 作者:MECHTHILD STOER AND FRANK WAGNER

Mehlhorn_a_1999_a.pdf 作者 : SRINIVASA.R.ARIKATI AND KURT MEHLHORN

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值