Jump to content

Talk:Push–relabel maximum flow algorithm

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by RenatUK (talk | contribs) at 10:43, 25 December 2021 (Fixed {{Vital article}}; WP:TALKORDER). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Template:Vital article

WikiProject iconComputer science C‑class Mid‑importance
WikiProject iconThis article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
CThis article has been rated as C-class on Wikipedia's content assessment scale.
MidThis article has been rated as Mid-importance on the project's importance scale.
Things you can help WikiProject Computer science with:

WikiProject iconMathematics C‑class Low‑priority
WikiProject iconThis article is within the scope of WikiProject Mathematics, a collaborative effort to improve the coverage of mathematics on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
CThis article has been rated as C-class on Wikipedia's content assessment scale.
LowThis article has been rated as Low-priority on the project's priority scale.

I believe the third condition defining a preflow should read excess(v) (not u) for all nodes v (not u) — Preceding unsigned comment added by 91.17.171.95 (talk) 23:33, 8 February 2012 (UTC)[reply]


I think "Push" :

height(u) = height(v) + 1. Can only send to lower node.

should be changed to

height(u) > height(v). Can only send to lower node.

because height(s) is set to |V| initially.

  • . Sum of flow to and from u.

Is it really a sum? I would call it a difference between those if that's not my wrong sense of English.

--MBIK (talk) 08:07, 26 July 2009 (UTC)[reply]


For the Push thing, it shouldnt be changed, as you can only push flow to lower node whose height is exactly 1 unit smaller than the node from which the push originates. You cannot push from u to v if height(u)-height(v) > 1 because such edges are not a part of the residual graph due to the height function constraints. The only exception to this is sending flow from source to its neighbors but that is considered a part of the initialization and cannot be reproduced during algorithm work.

As for the other question, it is formally defined as a sum of flow to a node, but your proposition seems good to me as it is generally simpler and more intuitive, especially for wiki purposes.

Nikolicdejan (talk) 10:28, 24 October 2009 (UTC)[reply]

Another Question

It's not clear from the description of relabel or the generic algorithm that the sink should not be relabeled. Is this somehow implied by the algorithm, or should this simply be a precondition to the relabel operation? — Preceding unsigned comment added by 131.159.46.128 (talk) 18:30, 23 January 2017 (UTC)[reply]

Question...

The article states:

  • for all nodes . Only the source may produce flow.

My question: shouldn't it be:

  • for all nodes , since "only the source may produce flow" and I assume producing is implied by positive numbers, while leakage along the network (the sink) is implied by the negative ones.
Regards, Kleuske (talk) 14:08, 18 May 2012 (UTC)[reply]
Ah, yes. The source sould have a negative excess. Sorry. Kleuske (talk) 14:31, 18 May 2012 (UTC)[reply]

Active node definition

The article does not explicitly define active node anywhere. Are active nodes those having excess greater than 0?

Auxier (talk) 21:03, 2 December 2017 (UTC)[reply]