460 likes | 496 Views
OPT = 1. 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. Edge Disjoint Paths (EDP). Input
E N D
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 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 • Hard problem • One of the first!! (Karp’s list)
OPT = 2 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
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/a demands with congestion c whenever OPT can route X demands with congestion 1 then • ALG is an a-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 1/2 s t 1/2 1/2 t s 1/2 • 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 • 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 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