3.5.16 · D1Graphs

Foundations — Network flow — max-flow min-cut theorem, Ford-Fulkerson, Edmonds-Karp

1,869 words8 min readBack to topic

This page assumes nothing. Before you can read the parent note Network Flow (parent), every squiggle it uses is built here from a picture. Read top to bottom; each block earns the next.


0. The picture we keep in our heads

Everything below lives on one drawing: dots joined by arrows, water flowing left-to-right from a tap into a bucket .

Figure — Network flow — max-flow min-cut theorem, Ford-Fulkerson, Edmonds-Karp

Look at that figure. A dot is a place. An arrow is a pipe that only lets water go the way it points. That is the entire vocabulary — now we name each part precisely.


1. Graph, vertices, edges — the skeleton

The letters and are just stand-ins for any two dots — like "person X and person Y". When you see , read it aloud as "some arrow from a dot I'll call to a dot I'll call ."


2. Source and sink — where water is born and dies

Picture: in figure s01, is on the far left (only arrows leaving), on the far right (only arrows arriving).


3. Capacity — how fat each pipe is

The notation reads: "the capacity function , asked about the specific pipe from to ." A function is just a lookup table: you hand it a pipe, it hands you a number.


4. Flow — how much water is actually moving

Figure — Network flow — max-flow min-cut theorem, Ford-Fulkerson, Edmonds-Karp

In figure s02 the middle dot has units arriving and must send out (say ). That balance is conservation. The symbol (capital Greek "sigma") just means "add up all of these" — here, add every flow arriving, then every flow leaving, and demand the two totals match.


5. Value of a flow — the score we maximise

The bars here do not mean absolute value — they are just traditional notation for "size / value of the flow". This single number is the thing the whole topic wants to make as big as possible.


6. Cut — a wall that separates tap from bucket

Figure — Network flow — max-flow min-cut theorem, Ford-Fulkerson, Edmonds-Karp

Figure s03 draws a dashed wall. The amber arrows crossing left-to-right count toward ; the cyan arrow crossing right-to-left is free. The symbol reads " is a member of team " ( = "belongs to").


7. Residual graph & residual capacity — the "undo" map

Once some flow is running, we redraw the network to show what moves are still legal. This redraw is the residual graph, and it powers every algorithm in the parent note.

An augmenting path is any route from to using only arrows with . Its bottleneck is the smallest along it — the most water that whole route can carry.


8. Big-O notation — how we grade speed

We use it to compare algorithms: Ford–Fulkerson's speed depends on the capacity values (), while Edmonds–Karp's does not () — a big deal when capacities are huge.


How these feed the topic

Graph V and E

Directed edges u to v

Source s and sink t

Capacity c on each edge

Flow f obeying two laws

Value of flow size f

Cut S and T capacity

Residual graph c sub f

Augmenting path via BFS

Max flow

Min cut

Max-Flow Min-Cut Theorem

Read the map top-down: dots and arrows come first, then labels (capacity, flow), then the two headline objects — max flow and min cut — which the theorem glues together. The augmenting-path branch relies on BFS and leads toward Edmonds-Karp-style methods and Dinic's Algorithm. The theorem itself is a special case of a broader duality: see Linear Programming Duality and Menger's Theorem, and it underpins Bipartite Matching.


Equipment checklist

Cover the right side and test yourself — each line is question ::: answer.

What is ?
The set of vertices — the dots / places in the network.
What is , and why "directed"?
The set of edges (arrows); directed means is a one-way pipe, distinct from .
What are and ?
Source (tap, water enters) and sink (bucket, water leaves); conservation applies to every dot except these.
What does mean?
The capacity — max water per second the pipe can carry; if no pipe.
What are the two laws a flow must obey?
Capacity () and conservation (in-flow = out-flow at every non- dot).
What is ?
The value of the flow — net water leaving the source, the quantity we maximise.
What is a cut and its capacity?
A split with , ; capacity = sum of over only forward edges.
What is ?
Residual capacity: forward leftover , plus a backward undo edge of capacity .
What is an augmenting path?
An route in the residual graph using only edges with .
What does describe?
Growth of running time with network size, ignoring constants — Edmonds–Karp's speed, independent of capacity values.