0

Let $G=(V,E,c,s,t)$ a flow network where $\forall e \in E: c(e) \in \mathbb{N}$. Assume we have $n$ vertices and $m$ edges. Let $f$ a max flow in $G$. Let $e=(u,v) \in E$, and let $\sigma \in \mathbb{N}$ s.t $\sigma << n$, yet not constant. Assume we decrease the capacity of $e$ by $\sigma$ ($c(e) > \sigma$ to begin with). Describe an efficient algorithm that finds a max flow.


So I have a couple of thoughts but still I can't connect all the dots.

  1. Mark $c'(e) = c(e) - \sigma$

  2. If $f(e) \leq c'(e)$ then return $f$

  3. Else, mark $p = f(e)-c'(e)$

  4. For $1\leq i \leq p$:

    4.1 Find a path $s \to u$ and $v \to t$ using BFS and amount to a path $s \to t$

    4.2. Decrease the flow of this path by 1

  5. Now $f$ is a legal flow and I can run FF (Ford-Fulkerson)?

Truly part 4 is where I start getting lost. I'd love some help. Thanks in advance!

0 Answers0