This preview shows pages 1–3. 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: Chapter 16 Network Flow V  Mincost flow By Sariel HarPeled , October 19, 2007 Version: 1.01 16.1 Minimum Average Cost Cycle Let G = ( V , E ) be a digraph (i.e., a directed graph) with n vertices and m edges, and : E IR be a weight function on the edges. A directed cycle is closed walk C = ( v , v 1 , . . . , v t ), where v t = v and ( v i v i + 1 ) E , for i = , . . . , t 1. The average cost of a directed cycle is AvgCost( C ) = ( C ) / t = ( e C ( e ) ) / t . For each k = , 1 , . . . , and v V , let d k ( v ) denote the minimum length of a walk with exactly k edges, ending at v . So, for each v , we have d ( v ) = and d k + 1 ( v ) = min e = ( u v ) E d k ( u ) + ( e ) . Thus, we can compute d i ( v ), for i = , . . . , n and v V ( G ) in O ( nm ) time using dynamic program ming. Let AvgCost min ( G ) = min C is a cycle in G AvgCost( C ) denote the average cost of the minimum average cost cycle in G . The following theorem is somewhat surprising. Theorem 16.1.1 The minimum average cost of a directed cycle in G is equal to = min v V n 1 max k = d n ( v ) d k ( v ) n k . Namely, = AvgCost min ( G ) . Proof: Note, that adding a quantity r to the weight of every edge of G increases the average cost of a cycle AvgCost( C ) by r . Similarly, would also increase by r . In particular, we can assume that the price of the minimum average cost cycle is zero. This implies that now all cycles have nonnegative (average) cost. This work is licensed under the Creative Commons AttributionNoncommercial 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/bync/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. 1 v Figure 16.1: Decomposing P n into a path and a cycle . Assume, that is realized by a vertex v . Let P n be a walk with n edges ending at v , of length d n ( v ). Since there are n vertices in G , it must be that P n must contain a cycle. So, let us decompose P n into a cycle of length n k and a path of length k ( k depends on the length of the cycle in P n ). We have that d n ( v ) = ( P n ) = ( ) + ( ) ( ) d k ( v ) , since ( ) 0 as is a cycle. As such, we have d n ( v ) d k ( v ) 0. Let ( v ) = n 1 max j = d n ( v ) d j ( v ) n j d n ( v ) d k ( v ) n k . Now, = min v ( v ) 0. v w C Next, we prove that 0. Let C = ( v , v 1 , . . . , v t ) be the directed cycle of weight 0 in the graph. Observe, that min j = d j ( v ) must be realized by an index r < n , since if it is longer, we can always shorten it by removing cycles and improve its price (since cycles have non negative price). Let denote this walk of length r ending at v . Let w be a vertex on C reached by walking n r edges on C starting from v , and let denote this walk (i.e.,   = n r ). We have that d n ( w...
View
Full
Document
This note was uploaded on 06/14/2009 for the course CS 473 taught by Professor Viswanathan during the Fall '08 term at University of Illinois at Urbana–Champaign.
 Fall '08
 Viswanathan
 Algorithms

Click to edit the document details