56
Approximation Algorithms for Graph Routing Problems Julia Chuzhoy Toyota Technological Institute at Chicago

Approximation Algorithms for Graph Routing Problems

  • Upload
    lyndon

  • View
    63

  • Download
    0

Embed Size (px)

DESCRIPTION

Approximation Algorithms for Graph Routing Problems. 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

Citation preview

Page 1: Approximation Algorithms for Graph Routing Problems

Approximation Algorithms for Graph Routing Problems

Julia ChuzhoyToyota Technological Institute at

Chicago

Page 2: Approximation Algorithms for Graph Routing Problems

Routing Problems

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

Page 3: Approximation Algorithms for Graph Routing Problems

Routing Problems

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

Page 4: Approximation Algorithms for Graph Routing Problems

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: Approximation Algorithms for Graph Routing Problems

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 verticesm – number of edgesk – number of demand pairsterminals – vertices participating in the demand pairs

Page 6: Approximation Algorithms for Graph Routing Problems

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: Approximation Algorithms for Graph Routing Problems

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: Approximation Algorithms for Graph Routing Problems

Congestion Minimization

Page 9: Approximation Algorithms for Graph Routing Problems

Congestion Minimization

• Route all demand pairs• Minimize maximum edge congestion

solution value: 2

Page 10: Approximation Algorithms for Graph Routing Problems

LP-relaxation

Rounding Algorithm [Raghavan, Thompson ‘87] • Every pair (si,ti) chooses a path P w. probability f(P)• Max edge congestion O(clog n/log log n) w.h.p.

Page 11: Approximation Algorithms for Graph Routing Problems

Congestion Minimization

• -approximation [Raghavan, Thompson ‘87]

• Directed graphs: -hard to approximate [Andrews, Zhang ‘06], [C, Guruswami, Khanna, Talwar ‘07]

• Undirected graphs: -hard to approximate [Andrews, Zhang ‘07]

Page 12: Approximation Algorithms for Graph Routing Problems

Open Problem 1

Can we close the gap for undirected graphs?• What is the integrality gap of the LP?• What if we only need to connect a constant

fraction of the demand pairs?

Page 13: Approximation Algorithms for Graph Routing Problems

Edge-Disjoint Paths Problem

• No congestion allowed• Route maximum number of the demand pairs

Solution value: 2

Page 14: Approximation Algorithms for Graph Routing Problems

Edge Disjoint Paths (EDP)• For directed graphs NP-hard even with only two

demand pairs [Fortune, Hopcroft, Wyllie '80]• When k is constant, can be solved efficiently in

undirected graphs [Robertson, Seymour ‘90]• NP-hard when k is part of input [Karp ’72]

Page 15: Approximation Algorithms for Graph Routing Problems

LP-relaxation

Page 16: Approximation Algorithms for Graph Routing Problems

Rounding Algorithm [Kolliopoulos, Stein ‘98]• Find shortest path P with non-zero flow,

connecting any demand pair.• Add P to the solution and delete all flow that

uses edges of P.

Analysis• If the length of P is less than – at most

flow is deleted.• If the length of P is more than – at most

flow remains.

-approximation

Page 17: Approximation Algorithms for Graph Routing Problems

Can We Do Better?Directed graphs: EDP is -hard to approximate for any [Guruswami, Khanna, Rajaraman, Shepherd, Yannakakis ‘99]Undirected graphs:• -approximation algorithm [Chekuri, Khanna,

Shepherd ’06].• -hardness of approximation for

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

• LP integrality gap: [Garg, Vazirani, Yannakakis ‘93]

Page 18: Approximation Algorithms for Graph Routing Problems

Integrality Gap Example[Garg, Vazirani, Yannakakis ‘93]

s1 s2 sk…

t1t2

tk

• fractional: k/2• integral: 1• k=

Page 19: Approximation Algorithms for Graph Routing Problems

A Brick-Wall Graphs1 s2 sk…

tk t1t2…

Page 20: Approximation Algorithms for Graph Routing Problems

Open Problem 2

Close the gap for undirected EDP• planar graphs?– constant-factor approximation with congestion 2

[Chekuri, Khanna, Shepherd ‘04], [Chekuri, Khanna, Shepherd ‘06], [Seguin-Charbonneau, Shepherd ‘11]

– O(log n)-approximation for Eulerian or 4-edge connected planar graphs [Kawarabayashi, Kobayashi ’10]

– constant approximation for grid-like graphs [Kleinberg, Tardos ’95]

Page 21: Approximation Algorithms for Graph Routing Problems

Open Problem 2

Close the gap for undirected EDP• planar graphs?• better algorithms for brick-wall graphs?

Page 22: Approximation Algorithms for Graph Routing Problems

Positive Results

Moderately connected graphs: If global min-cut is Ω(log5n), there is a polylog-approximation [Rao, Zhou ‘10]

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

Page 23: Approximation Algorithms for Graph Routing Problems

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 24: Approximation Algorithms for Graph Routing Problems

EDPwC• Congestion O(log n/log log n): constant

approximation [Raghavan, Thompson ’87]

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

Directed graphs: -hardness for any congestion c [C, Guruswami, Khanna, Talwar ’06]

Page 25: Approximation Algorithms for Graph Routing Problems

EDPwC• Congestion O(log n/log log n): 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]

• Congestion 2: -approximation [Kawarabayashi, Kobayashi ’11]

• polylog(k)-approximation with congestion 14 [C, ‘11]

• polylog(k)-approximation with congestion 2 [C, Li, ‘12]

Page 26: Approximation Algorithms for Graph Routing Problems

Integrality Gaps for EDPwC

s1 s2 sk…

t1t2

tk

• Congestion 1: integrality gap [Garg, Vazirani, Yannakakis ‘93] • Congestion c: integrality gap

[Andrews, C, Guruswami, Khanna, Talwar, Zhang ‘10]• -hard to approximate with

congestion c for any

Page 27: Approximation Algorithms for Graph Routing Problems

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 2

• -hardness with congestion c

Page 28: Approximation Algorithms for Graph Routing Problems

Another View: Reducing Congestion

• Suppose we have a “bad” solution, where X pairs are routed with congestion C.

• Then we can route X/(C polylog k) pairs with congestion 2!

• But if we want congestion 1, may only be able to route pairs, even if C=2.

Page 29: Approximation Algorithms for Graph Routing Problems

A Polylogarithmic Approximation with Constant Congestion

Page 30: Approximation Algorithms for Graph Routing Problems

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

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

Page 31: Approximation Algorithms for Graph Routing Problems

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

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

Page 32: Approximation Algorithms for Graph Routing Problems

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

“Enough” to solve the problem on well-linked instances.

Page 33: Approximation Algorithms for Graph Routing Problems

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 34: Approximation Algorithms for Graph Routing Problems

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

Page 35: Approximation Algorithms for Graph Routing Problems

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 36: Approximation Algorithms for Graph Routing Problems

Embedding Expander into Graph

Page 37: Approximation Algorithms for Graph Routing Problems

Embedding Expander into Graph

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

Problem: congestion Ω(log2k)

Page 38: Approximation Algorithms for Graph Routing Problems

Solution?Idea [Rao Zhou ‘06]:• Split G into graphs G1,…,Gh using algorithm of [Karger ’93]

– 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 39: Approximation Algorithms for Graph Routing Problems

Getting a Constant Congestion

Page 40: Approximation Algorithms for Graph Routing Problems

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 belongs to at most 2 of the components/paths.

Page 41: Approximation Algorithms for Graph Routing Problems

Embedding an Expander into G

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

Page 42: Approximation Algorithms for Graph Routing Problems

Expander vertex connected component in G containing the terminalExpander edge path connecting some pair of vertices in the two componentsAn edge of G belongs to at most 2 of the components/paths.

Embedding an Expander into G

Page 43: Approximation Algorithms for Graph Routing Problems

Embedding an Expander into G

Families of Good Vertex Sets

Page 44: Approximation Algorithms for Graph Routing Problems

Good Vertex Subset

S is a good vertex subset iff:• S contains no terminals• k/polylog k red edges• S is well-linked for the

red edges

Page 45: Approximation Algorithms for Graph Routing Problems

A Good Family of Vertex Subsets

• O(log2k) disjoint good vertex subsets• k/polylog k trees

− each edge of G participates in at most 2 trees− Each tree Ti spans a distinct terminal ti and a

distinct red edge adjacent to Sj for each j.

Page 46: Approximation Algorithms for Graph Routing Problems

Embedding an Expander

Page 47: Approximation Algorithms for Graph Routing Problems

Embedding an Expander

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

Page 48: Approximation Algorithms for Graph Routing Problems

Embedding an Expander

Page 49: Approximation Algorithms for Graph Routing Problems

Embedding an Expander

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

Page 50: Approximation Algorithms for Graph Routing Problems

Algorithm for EDPwCFind a good family of vertex subsets

Embed an expander into G

Find vertex-disjoint routing in the expander

Transform into routing in G

Page 51: Approximation Algorithms for Graph Routing Problems

Open Problem 3

• A cleaner algorithm for polylog(k) approximation with congestion 2? Better power of polylog?

• What if we need to route almost all demand pairs (a constant fraction)?

Page 52: Approximation Algorithms for Graph Routing Problems

Routing on Vertex-Disjoint Paths

• Generalizes EDP• Connections to Graph Minor theoryNo congestion:• -approximation [Kolliopoulos, Stein ‘98]• -lower bound on LP integrality gap

[Garg, Vazirani, Yannakakis ‘97]Routing with congestion:• O(poly log k)-approximation with constant

congestion [Chekuri, Ene ‘12]

Page 53: Approximation Algorithms for Graph Routing Problems

• Better algorithms/lower bounds for Vertex-Disjoint Paths?

Open Problem 4

Page 54: Approximation Algorithms for Graph Routing Problems

• Better algorithms/lower bounds for Vertex-Disjoint Paths?

• Vertex-disjoint paths in grid graphs

Open Problem 4

Page 55: Approximation Algorithms for Graph Routing Problems

s1

t1

s2

t2

s3

t3

• Better algorithms/lower bounds for Vertex-Disjoint Paths?

• Vertex-disjoint paths in grid graphs

Open Problem 4

Page 56: Approximation Algorithms for Graph Routing Problems

Thank you!