A flow network sends material from source s to sink t through directed edges with nonnegative capacities. At every other vertex, incoming and outgoing flow must balance. A path with available capacity seems an obvious improvement, but earlier choices may need to be undone. Residual reverse edges encode exactly that permission and are essential to the max-flow theorem.
Predict
Predict the meaning of a cut. Divide vertices into a source side S containing s and a sink side containing t. Every unit of net flow must cross from S outward, though some flow may cross back. The net value is forward flow minus backward flow. Ignoring the backward term gives an incorrect equality; replacing forward flows by capacities gives the correct universal upper bound.
Experiment
Consider edges s→a of capacity three, s→b of capacity two, a→t of capacity two, b→t of capacity three, and a→b of capacity one.
Route
Flow assigned
s→a→t
2
s→b→t
2
s→a→b→t
1
The total is five. Check conservation at a and b and every edge capacity. The cut containing only s has capacity five, so this feasible flow and cut together certify optimality.
Understand
For each original edge u→v with flow f and capacity c, residual capacity c−f permits increasing its flow, while a reverse residual edge v→u with capacity f permits decreasing it. If the original network has edges in both directions, track their residual contributions separately or with an equivalent combined convention. An s-t residual path can be augmented by its smallest residual capacity; conservation persists and the total value increases by that amount. Starting from zero and repeating gives Ford–Fulkerson’s method.
Apply
If no augmenting path exists, let S be all residual-reachable vertices from s. The sink lies outside S. Every original edge from S outward is saturated, because otherwise its residual edge would reach farther. Every original edge from outside into S has zero flow, because positive flow would create a reverse residual edge leaving S. Summing conservation over S therefore shows the flow value equals the cut capacity. Since every feasible flow is bounded by every cut, both are optimal. This proves max-flow/min-cut and gives a verifiable certificate, not merely a stopping heuristic.
Continue
With integer capacities, zero initialization and integral augmentations preserve integrality, and each augmentation increases value by at least one. A finite cut bounds the value, proving termination; the resulting iteration bound depends on capacity magnitude and is not polynomial in its bit length. Choosing shortest residual paths gives stronger algorithmic guarantees, requiring an additional distance-monotonicity analysis. Arbitrary irrational capacities can defeat the simple termination proof. In an implementation task, test conservation, capacities and the final cut independently, and distinguish a maximum flow from a maximum number of edge-disjoint paths unless unit-capacity assumptions justify that interpretation.
Drafts save locally as you type. Reveal worked solutions when useful; the site remembers that exposure. Automatic matches check the requested answer, while written arguments require review against the rubric.
A cut has forward capacities 3, 5, 2. What upper bound does it give on any flow value?
Integers, fractions and finite decimals are accepted. Expressions such as sqrt(2) are not parsed by this checker.
Edges s→a, a→t have capacities 4, 3 and s→b, b→t have capacities 2, 5. Find maximum flow.
Integers, fractions and finite decimals are accepted. Expressions such as sqrt(2) are not parsed by this checker.
Prove every feasible flow value is at most every s-t cut capacity.
Structure your argument and preserve revisions
These optional planning fields save locally. Recording your response saves an immutable copy of the argument and these fields. Older records may contain only first/latest responses; missing intermediate revisions are not reconstructed.
Each field allows 2,000 characters. Keep a specific claim, state where it applies, cite the facts you use, and explain what still needs checking. Blank fields are allowed and are not evidence of mastery.
Why are reverse residual edges necessary?
Structure your argument and preserve revisions
These optional planning fields save locally. Recording your response saves an immutable copy of the argument and these fields. Older records may contain only first/latest responses; missing intermediate revisions are not reconstructed.
Each field allows 2,000 characters. Keep a specific claim, state where it applies, cite the facts you use, and explain what still needs checking. Blank fields are allowed and are not evidence of mastery.
Prove no residual s-t path implies optimality.
Structure your argument and preserve revisions
These optional planning fields save locally. Recording your response saves an immutable copy of the argument and these fields. Older records may contain only first/latest responses; missing intermediate revisions are not reconstructed.
Each field allows 2,000 characters. Keep a specific claim, state where it applies, cite the facts you use, and explain what still needs checking. Blank fields are allowed and are not evidence of mastery.
State what integral capacities prove about Ford–Fulkerson termination.
Structure your argument and preserve revisions
These optional planning fields save locally. Recording your response saves an immutable copy of the argument and these fields. Older records may contain only first/latest responses; missing intermediate revisions are not reconstructed.
Each field allows 2,000 characters. Keep a specific claim, state where it applies, cite the facts you use, and explain what still needs checking. Blank fields are allowed and are not evidence of mastery.
Reflect and continue
Before marking this lesson complete, explain one key idea without the worked solution and identify a condition that matters. Marking complete records participation, not independent mastery.