Digraphs+Theory,+Algorithms+and+Applications_Part8

Digraphs+Theory,+Algorithms+and+Applications_Part8 - 3.7...

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

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the 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 2-cycles. The case when N does have a 2-cycle 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.

Page1 / 20

Digraphs+Theory,+Algorithms+and+Applications_Part8 - 3.7...

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

View Full Document Right Arrow Icon
Ask a homework question - tutors are online