【问题标题】:calculating excess flow and overflowing in max flow algorithm在最大流量算法中计算过量流量和溢出
【发布时间】:2012-07-02 21:07:27
【问题描述】:

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

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

据说 过量流量 - 我们将过量流量 e 定义为 e(u) = f(V,u),即流入 u 的净流量。如果 e(u) > 0,则顶点 u ∊ V-{s,t} 溢出/激活。

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

感谢您的时间和帮助。

【问题讨论】:

    标签: algorithm graph-algorithm max-flow


    【解决方案1】:

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

    这些数字给出了流量(比如每秒升数)。每秒有 3 升水进入 A,但每秒只有 1 升离开 A,所以 A 的过剩流量为 2。

    注意

    1. 在 push-relabel 算法中,内部节点的多余流量不能为负数。也就是说,离开的流量不能多于进入的流量。

    2. 允许源节点产生流(不计入内部节点,所以注释1不适用)

    3. 在算法过程中,多余的流量会减少,直到最后所有顶点都有0多余的流量

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

    5. 但是,在实践中,该算法会维护一个过量流量数组,并随着算法的进行更新值。

    【讨论】:

    • 对不起,这是我第一次尝试制作图表来回答。我从您的评论中假设您看不到它。恐怕我不知道为什么,对我来说似乎很好!它只包含 S-(3)->A-(1)->T
    猜你喜欢
    • 2020-03-26
    • 2014-02-11
    • 1970-01-01
    • 2023-01-11
    • 1970-01-01
    • 2012-05-23
    • 2016-07-19
    • 2020-11-24
    • 2012-11-20
    相关资源
    最近更新 更多