算法分析与设计(最大流问题).doc





《算法分析与设计(最大流问题).doc》由会员分享,可在线阅读,更多相关《算法分析与设计(最大流问题).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流算法分析与设计(最大流问题).精品文档.算 法 分 析 与 设 计题 目: 最 大 流 算 法 院系: 软 件 工 程 班级: 软件11-2班 姓名: 慕 永 利 学号: 23 号 目录1算法提出背景- 3 -2 问题实例及解决- 3 -3算法论述- 4 -3.1、可行流- 4 -3.2 最大流- 5 -3.3最大流算法- 6 -3.3.1增广路径- 6 -3.3.2沿增广路径增广- 7 -3.3.3样例:- 8 -3.3.4定理:- 13 -3.3.5算法的实现:- 13 -3.3.6 优化- 16 -4算法应用- 18 -1算法提出背景
2、一个通信网络,在理想条件下,将网络平面化,并假设网络中各节点及其之间的任意通信链路均无流量限制,在这种情况下,就无需使用最大流最小割算法,只需要寻找一条最短路由即可。 但是在现实生活中,我们不可能拥有这样理想的网络条件,作为正常的通信网络,不管是用户,还是基站,或者是他们之间的不管是无线或者有线信道,其容量都不可能是无限的。我们的任务是:在一定的限制条件下,对一个具有广泛意义的网络求解其最大流,并进行流量分配。以及如何对网络弧进行修改以达到网络最优化最大化。随着计算机网络业务的日益繁忙,通信流量激增而致使网络发生拥塞出现瓶颈部位,甚至造成网络停滞或瘫痪,所以对大型网络拓扑结构的优化设计是网络规
3、划的首要任务。网络的优化通常采用扩充网络最大容量和网络增强性连接来优化网络设计。要解决网络拥塞的问题,首要找出网络流通中的阻塞部分即是网络流通图的最小割集,通过扩充最小割集中饱和弧的容量来改善整个网络的流通能力。2 问题实例及解决 有一自来水管道输送系统,起点是S,目标是T,途中经过的管道都有一个最大的容量。3算法论述 3.1、可行流 每条弧 ( u, v )上 给定一个实数f(u,v),满足:有 0 = f ( u, v ) = c( u, v ),则f(u,v)称为弧( u, v )上的流量。如果有一组流量满足条件: 源点s : 流出量 = 整个网络的流量 汇点t : 流入量 =整个网络的
4、流量 中间点:总流入量 = 总流出量 那么整个网络中的流量成为一个可行流。 区分:容量和流量3.2 最大流 在所有的可行流中, 流量最大的一个流的流量 如: 图2中可行流7也是最大流。最大流可能不只一个。3.3最大流算法 Ford-Fulkerson (福特-福克森)算法: 步骤:(1)如果存在增广路径,就找出一条增广路径 (2)然后沿该条增广路径进行更新流量 (增加流量)3.3.1 增广路径 从 s 到 t 的一条简单路径,若边 ( u, v ) 的方向与该路径的方向一致,称 ( u, v ) 为正向边,方向不一致时称为逆向边。简单路:13 245中。(1,3)(2,4)(4,5)是正向边。
5、(3,2)是逆向边。增广路径: 若路径上所有的边满足:所有正向边有:f ( u, v ) 0则称该路径为一条增广路径(可增加流量) 两条增广路径:13513 245增加流量=?3.3.2沿增广路径增广 1) 先设d为为正无穷(可增加流,余流量) 若( u, v ) 是正向边 d = min ( d, c ( u, v ) f (u, v ) ) 若( u, v ) 是逆向边 d = min ( d, f ( u, v ) ) 2 ) 对与该增广路径上的边 若( u, v ) 是正向边,f ( u, v ) = f ( u, v ) + d; 若( u, v ) 是逆向边,f ( u, v )
6、= f ( u, v ) d;增广后,总流量增加了d 3.3.3样例: 开始流量为:sum=0一条增广路径: 1235 ,d=min4,2,4 =2 ,增加流量: 2Sum=2一条增广路径: 1245,d=min4-2,3,5 =2 ,增加流量: 2Sum=2+2=4一条增广路径: 1 2 4 5,d=min6,2,3-2,5-2 =1 增加流量: 1,Sum=4+1=5一条增广路径: 1 5,d=min6-1,4-2 =2 增加流量: 2Sum=5+2=73.3.4定理:可行流 f 为最大流,当且仅当不存在关于f 的增广路径证:若 f 是最大流,但图中存在关于 f 的增广路径,则可以沿该增广
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 分析 设计 最大 问题

限制150内