Network Flows
Introduction
Network flow theory studies how commodities, information, or other quantities move through networks. Consider water flowing through pipes, traffic through road networks, or data through communication channels. Each edge has a capacity limiting how much can flow through it, and the fundamental question is: what is the maximum amount that can be transported from a source to a destination?
Network flow problems have diverse applications including transportation logistics, telecommunications, bipartite matching, project selection, and image segmentation. The mathematical theory reveals deep connections between maximum flows and minimum cuts.
Flow Networks
A flow network is a directed graph
A source vertex
A sink (target) vertex
A capacity function
Definition of Flow
A flow is a function
Capacity Constraint
For every edge
The flow through an edge cannot exceed its capacity.
Flow Conservation
For every vertex
Total flow into a vertex equals total flow out (except at the source and sink).
Value of a Flow
The value of a flow
By flow conservation, this equals the net flow entering the sink. The maximum flow problem asks: find a flow
Cuts
An
A minimum cut is a cut with the smallest capacity among all
Max-Flow Min-Cut Theorem
One of the fundamental results in combinatorial optimization is the max-flow min-cut theorem:
The value of a maximum flow equals the capacity of a minimum cut.
This theorem has a natural interpretation: the maximum amount that can flow from source to sink is limited by the bottleneck cut, and this limit is always achievable.
Residual Networks
Given a flow
The residual capacity is
A backward edge
Ford-Fulkerson Method
The Ford-Fulkerson method is an iterative approach to finding maximum flow:
Initialize
While there exists an augmenting path
Find the bottleneck capacity
Augment flow along path
When no augmenting path exists, the current flow is maximum.
Edmonds-Karp Algorithm
The Edmonds-Karp algorithm implements Ford-Fulkerson using BFS to find shortest augmenting paths. This guarantees termination and runs in
Applications
Bipartite Matching
Maximum bipartite matching can be solved as a max flow problem. Given a bipartite graph with vertex sets
Edge-Disjoint Paths
The maximum number of edge-disjoint paths from
Image Segmentation
In computer vision, minimum cuts can separate foreground from background in images. Pixels are vertices with edges to neighbors; edge weights reflect similarity. A minimum cut finds the optimal boundary.
Proof of Max-Flow Min-Cut Theorem
The proof establishes three equivalent conditions: (1)
Key insight: for any flow
Thus every flow is bounded by every cut. When equality holds, both are optimal.
Minimum Cost Flows
In minimum cost flow problems, each edge also has a cost
This generalizes shortest path, maximum flow, and assignment problems. Algorithms include successive shortest path and cycle-canceling methods.
Multiple Sources and Sinks
Problems with multiple sources
Summary
A flow network is a directed graph with edge capacities, a source, and a sink. A flow assigns non-negative values to edges respecting capacity constraints and conservation (flow in equals flow out at internal vertices).
The max-flow min-cut theorem establishes that the maximum flow value equals the minimum cut capacity. This fundamental duality has algorithmic implications: finding a maximum flow also finds a minimum cut.
The Ford-Fulkerson method iteratively augments flow along paths in the residual network. The Edmonds-Karp variant using BFS runs in polynomial time.
Applications span bipartite matching, edge connectivity, transportation, and computer vision. Network flow theory exemplifies the power of combinatorial optimization, connecting graph structure to algorithmic solutions.