{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

# Lecture8 - CME 305 Discrete Mathematics and Algorithms...

This preview shows pages 1–2. Sign up to view the full content.

CME 305: Discrete Mathematics and Algorithms Instructor: Professor Amin Saberi ([email protected]) January 28, 2010 Lecture 8: Max-flow Min-Cut Theorem and its Applications 1 Analysis of Ford-Fulkerson Recall from last lecture the Ford-Fulkerson algorithm for max-flow: Algorithm 1 Ford-Fulkerson, 1956 Start with f ( e ) = 0, e E . while there is a path P from s to t in R ( N, f ) do send a flow of value df = min e P c 0 ( e ) in R along P . augment df in ( N, f ) using the above flow. rebuild the residual network R ( N, f ). end while Output f * . Here, augmenting flow df in ( N, f ), means that for each e P , f ( e ) = f ( e ) + df and e E \ P , f ( e ) = f ( e ). Lemma 1 If all edge capacities of N are integral i.e., c ( e ) N ∪ { 0 } , e E , Ford-Fulkerson terminates. Proof: Since the capacities are integral, it is not hard to see that the capacity of every edge in R ( N, f ) is always integral. At each step, df is at least one; thus the value of flow f increases by at least one. Since v ( f ) e leaving s c ( e ) and the capacities are finite, v ( f ) cannot keep increasing, hence the algorithm stops after a finite step. Theorem 1 If Ford-Fulkerson terminates, it outputs a maximum flow. Proof: Suppose the algorithm terminates at step t , this means that there is no path from s to t in R ( N, f * ); s and t are disconnected. Let S be the set of nodes reachable from s , i.e., v S iff there exists a path from s to v ; let T = V \ S . We claim that v ( f * ) = c ( S, T ); before proving this claim, note that in the last lecture we showed that for every feasible flow f and every cut ( A, B ), v ( f ) c ( A, B ). Thus v ( f * ) = c ( S, T ) implies that f * is the max-flow and cut ( S, T ) is the minimum cut. In order to prove v ( f * ) = c ( S, T ), we consider the residual graph; first, we show that there is no path from S to T . By contradiction, assume there exists e from v 1 S to v 2 T ; this means that v 2 is reachable by s which contradicts with v 2 being in T . Next, we look back at the original network N suppose e is from S to T , the only case that e does not exist in R ( N, f ) is that f ( e ) = c

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

### Page1 / 3

Lecture8 - CME 305 Discrete Mathematics and Algorithms...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online