1 / 58

Routing in Undirected Graphs with Constant Congestion

Routing in Undirected Graphs with Constant Congestion. Julia Chuzhoy Toyota Technological Institute at Chicago. Routing Problems. Input : Graph G, source-sink pairs (s 1 ,t 1 ),…,( s k ,t k ). Goal : Route as many pairs as possible; minimize edge congestion. Routing Problems.

donkor
Download Presentation

Routing in Undirected Graphs with Constant Congestion

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. Routing in Undirected Graphs with Constant Congestion Julia Chuzhoy Toyota Technological Institute at Chicago

  2. Routing Problems Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk). Goal: Route as many pairs as possible; minimize edge congestion.

  3. Routing Problems Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk). Goal: Route as many pairs as possible; minimize edge congestion.

  4. Routing Problems Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk). Goal: Route as many pairs as possible; minimize edge congestion. Edge congestion: 2

  5. Routing Problems Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk). Goal: Route as many pairs as possible; minimize edge congestion. n – number of graph vertices k – number of demand pairs terminals – vertices participating in the demand pairs

  6. Routing Problems Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk). Goal: Route as many pairs as possible; minimize edge congestion. • 3 pairs with congestion 2

  7. Routing Problems Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk). Goal: Route as many pairs as possible; minimize edge congestion. • 3 pairs with congestion 2 • 2 pairs with congestion 1

  8. CongestionMinimization • Route all pairs; minimize congestion Edge Disjoint Paths (EDP) Route maximum number of pairs on edge-disjoint paths

  9. Congestion Minimization Route all pairs; minimize congestion • -approximation [Raghavan, Thompson ‘87] • -hard to approximate [Andrews, Zhang ‘07]

  10. Edge Disjoint Paths (EDP) Route maximum number of pairs on edge-disjoint paths • When k is constant, can be solved efficiently [Robertson, Seymour ‘90] • NP-hard in general [Karp ’72] • -approximation algorithm [Chekuri, Khanna, Shepherd ’06]. Best possible? • LP-relaxation: maximum multicommodity flow between the demand pairs with no congestion. • Integrality gap:[Chekuri, Khanna, Shepherd ‘06]

  11. Edge Disjoint Paths (EDP) Route maximum number of pairs on edge-disjoint paths • When k is constant, can be solved efficiently [Robertson, Seymour ‘90] • NP-hard in general [Karp ’72] • -approximation algorithm [Chekuri, Khanna, Shepherd ’06]. • When global min-cut is , there is a polylog(n) approximation [Rao, Zhou ‘06] • -hardness of approximation for any [Andrews, Zhang ‘05], [Andrews, C, Guruswami, Khanna, Talwar, Zhang ’10]

  12. Special Cases Expander graphs In a strong enough constant-degree expander, any demand set on vertices can be routed on edge-disjoint paths [Frieze ‘00] Planar graphs, Trees…

  13. CongestionMinimization • Route all pairs; minimize congestion • -approximation • -hardness • Edge Disjoint Paths (EDP) • Route maximum number of pairs on edge-disjoint paths • -approximation • matching integrality gap • -hardness EDP with Congestion (EDPwC) A factor- approximation algorithm with congestion c routes . demand pairs with congestion at most c. optimum number of pairs with no congestion allowed

  14. EDPwC • Congestion : constant approximation [Raghavan, Thompson ‘87] • -approximation with congestion c [Azar, Regev’01], [Baveja, Srinivasan’00], [Kolliopoulos, Stein ‘04] • polylog(n)-approximation with congestion poly(log log n) [Andrews ‘10] Today: polylog(k)-approximation with congestion 14. • -hardness for any c [Andrews, C, Guruswami, Khanna, Talwar, Zhang ’10]

  15. CongestionMinimization • Route all pairs; minimize congestion • -approximation • -hardness • Edge Disjoint Paths (EDP) • Route maximum number of pairs on edge-disjoint paths • -approximation • matching integrality gap • -hardness • EDP with Congestion (EDPwC) • polylog(k)-approximation with congestion 14 • -hardness with congestion c

  16. Well-Linkedness[Robertson,Seymour], [Chekuri, Khanna, Shepherd], [Raecke]

  17. Well-Linkedness Graph G is -well-linked for the set T of terminals, iff for any partition (A,B) of V(G),

  18. Well-Linkedness Set S is -well-linked iff for any partition (A,B) of S, out(S) Normally Any matching on the edges of out(S) can be fractionally routed inside S with congestion

  19. Pre-Processing Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk). Theorem[Chekuri, Khanna Shepherd ‘04] Can efficiently partition G into disjoint subgraphs G1,…, Gr, such that: • For each induced sub-problem Githe terminals are well-linked • Total fractional solution value for all induced sub-problems is Can assume w.l.o.g. that G is well-linked for the terminals

  20. High-Level Plan [CKS ‘04] Crossbar • Embed an expander on a subset of terminals into G. • expander vertices terminals • expander edges paths in G • Route a subset of the demand pairs in the expander Embedding congestion: max load on any edge of G

  21. Goal Embed an expander over a subset of terminals into G. • Include polylog(k)-fraction of the terminals • Constant congestion

  22. Cut-Matching Game [Khandekar, Rao, Vazirani’06] Cut Player: wants to build an expander Matching Player: wants to delay its construction There is a strategy for cut player, s.t.after O(log2n) iterations, we get an expander!

  23. Embedding Expander into Graph

  24. Embedding Expander into Graph After O(log2k) iterations, we get an expander embedded into G. Problem: congestion Ω(log2k)

  25. Solution? Idea[Rao Zhou ‘06]: • Split G into graphs G1,…,Gh • V(Gi)=V(G) for all i • Every edge of G belongs to at most one Gi • Each Gi well-linked for the terminals • h=O(log2k) • Run the cut-matching game. Use Gi to route flow in iteration i. Problem: Can only do it if min-cut in G is Ω(log5n) • [Andrews ‘10] adapted this to general graphs, with congestion poly(log log n)

  26. Getting a Constant Congestion

  27. Starting Point Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk). G is well-linked for the terminals. Goal: Route OPT/polylog(k) demand pairs with constant congestion.

  28. Embedding an Expander into G Expander vertex connected component in G containing the terminal Expander edge path connecting some pair of vertices in the two components An edge of G may only belong to a constant number of the components/paths.

  29. Embedding an Expander into G Routing on vertex-disjoint paths in X gives a good routing in G!

  30. Embedding an Expander into G Expander vertex connected component in G containing the terminal Expander edge path connecting some pair of vertices in the two components An edge of G may only belong to a constant number of the components/paths.

  31. Embedding an Expander into G Families of Good Vertex Sets

  32. Good Vertex Subset • S is a good vertex subset iff: • S contains no terminals • S is well-linked • There are k/polylog k paths connecting out(S) to the terminals, with congestion polylog k.

  33. Family of Good Vertex Subsets Ω(log2k) disjoint good vertex subsets. • Each subset can send k/(polylog k) flow units to the terminals • total congestion polylog k

  34. Rest of the proof • We can find a good family of subsets. • Given a good family of subsets, we can embed an expander into G.

  35. Rest of the proof • We can find a good family of subsets. • Given a good family of subsets, we can embed an expander into G.

  36. Want: • k/polylog k trees • every edge of G participates in a constant number of trees • Each tree Ti spans a distinct terminal ti and a distinct edge eij in out(Sj) for each j.

  37. Want: • k/polylog k trees • every edge of G participates in a constant number of trees • Each tree Ti spans a distinct terminal ti and a distinct edge eij in out(Sj) for each j. • Edge eij is viewed as a copy of ti for set Sj.

  38. Embedding an Expander

  39. Embedding an Expander Expander vertex the tree spanning the terminal Expander edges: via the cut-matching game of [KRV]

  40. Embedding an Expander

  41. Embedding an Expander After O(log2k) iterations, we obtain an expander embedded into G.…

  42. Grouping Technique [CKS] - well-linked - selected edges • is very well-linked • Any partition of into equal-sized subsets can be integrally routed with congestion 2. • .

  43. Embedding an Expander After O(log2k) iterations, we obtain an expander embedded into G.…

  44. Rest of the proof • We can find a good family of subsets. • Given a good family of subsets, we can embed an expander into G.

  45. Rest of the proof • We can find a good family of subsets. • Given a good family of subsets, we can embed an expander into G.

  46. Contracted Graphs contract • Only contract clusters C where • C is well-linked • Does not contain terminals • |out(C)|<k/polylog(k) Good contracted graph

  47. Finding a Good Vertex Subset • Start with G. • In every iteration: • either find a good vertex subset • or find a good contracted graph with fewer edges

  48. Iteration Description |E(A)|≥|out(A)|/4 uncontract

More Related