- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
流的概念及算法-Read
第一讲 流的概念及算法
概念
什么是流
将目标由一个地点运送至另一个地点叫流。
从图的角度:流是一条途径。
发点,收点,单位
有容量的弧:通过弧的单位流量的数量是有限的。
最大容量:c(x, y)
费用:a (x, y)
网络:图中的每条弧都带有一个容量。
弧的流:f (x, y)
分类:N, I, R
二、几个问题和算法
i (x, y)=c (x, y)-f (x, y)
r (x, y)=f (x, y)
可以追加的单位流量
例
i (s,1)=5 i (1,2)=3 i (2,t)=1
可以减少的单位流量
例
r (1, s)=1 r (2, 1)=3 r (t, 2)=5
如何增加从s至t的净流
前向弧,后向弧
i (s, 1)=4 i (1, 2)=3 r (3, 2)=5 r (4, 3)=2 i (4, t)=3
=min{min[i (s, 1), i (1, 2), i (4, t)], min[r (3, 2), r (4, 3) ]}
=min{min[4, 3, 3], min[5, 2]}=2
流的增值链:可以运送追加单位流量的弧称为流的增值链。
算法
主要思想:从发点s生长出一棵由已着色的弧组成的树,追加的单位流量可以沿着这些弧从s运出。
增值算法:
确定集合N、I、R中的元素,对s着色。
按下列规则,对弧和顶点着色,直至t被着色或不可能再进行着色为止:如果顶点x已着色,y未着色,则在下列情况之一时,可对顶点y和弧(x, y)着色:
如果弧(x, y)I,则对顶点y和弧(x, y)着色;如果(x, y)I,则对y和弧(x, y)不着色。
如果弧(x, y)R,则对顶点y和弧(y, x)着色。
如果t被着色,则从s至t存在一条由已着色弧组成的唯一链,此链即流的增值链。否则,如在算法终止以后,t仍未被着色,则从s至t不存在流的增值链。终止。
例
i (s, a)=4, r (s, c)=1, i (a, c)=3, r (a, b)=7, i (b, t)=2, r (c, d)=5, r (b, d)=3, r (s, a)=6, r (b, c)=2
最大流的增值链为:
最大流的增值为
min{ i (s, a), i (a, c), r(b, c), i (b, t)}
=min{4,3,2,2}=2
证明
引理7-3 如果算法对t已着色,则从s至t存在一条流的增值链。
引理7-4 如果算法不能对t着色,则从s至t不存在任一条流的增值链。
引理7-5 算法在有限步内可终止。
定理7-3 对于给定的图,算法可以找到(如果存在的话)一条流的增值链。
第二讲 最大流算法
1.最大流问题 (maximum flow problem)
在一个有容量的图中,从发点s到收点t,找到一条可以运送最大数量的单位流量的途径,并且不超过弧的容量。
从s至t的每一个流都必须满足下列三个条件:
在从s至t的任一个流中,从每个顶点x (x≠ s, x≠ t) 出去的单位数量必须等于
到达x的单位数量,即
-=0 (x≠s,x≠t) (1)
其中X是G中所有顶点的集合,f(x, y)表示经弧(x, y)运输的单位数量。
(2)经弧(x, y)运输的流的单位数量不大于弧(x, y)的容量c(x, y),即
0≤f(x, y) ≤ c(x, y) (x, y) ∈ E (2)
其中E是所有弧的集合。
(3)从发点流出的单位流量的净数V必等于流入收点的单位流量的净数,即
-=V (3)
-=V (4)
满足这三个条件的数值f(x, y)的集合必对应于从s至t的流。
如果可以找到一个满足这四个条件的数值f(x, y)的集合,(x, y)∈E,则这些数值对应于从s至t的流。因此,当(x, y)∈E时,数值f(x, y)的集合是一个流,当且仅当这个集合满足关系式(1)へへs至t的任一个流(可以是零流)开始,用流的增值算法寻找流的增值链。如果找一条s至t的流的增值链,则沿着这条链运送尽可能多的
文档评论(0)