图论算法---最大流问题.ppt

图论算法---最大流问题.ppt

ID:56468419

大小:452.50 KB

页数:52页

时间:2020-06-19

图论算法---最大流问题.ppt_第1页
图论算法---最大流问题.ppt_第2页
图论算法---最大流问题.ppt_第3页
图论算法---最大流问题.ppt_第4页
图论算法---最大流问题.ppt_第5页
资源描述:

《图论算法---最大流问题.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、图论算法---最大流问题长沙市雅礼中学朱全民运输网络现在想将一些物资从S运抵T,必须经过一些中转站。连接中转站的是公路,每条公路都有最大运载量。每条弧代表一条公路,弧上的数表示该公路的最大运载量。最多能将多少货物从S运抵T?4248473621STV1V2V3V4公路运输图基本概念这是一个典型的网络流模型。为了解答此题,我们先了解网络流的有关定义和概念。若有向图G=(V,E)满足下列条件:有且仅有一个顶点S,它的入度为零,即d-(S)=0,这个顶点S便称为源点,或称为发点。有且仅有一个顶点T,它的出度为零,

2、即d+(T)=0,这个顶点T便称为汇点,或称为收点。每一条弧都有非负数,叫做该边的容量。边(vi,vj)的容量用cij表示。则称之为网络流图,记为G=(V,E,C)可行流可行流对于网络流图G,每一条弧(i,j)都给定一个非负数fij,这一组数满足下列三条件时称为这网络的可行流,用f表示它。1.每一条弧(i,j)有fij≤Cij2.流量平衡除源点S和汇点T以外的所有的点vi,恒有:∑j(fij)=∑k(fjk)该等式说明中间点vi的流量守恒,输入与输出量相等。3.对于源点S和汇点T有,∑i(fSi)=∑j(f

3、jT)=V(f)可增广路给定一个可行流f={fij}。若fij=Cij,称为饱和弧;否则称为非饱和弧。若fij=0,称为零流弧;否则称为非零流弧。定义一条道路P,起点是S、终点是T。把P上所有与P方向一致的弧定义为正向弧,正向弧的全体记为P+;把P上所有与P方向相悖的弧定义为反向弧,反向弧的全体记为P-。譬如在图中,P=(S,V1,V2,V3,V4,T),那么P+={,,,}P-={}给

4、定一个可行流f,P是从S到T的一条道路,如果满足:fij是非饱和流,并且∈P+,fij是非零流,并且∈P-那么就称P是f的一条可增广路。之所以称作“可增广”,是因为可改进路上弧的流量通过一定的规则修改,可以令整个流量放大。剩余图(残余网络)剩余图G’=(V,E’)流量网络G=(V,E)中,对于任意一条边(a,b),若flow(a,b)0则(a,b)∈E’可以沿着a--->b方向增广剩余图中,从源点到汇点的每一条路径都对应一条增广路Cap

5、acity=5Capacity=6Capacity=2Flow=2Flow=2Flow=2有向图32224剩余图剩余图中,每条边都可以沿其方向增广剩余图的权值代表能沿边增广的大小G=(V,E,C)是已知的网络流图,设U是V的一个子集,W=VU,满足S∈U,T∈W。即U、W把V分成两个不相交的集合,且源点和汇点分属不同的集合。对于弧尾在U,弧头在W的弧所构成的集合称之为割切,用(U,W)表示。把割切(U,W)中所有弧的容量之和叫做此割切的容量,记为C(U,W),即:割切割切示例上例中,令U={S,V1},则

6、W={V2,V3,V4,T},那么,C(U,W)=+++=8+4+4+1=17流量算法的基本理论定理1:对于已知的网络流图,设任意一可行流为f,任意一割切为(U,W),必有:V(f)≤C(U,W)。定理2:可行流f是最大流的充分必要条件是:f中不存在可改进路。定理3:整流定理。如果网络中所有的弧的容量是整数,则存在整数值的最大流。定理4:最大流最小割定理。最大流等于最小割,即maxV(f)=minC(U,W)。最大流算法第1步,令x=(xij)是任意整数

7、可行流,可能是零流,给s一个永久标号(-,∞)。第2步(找增广路),如果所有标号都已经被检查,转到第4步。找到一个标号但未检查的点i,并做如下检查,对每一个弧(i,j),如果xij0,且j未标号,则给j一个标号(-i,δ(j)),其中,δ(j)=min{xji,δ(i)}第3步(增广),由点t开始,使用指示标号构造一个增广路,指示标号的正负则表示通过增加还是减少弧流量来

8、增加还是减少弧流量来增大流量,抹去s点以外的所有标号,转第二步继续找增广轨。第4步(构造最小割),这时现行流是最大的,若把所有标号的集合记为S,所有未标号点的集合记为T,便得到最小割(S,T)。实例复杂度分析设图中弧数为m,每找一条增广轨最多需要进行2m次弧的检查。如果所有弧的容量为整数,则最多需要v(其中v为最大流)次增广,因此总的计算量为O(mv)。proceduremaxflow;{最大流}vari,j,d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。