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
© Copyright 2026 Paperzz