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 Nikolicdejan (talk | contribs) at 10:28, 24 October 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.