Download presentation

Presentation is loading. Please wait.

Published byChristina Burkinshaw Modified about 1 year ago

1
Poly-Logarithmic Approximation for EDP with Congestion 2 Julia Chuzhoy Toyota Technological Institute at Chicago Shi Li Department of Computer Science Princeton Unveristy

2
Edge-Disjoint Path(EDP) Input : Graph G, k pairs (s 1,t 1 ),…, (s k, t k ) of terminals Goal : Route as many pairs as possible using edge- disjoint paths can route 2 pairs s1s1 t1t1 s2s2 t2t2 s3s3 t3t3 s4s4 t4t4 n #vertices k #pairs terminals non-terminals

3
Congestion Minimization Input : Graph G, k pairs (s 1,t 1 ),…, (s k, t k ) of terminals Goal : route all pairs so as to minimize the congestion congestion = 3 s1s1 t1t1 s2s2 t2t2 s3s3 t3t3 s4s4 t4t4 n #vertices k #pairs terminals non-terminals

4
Known Results Edge Disjoint Paths Congestion Minimization Goal route maximum # of pairs with no congestion route all pairs; minimize congestion Approx. Hardness -integrality gap for natural LP relaxation for EDP [GVY93] [CKS06] [RT87] [AZ07] [ACG + 10]

5
LP Relaxation and Gap Instance s1s1 s2s2 sksk t1t1 t2t2 tktk fractional : k/2 integral : 1 k = fractional : k/2 integral : 1 k =

6
Edge Disjoint Path with Congestion (EDPwC) OPT = optimum solution for EDP can route at most pairs without congestion (w.r.t the LP relaxation) How many pairs can we route with congestion c? a solution is an α-approximation for EDP with congestion c if it routes OPT/α pairs with congestion c

7
Congestion Approximation Θ(.) c [ACG + 10] [Chu12] [And10] [AR01, BS00, KS04] [KK11] [CKS06] [RT87] 1 This Paper approximation hardness Main Theorem: There is a polylog(k)-approximation algorithm for EDP with congestion 2 We can route OPT/polylog(k) pairs with congestion 2, where OPT is the optimum number of pairs with congestion 1 2

8
Well-Linkedness Given a set T of degree-1 terminals in graph G, G is well-linked for T, iff for any cut (A, B) of G, a cluster S of G, and a subset Γ of out edges of S, define “S is well-linked for Γ ” similarly S G A B

9
Main Lemma : Given a well-linked instance, we can route k/polylog(k) pairs with congestion 2 Lemma([CKS06]) W.L.O.G, instance is well-linked: G has degree 4 Each terminal has degree 1 Each terminal is in exactly 1 pair G is well-linked for the set of 2k terminals Lemma([CKS06]) W.L.O.G, instance is well-linked: G has degree 4 Each terminal has degree 1 Each terminal is in exactly 1 pair G is well-linked for the set of 2k terminals Well-Linked Instances

10
“cross-bar” of congestion 14 routing of k/polylog(k) pairs with congestion 14 High-Level Idea of [Chu12] Our Improvement 2 2

11
Cross-Bar γ =polylog(k) disjoint clusters S 1, S 2, …, S γ k * =k/polylog(k) trees T 1, T 2,…, T k*, each T j contains a terminal t j, a edge e ij in out(S i ) for each i [γ] for each i [γ], S i is well-linked for the set {e i1, e i2, …, e ik* } the k * terminals {t 1,t 2,…,t k* } come from k * /2 pairs of the input S1S1 S2S2 SγSγ SiSi congestion of cross bar is congestion caused by e ij tjtj

12
Cross-Bar Construction in[Chu12] 1.select a family of clusters with good properties 2.build trees 3.connect more terminals so that they form pairs S1S1 S2S2 SγSγ SiSi Problems: a)trees cause congestion 2 and go through clusters b)terminals do not form pairs our improvement: to avoid accumulating congestion, merge the 3 steps

13
Our Algorithm Clustering Algorithm Cross-Bar Constructor many paths with congestion 2 cross-bar of congestion 2 failure + feedback disjoint “large” clusters S = (S 1, S 2, …, S γ ) 1.select a family of clusters with good properties 2.build trees 3.connect more terminals to trees so they form pairs

14
Clustering Algorithm Cross-Bar Constructor many paths with congestion 2 cross-bar of congestion 2 failure + feedback disjoint “large” clusters S = (S 1, S 2, …, S γ )

15
Clustering Algorithm Maintaining a clustering C (initially, singletons) of G\T into small clusters Each iteration 1. Randomly partition the clusters into γ parts 2. Uncontract the clusters 3. Decompose each part into well-linked clusters CC A cluster S is small if out(S)< k 1 = k/polylog(k); otherwise, it is large A cluster S is small if out(S)< k 1 = k/polylog(k); otherwise, it is large

16
Clustering Algorithm Maintaining a clustering C (initially, singletons) of G\T into small clusters Each iteration 4. If some part does not contain any large cluster Update C by replacing that part, and start a new iteration 5. Otherwise, return γ large clusters, 1 from each part C if the cross-bar constructor fails, with the feedback, the clustering algorithm will make progress if the cross-bar constructor fails, with the feedback, the clustering algorithm will make progress

17
Well-Linked Decomposition Is S well-linked for out(S)? o Yes : done o No : find and remove the sparse cut and recursively apply the procedure on the 2 sub-clusters

18
Cross-bar Constructor Clustering Algorithm Cross-Bar Constructor many paths with congestion 2 cross-bar of congestion 2 failure + feedback disjoint “large” clusters S = (S 1, S 2, …, S γ )

19
find a degree-3 tree of clusters, o edge k/polylog(k) paths connect the tails of paths inside clusters of degree ≥ 2 return the trees and degree- 1 and -2 clusters techniques: bounded degree tree [Singh Lau 07] Splitting-off [Jac98] Cross-bar Constructor : High-Level Idea

20
Summary

21
Known Results Congestion minimization o -approximation [Raghavan,Thompson ’87] o -hard to approximate [Andrews,Zhang ’07] Edge disjoint path o -approximation [Chekuri,Khanna,Shepherd ’06] o -hard to approximate [Andrews,Chuzhoy,Guruswami,Khanna,Talwar,Zhang ’10]

22
EDP Instance I = (G, M ={(s 1,t 1 ),…,(s k,t k )} ) Reduction to Well-Linked Instances Multi-Commodity Flow Relaxation fractional routing for I Well-linked Instance I 1 = (G 1, M 1 ) Well-linked Instance I 2 = (G 2, M 2 ) …… Well-linked Instance I t = (G t, M t ) Well-Linked Decomposition

23
Special Cases of EDPwC k = O(1) exact algorithm [Robertson, Seymour’90] min-cut = Ω (log 5 n) polylog(n) approximation [Rao, Zhou’06] Planar graph : Ω(1)-approximation with congestion 2[Seguin-Charbonneau, Shepherd’ 11] In a degree-d α - expander of size n, given a perfect matching of vertices, we can route Ω(αn/d 2 log n) pairs vertex-disjointly [Rao, Zhou’06]

24
Cut-Matching Game Cut player: wants to construct an expander over V Matching player: wants to delay its construction Each iteration: o Cut player breaks V into two equal parts A and B o Matching player selects a matching between A and B Lemma [Khandekar,Rao,Vazirani ’06]: there is a strategy for the cut player, s.t, after O(log 2 n) iterations, the union of matchings is an expander

25
Creating Expander via Cut-Matching Game V=set of 2k * trees i-th iteration: o Cut player breaks V into 2 parts A and B o Matching player connects A and B in S i ; can always connect A to B since S i is 1-well-linked for Γ i …… S1S1 S2S2 SγSγ

26
Creating Expander via Cut-Matching Game cross-bar has congestion 2→expander has congestion 2 o vertex tree o edge path routing in expander node-disjointly [Rao, Zhou’06] → routing in G with congestion 2 …… S1S1 S2S2 SγSγ

27
Clustering Algorithm A cluster S is large if |out(S)| ≥ k 1 for some k 1 = k/polylog k; otherwise, it is small Algorithm returns a family S ={S 1, S 2, …, S γ } of disjoint large clusters of non-terminals; γ = polylog k, G\TG\T S2S2 SγSγ T S1S1 S2S2

28
Our Algorithm Clustering Algorithm Cross-Bar Constructor many paths with congestion 2 cross-bar of congestion 2 “sparse cut” of some cluster S j S “small cut” separating some S j and terminals Step 1 : construct a family of γ clusters Step 2 : construct 2k * trees T 1, T 2, …, T 2k*, each containing an edge in out(S i ) for every for every i [γ] Step 3 : connect the 2k * trees to k * pairs of terminals disjoint “large” clusters S = (S 1, S 2, …, S γ ) additional congestion lost large congestion lost

29
Edge Disjoint Path with Congestion (EDPwC) 2 pairs with congestion 1 4 pairs with congestion 3 3 pairs with congestion 2 s1s1 t1t1 s2s2 t2t2 s3s3 t3t3 s4s4 t4t4 An α-approximation for EDP with congestion c is a solution that routes OPT/α pairs with congestion at most c optimum number of pairs with congestion 1 EDP Congestion Minimization EDP with Congestion

30
Large and Small Clusters a cluster S is large if |out(S)| ≥ k 1 for some k 1 = k/polylog k; otherwise, it is small the clustering algorithm outputs a family of γ disjoint large clusters large cluster small cluster

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google