【转】最大权闭合图

转自:http://www.cnblogs.com/wuyiqi/archive/2012/03/12/2391960.html

性质:

最大权闭合图的权值=原图中权值为正的点的和-最小割;

闭合图:在一个图中,我们选取一些点构成集合,记为V,且集合中的出边(即集合中的点的向外连出的弧),所指向的终点(弧头)也在V中,则我们称V为闭合图。

最大权闭合图:即在所有闭合图中,集合中点的权值之和最大的V,我们称V为最大权闭合图。

建图后的网络的简单割不含原图G边集的任意一条边,又简单割必须和s或t相连。闭合图与简单割一一对应。取到最小割时,图G闭合图取到最大权。(权是图的,割是网络的)

上图中闭合图有

     {5}、{2,5}、{4,5}

     {2,4,5}、{3,4,5}

     {1,2,3,4,5}、{1,2,4,5}

最大权闭合图为{3,4,5}。

在许多实际应用中,给出的有向图常常是一个有向无环图(DAG) ,闭合图的性质恰好反
映了事件间的 必要条件的关系:一个事件的发生,它所需要的所有前提也都要发生。一个常
见的例子就是制定大学的选课计划,其中一些课程需要以另一些课程为基础,这就是给出了
有向无环图。若给所有课程打分,最大权闭合图对应了获益最大或效率最高的选课计划,解
决了这个问题,就可以容易地选出一个最合理的选课计划。

在另外一些实际应用中,给出的是一个一般有向图,即有可能出现圈。常见的例子就是
工程分期,一个工程可能含有很多项目,项目之间也有依赖关系。有些项目是需要同期一起
开发, 互相依赖的(即出现圈) 。这样,也可以利用最大权闭合图,将最先应该完成的项目选
出来作为工程的第一期。

下面给出将原问题的图 G 转化为网络N = (Vn ,En )的方法,从而转化为最小割模型。

在原图点集的基础上增加源 和汇 t ;将原图每条有向边容量为无穷,设立源点s向图中正权值的点连边,容量为该点的值,

设立汇点t,图G中权值为负的点向t连边,权值为该点值得绝对值。

上图转变成网络N。

定义:若一个s-t割满足割中的每条边只与源或汇点关联,称该割为简单割。
s-t割满足割中的每条边只都与源 或汇 关联,称该割为简单割。根据定义网络N中的简单割不包含图G中的任一边(因为不相连)。

1. 在本问题的网络 中,最小割是简单割。

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

2.网络中的简单割与原图中闭合图存在一一对应的关系(即所有闭合图都是简单割,简单割也必定是一个闭合图)。

证明闭合图是简单割:如果闭合图不是简单割(反证法)。那么说明有一条边是容量为正无穷的边,则说明闭合图中有一条出边的终点不在闭合图中,矛盾。

证明简单割是闭合图:因为简单割不含正无穷的边,所以不含有连向另一个集合(除T)的点,所以其出边的终点都在简单割中,满足闭合图定义。得正。

3.最小割所产生的两个集合中,其源点S所在集合(除去S)为最大权闭合图。

 则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.(c表示简单割)。

TOT为定值,所以c为最小割的时候w最大。

 

原文地址:https://www.cnblogs.com/sweat123/p/4912736.html