Lably
Skip to content

Max-flow min-cut theorem

Equivalence of optimization problems

  • 11 min read
  • 6 chapters

Related on Lably

Through Computer science, Mathematical optimization and Linear programming

For example, imagine a network of pipes carrying water from a reservoir (the source) to a city (the sink). Each pipe has a capacity representing the maximum amount of water that can flow through it per unit of time. The max-flow min-cut theorem tells us that the maximum amount of water that can reach the city is limited by the smallest total capacity of any set of pipes that, if cut, would completely isolate the reservoir from the city. This smallest total capacity is the min-cut. So, if there's a bottleneck in the pipe network, represented by a small min-cut, that bottleneck will determine the overall maximum flow of water to the city.

This is a special case of the duality theorem for linear programs and can be used to derive Menger's theorem and the Kőnig–Egerváry theorem.

Definitions and statement

The theorem equates two quantities: the maximum flow through a network, and the minimum capacity of a cut of the network. To state the theorem, each of these notions must first be defined.

Network

A network consists of

  • a finite directed graph G = (V, E), where V denotes the finite set of vertices and E ⊆ V×V is the set of directed edges;
  • a source s ∈ V and a sink t ∈ V;
  • a capacity function, which is a mapping c:E→R+ denoted by cuv or c(u, v) for (u,v) ∈ E. It represents the maximum amount of flow that can pass through an edge.

Flows

A flow through a network is a mapping f:E→R+ denoted by fuv or f(u,v), subject to the following two constraints:

  1. Capacity Constraint: For every edge (u,v)∈E, fuv≤cuv.
  2. Conservation of Flows: For each vertex v apart from s and t (i.e. the source and sink, respectively), the following equality holds:
    ∑{u:(u,v)∈E}fuv=∑{w:(v,w)∈E}fvw.

A flow can be visualized as a physical flow of a fluid through the network, following the direction of each edge. The capacity constraint then says that the volume flowing through each edge per unit time is less than or equal to the maximum capacity of the edge, and the conservation constraint says that the amount that flows into each vertex equals the amount flowing out of each vertex, apart from the source and sink vertices.

The value of a flow is defined by

|f|=∑{v:(s,v)∈E}fsv=∑{v:(v,t)∈E}fvt,

where as above s is the source and t is the sink of the network. In the fluid analogy, it represents the amount of fluid entering the network at the source. Because of the conservation axiom for flows, this is the same as the amount of flow leaving the network at the sink.

The maximum flow problem asks for the largest flow on a given network.

Maximum Flow Problem. Maximize |f|, that is, to route as much flow as possible from s to t.

Cuts

The other half of the max-flow min-cut theorem refers to a different aspect of a network: the collection of cuts. An s-t cut C = (S, T) is a partition of V such that s ∈ S and t ∈ T. That is, an s-t cut is a division of the vertices of the network into two parts, with the source in one part and the sink in the other. The cut-set XC of a cut C is the set of edges that connect the source part of the cut to the sink part:

XC:={(u,v)∈E:u∈S,v∈T}=(S×T)∩E.

Thus, if all the edges in the cut-set of C are removed, then no positive flow is possible, because there is no path in the resulting graph from the source to the sink.

The capacity of an s-t cut is the sum of the capacities of the edges in its cut-set,

c(S,T)=∑(u,v)∈XCcuv=∑(i,j)∈Ecijdij,

where dij=1 if i∈S and j∈T, 0 otherwise.

There are typically many cuts in a graph, but cuts with smaller weights are often more difficult to find.

Minimum s-t Cut Problem. Minimize c(S, T), that is, determine S and T such that the capacity of the s-t cut is minimal.

Main theorem

In the above situation, one can prove that the value of any flow through a network is less than or equal to the capacity of any s-t cut, and that furthermore a flow with maximal value and a cut with minimal capacity exist. The main theorem links the maximum flow value with the minimum cut capacity of the network.

Max-flow min-cut theorem. The maximum value of an s-t flow is equal to the minimum capacity over all s-t cuts.

Sign in to keep reading

5 more chapters are free with a Lably account.

More in Discrete mathematics