最大流最小割定理:最大流最小割定理是网络流理论的重要定理。是指在一个网络流中,能够从源点到达汇点的最大流量等于如果从网络中移除就能够导致网络流中断的边的集合的最小容量和。即在任何网络中,最大流的值等于最小割的容量。
最大流
给定指定的一个有向图,其中有两个特殊的点源S(Sources)和汇T(Sinks),每条边有指定的容量(Capacity),求满足条件的从S到T的最大流(MaxFlow)。
最小割
割是网络中定点的一个划分,它把网络中的所有顶点划分成两个顶点集合S和T,其中源点s∈S,汇点t∈T。记为CUT(S,T),满足条件的从S到T的最小割(Min cut)。
定理一:
如果f是网络中的一个流,CUT(S,T)是任意一个割,那么f的值等于正向割边的流量与负向割边的流量之差。
如果f是网络中的一个流,CUT(S,T)是任意一个割,那么f的值等于正向割边的流量与负向割边的流量之差。
证明:
设X和Y是网络中的两个顶点集合,用f(X,Y)表示从X中的一个顶点指向Y的一个顶点的所有弧(弧尾在X中,弧头在Y中:
)的流量和。只需证明:f=f(S,T)-f(T,S) 即可。
设X和Y是网络中的两个顶点集合,用f(X,Y)表示从X中的一个顶点指向Y的一个顶点的所有弧(弧尾在X中,弧头在Y中:

下列结论成立:
如果X∩Y=
,那么:f(X,(Y1∪Y2))=f(X,Y1)+f(X,Y2) ,f((X1∪X2),Y)=f(X1,Y)+f(X2,Y) 成立。
根据网络流的特点:

根据网络流的特点:
如果V既不是源点也不是汇点,那么: f({V},S∪T)-f(S∪T,{V})=0;任何一个点,流入的与流出的量相等。
如果V是源,那么:f({V},S∪T)-f(S∪T,{V})=f。
对于S中的所有点V都有上述关系式,相加得到:f(S,S∪T)-f(S∪T,S)=f 。
又因为: f(S,S∪T)-f (S∪T,S)= (f(S,S)+f (S,T))-(f(S,S) +f (T,S))= f(S,T)- f(T,S),
推论一:
如果f是网络中的一个流,CUT(S,T)是一个割,那么f的值不超过割CUT(S,T)的容量。
推论二:
网络中的最大流不超过任何割的容量。
如果f是网络中的一个流,CUT(S,T)是一个割,那么f的值不超过割CUT(S,T)的容量。
推论二:
网络中的最大流不超过任何割的容量。
证明:
令割CUT(S,T)的容量为C,所以流f的流量也为C。假设另外的任意流f1,流量为c1,根据流量不超过割的容量,则c1<=c,所以f是最大流。 假设另外的任意割CUT(S1,T1),容量为c1,根据流量不超过割的容量,所以有c1>=c,故,CUT(S,T)是最小割 [2] 。
令割CUT(S,T)的容量为C,所以流f的流量也为C。假设另外的任意流f1,流量为c1,根据流量不超过割的容量,则c1<=c,所以f是最大流。 假设另外的任意割CUT(S1,T1),容量为c1,根据流量不超过割的容量,所以有c1>=c,故,CUT(S,T)是最小割 [2] 。
结论:
结论一:
最大流时,最小割cut(S,T)中,正向割边的流量=容量,逆向割边的流量为0。
最大流时,最小割cut(S,T)中,正向割边的流量=容量,逆向割边的流量为0。
结论二:
在最小割cut(S,T)中:
在最小割cut(S,T)中:
-
源点s属于S。
-
如果i属于S,结点j满足:
有弧<i,j>,并且c [i,j] >f [i,j] ,或者有弧<i,j>,并且f [i,j] >0,那么j属于S。否则不是最小割。 即从s出发能找到的含有残留的点组成集合S,其余的点组成集合T。