...

/

Max Flow = Min Cut

Max Flow = Min Cut

Explore the connection between maximum flows and minimum cuts.

In this lesson, we want to prove that the Ford-Fulkerson method is actually guaranteed to find a maximum flow. To do this, we’ll take a short detour into the territory of another graph problem, finding minimum cuts.

The minimum cut problem

The minimum cut problem is another problem that can be posed in a flow network G=(V,E,c)G = (V, E, c). Given a source ss and a sink tt, an s\mathbf{s}-t\mathbf{t}-cut is a partition of the vertices VV into two subsets SS and TT, such that sSs \in S and tTt \in T.

The value v(S,T)v(S, T) of an ss-tt-cut is the capacity of all edges that cross the cut from SS to TT.

v(S,T)=uS,vT,(u,v)Ec(u,v).v(S, T) = \sum_{u \in S, v \in T, (u, v) \in E} c(u, v).

As an example, let’s take another look at the flow network from the previous lesson:

g a a t t a->t 1 b b a->b 5 t->st s s ss->s s->a  2 s->b 2 b->t  2
An example cut with S = {s, a} and T = {b, t}

Here, we’ve marked up an example cut with S={s,a}S = \{s, a\} (blue) and T={b,t}T = \{b, t\} (red). The edges crossing through the border of the cut are marked in green. The value of the cut is

v(S,T)=1+2+5=8.v(S, T) = 1 + 2 + 5 = 8.

However, it is not a minimum cut because there is a cut with a smaller value:

g a a t t a->t 1 b b a->b 5 t->st s s ss->s s->a  2 s->b 2 b->t  2
A minimum cut with S = {s,a,b} and T = {t}

This cut ...