Max-Flow Min-Cut for Single Unicast
From Single-Hop to Multi-Hop: Why Graphs?
Every channel model we have studied so far — the DMC, the Gaussian channel, the MAC, the BC, the wiretap channel — has been a single-hop model. The transmitter sends directly to the receiver (and possibly to an eavesdropper), with no intermediate nodes. But real communication networks are multi-hop: data travels through routers, relays, and switches before reaching its destination.
Before tackling noisy multi-hop networks (Chapters 22–23), we start with the simplest version of the problem: noiseless networks where each link has a fixed integer capacity. The question is purely combinatorial: how much information can flow from source to destination through a graph? The answer is one of the most beautiful results in combinatorial optimization — the max-flow min-cut theorem — and it sets the stage for the surprising discovery that coding at intermediate nodes can strictly outperform routing.
Definition: Communication Network as a Directed Graph
Communication Network as a Directed Graph
A communication network is a directed graph where:
- is the set of nodes (routers, relays, terminals)
- is the set of directed edges (communication links)
- Each edge has a capacity (the maximum number of symbols per time unit that can be transmitted over the link)
- There is a designated source node and a designated sink node
A flow from to is an assignment satisfying:
- Capacity constraint: for all
- Flow conservation: for every node ,
The value of the flow is .
Network flow
An assignment of non-negative values to edges of a directed graph, satisfying capacity constraints and flow conservation at all non-terminal nodes. The flow value is the net flow leaving the source.
Definition: Cut and Minimum Cut
Cut and Minimum Cut
An - cut in is a partition of into two sets with and . The capacity of the cut is
The minimum cut is .
Intuitively, a cut is a "bottleneck" — removing all edges across the cut disconnects from . The minimum cut identifies the tightest bottleneck in the network.
Minimum cut
The minimum total capacity of edges whose removal disconnects the source from the sink in a directed graph. Represents the fundamental bottleneck of the network.
Theorem: Max-Flow Min-Cut Theorem (Ford–Fulkerson)
For any directed graph with integer edge capacities, source , and sink :
The maximum flow from to equals the minimum cut capacity separating from .
The inequality is immediate: any flow must pass through every cut, so the flow cannot exceed the capacity of any cut — in particular, the minimum cut. The remarkable part is the reverse inequality: there is always a flow that saturates the minimum cut. No matter how complex the network topology, the bottleneck is always achieved, never just approached.
This is the graph-theoretic analogue of Shannon's channel coding theorem: the max-flow min-cut theorem tells us the capacity of a noiseless network, just as Shannon's theorem tells us the capacity of a noisy channel.
Weak inequality: $\text{maxflow} \leq \text{mincut}$
Let be any flow and any - cut. By flow conservation:
Since this holds for all flows and all cuts: .
Strong inequality via augmenting paths
The Ford–Fulkerson algorithm finds the maximum flow by iteratively finding augmenting paths in the residual graph. Starting with :
- Construct the residual graph : for each edge with , include a forward edge with residual capacity ; for each edge with , include a backward edge with capacity .
- Find a path from to in (an augmenting path).
- Push flow along this path (the minimum residual capacity along the path).
- Repeat until no augmenting path exists.
Termination and optimality
When no augmenting path exists, the set of nodes reachable from in defines a cut with and . Every edge from to in the original graph is saturated (), so .
This gives .
Combined with the weak inequality: .
Historical Note: Ford and Fulkerson (1956)
1956The max-flow min-cut theorem was proved by L. R. Ford Jr. and D. R. Fulkerson in 1956, motivated by Cold War-era problems in operations research — specifically, the question of how to disrupt Soviet railway networks most efficiently. The "dual" nature of the theorem (the maximum amount you can ship equals the minimum cost of disruption) has a striking military interpretation: the optimal attack on a supply network targets exactly the minimum cut.
The theorem has since become one of the cornerstones of combinatorial optimization, with applications far beyond communication networks: airline scheduling, image segmentation, baseball elimination, and bipartite matching all reduce to max-flow problems.
Example: Max-Flow in a Diamond Network
Consider the diamond network with source , two relay nodes , and sink . The edges and capacities are:
- : capacity 3
- : capacity 2
- : capacity 2
- : capacity 3
- : capacity 1
Find the max-flow and a minimum cut.
Find the max-flow
Path 1: with flow 2 (limited by capacity).
Path 2: with flow 2 (limited by capacity).
Path 3: with flow 1 (limited by and remaining capacity on ).
Total flow: .
Verify with minimum cut
Cut , : capacity .
Cut , : capacity .
Cut , : capacity .
Cut , : capacity .
Minimum cut = 5 = max-flow. Multiple minimum cuts exist — the bottleneck is not unique.
Ford–Fulkerson Algorithm
Complexity: for the Edmonds–Karp (BFS) variant. Faster algorithms exist: Dinic's algorithm achieves .For unit-capacity graphs, the complexity simplifies to using Hopcroft–Karp-style blocking flows.
Quick Check
In a directed graph, every edge from to in a minimum cut is saturated by the max-flow. What about edges from to ?
They carry zero flow — if they carried positive flow, we could cancel it and increase the net flow
They are also saturated
It depends on the network topology
In the max-flow, edges from to in a minimum cut carry zero flow. If any carried positive flow , reducing that flow would increase the net flow from to without violating any capacity constraint, contradicting the optimality of the max-flow.
Common Mistake: Applying Max-Flow to Undirected Graphs Without Care
Mistake:
Treating an undirected edge as a single directed edge with capacity when computing max-flow.
Correction:
An undirected edge with capacity should be modeled as two directed edges: and , each with capacity . The flow on the two directed edges can differ, but the net flow on the undirected edge is , which must satisfy .
Key Takeaway
The max-flow min-cut theorem establishes that the capacity of a noiseless network for unicast (one source, one sink) equals the minimum cut. This is achievable by routing alone — no coding at intermediate nodes is needed. The surprise comes in the next section: for multicast (one source, multiple sinks), routing is no longer sufficient, and coding at intermediate nodes can strictly increase the achievable rate.