1 / 46

Single Sink Edge Installation

Single Sink Edge Installation. Kunal Talwar UC Berkeley. 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 s q “routing” cost per unit length d q

aqua
Download Presentation

Single Sink Edge Installation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Single Sink Edge Installation Kunal Talwar UC Berkeley

  2. Problem Definition • Given: • A graph G=(V,E) , sink ‘t • Sources s1,s2,…, sm • k Discount types: • “building” cost per unit length sq • “routing” cost per unit length dq • Find cheapest installation to route a unit of demand from each source si

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

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

  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 sq,dq

  6. Special case • Only one cable type • Extraspecial subcases: • If d=0) build steiner tree. • If s=0) 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 dT(root,v) at most 3 times dG(root,v).

  7. Single cable type: Algorithm • Build a steiner tree. • Convert to LAST ! Analysis - • OPT ¸s(optimal steiner tree). • OPT ¸d åv dG(s,v). • Cost = 2s(steiner tree) + d 3åv dG(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 zqe is 1 if edge e has discount type q installed • Flow variable fje;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 zqe is 1 if edge e has discount type q installed • Flow variable fje;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. Linear Integer program • Subject to : • Flow conservation • Flow monotonicity • Outflow =1 • Route on edge e only if edge built • Integrality contraints

  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 • Tk = {t} • For each discount type q (from highest to lowest) • Identify what to connect in this stage • Connect it to Tq+1 with discount type q to get Tq

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

  15. Identifying what to connect • For a fractional solution f, flow from vj 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 vj travels some average number of edges on low discount types. • Beyond that radius, fractional solution uses high discount types • Form balls of radius 2Rqj around node vj

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

  18. Identifying what to connect • For a fractional solution f, flow from vj travels some average number of edges on low discount types. • Beyond that radius, fractional solution uses high discount types • Form balls of radius 2Rqj around node vj • Select a set of non intersecting balls in increasing order of radii. • Each node vl has a buddy within distance 4Rql

  19. Identifying what to connect….

  20. Identifying what to connect…. vj Less Than 4Rqj

  21. Connecting it… • Contract all selected balls • Shrink Tq+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 2Rqj

  22. Connecting it …. j i

  23. Connecting it …. j i

  24. Connecting it …. j i Less than 2Rqj

  25. Connecting it …. j Less Than 4Rqj i

  26. Connecting it …. Each node (using its buddy) has someone in the tree Tq within 6Rqj Less Than 6Rqj j i

  27. Analysis: Building Cost • Key Lemma : Let D(S) be the set of edges on the boundary of S ¶B(vj,2Rqj), r 2 Sc. Let z,f be any feasible solution to the LP. Then Proof :

  28. Lemma proof: t Flow f Flow (1-f) vj

  29. t Flow f Flow (1-f) vj Lemma proof: 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 D(S) < 1/2 Then > half the flow travels at least 2Rqj on low discounts This flow itself contributes > Rqj to Rqj. Contradiction. S

  30. Lemma proved… • Lemma : Let D(S) be the set of edges on the boundary of S ¶B(vj,2Rqj), r 2 Sc. Let z,f be any feasible solution to the LP. Then

  31. Lemma proved… • Lemma : Let D(S) be the set of edges on the boundary of S ¶B(vj,2Rqj), r 2 Sc. Let z,f be any feasible solution to the LP. Then Recall that Steiner tree LP is:

  32. Lemma proved… • Lemma : Let D(S) be the set of edges on the boundary of S ¶B(vj,2Rqj), r 2 Sc. Let z,f be any feasible solution to the LP. Then Recall that Steiner tree LP is: i.e. 2åp¸ q zqe 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 2sq times åeåp¸ q zpe. • Thus the LASTq is no more than twice this. • Let OPTbq = OPT’s building cost for discount type q. • Then LASTq cost is 8åp¸ q (sq/sp)OPTbp

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

  35. Building Cost (contd…) • sp¸ 2p-qsq • LASTq cost is 8åp¸ q (sq/sp)OPTbp • Now things work out fine ! • We get : Total building cost · 16 OPTb

  36. Routing costs • Path from v to t uses increasingly higher discount type. Let the path be v=u0,u1,…uk=t • uq-uq+1 uses discount type q. • v’s routing cost = åqdq dT(uq,uq+1)

  37. Routing costs… u3= t Routing cost on discount type 2 u2 Proxy(v) d2 Length of this = d2 d(u1,u2) u1 u0=v

  38. Routing costs… u3= t u2 Proxy(v) d2 Length of this = d2 d(u1,u2) · 3 d2 d(u1,Proxy(v)) u1 u0=v coz we built a LAST !

  39. Routing costs… u3= t u2 Proxy(v) d2 Length of this = d2 d(u1,u2) · 3 d2 d(u1,Proxy(v)) · 3 d2(d(u1,v) + d(v,Proxy(v))) u1 u0=v

  40. Routing costs… u3= t u2 Proxy(v) d2 Length of this = d2 d(u1,u2) · 3 d2 d(u1,Proxy(v)) · 3 d2(d(u1,v) + d(v,Proxy(v))) u1 u0=v bounded by 6R2v ~ what fractional sol. pays

  41. Routing costs… u3= t u2 Proxy(v) d2 Length of this = d2 d(u1,u2) · 3 d2 d(u1,Proxy(v)) · 3 d2(d(u1,v) + d(v,Proxy(v))) u1 u0=v already paid d1¸ 2 d2 for this

  42. Routing costs… u3= t u2 Proxy(v) d2 Length of this = d2 d(u1,u2) · 3 d2 d(u1,Proxy(v)) · 3 d2(d(u1,v) + d(v,Proxy(v))) u1 u0=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 vj 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?

More Related