[图论][网络流] 关于最大权闭合图

预备概念:

网络的割 如果去掉某弧集s中的所有弧以后源点s和汇点t不再连通,则把弧集s称为网络的s-t割。割的容量为其中所有弧的容量之和。去掉割以后s所在的连通分量叫做S集,t所在的连通分量叫做T集。

最小割 显然所有弧的集合就是一个割,它是容量最大的割。我们自然希望得到最小的割,即最小割。

最小割最大流定理 s-t最大流的流值等于s-t最小切割容量。

闭合图 一个有向图的子点集,使其中的点的出边都指回集合中的点,则称此为闭合图。

最大权闭合图 给每个点赋上点权,则权和最大的闭合图,为最大权闭合图。

闭合图的性质恰好反映了事件之间的必要条件的关系:一个事件发生,它需要的所有前提都要发生。

下面通过构图,我们将最大权闭合图问题转化成最小割问题,即最大流问题求解。
定义W[I]代表顶点I的权值,新增源点S,汇点T。
1、若W[I]>0,则S向I连一条容量为W[I]的边。
2、若W[I]<0,则I向T连一条容量为-W[I]的边。
3、原图中的边,容量设置为正无穷。
这样,最小割就对应了最大权闭合图,而总盈利-最大流就是权和。

定义一个割划分出的S集合为一个解,那么割集的容量之和就是(未被选的A集合中的顶点的权值 + 被选的B集合中的顶点的权值),记为Cut。A集合中所有顶点的权值之和记为Total,那么Total - Cut就是(被选的A集合中的顶点的权值 - 被选的B集合中的顶点的权值),即为我们的目标函数,记为A。要想最大化目标函数A,就要尽可能使Cut小,Total是固定值,所以目标函数A取得最大值的时候,Cut最小,即为最小割。


转载于:https://www.cnblogs.com/tclh123/archive/2011/10/06/2587058.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值