- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最大流问题 残量网络 引入残量网络(residual network), 表示所有可以增加流量的弧 定义(u,v)的残余容量为: cf(u,v)=c(u,v)-f(u,v) 原始网络可看成残余容量为c(u,v)的残量网络。 残量网络举例 可增广路 残量网络中任意一条s-t路称为可增广路 路上的最小容量称为路的残量容量(residual capacity), 记为d 对于可增广路上的有向边(u,v), 原始网络的流量f(u,v)增加d, 由对称性,f(v,u)减少d, 则得到的新流也是可行流(验证流的三个性质) 定理: 流量f是最大流当且仅当残量网络中不存在可增广路 基本的Ford-Fulkerson算法 不断迭代. 每次寻找某一条可增广路. 若(u,v)和(v,u)都不在图中出现, 则c(u,v)=f(u,v)=0. 注意: 允许c(u,v)和c(v,u)都大于0 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 Ford-Fulkerson 最大流 HDU1532最大流模板题 问题1:奶牛的新年晚会 奶牛们要举办一次别开生面的新年晚会。每头奶牛会做一些不同样式的食品(单位是盘)。到时候他们会把自己最拿手的不超过k样食品各做一盘带到晚会,和其他奶牛一起分享。但考虑到食品太多会浪费掉,他们给每种食品的总盘数都规定了一个不一定相同的上限值。这让他们很伤脑筋,究竟应该怎样做,才能让晚会上食品的总盘数尽量的多呢? 例 * 给定一个有向图G=(V,E),其中仅有一个点的入次为零称为发点(源),记为vs,仅有一个点的出次为零称为收点(汇),记为vt,其余点称为中间点。 基本概念 3 5 1 1 4 2 3 5 2 vs v2 v1 v3 v4 vt 对于G中的每一个弧(vi,vj),相应地给一个数cij(cij≥0),称为弧(vi,vj)的容量。我们把这样的D称为网络(或容量网络),记为G=(V,E,C)。 所谓网络上的流,是指定义在弧集E上的函数f={f(vi,vj)},并称f(vi,vj)为弧(vi,vj)上的流量,简记为fij。 3,1 5,2 1,0 1,0 4,1 2,2 3,1 5,2 2,1 vs v2 v1 v3 v4 vt 标示方式:每条边上标示两个数字,第一个是容量,第二是流量 可行流、可行流的流量、最大流。 可行流是指满足如下条件的流: (1)容量限制条件:对G中每条边(vi,vj), 有 (2) 斜对称性 (3)平衡条件: 对中间点,有: (即中间点vi的物资输入量等于输出量) 对收点vt与发点vs,有: (即vs发出的物资总量等于vt接收的物资总量), w是网络的总流量。 可行流总是存在的,例如f={0}就是一个流量为0的可行流。 所谓最大流问题就是在容量网络中寻找流量最大的可行流。 一个流f={fij},当fij=cij,则称f对边(vi, vj)是饱和的,否则称f对边(vi, vj)不饱和。 最大流问题实际上是一个线性规划问题。 但利用它与图的密切关系,可以利用图直观简便地求解。 1 2 4 3 5 6 4 2 3 4 5 4 1 2 1 2 4 3 5 4 2 3 3 3 1 1 2 4 3 5 6 4 2 3 4 5 4 1 1 2 4 3 5 4 2 3 5 3 3 3 4 一个可行流:5 一个可行流:7 也是最大流 图1 图2 4 1 1 2 2 1 2 3 3 1 s 2 4 5 3 t 这是初始网络以及初始剩余网络. 4 1 1 2 2 1 2 3 3 1 s 2 4 5 3 t 这是初始网络,加上弧的反向. 4 1 1 2 2 1 2 3 3 1 在G(x)中寻找任何s-t 路径. s 2 4 5 3 t 4 1 1 2 1 3 判定路径的容量 D. 在路径上发送 D 单位的流. 更新剩余容量. 1 1 1 2 1 2 3 2 1 s 2 4 5 3 t 4 1 1 2 1 3 寻找任何s-t 路径 1 1 1 2 1 2 3 2 1 s 2 4 5 3 t 4 2 1 1 1 1 2 2 1 1 1 1 3 1 1 1 1 3 2 1 s 2 4 5 3 t 判定路径的容量
文档评论(0)