edge disjoint paths (edp)

46
All Rights Reserved © Alcatel-Lucent 2006, ##### Matthew Andrews Show-and-Tell April 20, 2010 Edge Disjoint Paths via Räcke Decompositions

Upload: hea

Post on 05-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Edge Disjoint Paths (EDP)

All Rights Reserved © Alcatel-Lucent 2006, #####

Matthew Andrews

Show-and-Tell April 20, 2010

Edge Disjoint Paths via Räcke Decompositions

Page 2: Edge Disjoint Paths (EDP)

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

Page 3: Edge Disjoint Paths (EDP)

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)

Page 4: Edge Disjoint Paths (EDP)

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

Page 5: Edge Disjoint Paths (EDP)

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

Page 6: Edge Disjoint Paths (EDP)

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

Page 7: Edge Disjoint Paths (EDP)

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?

Page 8: Edge Disjoint Paths (EDP)

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)

Page 9: Edge Disjoint Paths (EDP)

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

Page 10: Edge Disjoint Paths (EDP)

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

Page 11: Edge Disjoint Paths (EDP)

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

Page 12: Edge Disjoint Paths (EDP)

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

Page 13: Edge Disjoint Paths (EDP)

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

Page 14: Edge Disjoint Paths (EDP)

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

Page 15: Edge Disjoint Paths (EDP)

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

Page 16: Edge Disjoint Paths (EDP)

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

Page 17: Edge Disjoint Paths (EDP)

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

Page 18: Edge Disjoint Paths (EDP)

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?

Page 19: Edge Disjoint Paths (EDP)

Rao-Zhou Analysis

• Why?– (Khandekar-Rao-Vazirani) Can build expander on | T | terminals

using polylog( | T | ) bipartite matchings

Page 20: Edge Disjoint Paths (EDP)

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)

Page 21: Edge Disjoint Paths (EDP)

• 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

Page 22: Edge Disjoint Paths (EDP)

• 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

Page 23: Edge Disjoint Paths (EDP)

How to Attack General Case

• Obviously wrong approach

– Solve EDPwC in expanders

– Prove that every graph is an expander

Page 24: Edge Disjoint Paths (EDP)

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

Page 25: Edge Disjoint Paths (EDP)

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

Page 26: Edge Disjoint Paths (EDP)

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

Page 27: Edge Disjoint Paths (EDP)

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

Page 28: Edge Disjoint Paths (EDP)

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

Page 29: Edge Disjoint Paths (EDP)

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

Page 30: Edge Disjoint Paths (EDP)

Uniform Decomposition

• Critical clusters

– Cluster U is critical if:

– U is large

– all subclusters S of U are small

Page 31: Edge Disjoint Paths (EDP)

Three Step Routing

• Step 1– Shrink critical clusters to single nodes

– All cuts are now large

– Use Rao-Zhou

Page 32: Edge Disjoint Paths (EDP)

Three Step Routing

• Step 2– Shrink small clusters to single nodes

– Critical clusters now look like expanders

– Route in critical clusters using expander routing

Page 33: Edge Disjoint Paths (EDP)

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

Page 34: Edge Disjoint Paths (EDP)

Non-Uniform Result

• What could a non-uniform decomposition look like?– Set of critical clusters joined by trees

critical cluster

Page 35: Edge Disjoint Paths (EDP)

Non-Uniform Result

• What could a non-uniform decomposition look like?– Set of critical clusters joined by trees

Not an acceptable cluster

Page 36: Edge Disjoint Paths (EDP)

Non-Uniform Result

• What could a non-uniform decomposition look like?– Set of critical clusters joined by trees

Page 37: Edge Disjoint Paths (EDP)

Non-Uniform Result

• What could a non-uniform decomposition look like?– Set of critical clusters joined by trees

Page 38: Edge Disjoint Paths (EDP)

Non-Uniform Result

• How do we deal with nodes outside critical cluster?– Replace each node in tree by an expander

Page 39: Edge Disjoint Paths (EDP)

Non-Uniform Result

• How do we deal with nodes outside critical cluster?– Use expanders to route on tree using low congestion paths

Page 40: Edge Disjoint Paths (EDP)

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

Page 41: Edge Disjoint Paths (EDP)

Non-Uniform Result

• But what about general non-uniform decompositions?– H = nodes that aren’t in a critical cluster

H

critical cluster

Page 42: Edge Disjoint Paths (EDP)

Non-Uniform Result

• But what about general non-uniform decompositions?– H = nodes that aren’t in a critical cluster

H

Page 43: Edge Disjoint Paths (EDP)

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’

Page 44: Edge Disjoint Paths (EDP)

Non-Uniform Result

– Repeat log N times

– Use small clusters to grow paths of logarithmic length that connect up critical clusters

H

Page 45: Edge Disjoint Paths (EDP)

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

Page 46: Edge Disjoint Paths (EDP)

Thank you