Poly-Logarithmic Approximation for EDP with Congestion 2

Presentation on theme: "Poly-Logarithmic Approximation for EDP with Congestion 2"— Presentation transcript:

Poly-Logarithmic Approximation for EDP with Congestion 2
Julia Chuzhoy Toyota Technological Institute at Chicago Shi Li Department of Computer Science Princeton Unveristy This talk is about …. This is joint work with..

Edge-Disjoint Path(EDP)
Input : Graph G, k pairs (s1,t1),…, (sk, tk) of terminals Goal : Route as many pairs as possible using edge-disjoint paths s1 t1 s2 t2 s3 t3 s4 t4 n #vertices k #pairs terminals non-terminals Let’s start with the def. In the EDP problem, we are given, the goal is when we say ”we route a pair si, ti", ” connect them”. In the graph, for example, we can route 2 pairs ED In this talk, I’ll use n to denote, k, squares, and circles.. can route 2 pairs

Congestion Minimization
Input : Graph G, k pairs (s1,t1),…, (sk, tk) of terminals Goal : route all pairs so as to minimize the congestion s1 t1 s2 t2 s3 t3 s4 t4 n #vertices k #pairs terminals non-terminals There is another prob related to EDP, which is called. In the prob, we’re given the same input. the goal is. Here cong is max number of paths that share a same edge. For the same inst, to route, we need. This edge, The two are the ess routing problems and…. Let’s see congestion = 3

Congestion Minimization
Known Results Edge Disjoint Paths Congestion Minimization Goal route maximum # of pairs with no congestion route all pairs; minimize congestion Approx. Hardness [CKS06] [RT87] Both are NP hard and we’re looking for approx algs. For EDP, despite its long history, the best app rat is only For CM, the only result we know was . by classic RR of RT On the neg side, we have. So, there are exp. gaps for both For EDP, although. we do have a matching LB. Most known algorithms(ours) are based on . and suffer [ACG+10] [AZ07] -integrality gap for natural LP relaxation for EDP [GVY93]

LP Relaxation and Gap Instance
sk t1 t2 tk So, what is the LP relax? Well, it is ess. Multi where for each The inst that gives. is the following. This is the graph Frac. route ½, integr. Connect 1 pair. So fractional : k/2 integral : 1 k =

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 Let’s see what this means for the approx. Suppose OPT = … If we’re using the prev. and restrict . use cong 1 Maybe we’re asking for too much A natural Q. This gives the problem we study, which We say..

approximation [CKS06] hardness Approximation Θ(.) Main Theorem: There is a polylog(k)-approximation algorithm for EDP with congestion 2 [KK11] [AR01, BS00, KS04] 1 c 2 3 [Chu12] This Paper [And10] 14 [ACG+10] We can route OPT/polylog(k) pairs with congestion 2, where OPT is the optimum number of pairs with congestion 1 Let’s see what’s known for… C=1, equivalent, so.. The RR Of RT give… For cong c, the RR gives… On the neg side, the tech.. Look tradeoff, poly, poly Breakthrough, Andrews. to 14 slightly stronger For cong-2, RR gives, no better than. Then, KK impro.. So, we have n3/7 w/ 2 and pol w/ 14. This [Azar, Regev ’01] [Baveja, Srinivasan ’00] [Kolliopoulos, Stein ’04] [RT87] 2 Congestion

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 A B S G Before describing to our alg, let’s take a detour to talk about some useful notion. It is called well-linkedness. So what is ? Suppose, we say.. Similarly, we can say “ ”, where S s .. and Gamma is..

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 With the notion of WL, we can define WL instss CKS showed that WLOG. That is,.. most important Our main Lemma is. By combining this with the CKS lemma, we obtain polylog(k)-apprx. for EDP with Main Lemma : Given a well-linked instance, we can route k/polylog(k) pairs with congestion 2

High-Level Idea of [Chu12]
Our Improvement “cross-bar” of congestion 14 2 Our algorithm is built on the techniques of []. The very high level idea of alg of Chu12 is following: First, we construct a. I’ll define a cross-bar very soon. Then, with the cross bar. Essentially, our imp. is to reduce. And thus routing of k/polylog(k) pairs with congestion 14 2

Cross-Bar γ =polylog(k) disjoint clusters S1, S2, …, Sγ
k*=k/polylog(k) trees T1, T2,…, Tk*, each Tj contains a terminal tj, a edge eij in out(Si) for each i[γ] for each i[γ], Si is well-linked for the set {ei1, ei2, …, eik*} the k* terminals {t1,t2,…,tk*} come from k*/2 pairs of the input tj congestion of cross bar is congestion caused by S2 Si Now, let’s define a CB.. A cross bar contains the following elements. First, clusters, then trees. The trees and clusters satisfy the following properties: If we look at… Secondly… The congestion of.. Notice disjoint. Means eij

Cross-Bar Construction in[Chu12]
select a family of clusters with good properties build trees connect more terminals so that they form pairs S1 S2 Si Problems: trees cause congestion 2 and go through clusters terminals do not form pairs We now say something about on how the alg of Chu12 creates the cross-bar and why we get a large congestion In order to our improvement: to avoid accumulating congestion, merge the 3 steps

Our Algorithm select a family of clusters with good properties
build trees connect more terminals to trees so they form pairs disjoint “large” clusters S = (S1, S2, …, Sγ ) Clustering Algorithm Cross-Bar Constructor failure + feedback many paths with congestion 2 To be more specific , we first combine ; now the 2 steps We also have a Comp for the 1st step, which is called The output of is.. Given the family, one of the following. Feed back, why we failed… With the information cross-bar of congestion 2

Clustering Algorithm Clustering Algorithm Cross-Bar Constructor
many paths with congestion 2 cross-bar of congestion 2 failure + feedback disjoint “large” clusters S = (S1, S2, …, Sγ ) Now, we focus our clustering algorithm .. Recall that, the output and given a feedback from the constructor

A cluster S is small if out(S)< k1 = k/polylog(k);
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 A cluster S is small if out(S)< k1 = k/polylog(k); otherwise, it is large C C 3. Standard procedure called -- 3. Give more details on this step

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 if the cross-bar constructor fails, with the feedback, the clustering algorithm will make progress C

Is S well-linked for out(S)? Yes : done No : find and remove the sparse cut and recursively apply the procedure on the 2 sub-clusters In the algorithm I described, we used the procedure called well-linked decomposition. The algorithm is called well-linked decomposition. We’re given and ask the following question:…… The lemma is : the tot

Cross-bar Constructor
Clustering Algorithm Cross-Bar Constructor many paths with congestion 2 cross-bar of congestion 2 failure + feedback disjoint “large” clusters S = (S1, S2, …, Sγ ) Now, we move to our cross-bar constructor, we only give the very high-level ideas.

Cross-bar Constructor : High-Level Idea
find a degree-3 tree of clusters, 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] After a sequence of processes, we can obtain the following structure : a degree-3 tree over clusters.. Then, we connect.. Here is a degree-2 vertex. We have 2 sets of tails.. Just connect them. This is a degree-3 cluster, we have 3 sets of tails.. We connect the 1st set and 2nd set; then, then we connect the 2nd and 3rd set…. Finally, we return the set of trees and degree-1 and degree-2 vertices.

Summary A polylog(k)-approximation for EDP with congestion 2. Future directions: Simpler algorithm? Better approximation for EDP with congestion 1? (interesting even for planar graphs) Better approximation or better hardness for congestion minimization problem? Thank you To sum up, here are some possible future direction :

Known Results Congestion minimization Edge disjoint path
-approximation [Raghavan,Thompson ’87] -hard to approximate [Andrews,Zhang ’07] Edge disjoint path -approximation [Chekuri,Khanna,Shepherd ’06] -hard to approximate [Andrews,Chuzhoy,Guruswami,Khanna,Talwar,Zhang ’10] For Congestion m.. randomize of .. and .. gives a log / log log .. On the negative side, we know the problem is … hard to approximate.. For the most general case of EDP, we only know…, while on the negative side, it is … Although gap, matching lower bound.. Most of the known appr. Alg. for EDP, including all I'll mention in this talk, are based on the relaxation.

EDP Instance I = (G, M ={(s1,t1),…,(sk,tk)} ) Multi-Commodity Flow Relaxation Well-Linked Decomposition fractional routing for I Well-linked Instance I 1= (G1, M1) I 2= (G2, M2) …… I t= (Gt, Mt )

Special Cases of EDPwC k = O(1)  exact algorithm [Robertson, Seymour’90] min-cut = Ω (log5n)  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/d2log n) pairs vertex-disjointly [Rao, Zhou’06]

Cut-Matching Game Cut player: wants to construct an expander over V
Matching player: wants to delay its construction Each iteration: Cut player breaks V into two equal parts A and B 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(log2n) iterations, the union of matchings is an expander

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

Creating Expander via Cut-Matching Game
cross-bar has congestion 2→expander has congestion 2 vertex  tree edge  path routing in expander node-disjointly [Rao, Zhou’06] → routing in G with congestion 2 S1 S2 ……

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

Our Algorithm Clustering Algorithm Cross-Bar Constructor
Step 1 : construct a family of γ clusters Step 2 : construct 2k* trees T1, T2, …, T2k*, each containing an edge in out(Si) for every for every i[γ] Step 3 : connect the 2k* trees to k* pairs of terminals disjoint “large” clusters S = (S1, S2, …, Sγ ) Clustering Algorithm large congestion lost Cross-Bar Constructor additional congestion lost “sparse cut” of some cluster Sj S many paths with congestion 2 Here is how our alg works. We first combine …. ; now the 2 steps are integrated in a single component, which is called.. By combining the 2 steps, we can save 3. We also have a component, which is… The output of … is.. Given the family, the output of the constructor is one of the following 4… Interactive, this interactions “small cut” separating some Sj and terminals cross-bar of congestion 2

Edge Disjoint Path with Congestion (EDPwC)
Congestion Minimization EDP with Congestion 2 pairs with congestion 1 4 pairs with congestion 3 3 pairs with congestion 2 An α-approximation for EDP with congestion c is a solution that routes OPT/α pairs with congestion at most c s1 t1 s2 t2 s3 t3 s4 t4 optimum number of pairs with congestion 1

Large and Small Clusters
a cluster S is large if |out(S)| ≥ k1 for some k1= k/polylog k; otherwise, it is small the clustering algorithm outputs a family of γ disjoint large clusters large cluster small cluster A cluster S is large.. Whether a cluster is small or large depends on the number of out edges, not the number of vertices. The output of clustering algorithm is a fa..non-terminals.. So, it will be something like this.. A small cut, a sparse cut..