Routing in Undirected Graphs with Constant Congestion

58
Routing in Undirected Graphs with Constant Congestion Julia Chuzhoy Toyota Technological Institute at Chicago

description

Routing in Undirected Graphs with Constant Congestion. Julia Chuzhoy Toyota Technological Institute at Chicago. Routing Problems. Input : Graph G, source-sink pairs (s 1 ,t 1 ),…,( s k ,t k ). Goal : Route as many pairs as possible; minimize edge congestion. Routing Problems. - PowerPoint PPT Presentation

Transcript of Routing in Undirected Graphs with Constant Congestion

Page 1: Routing in Undirected Graphs with Constant Congestion

Routing in Undirected Graphs with Constant Congestion

Julia ChuzhoyToyota Technological Institute at

Chicago

Page 2: Routing in Undirected Graphs with Constant Congestion

Routing Problems

Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.

Page 3: Routing in Undirected Graphs with Constant Congestion

Routing Problems

Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.

Page 4: Routing in Undirected Graphs with Constant Congestion

Routing Problems

Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.

Edge congestion: 2

Page 5: Routing in Undirected Graphs with Constant Congestion

Routing Problems

Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.

n – number of graph verticesk – number of demand pairsterminals – vertices participating in the demand pairs

Page 6: Routing in Undirected Graphs with Constant Congestion

Routing Problems

Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.

• 3 pairs with congestion 2

Page 7: Routing in Undirected Graphs with Constant Congestion

Routing Problems

Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.

• 3 pairs with congestion 2• 2 pairs with congestion 1

Page 8: Routing in Undirected Graphs with Constant Congestion

Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths

Congestion MinimizationRoute all pairs; minimize congestion

Page 9: Routing in Undirected Graphs with Constant Congestion

Congestion Minimization

Route all pairs; minimize congestion• -approximation [Raghavan,

Thompson ‘87]• -hard to approximate [Andrews,

Zhang ‘07]

Page 10: Routing in Undirected Graphs with Constant Congestion

Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths• When k is constant, can be solved efficiently [Robertson,

Seymour ‘90]• NP-hard in general [Karp ’72]• -approximation algorithm [Chekuri, Khanna,

Shepherd ’06]. Best possible?– LP-relaxation: maximum multicommodity flow

between the demand pairs with no congestion.– Integrality gap: [Chekuri, Khanna, Shepherd ‘06]

Page 11: Routing in Undirected Graphs with Constant Congestion

Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths• When k is constant, can be solved efficiently [Robertson,

Seymour ‘90]• NP-hard in general [Karp ’72]• -approximation algorithm [Chekuri, Khanna,

Shepherd ’06]. • When global min-cut is , there is a polylog(n)

approximation [Rao, Zhou ‘06]• -hardness of approximation for any

[Andrews, Zhang ‘05], [Andrews, C, Guruswami, Khanna, Talwar, Zhang ’10]

Page 12: Routing in Undirected Graphs with Constant Congestion

Special Cases

Expander graphsIn a strong enough constant-degree expander, any demand set on vertices can be routed on edge-disjoint paths [Frieze ‘00]

Planar graphs, Trees…

Page 13: Routing in Undirected Graphs with Constant Congestion

Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths

• -approximation•matching integrality gap

• -hardness

Congestion MinimizationRoute all pairs; minimize congestion

• -approximation

• -hardness

EDP with Congestion (EDPwC)A factor- approximation algorithm with congestion c routes . demand pairs with congestion at most c.

optimum number of pairs with no congestion allowed

Page 14: Routing in Undirected Graphs with Constant Congestion

EDPwC• Congestion : constant

approximation [Raghavan, Thompson ‘87]

• -approximation with congestion c [Azar, Regev ’01], [Baveja, Srinivasan ’00], [Kolliopoulos, Stein ‘04]

• polylog(n)-approximation with congestion poly(log log n) [Andrews ‘10]

Today: polylog(k)-approximation with congestion 14.

• -hardness for any c [Andrews, C, Guruswami, Khanna, Talwar, Zhang ’10]

Page 15: Routing in Undirected Graphs with Constant Congestion

Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths

• -approximation•matching integrality gap

• -hardness

Congestion MinimizationRoute all pairs; minimize congestion

• -approximation

• -hardness

EDP with Congestion (EDPwC)• polylog(k)-approximation with congestion 14

• -hardness with congestion c

Page 16: Routing in Undirected Graphs with Constant Congestion

Well-Linkedness[Robertson,Seymour], [Chekuri, Khanna, Shepherd],

[Raecke]

Page 17: Routing in Undirected Graphs with Constant Congestion

Well-Linkedness

Graph G is -well-linked for the set T of terminals, iff for any partition (A,B) of V(G),

Page 18: Routing in Undirected Graphs with Constant Congestion

Well-Linkedness

out(S)

Set S is -well-linked iff for any partition (A,B) of S,

Normally

Any matching on the edges of out(S) can be fractionally routed inside S with congestion

Page 19: Routing in Undirected Graphs with Constant Congestion

Pre-Processing

Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Theorem [Chekuri, Khanna Shepherd ‘04]Can efficiently partition G into disjoint subgraphs G1,…, Gr, such that:

• For each induced sub-problem Gi the terminals are well-linked

• Total fractional solution value for all induced sub-problems is

Can assume w.l.o.g. that G is well-linked for the terminals

Page 20: Routing in Undirected Graphs with Constant Congestion

1. Embed an expander on a subset of terminals into G.– expander vertices terminals– expander edges paths in G

2. Route a subset of the demand pairs in the expander

High-Level Plan [CKS ‘04]

Embedding congestion: max load on any edge of G

Crossbar

Page 21: Routing in Undirected Graphs with Constant Congestion

GoalEmbed an expander over a subset of terminals into G.• Include polylog(k)-fraction of the terminals• Constant congestion

Page 22: Routing in Undirected Graphs with Constant Congestion

Cut-Matching Game [Khandekar, Rao, Vazirani ’06]

Cut Player: wants to build an expanderMatching Player: wants to delay its construction

There is a strategy for cut player, s.t. after O(log2n) iterations, we get an expander!

Page 23: Routing in Undirected Graphs with Constant Congestion

Embedding Expander into Graph

Page 24: Routing in Undirected Graphs with Constant Congestion

Embedding Expander into Graph

After O(log2k) iterations, we get an expander embedded into G.

Problem: congestion Ω(log2k)

Page 25: Routing in Undirected Graphs with Constant Congestion

Solution?Idea [Rao Zhou ‘06]:• Split G into graphs G1,…,Gh

– V(Gi)=V(G) for all i– Every edge of G belongs to at most one Gi

– Each Gi well-linked for the terminals– h=O(log2k)

• Run the cut-matching game. Use Gi to route flow in iteration i.Problem: Can only do it if min-cut in G is Ω(log5n)• [Andrews ‘10] adapted this to general graphs, with

congestion poly(log log n)

Page 26: Routing in Undirected Graphs with Constant Congestion

Getting a Constant Congestion

Page 27: Routing in Undirected Graphs with Constant Congestion

Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).

G is well-linked for the terminals.Goal: Route OPT/polylog(k) demand pairs with constant congestion.

Starting Point

Page 28: Routing in Undirected Graphs with Constant Congestion

Embedding an Expander into G

Expander vertex connected component in G containing the terminalExpander edge path connecting some pair of vertices in the two componentsAn edge of G may only belong to a constant number of the components/paths.

Page 29: Routing in Undirected Graphs with Constant Congestion

Embedding an Expander into G

Routing on vertex-disjoint paths in X gives a good routing in G!

Page 30: Routing in Undirected Graphs with Constant Congestion

Expander vertex connected component in G containing the terminalExpander edge path connecting some pair of vertices in the two componentsAn edge of G may only belong to a constant number of the components/paths.

Embedding an Expander into G

Page 31: Routing in Undirected Graphs with Constant Congestion

Embedding an Expander into G

Families of Good Vertex Sets

Page 32: Routing in Undirected Graphs with Constant Congestion

Good Vertex Subset

S is a good vertex subset iff:• S contains no terminals• S is well-linked• There are k/polylog k

paths connecting out(S) to the terminals, with congestion polylog k.

Page 33: Routing in Undirected Graphs with Constant Congestion

Family of Good Vertex SubsetsΩ(log2k) disjoint good vertex subsets.• Each subset can send k/(polylog k) flow units

to the terminals• total congestion polylog k

Page 34: Routing in Undirected Graphs with Constant Congestion

Rest of the proof

1. We can find a good family of subsets.2. Given a good family of subsets, we can

embed an expander into G.

Page 35: Routing in Undirected Graphs with Constant Congestion

Rest of the proof

1. We can find a good family of subsets.2. Given a good family of subsets, we can

embed an expander into G.

Page 36: Routing in Undirected Graphs with Constant Congestion
Page 37: Routing in Undirected Graphs with Constant Congestion

Want:• k/polylog k trees• every edge of G participates in a constant number of

trees• Each tree Ti spans a distinct terminal ti and a distinct

edge eij in out(Sj) for each j.

Page 38: Routing in Undirected Graphs with Constant Congestion

Want:• k/polylog k trees• every edge of G participates in a constant number of

trees• Each tree Ti spans a distinct terminal ti and a distinct

edge eij in out(Sj) for each j.• Edge eij is viewed as a copy of ti for set Sj.

Page 39: Routing in Undirected Graphs with Constant Congestion
Page 40: Routing in Undirected Graphs with Constant Congestion

Embedding an Expander

Page 41: Routing in Undirected Graphs with Constant Congestion

Embedding an Expander

Expander vertex the tree spanning the terminalExpander edges: via the cut-matching game of [KRV]

Page 42: Routing in Undirected Graphs with Constant Congestion

Embedding an Expander

Page 43: Routing in Undirected Graphs with Constant Congestion

Embedding an Expander

After O(log2k) iterations, we obtain an expander embedded into G.…

Page 44: Routing in Undirected Graphs with Constant Congestion

- well-linked

Grouping Technique [CKS]

• is very well-linkedAny partition of into equal-sized subsets can be integrally routed with congestion 2.

• .

- selected edges

Page 45: Routing in Undirected Graphs with Constant Congestion

Embedding an Expander

After O(log2k) iterations, we obtain an expander embedded into G.…

Page 46: Routing in Undirected Graphs with Constant Congestion

Rest of the proof

1. We can find a good family of subsets.2. Given a good family of subsets, we can

embed an expander into G.

Page 47: Routing in Undirected Graphs with Constant Congestion

Rest of the proof

1. We can find a good family of subsets.2. Given a good family of subsets, we can

embed an expander into G.

Page 48: Routing in Undirected Graphs with Constant Congestion

Contracted Graphs

contract

Only contract clusters C where• C is well-linked• Does not contain terminals• |out(C)|<k/polylog(k)

Good contracted graph

Page 49: Routing in Undirected Graphs with Constant Congestion

Finding a Good Vertex Subset

• Start with G.• In every iteration:– either find a good vertex subset– or find a good contracted graph with fewer edges

Page 50: Routing in Undirected Graphs with Constant Congestion

Iteration Description

|E(A)|≥|out(A)|/4

uncontract

Page 51: Routing in Undirected Graphs with Constant Congestion

Iteration Descriptionwell-linked

decomposition

|E(A)|≥|out(A)|/4

Well-linked Decomposition [Chekuri, Khanna, Shepherd], [Raecke]

• New clusters are well-linked

• …

Page 52: Routing in Undirected Graphs with Constant Congestion

Iteration Descriptionwell-linked

decomposition

contract

now |E(A)|<<|out(A)|

Problem: for some cluster C, |out(C)| may be too large

|E(A)|≥|out(A)|/4

Page 53: Routing in Undirected Graphs with Constant Congestion

Iteration Description

C is a good cluster?• Well-linkedC

Page 54: Routing in Undirected Graphs with Constant Congestion

Iteration Description

C

C is a good cluster? Well-linked• Can route k/polylog(k)

flow units to the terminals?

yes no

C is a good set!

A small cut separates C from the terminals

Page 55: Routing in Undirected Graphs with Constant Congestion

Iteration Description

uncontract

well-linked decomposition

contract

good contracted graph with fewer edges!

Page 56: Routing in Undirected Graphs with Constant Congestion

Finding a Good Vertex SubsetRandom subset A of vertices

Uncontract + Well-linked decomposition

All clusters have small out-degree?

Good vertex subset?

yes smaller contracted graph

yesdone!

no

no

smaller contracted graph

uncontract + WLD+contract

Page 57: Routing in Undirected Graphs with Constant Congestion

Algorithm for EDPwCFind a good family of vertex subsets

Embed an expander into G

Find vertex-disjoint routing on the expander

Transform into routing in G

Page 58: Routing in Undirected Graphs with Constant Congestion

Summary

• We obtain a polylog(k)-approximation for EDPwC with congestion 14.

• Smaller congestion?• Congestion minimization?

Thank you!