Download presentation
Presentation is loading. Please wait.
Published byHelena Denmon Modified over 10 years ago
1
Routing in Undirected Graphs with Constant Congestion Julia Chuzhoy Toyota Technological Institute at Chicago
2
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.
3
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.
4
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. Edge congestion: 2
5
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. n – number of graph vertices k – number of demand pairs terminals – vertices participating in the demand pairs 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 (s 1,t 1 ),…,(s k,t k ). Goal: Route as many pairs as possible; minimize edge congestion. 3 pairs with congestion 2
7
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. 3 pairs with congestion 2 2 pairs with congestion 1 3 pairs with congestion 2 2 pairs with congestion 1
8
Edge Disjoint Paths (EDP) Route maximum number of pairs on edge-disjoint paths Congestion Minimization Route all pairs; minimize congestion
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
Edge Disjoint Paths (EDP) Route maximum number of pairs on edge-disjoint paths -approximation matching integrality gap -hardness Congestion Minimization Route all pairs; minimize congestion -approximation -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
Edge Disjoint Paths (EDP) Route maximum number of pairs on edge-disjoint paths -approximation matching integrality gap -hardness Congestion Minimization Route all pairs; minimize congestion -approximation -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 out(S) Set S is -well-linked iff for any partition (A,B) of S, NormallyAny matching on the edges of out(S) can be fractionally routed inside S with congestion
19
Pre-Processing Input: Graph G, source-sink pairs (s 1,t 1 ),…,(s k,t k ). Theorem [Chekuri, Khanna Shepherd 04] Can efficiently partition G into disjoint subgraphs G 1,…, G r, such that: For each induced sub-problem G i the 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
1.Embed an expander on a subset of terminals into G. – expander vertices terminals – expander edges paths in G 2.Route a subset of the demand pairs in the expander High-Level Plan [CKS 04] Embedding congestion: max load on any edge of G Crossbar
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(log 2 n) iterations, we get an expander!
23
Embedding Expander into Graph
24
After O(log 2 k) iterations, we get an expander embedded into G. Problem: congestion Ω(log 2 k)
25
Solution? Idea [Rao Zhou 06]: Split G into graphs G 1,…,G h – V(G i )=V(G) for all i – Every edge of G belongs to at most one G i – Each G i well-linked for the terminals – h=O(log 2 k) Run the cut-matching game. Use G i to route flow in iteration i. Problem: Can only do it if min-cut in G is Ω(log 5 n) [Andrews 10] adapted this to general graphs, with congestion poly(log log n)
26
Getting a Constant Congestion
27
Input: Graph G, source-sink pairs (s 1,t 1 ),…,(s k,t k ). G is well-linked for the terminals. Goal: Route OPT/polylog(k) demand pairs with constant congestion. Starting Point
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
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
31
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 Ω(log 2 k) 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 1.We can find a good family of subsets. 2.Given a good family of subsets, we can embed an expander into G.
35
Rest of the proof 1.We can find a good family of subsets. 2.Given a good family of subsets, we can embed an expander into G.
37
Want: k/polylog k trees every edge of G participates in a constant number of trees Each tree T i spans a distinct terminal t i and a distinct edge e ij in out(S j ) for each j.
38
Want: k/polylog k trees every edge of G participates in a constant number of trees Each tree T i spans a distinct terminal t i and a distinct edge e ij in out(S j ) for each j. Edge e ij is viewed as a copy of t i for set S j.
40
Embedding an Expander
41
Expander vertex the tree spanning the terminal Expander edges: via the cut-matching game of [KRV]
42
Embedding an Expander
43
After O(log 2 k) iterations, we obtain an expander embedded into G.…
44
- well-linked Grouping Technique [CKS] is very well-linked Any partition of into equal-sized subsets can be integrally routed with congestion 2.. - selected edges
45
Embedding an Expander After O(log 2 k) iterations, we obtain an expander embedded into G.…
46
Rest of the proof 1.We can find a good family of subsets. 2.Given a good family of subsets, we can embed an expander into G.
47
Rest of the proof 1.We can find a good family of subsets. 2.Given a good family of subsets, we can embed an expander into G.
48
Contracted Graphs contract Only contract clusters C where C is well-linked Does not contain terminals |out(C)|<k/polylog(k) Good contracted graph
49
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
50
Iteration Description |E(A)||out(A)|/4 uncontract
51
Iteration Description well-linked decomposition |E(A)||out(A)|/4 Well-linked Decomposition [Chekuri, Khanna, Shepherd], [Raecke] New clusters are well-linked …
52
Iteration Description well-linked decomposition contract now |E(A)|<<|out(A)| Problem: for some cluster C, |out(C)| may be too large |E(A)||out(A)|/4
53
Iteration Description C is a good cluster? Well-linked C
54
Iteration Description C C is a good cluster? Well-linked Can route k/polylog(k) flow units to the terminals? yes no C is a good set! A small cut separates C from the terminals
55
Iteration Description uncontract well-linked decomposition contract good contracted graph with fewer edges!
56
Finding a Good Vertex Subset Random subset A of vertices Uncontract + Well-linked decomposition All clusters have small out- degree? Good vertex subset? yes smaller contracted graph yes done! no smaller contracted graph uncontract + WLD+contract
57
Algorithm for EDPwC Find a good family of vertex subsets Embed an expander into G Find vertex-disjoint routing on the expander Transform into routing in G
58
Summary We obtain a polylog(k)-approximation for EDPwC with congestion 14. Smaller congestion? Congestion minimization? Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.