Edge Disjoint Paths

Edge Disjoint Paths via Räcke
Decompositions
Matthew Andrews
Show-and-Tell April 20, 2010
All Rights Reserved © Alcatel-Lucent 2006, #####
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
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/c - approx with congestion c
–
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
• 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/c - approx with congestion c
–
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
• 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?
Yes for planar graphs, “all-or-nothing” flow (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
Known Results (Undirected Graphs)
• Positive
– N1/c - approx with congestion c
–
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
• Negative
– No log(1-)/(c+1) N - approx with congestion c
–
A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang
Rao-Zhou conjecture:
There is a polylog(N)-approx with O(log log N) congestion
Results (Undirected Graphs)
• Positive
– N1/c - approx with congestion c
–
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
• Negative
– No log(1-)/(c+1) N - approx with congestion c
–
A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang
This talk:
There is a polylog(N)-approx with poly(log log N) congestion
Results (Undirected Graphs)
• Positive
– N1/c - approx with congestion c
–
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
• Negative
– No log(1-)/(c+1) N - approx with congestion c
–
A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang
This talk:
There is a
poly
congestion
log(N)-approx with
poly
(log log N)
Results
• Positive
– N1/c - approx with congestion c
–
Azar-Regev, Baveja-Srinivasan, Kolliopoulos-Stein
• Negative
– No log(1-)/(c+1) N - approx with congestion c
–
A-Chuzhoy-Guruswami-Khanna-Talwar-Zhang
This talk:
There is a log61(N)-approx with (log log N)6 congestion
Talk Outline
• Describe some previous work on EDP
• Describe Rao-Zhou and Räcke
− Rao-Zhou: EDP in graphs with large min-cut
− Räcke: hierarchical graph decompositions
• Merge previous analyses to get EDPwC result
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), answer to open
question is “yes”
– Why?
– Use randomized rounding. Each edge is dependent on polylog(N)
other edges
– Apply Lovasz Local Lemma
Open Question:
Is there a polylog(N)-approx with constant congestion?
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
– Answer to open question in expanders is “yes”
–
e.g. Broder-Frieze-Upfal, Kolman-Scheideler
– Even better, can connect polylog(N) fraction of ANY set of
terminals using constant congestion
• Why?
– Using random walks, can connect any
pair of terminals with paths of polylog(N)
length
– Use known result #1
Rao-Zhou
• Known result #3
– (Rao-Zhou) Answer to open question is “yes” if min-cut in graph
has size polylog(k) ---- ( k = # source-demand pairs)
Open Question:
Is there a polylog(N)-approx with constant congestion?
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) 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
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
?
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
• 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 Racke 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
Thank you