- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最大流最小割
定理
增广链:
如果在网络的发点和收点之间能找到一条链,在这条链上:
所有指向为s→t的弧(称前向弧,记作μ+),存在fc(非饱
和)(正向弧不饱和);所有指向为t→s的弧(称后向弧,记为μ-),存
在f0(非零),(反向弧非零流),这样的链称增广链.
图1
图2
2
当有增广链存在时,找出
cf,对
ii
min0
fi,对
再令
fi,对所有
ffi,对所有
fi,对非增广链上的弧
f
经过计算后仍然为可行流,但较原来的可行流f流
量增大了θ。因此,只有当网络图中找不到增广链时,s→t
流才不可能进一步增大。
3
定理1可行流f*是最大流当且仅当不存在关于f*的增广链。
定理2在网络中s→t的最大流量等于它的最小割集的容量,
即**
vfcV,V
4
求网络最大流的标号算法
Ford-Fulkerson标号算法,其本质是判断是否存在增广链,
如果存在,则找出增广链,调整流量;若不存在,则说明已
达到最大流。
第一步:标号过程
1、首先给发点s标号(0,ε(s))。
第一个数字是使这个点得到标号的前一个点的代号,因s
是发点,因此记为0。
第二个数字ε(s)表示从上一个标号到这个标号点的流量的最大
允许调整值,s为发点,不限允许调整容量,故ε(s)=∞。
5
2、列出与已标号点相邻的所有未标号点:
(1)考虑从标号点v出发的弧(v,v),如果有f=c,不给点
iijijij
v标号;若fc,则对v标号,记为(v,ε(j)),其中
jijijji
ε(j)=min{ε(i),(c-f)}
ijij
(2)考虑所有指向标号点v的弧(v,v),如果有f=0,对v
ihihih
不标号,若f0,则对v点标号,记为(v,ε(h)),其中
hihi
文档评论(0)