1. Ford-Fulkerson 方法中,有三个概念:剩余网络,增广路径, 割。称Ford-Fulkerson为方法而不是算法是因为它是一类算法的统称。
剩余网络,就是在原网络中增加反向边。 如果选择从点u到点v流过流量f,那从v到u就有容量为f的反向边。
反向边存在的意义是对已经选择的流“反悔”,如下图,如果第一次选择路径0-1-3-5,那第二次就没有路径可选了,此时流量为1。
如果存在反向边,那么第二次可以选择路径0-2-3-1-4-5,此时流量为2。
增广路径,就是在剩余网络中从源点到汇点的一条路径。
最大流最小割定理
令f为原网络中从s到t的流量,下面三个命题互相等价:
1. f是最大流
2. 剩余网络中没有增广路径
3. 原网络中存在一个割(S,T), 使得 |f| = c(S, T), 其中
Ford_Fulkerson_Method( G, s, t )
1. initialize flow f to 0
2. while there exist an augmenting