图论第12讲.ppt
《图论第12讲.ppt》由会员分享,可在线阅读,更多相关《图论第12讲.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图论图论Graphic Theory阙夏制作1第六章第六章 网络流图问题网络流图问题1 网络流图问题和最大流2 割切3 Ford-Fulkerson最大流最小割切定理4 2F最大流最小割切标号算法5 Edmonds-Karp修正算法,Dinic算法24 2F标号算法例标号算法例用2F标号算法求下图的最大流。例例sabct9572438634 2F标号算法例解标号算法例解1(1)对所有eE,有f(e)=0;解解sabct(9,0)(5,0)(7,0)(2,0)(4,0)(3,0)(8,0)(6,0)44 2F标号算法例解标号算法例解2(2)给源点s标号(-,),其它顶点均未标号;解解sabct(
2、9,0)(5,0)(7,0)(2,0)(4,0)(3,0)(8,0)(6,0)(-,)54 2F标号算法例解标号算法例解3(3)选可进行正向或反向标号的顶点进行标号,若当前标号的顶点为t,转(4),如果没有这样的顶点可选时,转入(6);解解sabct(9,0)(5,0)(7,0)(2,0)(4,0)(3,0)(8,0)(6,0)(-,)(s+,2 2)(b+,4 4)(a+,7 7)(c+,5 5)64 2F标号算法例解标号算法例解4(4)对标号过的增流路径进行增流;增流路径为:(s,a,b,c,t)解解sabct(9,0)(5,0)(7,0)(2,0)(4,0)(3,0)(8,0)(6,0)
3、(-,)(s+,2 2)(b+,4 4)(a+,7 7)(c+,5 5)(2,2)(7,2)(4,2)(5,2)=min(cij-fij)=274 2F标号算法例解标号算法例解5(5)转(2)(2)给源点s标号(-,),其它顶点均未标号;解解sabct(9,0)(5,2)(7,2)(2,2)(4,2)(3,0)(8,0)(6,0)(-,)84 2F标号算法例解标号算法例解6(3)选可进行正向或反向标号的顶点进行标号,若当前标号的顶点为t,转(4),如果没有这样的顶点可选时,转入(6);解解sabct(9,0)(5,2)(7,2)(2,2)(4,2)(3,0)(8,0)(6,0)(-,)(s+,
4、9 9)(a+,8 8)(b+,6 6)94 2F标号算法例解标号算法例解7(4)对标号过的增流路径进行增流;增流路径为:(s,b,a,t)解解sabct(9,0)(5,2)(7,2)(2,2)(4,2)(3,0)(8,0)(6,0)(-,)(s+,9 9)(a+,8 8)(b+,6 6)(8,6)(9,6)(6,6)=min(cij-fij)=6104 2F标号算法例解标号算法例解8(5)转(2)(2)给源点s标号(-,),其它顶点均未标号;解解sabct(9,6)(5,2)(7,2)(2,2)(4,2)(3,0)(8,6)(6,6)(-,)114 2F标号算法例解标号算法例解9(3)选可进
5、行正向或反向标号的顶点进行标号,若当前标号的顶点为t,转(4),如果没有这样的顶点可选时,转入(6);解解sabct(9,6)(5,2)(7,2)(2,2)(4,2)(3,0)(8,6)(6,6)(-,)(s+,3 3)(b-,2 2)(a+,2 2)124 2F标号算法例解标号算法例解10(4)对标号过的增流路径进行增流;增流路径为:(s,b,a,t)解解sabct(9,6)(5,2)(7,2)(2,2)(4,2)(3,0)(8,6)(6,6)(-,)(s+,3 3)(b-,2 2)(a+,2 2)1=min(cij-fij)=22=fji=2=min(1,2)=2(9,8)(7,0)(8,
6、8)134 2F标号算法例解标号算法例解11(5)转(2)(2)给源点s标号(-,),其它顶点均未标号;解解sabct(9,8)(5,2)(7,0)(2,2)(4,2)(3,0)(8,8)(6,6)(-,)144 2F标号算法例解标号算法例解12(3)选可进行正向或反向标号的顶点进行标号,若当前标号的顶点为t,转(4),如果没有这样的顶点可选时,转入(6);解解sabct(9,8)(5,2)(7,0)(2,2)(4,2)(3,0)(8,8)(6,6)(-,)(s+,1 1)(b+,2 2)(c+,3 3)154 2F标号算法例解标号算法例解13(4)对标号过的增流路径进行增流;增流路径为:(s
7、,b,c,t)解解sabct(9,8)(5,2)(7,0)(2,2)(4,2)(3,0)(8,8)(6,6)(-,)(s+,1 1)(b+,2 2)(c+,3 3)=min(cij-fij)=1(9,9)(4,3)(5,3)164 2F标号算法例解标号算法例解14(5)转(2)(2)给源点s标号(-,),其它顶点均未标号;解解sabct(9,9)(5,3)(7,0)(2,2)(4,3)(3,0)(8,8)(6,6)(-,)174 2F标号算法例解标号算法例解15(3)选可进行正向或反向标号的顶点进行标号,若当前标号的顶点为t,转(4),如果没有这样的顶点可选时,转入(6);解解sabct(9,
8、9)(5,3)(7,0)(2,2)(4,3)(3,0)(8,8)(6,6)(-,)(s+,3 3)(b+,2 2)184 2F标号算法例解标号算法例解16(4)对标号过的增流路径进行增流;增流路径为:(s,c,t)解解sabct(9,9)(5,3)(7,0)(2,2)(4,3)(3,0)(8,8)(6,6)(-,)(s+,3 3)(b+,2 2)=min(cij-fij)=2(3,2)(5,5)194 2F标号算法例解标号算法例解17(5)转(2)(2)给源点s标号(-,),其它顶点均未标号;解解sabct(9,9)(5,5)(7,0)(2,2)(4,3)(3,2)(8,8)(6,6)(-,)
9、204 2F标号算法例解标号算法例解18(3)选可进行正向或反向标号的顶点进行标号,若当前标号的顶点为t,转(4),如果没有这样的顶点可选时,转入(6);解解sabct(9,9)(5,5)(7,0)(2,2)(4,3)(3,2)(8,8)(6,6)(-,)(s+,1 1)(c-,3 3)214 2F标号算法例解标号算法例解19(6)这时得到的f就是最大容许流。解解sabct(9,9)(5,5)(7,0)(2,2)(4,3)(3,2)(8,8)(6,6)(-,)这时得到的w13就是我们要求的最大流。(s+,1 1)(c-,3 3)224 2F标号算法例解标号算法例解20 这时得到标号得顶点为S,
10、没有得到标号的为S,此时(S,S)=,,C(S,S)=13解解sabct(9,9)(5,5)(7,0)(2,2)(4,3)(3,2)(8,8)(6,6)(-,)(s+,1 1)(c-,3 3)23课堂练习课堂练习用2F算法求下图所示的网络流图的最大流。sabt120202020245 Edmonds-Karp修正算法,修正算法,Dinic算法例解算法例解1若标号次序出现特殊情况,如下图所示:sabt(1,0)(20,0)(20,0)(20,0)(20,0)(-,)(b+,20)(s+,20)(a+,1)出现增流路径如图所示,增流1解解(20,1)(1,1)(20,1)255 Edmonds-K
11、arp修正算法,修正算法,Dinic算法例解算法例解1若标号次序出现特殊情况,如下图所示:sabt(1,1)(20,1)(20,1)(20,0)(20,0)(-,)(a+,20)(s+,20)(b-,1)出现增流路径如图所示,增流1解解(20,1)(1,0)(20,1)265 Edmonds-Karp修正算法,修正算法,Dinic算法例解算法例解2 上述两条增流路径如此交替出现,需要进行220次才能求出最大流。sabt(1,0)(20,1)(20,1)(20,1)(20,1)(-,)(b-,1)(s+,20)(a+,20)sabt(1,1)(20,1)(20,1)(20,0)(20,0)(-,
12、)(s+,20)(a+,1)(b+,20)276-5 Edmonds-Karp修正算法,修正算法,Dinic算法算法 在2F算法中,对顶点的标号是任意的,也就是说,增流路径的形成也是任意的。这样算法虽然方便,但同时存在很严重的缺陷。28一、一、Edmonds-Karp修正算法修正算法 为了避免出现刚才所述问题,Edmonds和Karp在1972年提出了一个严密的标号算法:在每一次都沿一条最短的增流路径增流。29一、一、Edmonds-Karp修正算法修正算法1n nEdmonds-Karp算法描述:(1)对所有eE,有f(e)=0;/初始化(2)给源点s标号(-,),其它顶点均未标号;(3)按
13、层次依次对可以标号的顶点进行标号,若当前标号的顶点为t,转(4),否则转入(6);(4)选一条标号过的增流路径进行增流;(5)转(2)(6)这时得到的f就是最大容许流。30一、一、Edmonds-Karp算法算法-例例用Edmonds-Karp算法求下图的最大流。例例sabct9572438631一、一、Edmonds-Karp算法算法-例解例解(1)初始化f(e)=0,eE;解解sabct(9,0)(5,0)(7,0)(2,0)(4,0)(3,0)(8,0)(6,0)32一、一、Edmonds-Karp算法算法-例解例解1(2)给源点s标号(-,),其它顶点均未标号;解解sabct(9,0)
14、(5,0)(7,0)(2,0)(4,0)(3,0)(8,0)(6,0)(-,)33一、一、Edmonds-Karp算法算法-例解例解2 (3)按层次依次对可以标号的顶点进行标号,若当前标号的顶点为t,转(4),否则转入(6);解解sabct(9,0)(5,0)(7,0)(2,0)(4,0)(3,0)(8,0)(6,0)(-,)(s+,2 2)(a+,8 8)(s+,9 9)(s+,3 3)34一、一、Edmonds-Karp算法算法-例解例解3 (4)选一条标号过的增流路径进行增流;增流路径为:(s,a,t)解解sabct(9,0)(5,0)(7,0)(2,0)(4,0)(3,0)(8,0)(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图论第 12
限制150内