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.
01 / 56Approximation Algorithms for Graph Routing Problems
1 / 17
Télécharger la présentation
Approximation Algorithms for Graph Routing Problems
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
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
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.
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]
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]
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.
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 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.
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 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
Connexion au compte
Connectez-vous pour publier votre contenu sur SlideServe.