Create Presentation
Download Presentation

Download Presentation

Approximation Algorithms for Graph Routing Problems

Download Presentation
## Approximation Algorithms for Graph Routing Problems

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Approximation Algorithms for Graph Routing Problems**Julia Chuzhoy Toyota 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 vertices m – number of edges k – number of demand pairs terminals – 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**• Route alldemand 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]**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. -approximation 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.**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]**t1 t2 … • fractional: k/2 • integral: 1 • k= tk … s1 s2 sk**A Brick-Wall Graph**… s1 s2 sk … t2 tk t1**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 graphs In a strong enough constant-degree expander, any demand set on vertices can be routed on edge-disjoint paths [Frieze ‘00] …**CongestionMinimization**• Route all pairs; minimize congestion • -approximation • -hardness • Edge Disjoint Paths (EDP) • Route maximum number of pairs on edge-disjoint paths • -approximation • matching integrality gap • -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**• 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 t1 t2 … tk s1 … sk s2**CongestionMinimization**• Route all pairs; minimize congestion • -approximation • -hardness • Edge Disjoint Paths (EDP) • Route maximum number of pairs on edge-disjoint paths • -approximation • matching integrality gap • -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.**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 Githe terminals are well-linked • Total fractional solution value for all induced sub-problems is “Enough” to solve the problem on well-linked instances.**High-Level Plan [CKS ‘04]**Crossbar • Embed an expander on a subset of terminals into G. • expander vertices terminals • expander edges paths in G • Route a subset of the demand pairs in the expander Embedding congestion: max load on any edge of G**Goal**Embed 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 expander Matching 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**After O(log2k) iterations, we get an expander embedded into G. Problem: congestion Ω(log2k)**Solution?**Idea[Rao Zhou ‘06]: • Split G into graphs G1,…,Ghusing 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)**Embedding an Expander into G**Expander vertex connected component in G containing the terminal Expander edge path connecting some pair of vertices in the two components An 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!**Embedding an Expander into G**Expander vertex connected component in G containing the terminal Expander edge path connecting some pair of vertices in the two components An edge of G belongs to at most 2 of the components/paths.**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**Expander vertex the tree spanning the terminal Expander edges: via the cut-matching game of [KRV]**Embedding an Expander**After O(log2k) iterations, we obtain an expander embedded into G with congestion 2.…**Algorithm for EDPwC**Find a good family of vertex subsets Embed an expander into G Find vertex-disjoint routing in the expander Transform into routing in G