Download presentation
Presentation is loading. Please wait.
Published byElijah Fowler Modified over 9 years ago
1
All Rights Reserved © Alcatel-Lucent 2006, ##### Matthew Andrews, Alcatel-Lucent Bell Labs Princeton Approximation Workshop June 15, 2011 Edge-Disjoint Paths with Congestion
2
Edge Disjoint Paths (EDP) This talk –Routing on Edge-Disjoint Paths –Useful primitive for many industrial routing problems
3
Edge Disjoint Paths (EDP) Input –Graph G (M edges, N nodes); –A set of demands, (s i, t i ); Output –A subset of demands routed on edge-disjoint paths; –Maximize such a subset s t t s OPT = 1
4
Edge Disjoint Paths (EDP) Input –Graph G (M edges, N nodes); –A set of demands, (s i, t i ); Output –A subset of demands routed on edge-disjoint paths; –Maximize such a subset s t t s OPT = 1 NP-hard problem One of the first!! (Karp’s list)
5
Congestion Minimization Input –Graph G (M edges, N nodes); –A set of demands, (s i, t i ); Output –Route all demands; –Minimize max number of demand routes per edge. s t t s OPT = 2
6
Edge Disjoint Paths with Congestion (EDPwC) Input –Graph G (M edges, N nodes); –A set of demands, (s i, t i ); –Congestion parameter c; Output –A subset of demands routed such that max congestion c –If ALG can route X/ demands with congestion c whenever OPT can route X demands with congestion 1 then ALG is an -approx with congestion c s t t s
7
Known Results Undirected Graphs –EDP solvable in polytime if the number of demands is constant –Robertson-Seymour Directed Graphs –NP-hard even for 2 demands –Fortune-Hopcroft-Wyllie
8
Known Results (Undirected Graphs) Positive –N 1/2 - approx with congestion 1 Chekuri-Khanna-Shepherd –1-approx with congestion log n Raghavan-Thompson –N 1/c - approx with congestion c Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein –polylog(N) - approx with congestion poly(log log N) A Negative –No log (1- )/(c+1) N - approx with congestion c –A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang
9
Known Results (Undirected Graphs) Positive –N 1/2 - approx with congestion 1 Chekuri-Khanna-Shepherd –1-approx with congestion log n Raghavan-Thompson –N 1/c - approx with congestion c Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein –polylog(N) - approx with congestion poly(log log N) A Negative –No log 0.5- N - approx with congestion 1 –A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang
10
Known Results (Undirected Graphs) Positive –N 1/2 - approx with congestion 1 Chekuri-Khanna-Shepherd –1-approx with congestion log n Raghavan-Thompson –N 1/c - approx with congestion c Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein –polylog(N) - approx with congestion poly(log log N) A Negative –No 1 - approx with congestion (log log N) 1- –A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang
11
Known Results (Undirected Graphs) Positive –N 1/2 - approx with congestion 1 Chekuri-Khanna-Shepherd –1-approx with congestion log n Raghavan-Thompson –N 1/c - approx with congestion c Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein –polylog(N) - approx with congestion poly(log log N) A Negative –No log (1- )/(c+1) N - approx with congestion c –A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang
12
Known Results (Undirected Graphs) Positive –N 1/2 - approx with congestion 1 Chekuri-Khanna-Shepherd –1-approx with congestion log n Raghavan-Thompson –N 1/c - approx with congestion c Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein –polylog(N) - approx with congestion poly(log log N) A Negative –No log (1- )/(c+1) N - approx with congestion c –A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang Open Question: Is there a polylog(N)-approx with constant congestion?
13
Known Results (Undirected Graphs) Positive –N 1/2 - approx with congestion 1 Chekuri-Khanna-Shepherd –1-approx with congestion log n Raghavan-Thompson –N 1/c - approx with congestion c Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein –log 61 (N)-approx with (log log N) 6 congestion A Negative –No log (1- )/(c+1) N - approx with congestion c –A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang Open Question: Is there a polylog(N)-approx with constant congestion?
14
Known Results (Undirected Graphs) Positive –N 1/2 - approx with congestion 1 Chekuri-Khanna-Shepherd –1-approx with congestion log n Raghavan-Thompson –N 1/c - approx with congestion c Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein –log 61 (N)-approx with (log log N) 6 congestion A Negative –No log (1- )/(c+1) N - approx with congestion c –A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang Open Question: Is there a polylog(N)-approx with constant congestion? This talk
15
Other Known Results Planar Graphs –O(1) - approx with congestion 4 –Chekuri-Khanna-Shepherd All-or-Nothing Flow (fractional paths allowed) –polylog(N) - approx with congestion 1 –Chekuri-Khanna-Shepherd
16
Known Results (Directed Graphs) Positive –N 1/c - approx with congestion c –Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein Negative –No N Ω(1/c) - approx with congestion c –A-Zhang, Chuzhoy-Guruswami-Khanna-Talwar
17
EDPwC in Graphs with Short Paths Fractional routing –If we allow fractional paths, problem is a linear program Known result #1 –If fractional path length is polylog(N), can route with congestion loglog N –Why? –Use randomized rounding. Each edge is dependent on polylog(N) other edges –Apply Lovasz Local Lemma s t t s 1/2
18
Graph Expansion Out-degree –Let out(S) = set of edges with one endpoint in S –Abuse: out(S) = | out(S) | Expander –Graph G is an expander if out(S) / |S| is large whenever S is small
19
EDPwC in Expanders Known result #2 –EDP has polylog(N)-approx in expanders –e.g. Broder-Frieze-Upfal, Kolman-Scheideler –Even better, can connect polylog(N) fraction of ANY set of terminals using disjoint paths Why? –Using random walks, can connect any pair of terminals with paths of polylog(N) length –Produces good fractional solution –Round fractional solution via Lovasz Local Lemma
20
Rao-Zhou Known result #3 –(Rao-Zhou) polylog(N) –approx on disjoint paths if min-cut in graph has size polylog(N)
21
Known Results (Undirected Graphs) Positive –N 1/2 - approx with congestion 1 Chekuri-Khanna-Shepherd –1-approx with congestion log n Raghavan-Thompson –N 1/c - approx with congestion c Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein –log 61 (N)-approx with (log log N) 6 congestion A Negative –No log (1- )/(c+1) N - approx with congestion c –A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang Open Question: Is there a polylog(N)-approx with constant congestion?
22
Hardness of EDPwC Hardness Idea 1 –If routing is fixed then there is reduction from Max Independent Set
23
Hardness of EDPwC Hardness Idea 2 –Embed hardness construction into expander (high-girth!) –Terminals are close together (distance log 1/2 N ) –Each demand has only 1 short ( canonical ) path –Low congestion soln must use canonical paths –Routing component is removed –Use previous reduction from Max-Indpt-Set –Use product of regular expander (e.g. random graph) with Max-Indpt-Set example
24
Known Results (Undirected Graphs) Positive –N 1/2 - approx with congestion 1 Chekuri-Khanna-Shepherd –1-approx with congestion log n Raghavan-Thompson –N 1/c - approx with congestion c Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein –log 61 (N)-approx with (log log N) 6 congestion A Negative –No log (1- )/(c+1) N - approx with congestion c –A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang Open Question: Is there a polylog(N)-approx with constant congestion?
25
Rao-Zhou Known result #3 –(Rao-Zhou) polylog(N) –approx on disjoint paths if min-cut in graph has size polylog(N)
26
Rao-Zhou Analysis Why? –(Khandekar-Rao-Vazirani) Can build expander on | T | terminals using polylog( | T | ) bipartite matchings
27
Rao-Zhou Analysis Application to EDPwC –Use max-flows to find matchings between terminals –How to bound congestion from max-flows ? (Max flows exist due to linkedness results of Chekuri-Khanna-Shepherd)
28
Partitioning –Randomly partition edges into polylog( | T | ) pieces –Solve max-flow in each piece –How do we know this is feasible? p-skeletons –(Karger sparsification) If min-cut in graph is large, all cuts are preserved in each component up to polylog( | T | ) factors –Can connect “enough” terminals using max-flow-min-cut thm Rao-Zhou Analysis
29
Build expanders –Use paths created in the previous phase to build expander on the terminals Route original demands –Now use standard polylog(N)-approx for routing in expanders Rao-Zhou Analysis
30
How to Attack General Case Obviously wrong approach –Solve EDPwC in expanders –Prove that every graph is an expander
31
So what else can we try? Divide and conquer? –Not all graphs have good expansion… –Can we partition any graph into subgraphs with good expansion? –Yes! –Use Räcke decomposition result expander
32
Räcke Decompositions Introduced for oblivious routing –w l (S) = # edges in S between two level l clusters –(Räcke) Can create log N levels s.t. for all small S in level l cluster U cap(S, U - S) ≥ w l +1 (S) / log N
33
Räcke Decompositions Introduced for oblivious routing –w l (S) = # edges in S between two level l clusters –(Räcke) Can create log N levels s.t. for all small S in level l cluster U cap(S, U - S) ≥ w l +1 (S) / log N Contract level l+1 clusters Get graph with good expansion
34
How to Attack General Case Different approach –Prove that every graph is an expander-of-expanders –Solve EDPwC in expanders-of-expanders ? Use Räcke decomposition result
35
Expanders-of-Expanders How to route in expander of expanders –Route recursively using expander routing? –Seems difficult –At each level we can route a 1/log N fraction of demands routed at higher level expander
36
Uniform Decomposition But do we need to recurse across all levels? –Suppose decomposition is uniform –For each cluster U either: –all subclusters S have out(S) ≤ log p N or –all subclusters S have out(S) ≥ log p N small large
37
Uniform Decomposition Critical clusters –Cluster U is critical if: –U is large –all subclusters S of U are small
38
Three Step Routing Step 1 –Shrink critical clusters to single nodes –All cuts are now large –Use Rao-Zhou
39
Three Step Routing Step 2 –Shrink small clusters to single nodes –Critical clusters now look like expanders –Route in critical clusters using expander routing
40
Three Step Routing Step 3 –Route across small clusters –Small clusters have polylog( N ) terminals –Using Rao-Zhou in small clusters gives poly( log log N ) congestion
41
Non-Uniform Result How can we handle non-uniform decompositions? –Basic idea: Ignore the non-uniform parts –…
42
Open Problems Can we lower congestion by going further down the Räcke hierarchy? Can we improve the hardness example via a hierarchical construction?
43
Three Step Routing Revisited Step 1 –Shrink critical clusters to single nodes –All cuts are now large –Use Rao-Zhou (incl Karger sparsification lemma) –i.e. partition edges in polylog(n) buckets using random sampling –All cuts are preserved (up to polylog(n) factors)
44
Three Step Routing Revisited Step 2 –Shrink small clusters to single nodes –Critical clusters now look like expanders –Route in critical clusters using expander routing
45
Three Step Routing Revisited Step 3 –Route across small clusters –Small clusters have polylog( N ) terminals –Using Rao-Zhou in small clusters gives poly( log log N ) congestion – But can we go further down the hierarchy to get better congestion?
46
Recursive Routing Small cluster routing –New defn for critical clusters based on poly(log log n) threshold –Randomly partition edges in poly(log log n) buckets –Problem!! - Could have poly(n) critical clusters Small cluster outdegree polylog(n) Outdegree poly( loglog(n)) New critical cluster
47
Hardness Revisited Could we improve hardness via a hierarchical example? –Original hardness result created on expander –Hardness for congestion cannot be larger than log (diam) = log log N
48
Hardness Revisited Could we improve hardness via a hierarchical example? –Original hardness result created on expander –Hardness for congestion cannot be larger than log (diam) = log log N –Can we improve hardness by considering “hierarchical expander” Expander
49
Hierarchical Decompositions What can uniform decompositions look like? Key parameters – l = Outdegree of level l cluster –Number of subclusters of level l cluster –Diameter of level l cluster when all subclusters are contracted
50
Hierarchical Decompositions Square mesh – l = Outdegree of level l cluster = 4 x 2 l –Number of subclusters of level l cluster = 4 –Diameter of level l cluster = 2
51
Hierarchical Decompositions Hierarchy of Expanders –Suppose we want unique short path at each level – l = Outdegree of level l cluster = ( l-1 ) d+1 / d –Number of subclusters of level l cluster = ( l-1 ) d –Diameter of level l cluster = d –Polynomial relationship between outdegree and size of cluster –Shortest path between s and t remains ≤ log N Expander
52
Hierarchical Decompositions Can we have the following in any natural decomposition? Can we handle this situation if it does occur? Better sparsification result? Outdegree of level l cluster l l-1 l-2 l-3 : 2 1 Number of subclusters in level l cluster exp( l ) exp( l-1 ) exp( l-2 ) exp( l-3 ) : exp( 2 ) exp( 1 )
53
Hierarchical Decompositions For hard examples –If outdegree of cluster is small, doesn’t make sense for the cluster to be large –Either all terminals lie within the cluster –Or most of the cluster is not useful for routing –Can we formalize this notion? Small cluster outdegree polylog(n)
54
Thank you
55
Non-Uniform Result What could a non-uniform decomposition look like? –Set of critical clusters joined by trees critical cluster
56
Non-Uniform Result What could a non-uniform decomposition look like? –Set of critical clusters joined by trees Not an acceptable cluster
57
Non-Uniform Result What could a non-uniform decomposition look like? –Set of critical clusters joined by trees
58
Non-Uniform Result What could a non-uniform decomposition look like? –Set of critical clusters joined by trees
59
Non-Uniform Result How do we deal with nodes outside critical cluster? –Replace each node in tree by an expander
60
Non-Uniform Result How do we deal with nodes outside critical cluster? –Use expanders to route on tree using low congestion paths
61
Non-Uniform Result –Use paths to join up critical clusters –Key property #1: all tree nodes are gone –Key property #2: all cuts are preserved (more or less) Use analysis for uniform decompositions!!
62
Non-Uniform Result But what about general non-uniform decompositions? –H = nodes that aren’t in a critical cluster H critical cluster
63
Non-Uniform Result But what about general non-uniform decompositions? –H = nodes that aren’t in a critical cluster H
64
Non-Uniform Result –Use a Räcke lemma to find small clusters around outside of H –Let H’ be the subset of H that is not in any of these clusters –|out( H’ )| ≤ |out( H )| / 2 –Can do this at most log(N) times H H’
65
Non-Uniform Result –Repeat log N times –Use small clusters to grow paths of logarithmic length that connect up critical clusters H
66
critical cluster Non-Uniform Result –So now we have critical clusters joined by paths of logarithmic length (just as in the “tree” case) –We are done… H
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.