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