Approximation Algorithms for Graph Routing Problems

Preview:

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

Approximation Algorithms for Graph Routing Problems

Julia ChuzhoyToyota Technological Institute at

Chicago

Routing Problems

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

Routing Problems

Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge 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

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

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

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

Congestion Minimization

Congestion Minimization

• Route all demand pairs• Minimize maximum edge congestion

solution value: 2

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.

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]

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?

Edge-Disjoint Paths Problem

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

Solution value: 2

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]

LP-relaxation

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

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]

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

s1 s2 sk…

t1t2

tk

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

A Brick-Wall Graphs1 s2 sk…

tk t1t2…

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]

Open Problem 2

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

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]

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

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]

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]

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

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

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.

A Polylogarithmic Approximation with Constant Congestion

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

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

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.

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

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

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!

Embedding Expander into Graph

Embedding Expander into Graph

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

Problem: congestion Ω(log2k)

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)

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

Embedding an Expander into G

Routing on vertex-disjoint paths in X gives a congestion-2 routing in 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.

Embedding an Expander into G

Embedding an Expander into G

Families of Good Vertex Sets

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

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.

Embedding an Expander

Embedding an Expander

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

Embedding an Expander

Embedding an Expander

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

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

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

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]

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

Open Problem 4

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

• Vertex-disjoint paths in grid graphs

Open Problem 4

s1

t1

s2

t2

s3

t3

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

• Vertex-disjoint paths in grid graphs

Open Problem 4

Thank you!

Recommended