Section 4.2 Network Flows By Christina Touhey
The flow out of a equals the flow into z. Algorithm 1.Make vertex a: (0, ). 2.Scan the first vertex and check each incoming and outgoing edge and label if they are unlabeled. 3.Choose another labeled vertex to scan and label. 4.Find an a-z chain K of slack edges by backtracking. 5.Increase the flow in the edges of K by units. Recall from last class
a b c d e z Example: Find the maximal a-z flow in the network. a b c d e z 12,9 10,5 10,10 12,10 18,14 5,5 4,4 8,0 a b c d e z Slack Max Flow=19
Theorem 3 For any given a-z flow, a finite number of applications of the augmenting flow algorithm yields a maximum flow. If P is the set of vertices labeled during the final application of the algorithm then is a minimal a-z cut set.
If is the current flow and is the augmenting a-z unit flow chain, we must show the new flow + m is a legal flow. and satisfy flow conditions: and are integer valued. Proof of Theorem 3
Where m and is the amount of additional flow that can be sent from a-z. Proof of Theorem 3 (cont.)
Since m is a positive integer, each new flow is increased. The capacities and the number of edges are finite, so eventually z is not labeled. Let P be the set of labeled vertices when z is not labeled. Clearly is an a-z cut since a is labeled and z is not.
There is no unsaturated edge from labeled vertex p to unlabeled vertex q or else it would have been previously labeled. Therefore there is no flow between q and p because Proof of Theorem 3 (cont.)
Max Flow-Min Cut Theorem In a directed flow network, the value of a maximal a-z flow is equal to the capacity of a minimal a-z cut.
For Class to try Find a maximal flow from a to z in the network. Give a minimal capacity a-z cut a b c d e f g z
10,10 10,5 10,10 20,20 20,0 20,20 5,5 5,0 30,20 a b c d e f g z Max Flow=50