计算最大流量算法中的过流量和溢出量

时间:2012-07-02 12:40:36

标签: algorithm graph-algorithm max-flow

我正在以下链接阅读推送流算法。

http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=maxflowPushRelabel

有人提到 过剩流量 - 我们将过剩流量e定义为e(u)= f(V,u),流入u的净流量。如果e(u)>,则顶点u∈V-{s,t}溢出/激活。 0.

我正在寻找简单流网络的例子我们如何计算e(u)?

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:0)

在下图中,有一个源节点(S),一个汇聚节点(T)和一个内部节点(A)。

数字表示流量(以每秒升数表示)。每秒有3升进入A,但每秒只有1升离开A,因此A的过量流量为2。

请注意

  1. 在push-relabel算法中,内部节点的超额流量不能为负数。换句话说,你不允许有更多的流量而不是进入。

  2. 允许源节点 生成流(它不算作内部节点,因此注释1不适用)

  3. 在算法期间,超出的流量减少,直到最后所有顶点都有0个超流量

  4. 您可以通过将所有传入流量相加并减去所有传出流量来计算超额流量。

  5. 然而,在实践中,算法会维护一个超额流数组,并在算法进行时更新该值。

  6. Simple flow