Presentation is loading. Please wait.

Presentation is loading. Please wait.

Single Sink Edge Installation Kunal Talwar UC Berkeley.

Similar presentations


Presentation on theme: "Single Sink Edge Installation Kunal Talwar UC Berkeley."— Presentation transcript:

1 Single Sink Edge Installation Kunal Talwar UC Berkeley

2 Problem Definition Given: A graph G=(V,E), sink ‘t Sources s 1,s 2,…, s m k Discount types: “building” cost per unit length  q “routing” cost per unit length  q Find cheapest installation to route a unit of demand from each source s i

3 Example Given sources and the underlying graph t Find subgraph and cable type for each edge to minimize total cost

4 t Example Given sources and the underlying graph Find subgraph and cable type for each edge to minimize total cost t

5 Related Work Salman, et.al. ’97 - A constant factor for single cable type case (LASTs) Awerbuch, Azar ’98 - O(log n loglog n)- approximation (tree embedding) Meyerson, et.al. ’00 - O(log n) (comb.) Garg et.al. ’01 - O(k) (LP rounding) Guha et.al. ’01 - O(1) (you just heard !) This work – LP rounding - O(1). Goel, Estrin, ’03 – O(log n) oblivious to  q,  q

6 Special case Only one cable type Extraspecial subcases: If  ) build steiner tree. If  ) use shortest path tree. In general, want a Light Approximate Shortestpath Tree KRY ’94 – LASTs – tree of cost at most 2 times a given connecting tree, with d T (root,v) at most 3 times d G (root,v).

7 Single cable type: Algorithm Build a steiner tree. Convert to LAST ! Analysis - OPT ¸  (optimal steiner tree). OPT ¸  v d G (s,v). Cost = 2  (steiner tree) +  3  v d G (s,v) · 7OPT.

8 About OPT… It’s a tree ! As we travel from a source to sink Total traffic only increases….. So thicker and thicker cables… We let the LP know the above…

9 Integer Program Variable z q e is 1 if edge e has discount type q installed Flow variable f j e;q is 1 if flow from j uses discount type q on edge e Objective function – cost of building the network –

10 Integer Program Variable z q e is 1 if edge e has discount type q installed Flow variable f j e;q is 1 if flow from j uses discount type q on edge e Objective function – cost of building the network – cost of routing the demands –

11 Integer program Subject to : Flow conservation Flow monotonicity Outflow =1 Route on edge e only if edge built Integrality contraints Linear

12 Rounding the linear program Top down Use the linear program solution to guide the algorithm Use the linear program cost as the lower bound

13 Algorithm outline T k = {t} For each discount type q (from highest to lowest) Identify what to connect in this stage Connect it to T q+1 with discount type q to get T q

14 Identifying what to connect For a fractional solution f, flow from v j travels some average number of edges on low discount types.

15 Identifying what to connect For a fractional solution f, flow from v j travels some average number of edges on low discount types. Beyond that radius, fractional solution uses high discount types

16 Identifying what to connect For a fractional solution f, flow from v j travels some average number of edges on low discount types. Beyond that radius, fractional solution uses high discount types Form balls of radius  R q j around node v j

17 Identifying what to connect For a fractional solution f, flow from v j travels some average number of edges on low discount types. Beyond that radius, fractional solution uses high discount types Form balls of radius  R q j around node v j Select a set of non intersecting balls in increasing order of radii.

18 Identifying what to connect For a fractional solution f, flow from v j travels some average number of edges on low discount types. Beyond that radius, fractional solution uses high discount types Form balls of radius  R q j around node v j Select a set of non intersecting balls in increasing order of radii. Each node v l has a buddy within distance 4R q l

19 Identifying what to connect….

20 Less Than 4R q j vjvj

21 Connecting it… Contract all selected balls Shrink T q+1 Build a Steiner tree on the contracted nodes Convert to LAST Each selected vertex has a proxy in its ball at distance at most  R q j

22 Connecting it …. j i

23 j i

24 Less than  R q j j i

25 Connecting it …. Less Than  R q j j i

26 Connecting it …. Less Than  R q j j i Each node (using its buddy) has someone in the tree T q within  R q j

27 Analysis: Building Cost Key Lemma : Let  (S) be the set of edges on the boundary of S ¶ B(v j,  R q j ), r 2 S c. Let z,f be any feasible solution to the LP. Then Proof :

28 Lemma proof: t Flow f Flow (1-f) vjvj

29 Lemma proof: t Flow f Flow (1-f) vjvj S A total flow of 1 leaves S Flow crossing the boundary on low discounts reaches there on low discounts. (monotonicity) Suppose the high discounts built at  (S) < 1/2 Then > half the flow travels at least 2R q j on low discounts This flow itself contributes > R q j to R q j. Contradiction.

30 Lemma proved… Lemma : Let  (S) be the set of edges on the boundary of S ¶ B(v j,  R q j ), r 2 S c. Let z,f be any feasible solution to the LP. Then

31 Lemma proved… Lemma : Let  (S) be the set of edges on the boundary of S ¶ B(v j,  R q j ), r 2 S c. Let z,f be any feasible solution to the LP. Then Recall that Steiner tree LP is:

32 Lemma proved… Lemma : Let  (S) be the set of edges on the boundary of S ¶ B(v j,  R q j ), r 2 S c. Let z,f be any feasible solution to the LP. Then Recall that Steiner tree LP is: i.e. 2  p ¸ q z q e is a feasible fractional Steiner tree.

33 Building Cost (contd…) Steiner tree LP has gap · 2 Hence our steiner tree cost is no more than 2  q times  e  p ¸ q z p e. Thus the LAST q is no more than twice this. Let OPT b q = OPT’s building cost for discount type q. Then LAST q cost is 8  p ¸ q (  q /  p )OPT b p

34 Scaling… We prune the discount types in the beginning to be sure that they are all different enough ! More formally, ensure  q+1 ¸ 2  q  q+1 · (1/2)  q Can be done with a factor 2 change in cost

35 Building Cost (contd…)  p ¸ 2 p-q  q LAST q cost is 8  p ¸ q (  q /  p )OPT b p Now things work out fine ! We get : Total building cost · 16 OPT b

36 Routing costs Path from v to t uses increasingly higher discount type. Let the path be v=u 0,u 1,…u k =t u q - u q+1 uses discount type q. v’s routing cost =  q  q d T (u q,u q+1 )

37 Routing costs… u 3 = t u 0 =vu1u1 u2u2 Proxy(v)  2 Length of this =  2 d(u 1,u 2 ) Routing cost on discount type 2

38 Routing costs… u 3 = t u 0 =vu1u1 u2u2 Proxy(v)  2 Length of this =  2 d(u 1,u 2 ) · 3  2 d(u 1,Proxy(v)) coz we built a LAST !

39 Routing costs… u 3 = t u 0 =vu1u1 u2u2 Proxy(v)  2 Length of this =  2 d(u 1,u 2 ) · 3  2 d(u 1,Proxy(v)) · 3  2 (d(u 1,v) + d(v,Proxy(v)))

40 Routing costs… u 3 = t u 0 =vu1u1 u2u2 Proxy(v)  2 Length of this =  2 d(u 1,u 2 ) · 3  2 d(u 1,Proxy(v)) · 3  2 (d(u 1,v) + d(v,Proxy(v))) bounded by 6R 2 v ~ what fractional sol. pays

41 Routing costs… u 3 = t u 0 =vu1u1 u2u2 Proxy(v) already paid  1 ¸ 2  2 for this  2 Length of this =  2 d(u 1,u 2 ) · 3  2 d(u 1,Proxy(v)) · 3  2 (d(u 1,v) + d(v,Proxy(v)))

42 Routing costs… u 3 = t u 0 =vu1u1 u2u2 Proxy(v)  2 Length of this =  2 d(u 1,u 2 ) · 3  2 d(u 1,Proxy(v)) · 3  2 (d(u 1,v) + d(v,Proxy(v))) Total routing cost v pays in sol is O(what v pays in LP)

43 Hence…. Theorem: Algorithm described has cost within a constant factor of the LP optimum. Recap: LP tells us how far from v j to go before LP can pay for building high discount types LAST + selection of balls ensures routing cost is not too high Scaling crucial in both cases !

44 Conclusions Get a constant factor approximation algorithm The natural LP has a constant integrality gap.

45 Conclusions Get a constant factor approximation algorithm The natural LP has a constant integrality gap. Open problems: More reasonableh constants The general buy-at-bulk problem Combinatorial lower bounds off by log LP might be the right approach

46 Paper available at http://www.cs.berkeley.edu/~kunal/acads/bb.ps Questions?


Download ppt "Single Sink Edge Installation Kunal Talwar UC Berkeley."

Similar presentations


Ads by Google