最大权值闭合子图的证明详解

前面定义部分转自这篇博客

网络流——最小割求最大权闭合子图

定义

有一个有向图,每一个点都有一个权值(可以为正或负或0),选择一个权值和最大的子图,使得每个点的后继都在子图里面,这个子图就叫最大权闭合子图。
在这里插入图片描述
能选的子图有Ø,{4},{3,4},{2,4},{1,2,3,4},它们的权值分别为0,-1,5,-6,4.
所以最大权闭合子图为{3,4},权值为5.

解法

建立超级源点s,超级汇点t。
所有点权为正数的点i,建边 s->i,容量为点权。
所有点权为负数的点i,建边i->t,容量为点权绝对值。
原图建图后,边容量均为正无穷。
最大权闭合图的权值 = 正权点之和 - (s->t)最大流

在这里插入图片描述
源点s可以理解为最大可获得的权值(即正权点之和)
汇点t可以理解为最大的会损失的权值(负权点之和)

首先我们来说一下把s和i这条边割掉的意义:s到i这条边象征着i这个点,如果割掉表示不选这个点把i和T边割掉表示选这个点因为最小割的意义就是割掉尽量小的边始得T和S不连通

下面开始证明:

首先引入结论,最小割所产生的两个集合中,其源点S所在集合(除去S)为最大权闭合图,接下来我们来说明一些结论。


引入一下简单割的概念:割集的每条边都与S或T关联。(请下面阅读时一定分清最小割与简单割,容易混淆)


第一步
1)证明:最小割为简单割
那么为什么最小割是简单割呢?因为除S和T之外的点间的边的容量是正无穷,最小割的容量不可能为正无穷。所以割边一定和S和T相连,得证。


第二步
2)证明:网络中的简单割与原图中闭合图存在一一对应的关系。(即所有闭合图都是简单割,简单割也必定是一个闭合图)。也就是证明新图和原图之间的关系

1.证明闭合图是简单割(话句话说就是原图中构成闭合图的那些点是直接和S和T相连的):很明显我们建图本身就是直接把点连线到S和T,在S和T连向内部每一个点的每一条边都象征这一个点的是否选取
举个例子:
在这里插入图片描述
假如说我们选择3->4这个闭合图相当于保留s->3并且割掉4->t这条边,保留2->t,割掉S->1.同理其他闭合图也是一样

2.证明简单割是闭合图:首先你要明确我们是在新图上求最小割始得S到T不连通,而且割边只能是简单割,那么假如说我们保留了s到i的某一条边那么为了达到不连通i后继那些j点和T相连的就要割掉(因为不可能割掉i -> j因为其容量为INF)那么通过上面讲每个简单割的意义这里就可以转化成如果选了i这个点i的后继全部都要选上(满足闭合图的概念)
举个例子:
在这里插入图片描述
假如我们保留s->1这条边那么按道理3,2,4这几个点要被保留那么我们要把2->t和4->t这两条边割掉,那么S->3保留,你就会问会不会求解过程把S->3割掉那,你要明白这是最小割S->3这条边对于联通性已经没有影响了,而且这是正权边所以最小割一定不会去割掉这条边


第三步:
证明最小割所产生的两个集合中,其源点S所在集合(除去S)为最大权闭合图。

首先我们记一个简单割的容量为C,且S所在集合为N,T所在集合为M。
则C=M中所有权值为正的点的权值(即S与M中点相连的边的容量)+N中所有权值为负的点权值的绝对值(即N中点与T中点相连边的容量)。记(C=x1+y1);(很好理解,不理解画一个图或想象一下就明白了)

我们记N这个闭合图的权值和为W。

则W=N中权值为正的点的权值-N中权值为负的点的权值的绝对值。记(W=x2-y2);
则W+C=x1+y1+x2-y2。
因为明显y1=y2,所以W+C=x1+x2;
x1为M中所有权值为正的点的权值,x2为N中权值为正的点的权值。

所以x1+x2=所有权值为正的点的权值之和(记为tot).
所以我们得到W+C= tot.整理一下 W = tot-C.
到这里我们就得到了闭合图的权值与简单割的容量的关系。

因为tot为定值,所以我们欲使W最大,即C最小,即此时这个简单割为最小割,此时闭合图为其源点S所在集合(除去S)。得证。

至此,我们就将最大权闭合图问题转化为了求最小割的问题。求最小割用最小割容量=最大流,即可将问题转化为求最大流的问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值