Ford–Fulkerson algorithm
The Ford–Fulkerson algorithm finds a maximum flow by repeatedly sending additional flow along paths in a network’s residual graph. Its correctness follows from the augmenting-path principle; termination depends on how augmenting paths are chosen and on capacity values.