580 likes | 719 Views
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.
E N D
Routing in Undirected Graphs with Constant Congestion Julia Chuzhoy Toyota Technological Institute at Chicago
Routing Problems Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk). Goal: Route as many pairs as possible; minimize edge congestion.
Routing Problems Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk). Goal: Route as many pairs as possible; minimize edge congestion.
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
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
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
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
CongestionMinimization • Route all pairs; minimize congestion Edge Disjoint Paths (EDP) Route maximum number of pairs on edge-disjoint paths
Congestion Minimization Route all pairs; minimize congestion • -approximation [Raghavan, Thompson ‘87] • -hard to approximate [Andrews, Zhang ‘07]
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]
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]
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…
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
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]
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
Well-Linkedness[Robertson,Seymour], [Chekuri, Khanna, Shepherd], [Raecke]
Well-Linkedness Graph G is -well-linked for the set T of terminals, iff for any partition (A,B) of V(G),
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
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
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
Goal Embed an expander over a subset of terminals into G. • Include polylog(k)-fraction of the terminals • Constant congestion
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!
Embedding Expander into Graph After O(log2k) iterations, we get an expander embedded into G. Problem: congestion Ω(log2k)
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)
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.
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.
Embedding an Expander into G Routing on vertex-disjoint paths in X gives a good routing in G!
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.
Embedding an Expander into G Families of Good Vertex Sets
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.
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
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.
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.
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.
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.
Embedding an Expander Expander vertex the tree spanning the terminal Expander edges: via the cut-matching game of [KRV]
Embedding an Expander After O(log2k) iterations, we obtain an expander embedded into G.…
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. • .
Embedding an Expander After O(log2k) iterations, we obtain an expander embedded into G.…
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.
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.
Contracted Graphs contract • Only contract clusters C where • C is well-linked • Does not contain terminals • |out(C)|<k/polylog(k) Good contracted graph
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
Iteration Description |E(A)|≥|out(A)|/4 uncontract