1 / 46

Edge Disjoint Paths (EDP)

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

sstarr
Download Presentation

Edge Disjoint Paths (EDP)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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)

  3. 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

  4. 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

  5. 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

  6. 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?

  7. 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)

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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?

  15. 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

  16. 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

  17. 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?

  18. Rao-Zhou Analysis • Why? • (Khandekar-Rao-Vazirani) Can build expander on | T | terminals using polylog( | T | ) bipartite matchings

  19. 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)

  20. 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

  21. 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

  22. How to Attack General Case • Obviously wrong approach • Solve EDPwC in expanders • Prove that every graph is an expander

  23. 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 ?

  24. 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

  25. 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

  26. 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 ?

  27. 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

  28. 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

  29. Uniform Decomposition • Critical clusters • Cluster U is critical if: • U is large • all subclusters S of U are small

  30. Three Step Routing • Step 1 • Shrink critical clusters to single nodes • All cuts are now large • Use Rao-Zhou

  31. Three Step Routing • Step 2 • Shrink small clusters to single nodes • Critical clusters now look like expanders • Route in critical clusters using expander routing

  32. 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

  33. Non-Uniform Result • What could a non-uniform decomposition look like? • Set of critical clusters joined by trees critical cluster

  34. Non-Uniform Result • What could a non-uniform decomposition look like? • Set of critical clusters joined by trees Not an acceptable cluster

  35. Non-Uniform Result • What could a non-uniform decomposition look like? • Set of critical clusters joined by trees

  36. Non-Uniform Result • What could a non-uniform decomposition look like? • Set of critical clusters joined by trees

  37. Non-Uniform Result • How do we deal with nodes outside critical cluster? • Replace each node in tree by an expander

  38. Non-Uniform Result • How do we deal with nodes outside critical cluster? • Use expanders to route on tree using low congestion paths

  39. 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!!

  40. Non-Uniform Result • But what about general non-uniform decompositions? • H = nodes that aren’t in a critical cluster critical cluster H

  41. Non-Uniform Result • But what about general non-uniform decompositions? • H = nodes that aren’t in a critical cluster H

  42. 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’

  43. Non-Uniform Result • Repeat log N times • Use small clusters to grow paths of logarithmic length that connect up critical clusters H

  44. 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

  45. Thank you

More Related