Augmenting Paths and Ford-Fulkerson
This lesson develops the Ford-Fulkerson algorithm for computing maximum flow. We define the residual graph, augmenting paths, and bottleneck capacities, then learn how to update a flow along an augmenting path. Finally, we run the full algorithm: repeatedly augment until no augmenting path exists.
Tutorial
The Residual Graph
Given a flow network with capacities and a feasible flow , the residual graph records how much additional flow each edge can carry.
For every edge in the original network, may contain up to two edges:
- A forward residual edge with capacity
representing how much more flow can be pushed along .
- A backward residual edge with capacity
representing how much existing flow on can be cancelled by routing in the reverse direction.
Only residual edges with strictly positive capacity are included in .
For instance, if an edge has capacity and currently carries flow , then contains
We can push up to more units forward along , or cancel up to units by routing flow backward.