-
A Flow Network is a weighted digraph where the edges have a flow and capacity, and there is exactly one source vertex, and one sink vertex
- The sink vertex has exactly
outdegree. - The source vertex has exactly
indegree
- The sink vertex has exactly
-
The capacity is a function denoted
which assigns each edge in the flow network a non-negative real number. -
A flow in a flow network is a function
that assigns each arc in the flow network to a non-negative real number (called the flow of an arc) such that the following constraints hold - Capacity Constraint - the flow of each arc is no greater than the capacity of each arc.
- Flow Conservation Constraint - for each vertex, the total flow that comes in the vertex is the same as the total net flow leaving the vertex.
-
The value of a flow between vertices
and is calculated as
Augmenting Paths and Residual Networks
-
A pseudo-flow
is a function on each network which satisfies. - The capacity constraint.
- For arc
,
-
The residual capacity of an arc
under the pseudo-flow is the difference between the capacity and the flow of the arc. -
The residual network represents the amount of flow that can be transferred across the flow network.
- It is obtained by having each arc in the flow network have the residual capacities as their weight.
-
An augmenting path is a path in the residual network from the source
and sink and where a flow is available from to satisfying the constraints of flow. -
The bottleneck of a flow network is the minimum residual capacity of all edges in a given augmenting path.
-
The maximum flow in a flow network is the maximum value of a flow from source to sink.
- A network is in maximum flow if and only if there are no augmenting paths.
-
The minimum cut of a flow network is an edge cut that separates the source and skink in such a way that the capacity of the cut is minimized.
-
Computing the max flow can be formulated as a Linear Programming problem.
Key theorems
-
Max-Flow Min Cut Theorem - In any flow network, the maximum flow is equal to the capacity of the minimum cut.
- The capacity constraint restricts
. - Generating a residual network by finding an augmenting path
of bottleneck and increase the flow up to a limit by increasing the flow from to by and decreasing the flow from to by . - The new flow no longer contains the augmenting path
. We either augment with or with the maximum capacity of the new flow. - When the process terminates, we have the maximum flow, and at least the minimum capacity. Hence
,
- The capacity constraint restricts
-
The Max-Flow Min-Cut Theorem is an analogue to the Primal-Dual Scheme with the Max-Flow problem as the primal and the Min-Cut problem as the dual.