最小割最大流定理的内容:
对于一个网络流图 $G=(V,E)$,其中有源点和汇点,那么下面三个条件是等价的:
- 流$f$是图$G$的最大流
- 残量网络$G_f$不存在增广路
- 对于$G$的某一个割$(S,T)$,此时流的流量等于其容量
证明如下:
首先证明$1\rightarrow2$:
正确性显然,
然后证明$2\rightarrow3$:
假设残留网络$G_f$不存在增广路,所以在残留网络$G_f$中不存在路径从$s$到达$t$。我们定义$S$集合为:当前残留网络中$s$能够到达的点。同时定义$T=V-S$。此时$(S,T)$构成一个割$(S,T)$。且对于任意的$u\in S,v\in T$,边$(u,v)$必定满流。若边$(u,v)$不满流,则残量网络中必定存在边$(u,v)$,所以$s$可以到达$v$,与$v$属于$T$矛盾。因此有$$f(S,T)=\Sigma f(u,v)=\Sigma c(u,v)=C(s,t)$$
最后证明$3\rightarrow1$:
割的容量是流量的上界, 正确性显然.
于是, 图的最大流的流量等于最小割的容量.
残量网络的性质:
- $s$与$t$一定不在同一$SCC$里
- 对于某条满流边$(u,v)$, 若$u$与$s$在同一$SCC$,$v$与$t$在同一$SCC$, 则它必定会出现在最小割中.
- 对于某条满流边$(u,v)$, 若$u$与$v$不在同一$SCC$, 则它可能出现在最小割中.
结论1非常显然, 最大流的话$s$和$t$直接不连通更不要说在同一$SCC$里了.
结论2的话, 如果将一条满足该限制的边容量增大, 那么$s\rightarrow t$重新连通, 于是就会增加最大流的流量, 也相当于增加了最小割的容量. 所以这条边必定会出现在最小割中.
结论3的话, 我们把$SCC$缩到一个点里, 得到的新图就只有满足条件的满流边了. 缩点后的任意一个割显然就对应着原图的一个割, 所以这些满流边都可以出现在最小割中.