Purpose of augmented "backward edge" in flow augmenting algorithm.

501 Views Asked by At

Given an directed graph $F = (D, A)$ with a source $s$ and a sink $t$, together with $c: A \rightarrow \mathbb{R}$ a capacity on defined on the edges, the flow augmenting algorithm gives a flow $f: A \rightarrow \mathbb{R}$ such that $\sum f(a)_{out} - f(a)_{in}$ is maximum with $f(a)<c(a)$ for all $a \in A$.

In the algorithm there are these "backward edges" added every time you create a new graph $D_f$ using a s-t path you have chosen, my professor said the purpose of these edges is such that you may want to reduce the amount of flow on a particular edge on the path you started out with

I am not seeing why there is a need to reduce flow in a particular edge when finding the maximum flow in a network. Can someone give a concrete example for which there are "bad paths" that you can take while attempting to find the max s-t flow?

1

There are 1 best solutions below

1
On BEST ANSWER

I'll briefly describe my example: Let $V = \{s, a, b, c, t\}$. Let $A = \{(s, a), (a, b), (b, c), (c, a), (b, t)\}$. You might want to draw this in order for it to make sense.

Now let the cost function c be defined as follows for all edges:

c(s, a) = 4

c(a, b) = 4

c(b, c) = 2

c(c, a) = 2

c(b, t) = 4.

It is easy to see that the max flow from s to t has value 4. However, it is possible (depending on the implementation of course) to get a flow $f$ like this at some point:

f(s, a) = 2

f(a, b) = 4

f(b, c) = 2

f(c, a) = 2

f(b, t) = 2.

$f$ has value 2 and is therefore not a max flow. But if you do not have those backward edges you will not find any s-t-path in the residual network.