This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 3.7 Unit Capacity Networks and Simple Networks 123 Lemma 3.7.2 Let L = ( V = V ∪ V 1 ∪ ... ∪ V k ,A,l ≡ ,u ≡ 1) be a layered unit capacity network with V = { s } and V k = { t } . One can find a blocking ( s,t )flow in L in time O ( m ) . Proof: It suffices to see that the capacity of each augmenting path is 1 and no two augmenting paths of the same length can use the same arc. Hence it follows that Dinic’s algorithm will find a blocking flow in time O ( m ). ut Lemma 3.7.3 Let N = ( V,A,l ≡ ,u ≡ 1) be a unit capacity network and let x * be a maximum ( s,t )flow in N . Then dist N ( s,t ) ≤ 2 n/ p  x *  (3.15) Proof: Let ω = dist N ( s,t ) and let V = { s } ,V 1 ,V 2 ,...,V ω be the first ω distance classes from s . Since N contains no multiple arcs, the number of arcs from V i to V i +1 is at most  V i  V i +1  for i = 0 , 1 ,...,ω 1. Since the arcs in ( V i ,V i +1 ) correspond to the arcs across an ( s,t )cut in N , we have  x *  ≤  V i  V i +1  for i = 0 , 1 ,...,ω 1. Thus max { V i  ,  V i +1 } ≥ p  x *  for i = 0 , 1 ,...,ω 1. Now we easily see that n =  V  ≥ ω X i =0  V i  ≥ p  x * b ω + 1 2 c (3.16) implying that ω ≤ 2 n/ p  x *  . ut Theorem 3.7.4 [232] For unit capacity networks the complexity of Dinic’s algorithm is O ( n 2 3 m ) . Proof: Let N be a unit capacity network with source s and sink t . We assume for simplicity that N has no 2cycles. The case when N does have a 2cycle can be handled similarly (Exercise 3.41). Let q be the number of phases performed by Dinic’s algorithm before a maximum ( s,t )flow is found in N . Let 0 ≡ x (0) ,x (1) ,...,x ( q ) denote the ( s,t )flows in N which have been calculated after the successive phases of the algorithm. Thus x (0) is the starting flow which is the zero flow and x ( i ) denotes the flow after phase i of the algorithm. Let τ = d n 2 3 e and let K =  x ( q )  denote the value of a maximum ( s,t )flow in N . By Lemmas 3.7.1 and 3.7.2 it suffices to prove that the total number of phases, q , is O ( n 2 3 ). This is clear in the case when K ≤ τ , since we augment the flow by at least one unit after each phase. So suppose that K > τ . Choose j such that  x ( j )  < K τ and  x ( j +1)  ≥ K τ . By Theorem 3.4.2 and Theorem 3.4.3 the value of a maximum flow in N ( x ( j ) ) is K x ( j )  > τ . Applying Lemmas 3.7.1 and 3.7.3 to N ( x ( j ) ), we see that dist N ( x ( j ) ) ( s,t ) ≤ 2 n 2 3 . Using Lemma 3.6.2 and the fact that each phase of Dinic’s algorithm results in a blocking flow, we see that j ≤ 2 n 2 3 . Thus, since at most τ phases remain after phase j we conclude that the total number of phases q is O ( n 2 3 )....
View
Full
Document
This document was uploaded on 08/10/2011.
 Spring '11
 Algorithms

Click to edit the document details