最大流最小割定理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最⼤流最⼩割定理
先来理解⼏个概念
割
在原先能够流通的⽹络中移除的边集,使得⽹络⽆法流通
最⼩割
所有的割中边权和最⼩的割即为最⼩割
可以想象⼀下,Kido为了⾃给⾃⾜给⾃⼰建了超多供⽔管道(kido能进⾏光合作⽤),形成了⼀个⽹络,然后容量越⼤的管道防护设施越好,但是总有⼈想渴死Kido就想炸掉管道,但是贫乏的恐怖分⼦既想渴死kido⼜想节约成本,那么最节约成本的破坏管道的⽅案即为最⼩割
最⼤流最⼩割定理
在任何的⽹络中,最⼤流的值等于最⼩割的容量
具体的证明分三部分
1.任意⼀个流都⼩于等于任意⼀个割
这个很好理解⾃来⽔公司随便给你家通点⽔,构成⼀个流
恐怖分⼦随便砍⼏⼑砍出⼀个割
由于容量限制,每⼀根的被砍的⽔管⼦流出的⽔流量都⼩于管⼦的容量
每⼀根被砍的⽔管的⽔本来都要到你家的,现在流到外⾯加起来得到的流量还是等于原来的流
管⼦的容量加起来就是割,所以流⼩于等于割
由于上⾯的流和割都是任意构造的,所以任意⼀个流⼩于任意⼀个割
2.构造出⼀个流等于⼀个割
当达到最⼤流时,根据增⼴路定理
残留⽹络中s到t已经没有通路了,否则还能继续增⼴
我们把s能到的的点集设为S,不能到的点集为T
构造出⼀个割集C[S,T],S到T的边必然满流否则就能继续增⼴
这些满流边的流量和就是当前的流即最⼤流
把这些满流边作为割,就构造出了⼀个和最⼤流相等的割
相当于在残量⽹络中,源点能到达的结点的各个边的容量和为最⼤流
所以如果我们要求⼀个最⼩割的边集,我们只要跑⼀编最⼤流,然后在残量⽹络中找正向边残量为0的边,那么这条边肯定在最⼩割⾥⾯,这样就可以得到⼀组最⼩割的边集
3.最⼤流等于最⼩割
设相等的流和割分别为Fm和Cm
则因为任意⼀个流⼩于等于任意⼀个割
任意F≤Fm=Cm≤任意C
定理说明完成,证明如下:
对于⼀个⽹络流图G=(V,E) G=(V,E)G=(V,E),其中有源点s和汇点t,那么下⾯三个条件是等价的:
1.流f是图G的最⼤流
2.残留⽹络Gf不存在增⼴路
3.对于G的某⼀个割(S,T),此时f=C(S,T)
⾸先证明1 => 2:
我们利⽤反证法,假设流f是图G的最⼤流,但是残留⽹络中还存在有增⼴路p,其流量为fp。
则我们有流f′=f+fp>f 。
这与f是最⼤流产⽣⽭盾。
接着证明2 => 3:
假设残留⽹络Gf不存在增⼴路,所以在残留⽹络Gf中不存在路径从s到达t。
我们定义S集合为:当前残留⽹络中s能够到达的点。
同时定义T=V-S。
此时(S,T)构成⼀个割(S,T)。
且对于任意的u∈S,v∈T ,有f(u,v)=c(u,v)。
若f(u,v)=c(u,v) 。
若c(u,v)f(u,v)<c(u,v),则有Gf(u,v)>0,s可以到达v,与v属于T⽭盾。
因此有f(S,T)=Σf(u,v)=Σc(u,v)=C(S,T)。
最后证明3 => 1:
由于f的上界为最⼩割,当f到达割的容量时,显然就已经到达最⼤值,因此f为最⼤流。
这样就说明了为什么找不到增⼴路时,所求得的⼀定是最⼤流。