approx with congestion poly(log log N)

Edge-Disjoint Paths with Congestion
Matthew Andrews, Alcatel-Lucent Bell Labs
Princeton Approximation Workshop June 15, 2011
All Rights Reserved © Alcatel-Lucent 2006, #####
Edge Disjoint Paths (EDP)
• This talk
– Routing on Edge-Disjoint Paths
– Useful primitive for many industrial routing problems
Edge Disjoint Paths (EDP)
OPT = 1
• Input
– Graph G (M edges, N nodes);
– A set of demands, (si , ti);
s
t
s
t
• Output
– A subset of demands routed on edge-disjoint paths;
– Maximize such a subset
Edge Disjoint Paths (EDP)
OPT = 1
• Input
– Graph G (M edges, N nodes);
– A set of demands, (si , ti);
s
t
s
t
• Output
– A subset of demands routed on edge-disjoint paths;
– Maximize such a subset
NP-hard problem
One of the first!! (Karp’s list)
Congestion Minimization
• Input
– Graph G (M edges, N nodes);
– A set of demands, (si , ti);
OPT = 2
s
t
s
t
• Output
– Route all demands;
– Minimize max number of demand routes per edge.
Edge Disjoint Paths with Congestion (EDPwC)
• Input
– Graph G (M edges, N nodes);
– A set of demands, (si , ti);
– Congestion parameter c;
s
t
s
t
• Output
– A subset of demands routed such that max congestion  c
– If ALG can route X/a demands with congestion c whenever OPT can
route X demands with congestion 1 then
ALG is an a-approx with congestion c
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
Known Results (Undirected Graphs)
• Positive
– N1/2 - approx with congestion 1
Chekuri-Khanna-Shepherd
– 1-approx with congestion log n
Raghavan-Thompson
– N1/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
Known Results (Undirected Graphs)
• Positive
– N1/2 - approx with congestion 1
Chekuri-Khanna-Shepherd
– 1-approx with congestion log n
Raghavan-Thompson
– N1/c - approx with congestion c
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
– polylog(N) - approx with congestion poly(log log N)
A
• Negative
– No log0.5- N - approx with congestion 1
–
A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang
Known Results (Undirected Graphs)
• Positive
– N1/2 - approx with congestion 1
Chekuri-Khanna-Shepherd
– 1-approx with congestion log n
Raghavan-Thompson
– N1/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
Known Results (Undirected Graphs)
• Positive
– N1/2 - approx with congestion 1
Chekuri-Khanna-Shepherd
– 1-approx with congestion log n
Raghavan-Thompson
– N1/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
Known Results (Undirected Graphs)
• Positive
– N1/2 - approx with congestion 1
Chekuri-Khanna-Shepherd
– 1-approx with congestion log n
Raghavan-Thompson
– N1/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?
Known Results (Undirected Graphs)
• Positive
– N1/2 - approx with congestion 1
Chekuri-Khanna-Shepherd
– 1-approx with congestion log n
Raghavan-Thompson
– N1/c - approx with congestion c
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
– log61(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?
Known Results (Undirected Graphs)
• Positive
– N1/2 - approx with congestion 1
Chekuri-Khanna-Shepherd
– 1-approx with congestion log n
Raghavan-Thompson
– N1/c - approx with congestion c
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
– log61(N)-approx with (log log N)6 congestion
A
• Negative
This talk
– 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?
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
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
EDPwC in Graphs with Short Paths
• Fractional routing
– If we allow fractional paths, problem is
a linear program
1/2
s
t
1/2
1/2
s
t
1/2
• 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
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
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
Rao-Zhou
• Known result #3
– (Rao-Zhou) polylog(N) –approx on disjoint paths if min-cut in
graph has size polylog(N)
Known Results (Undirected Graphs)
• Positive
– N1/2 - approx with congestion 1
Chekuri-Khanna-Shepherd
– 1-approx with congestion log n
Raghavan-Thompson
– N1/c - approx with congestion c
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
– log61(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?
Hardness of EDPwC
• Hardness Idea 1
– If routing is fixed then there is reduction from Max Independent
Set
Hardness of EDPwC
• Hardness Idea 2
– Embed hardness construction into expander (high-girth!)
– Terminals are close together (distance log1/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
Known Results (Undirected Graphs)
• Positive
– N1/2 - approx with congestion 1
Chekuri-Khanna-Shepherd
– 1-approx with congestion log n
Raghavan-Thompson
– N1/c - approx with congestion c
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
– log61(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?
Rao-Zhou
• Known result #3
– (Rao-Zhou) polylog(N) –approx on disjoint paths if min-cut in
graph has size polylog(N)
Rao-Zhou Analysis
• Why?
– (Khandekar-Rao-Vazirani) Can build expander on | T | terminals
using polylog( | T | ) bipartite matchings
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)
Rao-Zhou Analysis
• 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
• 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
How to Attack General Case
• Obviously wrong approach
– Solve EDPwC in expanders
– Prove that every graph is an expander
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?
expander
expander
expander
– Yes!
– Use Räcke decomposition result
Räcke Decompositions
• Introduced for oblivious routing
– wl(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) ≥ wl +1 (S) / log N
Räcke Decompositions
• Introduced for oblivious routing
– wl(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) ≥ wl +1 (S) / log N
• Contract level l+1 clusters
• Get graph with good
expansion
How to Attack General Case
• Different approach
– Prove that every graph is an expander-of-expanders
Use Räcke decomposition result
– Solve EDPwC in expanders-of-expanders
?
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
expander
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) ≤ logp N or
– all subclusters S have out(S) ≥ logp N
small
large
Uniform Decomposition
• Critical clusters
– Cluster U is critical if:
– U is large
– all subclusters S of U are small
Three Step Routing
• Step 1
– Shrink critical clusters to single nodes
– All cuts are now large
– Use Rao-Zhou
Three Step Routing
• Step 2
– Shrink small clusters to single nodes
– Critical clusters now look like expanders
– Route in critical clusters using expander routing
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
Non-Uniform Result
• How can we handle non-uniform decompositions?
– Basic idea: Ignore the non-uniform parts
– …
Open Problems
• Can we lower congestion by going further down the
Räcke hierarchy?
• Can we improve the hardness example via a hierarchical
construction?
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)
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
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?
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)
New critical cluster
Outdegree poly( loglog(n))
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
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
Expander
Expander
Hierarchical Decompositions
• What can uniform decompositions look like?
• Key parameters
– Dl = Outdegree of level l cluster
– Number of subclusters of level l cluster
– Diameter of level l cluster when all subclusters are contracted
Hierarchical Decompositions
• Square mesh
– Dl = Outdegree of level l cluster = 4 x 2l
– Number of subclusters of level l cluster = 4
– Diameter of level l cluster = 2
Hierarchical Decompositions
• Hierarchy of Expanders
–
–
–
–
Suppose we want unique short path at each level
Dl = Outdegree of level l cluster = (Dl-1)d+1 / d
Number of subclusters of level l cluster = (Dl-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
Expander
Expander
Hierarchical Decompositions
• Can we have the following in any natural decomposition?
Outdegree of level l cluster
Dl
Dl-1
Dl-2
Dl-3
:
D2
D1
Number of subclusters in level l cluster
exp(Dl)
exp(Dl-1 )
exp(Dl-2 )
exp(Dl-3 )
:
exp(D2 )
exp(D1 )
• Can we handle this situation if it does occur?
• Better sparsification result?
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)
Thank you
Non-Uniform Result
• What could a non-uniform decomposition look like?
– Set of critical clusters joined by trees
critical cluster
Non-Uniform Result
• What could a non-uniform decomposition look like?
– Set of critical clusters joined by trees
Not an acceptable cluster
Non-Uniform Result
• What could a non-uniform decomposition look like?
– Set of critical clusters joined by trees
Non-Uniform Result
• What could a non-uniform decomposition look like?
– Set of critical clusters joined by trees
Non-Uniform Result
• How do we deal with nodes outside critical cluster?
– Replace each node in tree by an expander
Non-Uniform Result
• How do we deal with nodes outside critical cluster?
– Use expanders to route on tree using low congestion paths
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!!
Non-Uniform Result
• But what about general non-uniform decompositions?
– H = nodes that aren’t in a critical cluster
critical cluster
H
Non-Uniform Result
• But what about general non-uniform decompositions?
– H = nodes that aren’t in a critical cluster
H
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’
Non-Uniform Result
– Repeat log N times
– Use small clusters to grow paths of logarithmic length that
connect up critical clusters
H
Non-Uniform Result
– So now we have critical clusters joined by paths of logarithmic
length (just as in the “tree” case)
– We are done…
critical cluster
H