- 1、本文档共89页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络流算法介绍与分析ppt课件
网络流 杭州学军中学 魏越闽 一些符号和定义 V表示整个图中的所有结点的集合. E表示整个图中所有边的集合. G = (V,E) ,表示整个图. s表示网络的源点,t表示网络的汇点. 对于每条边(u,v),有一个容量c(u,v) (c(u,v)=0) 如果c(u,v)=0,则表示(u,v)不存在在网络中。 如果原网络中不存在边(u,v),则令c(u,v)=0 对于每条边(u,v),有一个流量f(u,v). 最大流问题 定义一个网络的流量(记为|f|)= 最大流问题,就是求在满足网络流性质的情况下,|f|的最大值。 残量网络 为了更方便算法的实现,一般根据原网络定义一个残量网络。其中r(u,v)为残量网络的容量。 r(u,v) = c(u,v) – f(u,v) 通俗地讲:就是对于某一条边(也称弧),还能再有多少流量经过。 Gf残量网络,Ef表示残量网络的边集. 例1 例1 从残量网络中可以清楚地看到: 因为存在边(s,v2) = 3,我们知道从S到v2还可以再增加2单位的流量; 因为存在边(v1,t) = 2,我们知道从v1到t还可以再增加2单位的流量。 后向弧 其中像(v1,s)这样的边称为后向弧,它表示从v1到s还可以增加4单位的流量。 但是从v1到s不是和原网络中的弧的方向相反吗?显然“从v1到s还可以增加4单位流量”这条信息毫无意义。那么,有必要建立这些后向弧吗? 为什么要建立后向弧 显然,例1中的画出来的不是一个最大流。 但是,如果我们把s - v2 - v1 - t这条路径经过的弧的流量都增加2,就得到了该网络的最大流。 注意到这条路径经过了一条后向弧:(v2,v1)。 如果不设立后向弧,算法就不能发现这条路径。 从本质上说,后向弧为算法纠正自己所犯的错误提供了可能性,它允许算法取消先前的错误的行为(让2单位的流从v1流到v2) 为什么要建立后向弧 当然,可以把上面说的情况当成特殊情况来处理。但使用后向弧可以使编程简单许多. 注意,后向弧只是概念上的,在程序中后向弧与前向弧并无区别. 增广路 增广路定义:在残量网络中的一条从s通往t的路径,其中任意一条弧(u,v),都有r[u,v]0。 绿色的即为一条增广路。 增广路算法 增广路算法:每次用BFS找一条最短的增广路径,然后沿着这条路径修改流量值(实际修改的是残量网络的边权)。当没有增广路时,算法停止,此时的流就是最大流。 下面证明增广路算法的正确性. 将f,c,r的定义域扩展为点集 (在以后的叙述中,大写字母X,Y,S,T一般均表示点集) 点集间的流量和: f(X,Y) = 即:X中的任意一点与Y中的任意一点组成的所有边上的流量之和.(边的方向为从X中的结点到Y中的结点) c,r等函数都有类似的定义.(点集间的容量和、点集间的残量网络容量和) 结论1 1.f(X,X) = 0 (由流量反对称性) 2. f(X,Y) = -f(Y,X) (有流量反对称性) 3.f(X ∪ Y,Z) = f(X,Z) + f(Y,Z) (显然) 4.f(X,Y ∪ Z) = f(X,Y) + f(X,Z) (显然) 最大流最小割定理 网络流中这三个条件等价(在同一个时刻): 1、f是最大流 2、残量网络中找不到增广路径 3、|f| = c(S,T) 1、f是最大流2、残量网络中找不到增广路径3、|f| = c(S,T) 1 - 2证明: 显然.假设有增广路径,由于增广路径的容量至少为1,所以用这个增广路径增广过后的流的流量肯定要比f的大,这与f是最大流矛盾. 割的定义 一个割(S,T)由两个点集S,T组成. S+T = V s 属于 S. t 属于 T. 提出割的定义,是为后面的证明作铺垫. 结论2(点集总流量为零) 不包含s和t的点集,于它相关联的边上的流量之和为0. 证明: f(X,V) = = (由流量平衡) = 0 结论3 任意割的流量等于整个网络的流量. 证明: f(S,T) = f(S,V) – f(S,S) (由辅助定理1) = f(S,V) (由辅助定理1) = f(S,V) + f(S – s,V) (同上) = f(s,V) (由辅助定理2) = |f| (由|f|的定义) 结论4 网络的流量小于等于任意一个割的容量.(注意这个与辅助定理3的区别.这里是容量) 即|f| = c(S,T) 证明: |f| = f(S,T) = (由定义)
您可能关注的文档
最近下载
- 浙江省绍兴会稽联盟2023-2024学年高二上学期期末联考化学试题含解析.pdf VIP
- 中国华电集团招聘笔试题库2024.pdf
- 浙江省杭州市2023-2024学年高二上学期1月期末化学试题含解析.pdf VIP
- 登泰山记(ppt)课件.ppt
- 浙江省金华十校2023-2024学年高二上学期期末调研考试语文试卷含答案.pdf VIP
- 浙江省丽水市2023-2024学年高二上学期1月期末数学试题(含答案).pdf VIP
- ansys教学算例集筒型燃烧室内燃烧辐射分析.pdf
- 2022-2023年机场建设行业洞察报告.pdf VIP
- 360日志审计系统操作手册.pdf
- 电子工艺实习报告收音机(共10篇).docx VIP
文档评论(0)