all rights reserved © alcatel-lucent 2006, ##### matthew andrews show-and-tell april 20, 2010 edge...
TRANSCRIPT
All Rights Reserved © Alcatel-Lucent 2006, #####
Matthew Andrews
Show-and-Tell April 20, 2010
Edge Disjoint Paths via Räcke Decompositions
Edge Disjoint Paths (EDP)
• Input – Graph G (M edges, N nodes);– A set of demands, (si , ti);
• Output– A subset of demands routed on edge-disjoint paths;– Maximize such a subset
s
t
t
s
OPT = 1
Edge Disjoint Paths (EDP)
• Input – Graph G (M edges, N nodes);– A set of demands, (si , ti);
• Output– A subset of demands routed on edge-disjoint paths;– Maximize such a subset
s
t
t
s
OPT = 1
Hard problemOne of the first!! (Karp’s
list)
Congestion Minimization
• Input – Graph G (M edges, N nodes);– A set of demands, (si , ti);
• Output– Route all demands;– Minimize max number of demand routes per edge.
s
t
t
s
OPT = 2
Edge Disjoint Paths with Congestion (EDPwC)
• Input – Graph G (M edges, N nodes);– A set of demands, (si , ti);– 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
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 polylog(N)-approx with poly(log log N)
congestion
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
• 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?
s t
ts
1/2
1/2
1/2
1/2
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)
• 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
Rao-Zhou Analysis
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
– Solve EDPwC in expanders-of-expanders
?
?
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
– Solve EDPwC in expanders-of-expanders ?
Use Räcke decomposition result
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
H
critical cluster
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
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