Routing in Undirected Graphs with Constant Congestion

Given an undirected graph G=(V,E), a collection (s_1,t_1),...,(s_k,t_k) of k source-sink pairs, and an integer c, the goal in the Edge Disjoint Paths with Congestion problem is to connect maximum possible number of the source-sink pairs by paths, so …

Authors: Julia Chuzhoy

Routing in Undirected Gra phs with Constan t Congestion Julia Ch uzho y ∗ No ve m b er 10, 2018 Abstract Given an undirected graph G = ( V , E ), a colle c tio n ( s 1 , t 1 ) , . . . , ( s k , t k ) of k source- sink pairs, and an int eger c , the go al in the Edge Disjoint Paths with Congestio n pro blem is to connect maximum p o ssible num b er of the s o urce-sink pairs by paths, so that the maximum load on any edge (called edge congestion) do es not excee d c . W e show an efficient ra ndo mized alg orithm to ro ute Ω( OPT / po ly log k ) s o urce-sink pairs with congestion at most 14 , where OPT is the ma x imum num b er of pairs that c an be simultaneously routed on edge-disjoint paths. The b es t previo us algorithm that routed Ω( OPT / p oly log n ) pair s required congestio n p oly (log lo g n ), and for the setting wher e the maximum allow ed c o ngestion is b ounded b y a constant c , the b est pr evious alg orithms could only g ua rantee the routing of OPT /n O (1 /c ) pairs. ∗ T oy ota T echnologic al Institute, Chicago, IL 60637 . Email: cjul ia@ttic.ed u . Su pp orted in part by NSF CAR EER gran t CCF-0844872 and Sloan Researc h F ellows hip. 1 In tro duction W e study net wo rk routing p roblems in undirected graphs. In such problems, we a re giv en an undirected n -v ertex graph G = ( V , E ), and a collection M = { ( s 1 , t 1 ) , ( s 2 , t 2 ) , . . . , ( s k , t k ) } of k sour c e-sink p airs , that w e also refer to as demand p airs . In order to r oute a pair ( s i , t i ), w e need to select a path connecting s i to t i in graph G . Giv en a routin g of an y su bset of the demand pairs, its c ongestion is the maximum load on any edge, that is, the maxim u m num b er of p aths conta ining the same edge. In general, we would lik e to route as many demand pairs as p ossible, while minimizing the edge congestion. These t wo conflicting ob jectiv es naturally giv e r ise to a num b er of basic optimizatio n problems. One of the cent ral routing problems is E dge Disjoin t Pa ths ( EDP ), wh er e the goal is to route the max- im u m num b er of d emand pairs on edge-disjoin t paths (that is, w ith congestion 1). Rob ertson and Sey- mour [RS90] ha v e shown an efficien t algorithm to solv e this problem, when the num b er k of the demand pairs is b ound ed by a constan t. Ho w ever, for general v alues of k , it is NP-hard to eve n decide whether all pairs ca n b e sim ultaneously routed on edge- disjoin t paths [Kar72]. T he b est current ly kno wn ap- pro x im ation algorithm f or the pr oblem, due to Cheku ri, Khanna an d S hepherd [CKS06b], ac hiev es an O ( √ n )-appro x im ation f actor, while th e b est current h ardness of approximat ion is Ω(log 1 / 2 − ǫ n ) for an y constant ǫ , unless NP h as rand omized qu asi-p olynomial time algo rithms [AZ05, A CG + 10]. W e note that the standard m ulticommo dity flo w LP relaxation for EDP , which is commonly used in appro ximation algorithms for n etw ork routing problems, h as an integrali t y gap of Ω ( √ n ) [CKS06b]. In terestingly , Rao and Zhou [RZ10] ha ve shown a fac tor p oly log n -appro ximation for EDP on graphs where the v alue of th e global minim um cut is Ω(log 5 n ), by roundin g the same LP relaxation. On the other extreme is the Congestion Minimization pr oblem, w here w e are r equ ired to route all source-sink p airs, while m inimizing the edge congestion. Th e classica l randomized r ounding tec h - nique of Ragha v an and Thomp son [R T87] giv es the b est cur rent ly kno wn app ro ximation algorithm for th is problem, w hose app ro ximation factor is O (log n/ log log n ). On the n egativ e side, Andrews and Zh ang [AZ07] sho w that the problem is hard to a pproximat e to w ithin a facto r of Ω  log log n log log log n  unless NP has randomized qu asi-p olynomial time alg orithms. A p roblem that lies b et ween these t wo extremes, an d is a natural framewo rk f or studyin g the tradeoff b et w een the n u m b er of pairs routed and the edge congestion is the Edge Disjoin t P aths with Congestion problem ( EDPwC ). W e say that an algorithm A ac h iev es a fact or α -app ro ximation with c ongestion c for EDPwC , iff it r outes at least OPT /α of the source-sink p airs, and the co n gestion o f this routing is b ound ed b y c , where OPT is the maxim u m num b er of demand pairs that can b e sim ultaneously routed on edge-disjoin t p aths. In particular, a v ery int eresting qu estion is whether, by sligh tly relaxing the conditions of the EDP pr oblem, namely allo wing a small edge congestion, w e can significant ly increase the num b er of pairs routed. When the congestion c is allo w ed to b e as high as Ω(log n/ log log n ), the randomized rounding al- gorithm of Ragha v an and Thomps on [R T87] giv es a constan t factor approxima tion for EDPwC . F or smaller v alues of c , until recen tly , only O ( n 1 /c )-appro ximation algorithms h av e b een kn o wn [AR01, BS00, KS04]. In a r ecen t br eakthrough, Andrews [And10] has sho wn a randomized algorithm to route Ω  OPT log 61 n  pairs with congestion O ((log log n ) 6 ). In another recen t result, Ka waraba y ash i and Koba yashi [KK11] ha ve sho wn an algorithm that routes Ω  OPT n 3 / 7  pairs with congestion 2, thus im- pro v in g the best previously kno wn O ( √ n )-appro x im ation for c = 2. In this pap er we show an efficien t randomized algorithm, that r outes Ω  OPT log 23 . 5 k log log k  demand pairs with congestion at most 14. W e note that on the n egativ e sid e, And rews et al. [ACG + 10] h a ve shown 1 that for any constan t ǫ , for an y 1 ≤ c ≤ O  log log n log log log n  , there is no O  (log n ) 1 − ǫ c +1  -appro ximation algorithm for EDPwC with congestion c , unless NP has randomized qu asi-p olynomial time algorithms. Therefore, the b est approximat ion factor one may hop e to ac h iev e for EDPwC in the setting where the maxim um allo w ed congesti on is b ound ed by a constant is p olylogarithmic. Other related results EDP and its v arian ts hav e b een stu died extensively , and b etter appro xi- mation algo rithms are kno wn for s ev eral sp ecial ca s es. Some examples include planar graphs [F ra85, KT95, Kle05, C KS05, CKS06a, KK10], trees [GVY93, CMS07], and expander graph s [LR99, BFU94, BFSU94, KR96, F ri00]. W e note that routing problems are s omewh at b etter und ersto o d in directed graph s. The EDP problem has ˜ O  min  n 2 / 3 , √ m  -appro ximation algorithms in d irected graphs, wh er e m is the n u m b er of graph edges [CK03, VV04, Kle96], and it is hard to appr o ximate to w ithin a factor of Ω  m 1 / 2 − ǫ  for an y constan t ǫ [GKR + 99]. The r an d omized round ing tec hnique of Ragha v an and Thomp s on [R T87 ] giv es an O (log n/ log log n )-appro ximation for directed Congestion Minimization, and th e problem is hard to appro ximate to w ithin a factor of Ω(log n / log log n ) [AZ08, CGKT07], u nless NP has randomized quasi- p olynomial time algorithms. As f or ED PwC , the r andomized rounding tec hniqu e giv es an O ( cn 1 /c )- appro ximation [KS04, Sr i97] f or any congestion b ound c , and for any 1 ≤ c ≤ O  log n log log n  , there is no n Ω(1 /c ) -appro ximation algorithm for the pr oblem un less NP has rand omized quasi-p olynomial time algorithms [CGKT07]. Our results and tec hniques Our main r esult is su mmarized in the follo wing theorem. Theorem 1 Ther e is a r andomize d p olynomial-time algorithm, that, gi ven a gr aph G and a set M = { ( s 1 , t 1 ) , . . . , ( s k , t k ) } of k demand p airs, w.h.p. finds a c ol le ction P of p aths, c onne cting Ω  OPT log 23 . 5 k log log k  of the demand p airs with c ongestion at most 14 , wher e OPT is the maximum numb er of the demand p airs that c an b e simultane ously r oute d on e dge-disjoint p aths in G . Our algorithm in fact routes Ω  OPT LP log 23 . 5 k log log k  demand pairs, where OPT LP is the v alue of the optimal solution to the stand ard multico mmo dity fl o w linear programming relaxation for the p r oblem. S ince the in tegralit y gap of this LP relaxatio n is Ω( √ n ) for EDP (that is, wh en no congestion is allo we d), our resu lt sho ws that the int egralit y gap impro v es from p olynomial to p olyloga rithmic if we allo w a congestion of 14. W e now giv e an o verview of our tec hniques and compare them to previous work. One of the basic notions us ed throughout the algorithm is that of w ell-link edness. I n formally , given a graph G = ( V , E ) with a set T ⊆ V of vertic es called terminals, we sa y that G = ( V , E ) is well -link ed for T , iff an y set D of demands on the terminals (w h ere eac h terminal participates in at m ost one demand pair) can b e routed with lo w congestion in G (w e mak e this d efinition p recise in th e follo wing sections). F or an y subs et S ⊆ V of vertic es, let out( S ) b e the s u bset of edges with exactly one endp oin t in S . Giv en a subset S ⊆ V of v ertices of G , w e sa y th at S is well -link ed, iff it is w ell-link ed for the set out( S ) of edges (in order to obtai n the sta ndard defi nition of w ell-link edness, sub divide eac h edge e ∈ out( S ) w ith a terminal t e , and consider th e sub -graph of the r esulting graph induced by S ∪ T with the set T of terminals, wh ere T = { t e | e ∈ out( S ) } ). The starting p oint of our algorithm is the same as in the work of [CKS05, RZ 10, And 10]. W e start with the standard LP-relaxation for the EDP problem on graph G , and w e compute a partition of G into disjoin t induced su b -graphs G 1 , . . . , G r . F or eac h 1 ≤ i ≤ r , we compute a sub set M i ⊆ M of demand pairs that are con tained in G i , suc h that the graph G i is well-link ed for the corresp onding set T i of termin als, con taining all 2 v ertices that participate in th e pairs in M i , and moreo ver, P r i =1 |M i | ≥ Ω  |M| log 2 k  . An algo rithm for efficien tly computing such a d ecomp osition wa s shown by Chekur i, Khanna and S hepherd [CKS05]. F rom n o w on, it is enough to fi n d a go o d routing in eac h r esulting su b-instance G i separately . T o simplify notat ion, let G denote any su c h sub-instance G i , let M denote the set M i of d emand pairs, and let T denote the corresp ond ing set T i of terminals. S ince graph G is w ell-link ed for T , it h as go o d expansion prop erties with resp ect to T . Ho w ev er, graph G m ay b e far from b eing an expander, since it ma y con tain m an y v ertices b esides the terminals. Intuitiv ely , a natural approac h is to emb ed an expan d er X , whose v ertex set is T , int o the graph G . Eac h edge e = ( t i , t j ) of th e expander is mapp ed to a p ath P e connecting t i to t j in G , and the congestion of the em b edd ing is the maxim um, o ve r all edges e ′ ∈ E ( G ), of the num b er of paths in { P e | e ∈ E ( X ) } , co n taining e ′ . If we could find a lo w-congestion em b edding of an exp ander X into G , then we could use existing algorithms f or routing on expan d ers to find a low-c ongestion routing of a p olylogarithmic fr action of the demand pairs in X , whic h in turn w ould gi v e us a lo w-congestion routing of the s ame demand pairs in G . This is the approac h that has b een u sed by Rao and Zhou [RZ 10] and by Andrews [And10]. A very useful to ol in em b edding an expander in to an y w ell-link ed graph is the cut-matc hing game of Khandek ar, Rao and V azirani [KR V06]. I n this game, we ha v e tw o play ers: a cut p la yer and a matc hing pla yer. The cut pla yer wan ts to construct an expander X , wh ile the matc h ing pla y er tries to delay its construction. W e start with X con taining only the set V ( X ) of 2 N v ertices and no edges. In eac h iteration i , the cut p la yer compu tes a partition ( A i , B i ) of V ( X ) with | A i | = | B i | = N , and th e m atching play er computes a matc hing M i b et w een A i and B i . T he edges of M i are then added to X . Kh andek ar, Rao and V azirani [KR V06] ha ve shown that no m atter what th e matc hing pla ye r do es, there is a strateg y for the cut p la yer (that w e denote b y A KR V ), such that after O (log 2 N ) iterations, X b ecomes an expander. A natural strategy for constructing an exp ander X and emb ed ding it into graph G using the cut-matc h ing game, is the follo wing. W e will use the algorithm A KR V for the cut pla yer, while the matc hing play er will b e simulated by find ing appropriate flo ws in graph G . Sp ecifically , we let V ( X ) = T b e the set of v ertices of X . If ( A i , B i ) is the bi-partition of V ( X ) computed by the cut pla yer, then w e can try to s en d | A i | = | B i | fl ow units from the terminals of A i to th e terminals of B i in graph G , and use the resulting flo w to define the matc h ing M i . T his pro cedure can b e used to b oth construct the expand er X , and embed it into the graph G . In f act, Kh andek ar, R ao and V azirani use precisely this pro cedure in their algorithm for the s parsest c ut pr oblem. One p roblem with this approac h is that w e need to compute Θ(log 2 k ) differen t fl o ws in graph G , and together they ma y cause a p oly-logarithmic congestion. Moreo ve r , the partitions th at the cut pla yer co mputes dep end on the matc hings returned b y the matc h ing pla yer in previous iteratio ns, so w e cannot attempt to route all these flo ws sim u ltaneously in graph G with low co n gestion. Rao and Zhou [RZ10] ha ve prop osed th e follo wing ap p roac h to o v ercome th is difficult y . Let γ = Θ(lo g 2 k ) b e the num b er iterations in the algorithm of [KR V06]. W e can bu ild γ graphs G 1 , . . . , G γ , where for eac h 1 ≤ i ≤ γ , V ( G i ) = V ( G ), and the sets E ( G 1 ) , . . . , E ( G γ ) of edges form a partition of the edges in E ( G ). If w e can construct the family G 1 , . . . , G γ of graphs in such a wa y that eac h graph G i is still w ell-linke d for the termin als, then w e can n o w construct the expander X and em b ed it int o G b y usin g the cut-matc hin g game of [KR V06], where for eac h 1 ≤ i ≤ γ , in order to construct the matc hing M i , w e find a flo w conn ecting v ertices of A i to vertic es of B i in the graph G i . Since the edges in eac h set M i are em b edded in to distin ct graph s G i , the congestion d o es not accumulat e, and w e obtain a go o d em b edding of X in to G . In ord er to construct the graph s G i , Rao and Zh ou use a rand om pro cedur e w here eac h edge e ∈ E is added to one of th e graphs G i uniformly at rand om. How ev er, in order to ensure that eac h r esulting graph G i is w.h.p. well-l ink ed for the termin als, the initial g raph G m us t hav e a large global minim u m cut, th at is, the v alue of the global min im u m cut in G must b e at least p oly-loga rithmic. In order to o v ercome this d iffi cu lt y , An drews [And10] u ses Raec k e’s tree decomp osition tec h nique [R¨ ac02]. Roughly sp eaking, he decomp oses the graph G into a co llection C 3 of disjoin t clusters, where eac h cluster C ∈ C is w ell-linke d . Moreo ver, if H is the graph obtained from G by con tracting ea c h cluster C ∈ C into a single v ertex, then H is b oth well-l ink ed for the term in als, and the v alue of the global m inim um cut in H is h igh enough, so we can u se th e algorithm of Rao and Zhou to complete the routing. Our algorithm us es a sligh tly different notion of em b eddin g one graph into another. Sp ecifically , we still constr u ct an expander X on a sub set T ′ ⊆ T of term in als, but we em b ed it into the graph G differen tly . Eac h ve r tex t ∈ V ( X ) is r epresent ed by a connected comp onent C t in graph G , that con tains the terminal t . Eac h edge e = ( t, t ′ ) ∈ E ( X ) is repr esented by a path P e connecting some v ertex v ∈ C t to some vertex v ′ ∈ C t ′ in graph G . Moreo ver, w e ensure that eac h edge e ′ ∈ E ( G ) only participates in a constan t num b er of the connected comp onents { C t } t ∈ V ( X ) and paths { P e } e ∈ E ( X ) . Once we find such an em b edd ing, we use vertex-disjoin t r outing in the expander X , that giv es a lo w edge-congestion routing in the original graph G . Since we construct the expand er X using the pro cedur e of [KR V06], the degree of ev ery v er tex in X is b ounded b y O (log 2 k ), and s o a go o d routing on vertex-disjoin t paths can b e found in X us in g standard algorithms for routing in expanders. A m a jor p oint of our departure from previous work is ho w the exp ander X is constructed and em b edded in to G . A cen tral notion in our algorithm is that of a go o d family of v ertex sets. Let k ′ = k / p oly log k b e some parameter, where k = |M| is the n u m b er of the demand pairs. W e sa y that a subset S ⊆ G of v er tices is a go o d subset , iff there is a collectio n Γ ⊆ out( S ) of k ′ edges, suc h that G [ S ] ∪ Γ is w ell-linke d for Γ, and moreo ver the edges in Γ can send | Γ | flo w u nits to the terminals in T with lo w edge-congest ion in graph G . A family F of v ertex sub sets is a go o d family iff it con tains γ mutually disjoin t goo d v ertex subsets S 1 , . . . , S γ , where γ = O (log 2 k ) is th e parameter from the cut-matc hing game of [KR V06]. Supp ose we hav e found a go o d family F = { S 1 , . . . , S γ } of v ertex sub sets. F or eac h 1 ≤ j ≤ γ , let Γ j ⊆ out( S j ) b e the corresp onding subset Γ of edges. In order to constru ct the expander X , we select a subs et T ′ = { t 1 , . . . , t k ′ } ⊆ T of k ′ terminals, and we let V ( X ) = T ′ . F or eac h 1 ≤ i ≤ k ′ , w e then construct a connected comp onen t C i in graph G , that conta ins, for eac h 1 ≤ j ≤ γ , a distinct edge e i,j ∈ Γ j , and also cont ains the terminal t i . F or eac h 1 ≤ j ≤ γ , the edges e 1 ,j , . . . , e k ′ ,j are all distinct, and we view the edge e i,j as the copy of terminal t i for the set S j . W e also ensure that eac h edge of graph G only p articipates in a constant num b er of comp onents { C i } k ′ i =1 . F or eac h i , C i is view ed as represen ting the ve r tex t i of X in graph G . In order to constru ct the expander X , w e u s e the cut-matc h ing game of [KR V06], w here in ea c h iteration 1 ≤ j ≤ γ , w e use the sub -graph G [ S j ] to route some matc hing M j b et w een the copies of the terminals in A j and the terminals in B j for set S j . This ensu res that th e congestio n do es not accumulate across differen t ite rations. Finally , w e sh ow an efficient algorithm for findin g a go o d family F of v ertex subsets. Th r oughout the algorithm, we maintain a c ontr acte d gr aph G ′ . T his graph is uniqu ely d efined b y a collectio n C of disjoin t v ertex sub sets of V ( G ). Giv en the set C of clusters, graph G ′ is obtained from G b y con tracting ev ery cluster C ∈ C into a vertex v C . W e s a y that G ′ is a le gal c ontr acte d gr aph for G iff for eac h C ∈ C , | out( C ) | ≤ k ′ , cluster C is w ell-link ed for out( C ), and it do es not co n tain an y terminals. W e sho w a randomized algorithm, th at, giv en a legal con tracted grap h G ′ , w.h .p. either finds a go o d family F of v ertex subs ets in the original graph G , or returns a new legal con tracted graph G ′′ with | E ( G ′′ ) | < | E ( G ′ ) | . T herefore, after at most | E ( G ) | such iterations, our algorithm is guarantee d to return a goo d family of ve rtex s ubsets w.h.p . Eac h suc h iteration is executed as follo ws. Giv en a current con tracted graph G ′ , we find a rand om partition V 1 , . . . , V γ of its v ertices. F or eac h 1 ≤ j ≤ γ , w e then try to reco v er a goo d ve rtex su bset S j ⊆ V ( G ) from the set V j ⊆ V ( G ′ ) of vertice s. If w e succeed to do so for all 1 ≤ j ≤ γ , then w e ha ve found a go o d f amily of vertex su bsets. Otherwise, if we fail to r eco v er a go o d ve rtex sub s et for s ome 1 ≤ j ≤ γ , then w e fi nd a new legal con tracted graph G ′′ that cont ains s tr ictly fewe r edges than G ′ . The heart of this algorithm is a (so mewhat non-standard) 4 w ell-linke d deco mp osition pro cedure, th at is applied to eac h set V j in turn , and wh ose result is either a go o d subset S j of v ertices, or a new cont racted graph G ′′ . 2 Preliminaries and Notation Problem Definit ion W e are given an undirected graph G = ( V , E ), and a set M = { ( s 1 , t 1 ) , . . . , ( s k , t k ) } of k source-sink pairs, th at we also refer to as d emand p airs. W e denote b y T the set of v ertices that participate in pairs in M , and we call th em terminals . Let OPT denote the m aximum num b er of d e- mand p airs that can b e simultaneously r outed via edge-disjoint paths. Ou r goal is to fi nd a collection of Ω( OPT / p oly log k ) paths connecting distin ct source-sink pairs, with congestion at most 14. W e assu me w.l.o.g. that eac h terminal in T participates in exactly one sour ce-sink pair. Otherwise, if a te rminal v ∈ T participates in r > 1 source-sink pairs, w e can add r new term in als t 1 ( v ) , . . . , t r ( v ), connect eac h of them to v with an edge, and use a d istinct terminal in { t 1 ( v ) , . . . , t r ( v ) } for eac h source-sink pair in whic h v participates. W e also assume w .l.o.g. that the maxim um v ertex d egree in G is 4, and that the degree of ev ery terminal is 1. In ord er to ac h iev e this, we p erf orm the follo win g simp le transform ation to graph G . First, if v is a terminal, w hose d egree is greater than 1, th en w e add a new v ertex u to graph G that connects to v with an edge, and b ecomes a terminal instead o f v . Next, w e pro cess the n on-terminal v ertices one-by-one. Let v b e any suc h vertex, and assume that the degree of v is d > 4. Let u 1 , . . . , u d b e the v ertices that are neigh b ors of v . W e replace v with a d × d grid Z v , and denote b y u ′ 1 , . . . , u ′ d the ve rtices in the first r o w of Z v . F or eac h 1 ≤ i ≤ d , we add an edge ( u i , u ′ i ). It is easy to v erify that an y solution to the EDP problem in the original graph can be transformed in to a feasible routing of the same v alue and n o congestion in the new graph , and any routing in the n ew graph with congestion η can b e transformed into a routing in the original graph with the same congestion. Therefore, w e assume fr om now on that the maxim u m vertex degree in G is 4, the degree of ev ery terminal is 1, and ev ery terminal participates in one sour ce-sink pair. General Not a tion F or a graph G = ( V , E ), and subsets V ′ ⊆ V , E ′ ⊆ E of it s v ertices and edges resp ectiv ely , we denote by G [ V ′ ], G \ V ′ , and G \ E ′ the su b-graphs o f G in duced by V ′ , V \ V ′ , and E \ E ′ , resp ectiv ely . F or an y sub set S ⊆ V of v ertices, we d enote by out G ( S ) = E G ( S, V \ S ) the subset of edges with one endp oin t in S an d the other endp oin t in V \ S , and by E G ( S ) the sub set of edges with b oth endp oin ts in S . When cle ar f r om con text, w e o mit the subscript G . Thr oughout the pap er, we sa y th at a random ev ent succeeds w .h.p., if the p robabilit y of success is (1 − 1 / p oly ( n )), where n is th e num b er of vertices in th e inpu t graph. Let P b e an y collection of paths in graph G . W e s a y that paths in P cause congestion η in G , iff the maxim um num b er o f paths in P conta ining any edge is η . In other w ords, if P e ⊆ P is the su bset of paths that con tain the edge e ∈ E ( G ), then max e ∈ E ( G ) {|P e |} = η . Definition 1 Assume that we ar e given a subset S ⊆ V of vertic es and a subset E ′ ⊆ E of e dges of G . We say that a c ol le ction P of p aths c onne cts the vertic es of S to the e dges of E ′ with c ongestion η , and denote P : S η E ′ , iff P = { P v | v ∈ S } , wher e p ath P v has v as its first vertex and some e dge of E ′ as its last e dge, and P c auses c ongestion at most η i n G . In p articular, e ach e dge in E ′ serves as th e last e dge o n at most η p aths in P . Similarly, give n two subsets S , S ′ of vertic es, if P is a c ol le ction of p aths, c onne cting every vertex in S to some vertex in S ′ with over al l c ongestion at most η , then we denote this by P : S η S ′ . Final ly, if | S | = | S ′ | = |P | , and e ach p ath in P c onne cts a distinct vertex of S to a distinct vertex of S ′ , then we d enote this by P : S 1:1 η S ′ 5 Similarly to the ab o ve definition, we sa y that a fl o w F connects the ve rtices of S to the edges of E ′ with congestion η , and denote F : S η E ′ , iff eac h v ertex v ∈ S sends one fl o w unit to the edges in E ′ , and the flo w F causes congestion at most η in G . Notice that eac h flo w-p ath in F s tarts at a verte x of S and terminates at some ed ge e ∈ E ′ . W e view edge e as part of the fl o w-path, so in particular eac h edge in E ′ receiv es at most η flo w units. Notice that from the in tegralit y of flow, there is a flo w F : S η E ′ iff there is a collectio n P : S η E ′ of p aths. Giv en a graph G = ( V , E ), and a subset T ⊆ V of term in als, a set D of d emands is a fu nction D : T × T → R + , that sp ecifies, for eac h pair t, t ′ ∈ T of term in als, a d emand D t,t ′ . F or simplicit y , w e assume that the p airs t, t ′ of terminals are unord ered, that is D t,t ′ = D t ′ ,t for all t, t ′ ∈ T . W e sa y that the set D of d emands is γ -restricted, iff for eac h t ∈ T , the total demand P t ′ ∈T D t,t ′ ≤ γ . W e sa y that the set D of demands is inte gr al iff D t,t ′ is an intege r for ea c h t, t ′ ∈ T . Giv en an y set D of demands, a fr actional r outing of D is a flo w F , w here f or eac h u nordered pair t, t ′ ∈ T , the amount of flo w sent fr om t to t ′ (or fr om t ′ to t ) is D t,t ′ . Giv en an in tegral set D of demands, an inte gr al routing of D is a collection P of p aths, wher e f or eac h u nordered pair ( t, t ′ ) ∈ T , there are D t,t ′ paths connecting t to t ′ in P . The congestion of th is in tegral routing is the congestion caused by the s et P of paths in G . Giv en a matc hin g M on a set T of vertice s , w e sa y that M ca n be routed in G with congestion η , iff the set D of demands , w here D t,t ′ = 1 iff ( t, t ′ ) ∈ M , and D t,t ′ = 0 otherwise, can b e routed in G w ith congestion at most η . Sparsest C ut and the Flo w-Cut Gap Su pp ose w e are giv en a graph G = ( V , E ), w ith non- negativ e we igh ts w v on v ertices v ∈ V , and a sub set T ⊆ V of k terminals, suc h that for all v 6∈ T , w v = 0. F or an y sub set S ⊆ V of v ertices, let w ( S ) = P v ∈ S w ( v ). Th e sparsit y of a cut ( S, S ) in G is Φ( S ) = | E ( S,S ) | w ( S ) · w ( S ) , and the v alue of the sparsest cut in graph G is d efined to b e: Φ( G ) = min S ⊂ V { Φ( S ) } . In the sparsest cut problem, the in put is a graph G with non-negativ e w eigh ts on v ertices, and the goal is to find a cut of minimum sparsit y . Arora, R ao and V azirani [AR V09] ha ve sho wn an O ( √ log k )- appro ximation algo rithm for the sparsest cut p roblem. W e will often w ork with a sp ecial case of the sparsest cut pr oblem, where for eac h t ∈ T , w t = 1. A problem du al to the sparsest cut problem is the maxim um concurrent flo w problem. F or the case where the weig hts of all termin als are unit, th e goal in the maximum concurr en t flow problem is to find the maximum v alue λ , suc h eac h pair of terminals can s en d λ flow units to eac h other with no congestion. The flo w-cut gap is the maxim um p ossib le ratio, in an y graph, b et ween the v alue of the minim um sparsest cut and the maximum concur ren t flo w. Th e v alue of the fl ow-cut gap in undirected graphs, that we denote by β ( k ) thr oughout the pap er, is Θ (log k ) [LR99, GVY95, LLR94, AR98]. Therefore, if Φ( G ) = α , then ev ery pair of terminals can s end α/β ( k ) flow units to eac h other with no congestion. W e will use a sight ly different, but also standard, and roughly equiv alen t, defin ition of sp arsit y . Giv en an y partition ( S, S ) of V , the sp arsity of the cut ( S, S ) is Ψ( S, S ) = | E ( S,S ) | min { w ( S ) ,w ( S ) } . W e th en d enote: Ψ( G ) = m in S ⊂ V  Ψ( S, S )  . It is easy to see that 2Ψ( G ) /k ≥ Φ( G ) ≥ Ψ( G ) /k . Therefore, if Ψ( G ) = α , th en Φ( G ) ≥ α/k , and ev ery pair of terminals can send α k β ( k ) flo w u nits to eac h other w ith n o congestion. Equiv alen tly , ev ery pair of terminals can send 1 /k flow u nits to eac h other with congestion at most β ( k ) /α . Moreo v er, an y matc hing on the set T of terminals can b e fractionally routed with congestion at most 2 β ( k ) /α . In the rest of the pap er, w e will use the latter defi nition of sparsit y , and we will u se the term cut sparsity and the v alue of sparsest cut to denote Ψ ( S, S ) and Ψ( G ) resp ectiv ely . The algo rithm of Arora, 6 Rao and V azirani [AR V09] can still b e used to obtain a cut in graph G w h ose sparsit y is at most O ( √ log k ) · Ψ( G ). W e d enote by A AR V this algorithm a nd by α AR V ( k ) = O ( √ log k ) its ap p ro xim ation factor. Routing on E xpa nde rs Definition 2 We say that a gr aph G = ( V , E ) is an α -exp ander, i ff min S ⊆ V : | S |≤| V | / 2 n | E ( S, S ) | | S | o ≥ α There are many algorithms for routing on expanders, e.g. [LR99, BFU94, BFSU94, KR 96, F r i00], whic h giv e differen t t yp es of guaran tees. F or example, F rieze [F ri00] has sho w n that if G is an r -regular graph (where r is a constan t) with strong enough expansion prop erties, then there is an efficien t r andomized algorithm for routing any matc hin g on an y su bset of Ω( n/ log n ) of its vertice s via edge-disjoin t paths. W e need a slightly different t yp e of guarantee: the routing should b e on vertex-disjoin t p aths, and the graph degree may b e su p er-constan t (bu t still b ounded ). Rao and Zh ou [RZ10] giv e such an algorithm, whic h is summarized in the n ext theorem. F or complete n ess, w e pro vid e a pro of ske tch in App end ix. Theorem 2 (The orem 7.1 in [RZ10]) L et G = ( V , E ) b e any n -vertex d -r e gular α -exp ander, for α = 1 / 2 . Assume further that n is even, and that the vertic es of G ar e p artitione d into n/ 2 dis- joint demand p airs M =  ( s 1 , t 1 ) , . . . , ( s n/ 2 , t n/ 2 )  . Then ther e is an e ffic i ent algorithm that r outes Ω  n log n · d 2  of the demand p airs on vertex-disjoint p aths in G . The C ut-Matc hing Game W e u se the cut-matc hing game of Kh andek ar, Rao and V azirani [KR V06]. In this game, we are giv en a set V of N ve rtices, where N is ev en, and t w o pla yers: a cut pla y er and a matc h ing pla y er. The goal of the cut play er is to constru ct an exp an d er X on the set V of v ertices as quic kly as p ossib le, and the goal of the matc hin g pla yer is to dela y its construction. Th e game is pla yed in iterations. W e start w ith the graph X con taining the set V of vertic es, and n o edges. I n eac h iteration j , the cut play er computes a b i-partition ( A j , B j ) of the vertices of V in to t wo equal-sized sets, and th e matc hin g pla ye r returns some p erfect matc hing M j b et w een the t wo sets. Th e edges of M j are then added to X . T he follo win g theorem w as prov ed in [KR V06]. Theorem 3 ([KR V06]) Ther e is a pr ob abilistic algorithm for the cut player, such that, no matter how the matching player plays, after γ KR V ( N ) = O (log 2 N ) iter ations, gr aph X is a 1 2 -exp ander w.h .p. W ell-Linked Decomp ositions W ell-link ed decomp ositions hav e b een u sed extensive ly in algo- rithms for net w ork routing, e.g. in [R¨ ac02, CKS04, CKS05, RZ10, And10]. W e define b elo w the sp ecific t yp e of well-l ink ed ness that our algorithm uses and giv e an algorithm for computing the cor- resp ond ing w ell-linke d decomp osition. Definition 3 Given a gr aph G , a subset S of its vertic e s, and a p ar ameter α > 0 , we say that S is α -wel l-linke d, iff for any p artition ( A, B ) of S , if we denote by T A = out( A ) ∩ out( S ) , and by T B = out( B ) ∩ out( S ) , then | E ( A, B ) | ≥ α · min {| T A | , | T B |} . W e also need a more general notion of well -link edn ess that we d efi ne b elo w. In tuitiv ely , this defin ition of well-link edness hand les sub sets S of v ertices, wh ere | out( S ) | ma y b e large, but w e w ill only b e in terested in routin g small amoun ts of flo w through S . 7 Definition 4 L et S b e any su b set of vertic es of a gr aph G . F or any inte ger k > 0 and for any 0 < α < 1 , we say that set S is ( k , α ) -wel l-linke d iff for any p air T 1 , T 2 ⊆ out( S ) of disjoint subsets of e dges, with | T 1 | + | T 2 | ≤ k , the value of the minimum cu t sep ar ating T 1 fr om T 2 in G [ S ] ∪ out( S ) is at le ast α · min {| T 1 | , | T 2 |} . (We say tha t a cut ( X, Y ) of S sep ar ates T 1 fr om T 2 iff T 1 ⊆ out( X ) and T 2 ⊆ out( Y ) .) Note that if | out ( S ) | ≤ k , then s et S is ( k , α )-well -link ed iff it is α -wel l-link ed, that is, the t wo definitions of w ell-link edness b ecome equiv alen t. Notice also that if S is ( k , α )-w ell-link ed, then for an y subs et T ⊆ out( S ) of at most k ed ges, an y matc hin g on T can b e fractionally routed in graph G [ S ] ∪ out( S ) with congestion at most 2 β ( k ) /α . This is since w e can set up an instance of the sp arsest cut problem on graph G [ S ] ∪ out( S ), wh ere the edges of T serv e as te rminals. Since S is ( k , α )-well- link ed, the v alue of the sp arsest cu t is at least α , and so an y matc hin g on T can b e r outed with congestion at most 2 β ( k ) /α . Assume now that S is n ot ( k , α )-w ell-link ed . Then there must b e a partition ( X, Y ) of S , and t wo subsets T 1 ⊆ out( X ) ∩ out( S ), T 2 ⊆ out( Y ) ∩ out( S ) with | T 1 | + | T 2 | ≤ k , such that | E ( X, Y ) | < α · min {| T 1 | , | T 2 |} . W e sa y that ( X, Y ) is a ( k , α ) -violating cut for S . Giv en a subset S of vertic es of G , w e would like to fin d a partition W of S , suc h that eac h set in W ∈ W is ( k , α )-w ell-link ed. W e could do so using the standard wel l-link ed d ecomp osition pro cedu r es, for example like those us ed in [R¨ ac0 2, CKS05]. Ho wev er, in order to d o so, we need to b e able to c heck whether a giv en s ubset W of v ertices is ( k, α )-well -link ed, and if not, find a ( k , α )-violating cut efficien tly . W e do not know ho w to do this, ev en approximat ely . Therefore, we will assu me for no w that w e are giv en an orac le that finds a ( k, α )-violating cut in a give n subset of vertice s, if suc h cut exists. W e describ e the d ecomp osition pro cedu re and b ound the n um b er of edges P W ∈W | out( W ) | in the resulting decomp osition. When w e use this decomp osition later in the algorithm, we will b e in terested in r outing small amounts of flo w (up to k ) across the clusters of th e d ecomp osition. Whenev er we will b e un able to rou te this flo w, w e will naturally ob tain a ( k , α )-violating cut. Therefore, our algorithm itself will serv e as an oracle to the decomp osition pro cedure. W e note that in the ev entual decomp osition W , not all sets W ∈ W may b e ( k , α )-we ll-link ed, b ut w e will b e able to route the flo w th at w e need to rou te across these clusters, an d this is sufficien t for u s. W e no w d escrib e the oracle-based d ecomp osition pr o cedure and a nalyze it. W e are give n as input a subset S of v ertices of G , an integ er k , and a p arameter 0 < α < 1. Throughout the decomposition pro cedur e, w e main tain a partition W of S , and at the b eginning, W = { S } . Th e algorithm pro ceeds as follo ws. As long as n ot all sets in W are ( k , α )-w ell-link ed, our oracle computes a ( k , α )-violating partition ( X , Y ) of one of the s ets W ∈ W . W e then remo v e W from W and add X and Y to W instead. T he next th eorem b ound s P W ∈W | out( W ) | . Theorem 4 L et k > 8 , and denote γ = γ KR V ( k ) = Θ(log 2 k ) . L et α ( k ) = 1 2 11 · γ · log k , and let W b e any p artition of S pr o duc e d over the c ourse of the ab ove algorithm. Then P W ∈W | out( W ) | ≤ | out( S ) |  1 + 1 64 γ  . W e emp hasize that the b ound on P W ∈W | out( W ) | holds f or any p artition pro d uced o v er the course of the al gorithm, and not just the final partition. Pro of: Th e pro of uses a s tandard c h arging sc h eme. F or simplicit y , we den ote α = α ( k ). Consid er some iteratio n of the algo rithm, and sup p ose the oracle has found a ( k, α )-violating partition ( X, Y ) of some set W in the curr en t p artition. Let T X = ou t( X ) ∩ out( W ), T Y = ou t( Y ) ∩ out( W ), and assume w.l.o.g. that | T X | ≤ | T Y | (note that it is p ossib le that | T X | > k ). W e c harge the edges of T X ev enly f or the edges in E ( X , Y ). Sp ecifically , if | T X | ≥ k / 2, then | E ( X, Y ) | ≤ αk / 2 must hold, and 8 the c h arge to eac h edge in T X is at most αk 2 | T X | ≤ αk | out( X ) | . Other w ise, | E ( X , Y ) | ≤ α · | T X | , and the c harge to eac h ed ge of T X is at most α . In an y case, | out( X ) | = | T X | + | E ( X , Y ) | < 2 | out( W ) | / 3, and | out( Y ) | ≤ | out( W ) | . Consider some edge e = ( u, v ) ∈ S W ∈W out( W ). W e analyze the charge to edge e . W e first b ound the charge via the ve r tex u . Let i 1 ≤ i 2 ≤ · · · ≤ i ℓ b e the iterations of the decomp osition pro cedu r e in whic h e w as charge d via v ertex u , and for eac h 1 ≤ j ≤ ℓ , let z j = | out ( W ) | , where W is the cluster to w hic h u b elonged at the end of iteration i j . Note that for eac h 1 < j ≤ ℓ , z j < 2 z j − 1 / 3. Let j ∗ b e the largest index for whic h z j ∗ > k/ 2. Th en the total charge to e via u in iterations i 1 , . . . , i j ∗ is at most: αk z 1 + αk z 2 + · · · + αk z j ∗ ≤ αk z j ∗  1 + (2 / 3) + (2 / 3) 2 + · · · + (2 / 3) j ∗ − 1  < 3 αk z j ∗ ≤ 6 α In eac h su bsequent iteration, the c harge to edge e w as at m ost α , and th e num b er of s u c h iterations is b ound ed by 2 log k . So the charge to edge e via vertex u is at most 6 α + 2 α log k < 4 α log k , and the total c h arge to edge e is at most 8 α log k ≤ 1 2 8 γ . T his ho wev er only accoun ts f or the dir e ct charge . F or example, some ed ge e ′ 6∈ out( S ), th at was first c harged to the edges in out( S ), can in tur n b e charged for some ot her edges. W e ca ll su c h c harging indir e ct . If w e sum u p the indirect c harge for ev ery edge e ∈ out( S ), we obtain a geometric series, and so the total dir ect and indir ect amount c harged to ev ery edge e ∈ out( S ) is at most 1 128 γ . W e conclude that P W ∈W | out( W ) | ≤ | S |  1 + 1 64 γ  . (Th e additional factor of 2 is due to the fact that eac h edge of the partition is coun ted twice in P W ∈W | out( W ) | - once for eac h its endp oint). Let α WL ( k ) = α ( k ) /α AR V ( k ) = Ω(1 / (log 3 . 5 k )). If | out( S ) | ≤ k , then we can obtain a ( k, α WL ( k ))-w ell- link ed d ecomp osition of S efficien tly , by using th e algorithm A AR V for the Sparsest Cu t problem as our oracle: In eac h iteration, for eac h W ∈ W , we apply the algorithm A AR V to the corresp ond ing instance of the sp arsest cut problem (where the edges of out( W ) are viewed as terminals). If the algorithm A AR V returns a ( k , α ( k ))-violating cu t ( X , Y ) for any set W ∈ W , then we can pr o ceed with the decomp osition pr o cedure as b efore. Oth erwise, we are guaran teed that eac h set W ∈ W is α WL ( k )-w ell-link ed. W e therefore h a ve th e follo w ing corolla r y . Corollary 1 L et S b e any subset of vertic es of G , such that | out ( S ) | ≤ k . Then we c an effi- ciently find a p artition W of S , such that for e ach W ∈ W , | out( W ) | ≤ k , and it is α WL ( k ) = 1 2 11 · α AR V ( k ) · γ KR V ( k ) · l og k = Ω(1 / (log 3 . 5 k )) -wel l-linke d. M or e over, P W ∈W | out( W ) | ≤ | out( S ) |  1 + 1 64 γ KR V ( k )  . This fi nishes the description of the w ell-linke d decomp osition pr o cedure. Th roughout the pap er, we use α ( k ) = 1 2 11 · γ KR V ( k ) · l og k to denote the parameter from Theorem 4, and α WL ( k ) = α ( k ) /α AR V ( k ) the parameter fr om Corollary 1. The Grouping T ec hnique The grouping tec hn ique was fi rst introdu ced by Chekur i, Khanna and Shepherd [CKS04], and has since b een widely used in algorithms for net w ork routing [CKS05, RZ 10, And10], as a means of b o osting net w ork connectivit y and well -link edn ess parameters. W e summ arize it in the follo wing theorem. Theorem 5 Supp ose we ar e gi ven a gr aph G = ( V , E ) , with weights w ( v ) on vertic es v ∈ V , and a p ar ameter p . Assume further that for e ach v ∈ V , 0 ≤ w ( v ) ≤ p . Then we c an find a p artition G of the vertic e s in V , and for e ach gr oup U ∈ G , find a tr e e T U ⊆ G , such that: • F or e ach U ∈ G , p ≤ w ( U ) ≤ 3 p , wher e w ( U ) = P v ∈ U w ( v ) . 9 • F or e ach U ∈ G , tr e e T U c ontains al l vertic es of U . • The tr e es { T U } U ∈G ar e e dge-disjoint. Pro of: Let T b e the sp anning tree of the graph G , and assume that it is ro oted at some verte x r . W e p erform a num b er of iterations, wh ere in eac h it eration we delete some edges and vertice s from T . F or ea c h v ertex v of the tree T , let T v denote the sub-tree ro oted at v , an d let w ( T v ) d enote the total w eight of all vertices in T v . W e build the partitio n G of V gradually . At th e b eginning, G = ∅ . While w ( T ) > 3 p , we p er f orm the f ollo wing ite ration: • Let v b e the lo w est vertex in the tree T , su c h that w ( T v ) > p . • If w ( T v ) ≤ 2 p , then w e ad d a n ew grou p U to G , conta in ing all vertices of T v , and w e delete T v from the tr ee T , setting T U = T v . • Otherwise, let u 1 , . . . , u k b e the children of v , and let j b e the smallest index, such that P j i =1 w ( T u i ) ≥ p . W e add a new group U to G , consisting of all vertic es in trees T u 1 , . . . , T u j . Notice th at w ( U ) ≤ 2 p m ust hold. W e let T U b e the sub-tree of T consisting of v and the trees T u 1 , . . . , T u j . W e delete the tr ees T u 1 , . . . , T u j from the tree T . Notice that if, at the b eginn in g of the current iteration, w ( T ) > 3 p , then at the end of the curr en t iteration, w ( T ) > p must hold. In the last iteration, w hen w ( T ) ≤ 3 p , w e add a final group U to G , con taining all vertice s curr en tly in the tree T , and w e let T U b e the current tree T . It is easy to v erify that all conditions of the theorem hold for the final partition G of V . Remark. W e will sometimes u se the group ing th eorem in sligh tly different settings. T he first s u c h setting is when w e are give n a s u bset T ⊆ V of v ertices called terminals, and w e w ould lik e to group them into groups of cardinalit y at least p and at m ost 3 p . I n this case w e will think of all non-terminal v ertices as having weigh t 0, and terminal vertice s as having weigh t 1. In stead of fi nding a partition G of all v ertices, we will b e lo oking for a p artition G ′ of the set T of termin als. Th is partition is obtained from G by ignoring the non-terminal vertice s. Another s etting in whic h w e us e the grouping th eorem is when we are giv en a sub set E ′ ⊆ E of edge s, and w e would lik e to find a group ing G of these edges in to grou p s of at least p and at most 3 p edges. As b efore, we w ould also lik e to find, for eac h group U ∈ G , a tree T U con taining all edges in U , and w e require that the trees { T U } U ∈G are edge- disjoin t. This setting can b e r educed to the previous one, by sub -dividing eac h edge e ∈ E ′ with a terminal v ertex. It is ea s y to v erify that Theorem 5 can b e applied in this s etting as w ell. 3 The Algorithm 3.1 The Starting Poin t Our starting p oint is similar to that used in p r evious wo rk on th e pr oblem [CKS04, CK S05, RZ10, And10]: namely , we u se th e standard m u lticommod it y flow LP-relaxation for the EDP p r oblem to partition our grap h into seve r al disjoin t su b-graphs, that are w ell-linke d for their resp ectiv e sets of terminals, and solv e the problem separately on eac h such sub-graph . Recall that the standard LP- relaxation for EDP is defin ed as follo ws. F or eac h 1 ≤ i ≤ k , we ha v e an in d icator v ariable x i for whether or not w e route the pair ( s i , t i ). Let P i denote the set of all paths connecting s i to t i in G . The LP relaxa tion is defined as fol lo ws. 10 ( LP ) max P k i =1 x i s.t. P P ∈P i f ( P ) ≥ x i ∀ 1 ≤ i ≤ k P P : e ∈ P f ( P ) ≤ 1 ∀ e ∈ E 0 ≤ x i ≤ 1 ∀ 1 ≤ i ≤ k f ( P ) ≥ 0 ∀ 1 ≤ i ≤ k , ∀ P ∈ P i While th is LP has exp onen tially many v ariables, it can b e efficien tly solv ed using standard tec h n iques, e.g. by usin g an equ iv alen t p olynomial-size LP formulati on. T hroughout th e rest of the pap er, we denote by OPT the v alue of th e optimal solution to the LP . Clearly , the v alue of the optimal s olution to the EDP problem instance is at most OPT . W e need the follo wing d efi nition. Definition 5 Given a gr aph G = ( V , E ) , and a subset T ⊆ V of v e rtic es c al le d terminals, we say that T is fl o w-well- link ed in G , iff any matching M on T c an b e fr actional ly r oute d with c ongestion at most 2 in G . The next theorem follo ws fr om p revious w ork of Ch ekuri, Khann a and Sh epherd [CKS 04, C KS05], and we pro vide a short p ro of sketc h in App en dix for completeness. Theorem 6 Supp ose we ar e given a gr aph G = ( V , E ) and a set M of k sour c e- sink p airs in G . Then we c an efficiently p artition G i nto a c ol le ction G 1 , . . . , G ℓ of vertex-disjoint induc e d sub-gr aphs, and c ompute, for e ach 1 ≤ i ≤ ℓ , a c ol le ction M i ⊆ M of sour c e-sink p airs c ontaine d in G i , such tha t: • P ℓ i =1 |M i | = Ω( OPT / log 2 k ) . • F or e ach 1 ≤ i ≤ ℓ , if T i denotes the set of terminals p articip ating in p airs in M i , then T i ⊆ V ( G i ) , and mor e over G i is flow-wel l- linke d for T i . W e n o w pro ceed to solv e the pr ob lem on eac h one of the graphs G i separately . In order to simplify the notation, we denote the graph G i b y G , th e set M i of the source-sink pairs b y M , and th e set of terminals b y T . F or simplicit y , we d en ote |M| = k . Recall that G is fl o w-well -link ed f or T , the degree of ev ery terminal in T is 1, and the maximum ve rtex degree in G is at most 4. It is now enough to prov e that we can r oute Ω  k log 23 . 5 k log log k  demand pairs in M with congestion at most 14. W e also assume that k > k 0 , where k 0 is a large enough constan t: otherw ise, w e can simply pic k any source-sink pair ( s, t ) ∈ M , connect it with an y path P and output this as a solution. In particular, w e will assume that k > log 24 k , and γ KR V ( k ) = Θ(log 2 k ) > 20. 3.2 Legal Contracted Graph Let γ = γ KR V ( k ) = Θ(log 2 k ). W e use a parameter k 1 = k 192 γ 3 log γ = Ω  k log 6 k log log k  . W e will maintain, throughout the algorithm, a graph G ′ , obtained from G by con tracting some su bsets of non-terminal v ertices of G . Sp ecifically , w e say that G ′ is a le g al c ontr acte d gr aph for G , iff the follo wing conditions holds: 11 • The set V ( G ′ ) is partitioned in to t w o subsets, V 1 ⊆ V ( G ) con taining the original v ertices of G , and V 2 = V ( G ′ ) \ V 1 , con taining su p er-no d es v C , for C ⊆ V ( G ). Th e subsets V 1 and { C } v C ∈ V 2 of v ertices of G are all pairwise disjoint, an d T ⊆ V 1 . • Graph G ′ can b e obtained f rom graph G b y contrac ting eac h cluster in set { C | v C ∈ V 2 } into the sup er-no de v C (w e delete all self-lo ops, but we do not delete p arallel edges). • F or eac h sup er-no d e v C ∈ V 2 , | out G ( C ) | ≤ k 1 , and set C is α WL ( k )-w ell-link ed in graph G for the edges in out G ( C ). Notice that graph G ′ ma y hav e p arallel edges, and it remains flow-w ell-link ed for the set T of terminals. Also, since th e m aximum vertex degree in G is constant , the maximum verte x degree in G ′ is at most k 1 , and eac h term in al has degree 1. Eac h edge in graph G ′ corresp onds to some edge in the original graph G , and we will not distinguish b et wee n them. In particular, for every v ertex s ubset S ′ ⊆ V ( G ′ ), if S ⊆ V ( G ) is the corresp onding subset of vertice s in G , where eve ry su p er-no de v C ∈ S ′ ∩ V 2 is replaced by the v ertices of C , then there is a one-to-one mapping b et w een out G ′ ( S ′ ) and out G ( S ), and w e will identify the edges in these t wo sets, that is, out G ′ ( S ′ ) = out G ( S ). W e need the follo w ing simple claim. Claim 1 If G ′ is a le gal c ontr acte d gr aph for G , then G ′ \ T c ontains at le ast k / 6 e dges. Pro of: F or eac h term in al t ∈ T , let e t b e the unique edge adjacen t to t in G ′ , and let u t b e the other endp oin t of e t . W e partition th e terminals in T in to groups, where tw o terminals t, t ′ b elong to the same group iff u t = u t ′ . Let G b e the resu lting partition of the terminals. Since the degree of ev ery v ertex in G ′ is at most k 1 , eac h group U ∈ G con tains at most k 1 terminals. Next, w e partition th e terminals in T into tw o su bsets X , Y , wh ere | X | , | Y | ≥ k / 3, and for eac h g roup U ∈ G , either U ⊆ X , or U ⊆ Y holds. It is p ossible to find su c h a partition by greedily p ro cessing eac h group U ∈ G , and adding all term in als of U to one of the subsets X or Y , that currently conta in s few er terminals. Finally , we remo v e terminals from set X u n til | X | = k / 3, and w e do the same for Y . Sin ce graph G ′ is flo w-well-l ink ed for the terminals, it is p ossible to r oute k / 3 flo w units from the termin als in X to the termin als in Y , with congestion at most 2. Sin ce no grou p U is split b etw een the t w o sets X and Y , ea ch fl o w-path m ust con tain at least one edge of G ′ \ T . T herefore, the num b er of edges in G ′ \ T is at least k / 6. 3.3 F amilies of Go o d V ertex Subsets W e define a go o d family of v ertex subsets in graph G . W e then p ro ceed in t wo steps. First, w e sho w that we can efficien tly find a go o d family of verte x su b sets in graph G . Next, we sho w that giv en su ch go o d family , we can fin d the desired routing of the sour ce-sink p airs in M . Definition 6 We say that a subset S ⊆ V ( G ) \ T of vertic es is a go o d subset iff ther e is a subset Γ ⊆ out G ( S ) of e dges, with | Γ | = k 1 , such tha t: • S is α WL ( k ) -wel l-linke d for Γ . That is, for any p artition ( X, Y ) of S , i f Γ X = Γ ∩ out( X ) and Γ Y = Γ ∩ out( Y ) , then | E G ( X, Y ) | ≥ α WL ( k ) · min {| Γ X | , | Γ Y |} . • Ther e is a flow F in gr aph G , wh er e every e dge e ∈ Γ sends one flow unit to a distinct terminal t e ∈ T (so for e 6 = e ′ , t e 6 = t e ′ ), and the c ongestion c ause d by F is at most 2 β ( k ) /α WL ( k ) = O (log 4 . 5 k ) . 12 We say that a family F = { S 1 , . . . , S γ } of γ = γ KR V ( k ) = Θ(log 2 k ) subsets o f vertic es is go o d iff e ach subset S j is a go o d subset of vertic es of G , and S 1 , . . . , S γ ar e p airwise disjoint. W e view th e subs et Γ ⊆ out G ( S ) of edges as part of the definition of a go o d subset of vertices. In particular, wh en we sa y that we are giv en a go o d family F = { S 1 , . . . , S γ } of vertex su bsets, we assume that we are also giv en the corresp ond ing subsets Γ j ⊆ o ut G ( S j ) of edges, for all 1 ≤ j ≤ γ . W e use the n ext theorem to find a go o d family of vertex su bsets in G . Theorem 7 L et G ′ b e a le gal c ontr acte d gr aph for G . Then ther e is an efficient r andom ize d algorithm that w.h.p. either r eturns a go o d family F = { S 1 , . . . , S γ } of vertex subsets in G , to gether with the c orr esp onding subsets Γ j ⊆ out G ( S j ) of e dges for al l 1 ≤ j ≤ γ , or finds a le gal c ontr acte d gr aph G ′′ for G , with | E ( G ′′ ) | < | E ( G ′ ) | . Pro of: Let m b e th e n umb er of edges in G ′ \ T . F rom Claim 1 , m ≥ k / 6. The proof co nsists of tw o steps. First, w e rand omly partition the vertic es in G ′ \ T into γ subsets X 1 , . . . , X γ . W e sho w that with high probabilit y , for eac h 1 ≤ j ≤ γ , | ou t G ′ ( X j ) | < 10 m γ , w h ile the n um b er of edges with b oth endp oin ts in X j , | E G ′ ( X j ) | ≥ m 2 γ 2 . Th erefore, | E G ′ ( X j ) | > | out G ′ ( X j ) | 20 γ w.h.p. F or eac h j : 1 ≤ j ≤ γ , w e then try to reco ver a go o d sub set S j of ve rtices from th e cluster X j . I f we succeed, th en we obtain a goo d family F = { S 1 , . . . , S γ } of v ertex subsets. If w e fail to r eco v er a goo d v ertex subset f or some 1 ≤ j ≤ γ , th en we will pro duce a legal con tracted graph G ′′ con taining few er edges than G ′ . W e start with the first part. W e partition the v ertices in V ( G ′ ) \ T into sub sets X 1 , . . . , X γ , where eac h vertex v ∈ V ( G ′ ) \ T selects an index 1 ≤ j ≤ γ indep endently uniform ly at random, and is then added to X j . W e need the follo w in g cla im. Claim 2 W i th pr ob ability at le ast 1 2 , for e ach 1 ≤ j ≤ γ , | out G ′ ( X j ) | < 10 m γ , while | E G ′ ( X j ) | ≥ m 2 γ 2 . Pro of: Let H = G ′ \ T . Fix some 1 ≤ j ≤ γ . Let E 1 ( j ) b e the bad ev en t that P v ∈ X j d H ( v ) ≥ 2 m γ ·  1 + 1 γ  . In order to b ound the p robabilit y of E 1 ( j ), w e d efine, for eac h v ertex v ∈ V ( H ), a random v ariable x v , whose v alue is d H ( v ) k 1 if v ∈ X j and 0 otherwise. Notice that x v ∈ [0 , 1], and the random v ariables { x v } v ∈ V ( H ) are pairwise indep en den t. Let B = P v ∈ V ( H ) x v . Then the exp ectatio n of B , µ 1 = P v ∈ V ( H ) d H ( v ) γ k 1 = 2 m γ k 1 . Using the standard Chernoff b ound (see e.g. Theorem 1.1 in [DP09]), Pr [ E 1 ( j )] = Pr [ B > (1 + 1 /γ ) µ 1 ] ≤ e − µ 1 / (3 γ 2 ) = e − 2 m 3 γ 3 k 1 < 1 6 γ since m ≥ k / 6 and k 1 = k 192 γ 3 log γ . F or eac h terminal t ∈ T , let e t b e the unique edge adjacent to t in graph G ′ , and let u t b e its other endp oin t. Let U = { u t | t ∈ T } . F or eac h v ertex u ∈ U , let w ( u ) b e the num b er of terminals t , suc h th at u = u t . Notic e that w ( u ) ≤ k 1 m u st hold. W e sa y that a bad ev ent E 2 ( j ) happ ens iff P u ∈ U ∩ X j w ( u ) ≥ k γ ·  1 + 1 γ  . I n ord er to b ound the probability of the ev ent E 2 ( j ), we defin e, for eac h u ∈ U , a random v ariable y u , whose v alue is w ( u ) /k 1 iff u ∈ X j , and it is 0 otherwise. Notic e that y u ∈ [0 , 1], and the v ariables y u are indep endent for all u ∈ U . Let Y = P u ∈ U y u . Th e exp ectation of Y is µ 2 = k k 1 γ , and ev ent E 2 ( j ) holds iff Y ≥ k k 1 γ ·  1 + 1 γ  ≥ µ 2 ·  1 + 1 γ  . Using the standard Chernoff b ound again, w e get that: Pr [ E 2 ( j )] ≤ e − µ 2 / (3 γ 2 ) ≤ e − k / (3 k 1 γ 3 ) ≤ 1 6 γ 13 since k 1 = k 192 γ 3 log γ . Notice that if ev en ts E 1 ( j ) , E 2 ( j ) do n ot hold, then: | out G ′ ( X j ) | ≤ X v ∈ X j d H ( v ) + X u ∈ U ∩ X j w ( u ) ≤  1 + 1 γ   2 m γ + k γ  < 10 m γ since m ≥ k / 6. Let E 3 ( j ) b e the bad ev ent that | E G ′ ( X j ) | < m 2 γ 2 . W e next pr ov e that Pr [ E 3 ( j )] ≤ 1 6 γ . W e sa y that t wo edges e, e ′ ∈ E ( G ′ \ T ) are indep endent iff th ey d o not share an y endp oin ts. Our first step is to compute a partition U 1 , . . . , U r of the set E ( G ′ \ T ) of ed ges, where r ≤ 2 k 1 , suc h that for eac h 1 ≤ i ≤ r , | U i | ≥ m 4 k 1 , and all edges in set U i are m utu ally indep en d en t. In ord er to compute such a partition, we construct an auxiliary graph Z , wh ose verte x set is { v e | e ∈ E ( H ) } , and there is an edge ( v e , v e ′ ) iff e and e ′ are not ind ep endent. Since the maxim um ve rtex d egree in G ′ is at most k 1 , the maxim um vertex degree in Z is b ounded by 2 k 1 − 2. Using the Ha jnal-Szemer´ edi Theorem [HS70], w e ca n find a p artition V 1 , . . . , V r of the v ertices of Z into r ≤ 2 k 1 subsets, where eac h subset V i is an indep en d en t set, and | V i | ≥ | V ( Z ) | r − 1 ≥ m 4 k 1 . Th e partition V 1 , . . . , V r of the v ertices of Z giv es the desired partition U 1 , . . . , U r of the edges of G ′ \ T . F or eac h 1 ≤ i ≤ r , w e say that the bad ev ent E i 3 ( j ) happ en s iff | U i ∩ E ( X j ) | < | U i | 2 γ 2 . Notice that if E 3 ( j ) hap p ens, then ev en t E i 3 ( j ) m ust h ap p en for some 1 ≤ i ≤ r . Fix some 1 ≤ i ≤ r . The exp ectatio n of | U i ∩ E ( X j ) | is µ 3 = | U i | γ 2 . Since all ed ges in U i are indep en d en t, w e can u se the standard C hernoff b ound to b ound th e probabilit y o f E i 3 ( j ), as follo ws: Pr  E i 3 ( j )  = Pr [ | U i ∩ E ( X j ) | < µ 3 / 2] ≤ e − µ 3 / 8 = e − | U i | 8 γ 2 Since | U i | ≥ m 4 k 1 , m ≥ k / 6, k 1 = k 192 γ 3 log γ , and γ = Θ(log 2 k ), this is b ounded by 1 12 k 1 γ . W e conclude that Pr  E i 3 ( j )  ≤ 1 12 k 1 γ , and by us in g th e u n ion b oun d o v er all 1 ≤ i ≤ r , Pr [ E 3 ( j )] ≤ 1 6 γ . Using the union b ound ov er all 1 ≤ j ≤ γ , with pr obabilit y at least 1 2 , none of the ev ents E 1 ( j ) , E 2 ( j ) , E 3 ( j ) for 1 ≤ j ≤ γ happ en, and so for ea ch 1 ≤ j ≤ γ , | out G ′ ( X j ) | < 10 m γ , and | E G ′ ( X j ) | ≥ m 2 γ 2 m u st hold. Giv en a partition X 1 , . . . , X γ , we can efficiently chec k w hether the conditions of Claim 2 hold. If th ey do not hold, w e rep eat th e randomized partitioning pro cedur e. F rom Claim 2, w e are guaran teed th at w.h.p., after p oly( n ) iterations, we will obtain a p artition with the desired prop erties. Assume n o w that we are giv en the partition X 1 , . . . , X γ of V ( G ′ ) \ T , for whic h the cond itions of Claim 2 hold. Then for eac h 1 ≤ j ≤ γ , | E G ′ ( X j ) | > | out G ′ ( X j ) | 20 γ . Let X ′ j ⊆ V ( G ) \ T b e the set obtained f rom X j , after we un -con tract eac h cluster, that is, for eac h sup er-no de v C ∈ V 2 ∩ X j , we rep lace v C with the v ertices of C . Notice that n X ′ j o γ j =1 is a partition of V ( G ) \ T . W e no w pro ceed as follo ws. F or eac h 1 ≤ j ≤ γ , we p erform a partitioning pro cedur e for the set X ′ j of v ertices. W e sa y that this p artitioning pro cedur e is successful, iff we find a go o d sub set S j ⊆ X ′ j of vertice s. Therefore, if the partitioning pro cedur e is successful for all j , then w e obtain a go o d family ( S 1 , . . . , S γ ) of d isjoin t v ertex sub sets. If the partitioning procedu r e is n ot successful for some j , then we w ill pro d uce a legal con tracted graph G ′′ as required. W e no w describ e the partitioning p r o cedure for some j : 1 ≤ j ≤ γ . Int uitiv ely , w e w ould lik e to p erform a w ell-link ed decomp osition of the set X ′ j of vertice s , using Th eorem 4, to obtain a partition W j of X ′ j . If w e could ensure that eac h set W ∈ W j has | out G ( W ) | ≤ k 1 , and it is α WL ( k )-w ell- link ed, then we could s im p ly obtain the graph G ′′ b y fi rst u ncon tracting all clusters C with v C ∈ V 2 ∩ X j , and then con tracting all clusters in W j in to sup er-no d es. Since we are guaranteed that 14 P W ∈W j | out G ( W ) | ≤ | out G ( X ′ j ) | (1 + 1 64 γ ), while | E G ′ ( X j ) | > | out G ( X ′ j ) | 20 γ , it is easy to v erify that | E ( G ′′ ) | < | E ( G ′ ) | w ould hold. Th ere are tw o p roblems with this approac h. First, in order to use Theorem 4, w e need an oracle for fi nding ( k , α ( k ))-violating cuts of sets. S econd, ev en if w e had s uc h an oracle, we would not b e able to guaran tee that f or eac h set W ∈ W , | out G ( W ) | ≤ k 1 . On the other hand, if, for some set W ∈ W j , | out G ( W ) | ≥ k 1 , then it is p ossible th at W is a go o d set, though this is not guaran teed. Our idea is to gradually p erform the w ell-link ed decomp osition o f the set X ′ j , using Th eorem 4. W e will maintain the curr en t partition W j of X ′ j in to clusters, and in addition, a partition of W j in to t wo subsets: W 1 and W 2 . Intuitiv ely , W 1 con tains all activ e clusters, that still participate in the w ell-link ed d ecomp osition procedu re, and that we may still sub-divide into smalle r clusters later, wh ile W 2 con tains inactiv e clusters. In eac h iteration, w e w ill select an arb itrary cluster S ∈ W 1 , and chec k if S is a go o d set of vertic es. If so, then we decla re th e iteration successful, and stop the pro cedu re. Otherw ise, w e will ei ther obta in a ( k, α ( k ))-violat ing cut of some set S ′ ∈ W j , or w e will b e able to p erform a d ifferen t well- link ed decomp osition step that will tu r n cluster S into an inactiv e one. W e no w giv e a formal description of the partitioning pro cedur e. Throughout the p artitioning pro cedu re, we mainta in a partition W j of the set X ′ j of vertic es, where at the b eginning W j = n X ′ j o . Set W j is in tu rn partitioned in to t wo s u bsets: set W 1 of act iv e clus ters and set W 2 of in activ e clusters. A t the beginnin g, W 1 = W j , and W 2 = ∅ . W e also mainta in a graph ˜ G , whic h is an “almost legal” contrac ted graph f or G in the follo wing sense. The set V ( ˜ G ) of v ertices is p artitioned in to tw o sub sets, ˜ V 1 = V ( ˜ G ) ∩ V ( G ) and ˜ V 2 = V ( ˜ G ) \ ˜ V 1 , with T ⊆ ˜ V 1 . Eac h vertex v C ∈ ˜ V 2 is asso ciated with a cluster C ⊆ V ( G ) \ ˜ V 1 , and all sub sets { C } v C ∈ ˜ V 2 of vertice s are pairwise disjoin t. As b efore, we can ob tain ˜ G from G , b y con tracting eac h cluster C (where v C ∈ ˜ V 2 ) in to a sup er-n o de v C , and deleting self-loop s . F or eac h clus ter S ∈ W 1 , there is a sup er-no d e v S ∈ ˜ V 2 . Let V ′ 2 =  v S | S ∈ W 1  b e the set of all suc h sup er-no des. Then for eac h sup er-no de v C ∈ ˜ V 2 \ V ′ 2 , | out G ( C ) | ≤ k 1 , and C is α WL ( k )-w ell-link ed for out G ( C ) in graph G . In other w ord s, graph ˜ G is a legal contrac ted graph for G , except for the su p er-n o des v S , w here S ∈ W 1 : f or suc h no des v S , we are not guarant eed that | out G ( S ) | ≤ k 1 , or that S is w ell-linked. Ho wev er, if W 1 = ∅ , then ˜ G is a legal con tracted graph of G . W e remark that for clusters S ∈ W 2 , graph ˜ G does not necessarily co n tain a sup er-no de v S , and it is p ossible that the v ertices of S are sp lit among sev eral sup er-no des. W e only main tain the set W 2 for accoun ting p u rp oses. The in itial graph ˜ G is o btained from G ′ as follo w s: we un-con tr act all su p er-n o des v C ∈ X j , and then contrac t all vertic es of X ′ j in to a single sup er-no de v X ′ j . W e set W j = W 1 = n X ′ j o and W 2 = ∅ . While W 1 is non-empt y , we select an y cluster S ∈ W 1 and pro cess it. A t the end of this procedu re, we will either declare that S is a goo d set, or we will find a ( k , α ( k ))-violating cu t of some cluster S ′ ∈ W 1 , or S will become inacti v e. Let S ∈ W 1 b e the curr en t cluster. W e try to sen d k 1 flo w units fr om the edges of out ˜ G ( S ) to the terminals in T in the cur r en t graph ˜ G with no congestio n . Tw o case are p ossible, dep end in g on whether or not suc h flo w exist s. Case 1: Assume first that suc h flo w exists. F rom the integral it y of flo w, there is a collection P of k 1 edge-disjoin t p aths in ˜ G , eac h path connecting d istinct edges in out ˜ G ( S ) to distinct terminals in T . Let Γ ⊆ out ˜ G ( S ) b e the set of k 1 edges wh ic h serve as endp oints of paths in P . W e set up an instance of the s p arsest cut problem in graph G [ S ] ∪ out G ( S ), w here the edges in set Γ s erv e as termin als. W e th en run the alg orith m A AR V on the resulting instance. If the algorithm returns a cut ( X , Y ) of sparsit y less than α ( k ), then ( X , Y ) is a ( k, α ( k ))-violat ing cu t for S . W e then r eplace S w ith X and Y in W j and in W 1 . W e also up date th e current graph ˜ G , b y first un-contrac ting the su p er-n o de v S , and then contract ing the t wo clusters X and Y in to s u p er-n o des v X and v Y , resp ectiv ely . This ends the curr en t iteratio n, and we then pro ceed to pro cess some n ew set in W 1 . Assume n o w that 15 algorithm A AR V returns a cut whose sparsity is at least α ( k ). Then we are guaran teed that S is α WL ( k ) = α ( k ) /α AR V ( k )-w ell-link ed for Γ. Recall th at we are give n a set P of k 1 edge-disjoin t p aths connecting the edges in Γ to th e termin als T in graph ˜ G , where eac h p ath connects a distinct edge e ∈ Γ to a distinct terminal t e ∈ T . In order for S to b e a go o d set, a lo w-congestion flo w connecting the edges in Γ to the terminals must exist in the original graph G . W e will try to find this flow, as follo ws. The flo w will follo w the paths in P , except that we need to s p ecify ho w the flow is routed inside eac h cluster C for v C ∈ ˜ V 2 . Obser ve that for eac h such cluster C , the p aths in P define a set D C of 1-restricted demand s on out G ( C ). Moreo v er, the total num b er of ed ges in out G ( C ) participating in the paths in P is at most k 1 , as there are only k 1 paths in P and we can assu m e w.l.o.g. that they are simple. If v C 6∈ V ′ 2 , then w e are guaran teed that graph G [ C ] ∪ out G ( C ) is α WL ( k )-w ell-link ed for ou t G ( C ). Therefore, w e can route the set D C demands in side G [ C ] ∪ out G ( C ) with congestion at most 2 β ( k ) /α WL ( k ). If v C ∈ V ′ 2 , then C ∈ W 1 , and it is p ossible that we ca nnot route the set D C of demands inside G [ C ] ∪ out G ( C ) with congestion at most 2 β ( k ) /α WL ( k ). W e then pro ceed as follo w s. If, for eac h sup er-n o de v C ∈ V ′ 2 , we can route the set D C of demands inside G [ C ] ∪ out G ( C ) with congestion at most 2 β ( k ) /α WL ( k ), then S is a go o d set, and the j th iteration is su ccessfu l. Otherwise, let v C ∈ V ′ 2 b e any sup er-no d e, for whic h such flo w do es not exist. Consider the instance of the sparsest cut prob lem defined on the graph G [ C ] ∪ out G ( C ), w h ere the edges of out G ( C ) with non-zero demand serv e as terminals (r ecall that there are at most k 1 suc h edge s). Th en the v alue of the spars est cut in this instance is at most α WL ( k ), and so by applying alg orith m A AR V on th is instance of sparsest cut, w e will obtain a ( k , α ( k ))-violating cut ( X, Y ) for set C . W e then remo ve C from W 1 and from W j , and add X and Y to W 1 and W j instead. W e also up date ˜ G b y un-con tracting the sup er-no de v C and co n tr acting the clusters X and Y into sup er-no d es v X and v Y , resp ectiv ely , and end the curren t iteration. T o conclude, if it is p ossible to send k 1 flo w u nits with no congestion in graph ˜ G b etw een out ˜ G ( v S ) and T , then either S is a go o d set, or w e fin d a ( k , α ( k ))-violating cut ( X, Y ) of some cluster C ∈ W 1 (where p ossibly C = S ). Case 2: Assum e no w that suc h flo w do es n ot exist. Then there is a cut ( X , Y ) in graph ˜ G , where T ⊆ Y , v S ∈ X , an d | E ( X , Y ) | < k 1 . (If | out ˜ G ( S ) | < k 1 , then we set X = { v S } ). Let A ⊆ V ( G ) \ T b e the subset of vertic es obtained f r om X after we u n-con tract eve ry sup er-no de v C ∈ X . Then | out G ( A ) | < k 1 . W e p erform a well -link ed decomp osition of A , using Corollary 1, and w e denote the resulting partition of A b y W ( A ). Recall that eac h set C ∈ W ( A ) is guaran teed to b e α WL ( k )-w ell-link ed, and | out G ( C ) | < k 1 . Moreo v er, P C ∈W ( A ) | out G ( C ) | ≤ | out G ( A ) |  1 + 1 64 γ  ≤ | out G ( S ) |  1 + 1 64 γ  . W e sa y th at the clus ter S ∈ W 1 is resp onsible for A , and for the p artition W ( A ) (w e will eve n tually c harge th e edges in out G ( S ) for the edges in S C ∈W ( A ) out G ( C )). W e u p date the graph ˜ G , by first un-con tr acting all sup er-n o des that b elong to X , and then con tracting eac h cluster C ∈ W ( A ) in to a sup er-no de v C . Also, for eac h vertex v C ∈ W 1 , if v C ∈ X , then we mo ve C from W 1 to W 2 , w h ere it b ecomes an inactiv e cluster (notice that sup er-no de v C ma y not exist in the new grap h an ym ore, as th e v ertices of C ma y end u p b eing p artitioned into several clus ters b y the cont raction pr o cedure). Observe that the cluster S that is resp ons ib le for A h as b een mov ed from W 1 to W 2 in the curr en t iteration, and hence it b ecomes an inactiv e cluster. This fin ishes the description of the decomp osition pr o cedure for X j , for 1 ≤ j ≤ γ . I n ord er to analyze it, it is enough to sho w that if this p ro cedure w as not declared su ccessfu l, then the fin al graph G ′′ , obtained at the end of the pro cedur e, when W 1 = ∅ , contai ns fewer edges than G ′ . (W e note th at from the ab o ve discussion it is clear that G ′′ m u st b e a legal con tracted graph for G .) W e b ound the n u m b er of edges in G ′′ in t w o steps. First, w e b ound the n umber of edges in P C ∈W 2 | out G ( C ) | . Observe that W 2 defines a p artition of the set X ′ j of vertic es of G . Moreo v er, this partition was obtained by p erforming an oracle-based w ell-link ed decomp osition of X ′ j . T herefore, from Theorem 4, 16 P C ∈W 2 | out G ( C ) | ≤ | ou t G ( X ′ j ) |  1 + 1 64 γ  . Next, we b ound the num b er of edges in G ′′ , by c harging them to the ed ges of S C ∈W 2 out G ( C ). Let A 1 , A 2 , . . . , A ℓ b e all sets of v ertices A that w ere d ecomp osed in iterations where Case 2 happ ened, in the order in wh ich they were pro cessed. Observe that all v er tices of X ′ j are con tained in S ℓ i =1 A i , as all clusters in W 2 are con tained in S ℓ i =1 A i (but the sets A i are not necessarily disj oin t). The set of edges of G ′′ can b e partitioned into t w o subsets: E 1 = { e = ( u, v ) | e ∈ E ( G ′ ) ∩ E ( G ′′ ); u, v 6∈ X j } , and set E 2 con taining all remaining edges. It is easy to see that E 2 ⊆ S ℓ i =1 ( S C ∈W ( A i ) out G ( C )). In deed, let e = ( u, v ) ∈ E 2 . Let u ′ , v ′ b e the endp oin ts of the corresp ond ing edge in the original graph G . Tw o cases are p ossible. If b oth u, v 6∈ X ′ j , then the only wa y that edge e was added to the graph ˜ G is when either u ′ or v ′ b elonged to some s et A i . L et i ∗ b e the largest index for whic h { u ′ , v ′ } ∩ A i ∗ 6 = ∅ . Then e ∈ S C ∈W ( A i ∗ ) out G ( C ) must hold. Otherw ise, if at least one of the ve rtices (sa y v ′ ) b elongs to X ′ j , then, since every v ertex in X ′ j b elongs to some inactiv e cluster at the end of the algorithm, th ere is at least one index i suc h that v ′ ∈ A i . Let i ∗ b e the largest ind ex for which { u ′ , v ′ } ∩ A i ∗ 6 = ∅ . Then e ∈ S C ∈W ( A i ∗ ) out G ( C ) m ust hold. Therefore, E 2 ⊆ S ℓ i =1 ( S C ∈W ( A i ) out G ( C )). Recall that for eac h set A i , for 1 ≤ i ≤ ℓ , we ha v e a d istinct cluster S i ∈ W 2 resp onsib le for A i , and P C ∈W ( A i ) | out G ( C ) | ≤ | ou t G ( S i ) |  1 + 1 64 γ  Therefore, the total num b er of edges in graph G ′′ is b ound ed by: | E ( G ′′ ) | ≤ | E ( G ′ ) | − | E G ′ ( X j ) | − | out G ′ ( X j ) | + | E 2 | ≤ | E ( G ′ ) | − | out G ′ ( X j ) |  1 + 1 20 γ  + X C ∈W 2 | out G ( C ) |  1 + 1 64 γ  ≤ | E ( G ′ ) | − | out G ′ ( X j ) |  1 + 1 20 γ  + | out G ′ ( X j ) |  1 + 1 64 γ  2 < | E ( G ′ ) | W e are no w ready to describ e the algorithm f or find ing a go o d family of v ertex su bsets in graph G . W e start with the graph G ′ = G , whic h is trivially a legal con tracted graph, and rep eatedly apply Theorem 7 to it. Since the num b er of ed ges in any legal contrac ted graph is at least k / 6 by Claim 1 , w e are guarantee d that after at most | E ( G ) | iterations, the algorithm will pro d uce a go o d family of v ertex subsets w.h.p. W e summarize the r esu lt of this section in the n ext corolla ry . Corollary 2 Ther e is an efficient r andomize d algorithm that w.h.p. c omputes a go o d family of vertex subsets in gr aph G . 3.4 Finding the Rout ing In this section we assume that w e are given a go o d family F = { S 1 , . . . , S γ } of v ertex sub sets of G . F or eac h 1 ≤ j ≤ γ , w e are also giv en a subset Γ j ⊆ out G ( S j ) of e dges, suc h th at S j is α WL ( k )-w ell-link ed for Γ j , and there is a flo w F j : Γ j η T , where eac h edge e ∈ Γ j sends one flo w unit to a distinct terminal t e , and th e total conge stion due to F j is at most η = 2 β ( k ) /α WL ( k ). In order to find the final routing, w e b uild an expan d er on a subset of terminals and embed it int o graph G . More precisely , we select an arbitrary subset M ′ ⊆ M of k ′ / 2 source-sink pairs, w here k ′ = k / p oly log k . Let T ′ ⊆ T b e th e su bset of termin als p articipating in pairs in M ′ , and assu me 17 that T ′ = { t 1 , . . . , t k ′ } . W e construct an expander X on the set { v 1 , . . . , v k ′ } of vertice s, which is then em b edded in to the graph G as follo ws. F or eac h 1 ≤ i ≤ k ′ , w e define a connected comp onent C i in graph G , that represents the v ertex v i of the expand er. F or eac h edge e = ( v i , v j ) ∈ E ( X ), we defin e a path P e , connecting a ve rtex of C i to a v ertex of C j in G . W e will ensure that eac h edge of G ma y only app ear in a sm all constan t n umb er of comp onen ts C i , and a small constant n u m b er of paths P e . W e also ensure that for eac h 1 ≤ i ≤ k ′ , terminal t i ∈ C i . W e will think ab out the exp an d er v ertex v i as r epresen ting the terminal t i . T he idea is that any vertex-disjoin t routing of th e terminal pairs in the expand er X can n o w be translate d in to a lo w edge-congestion routing in the original graph G . W e no w turn to describ e th e construction of the expand er X and the connected comp onen ts C 1 , . . . , C k ′ that w e use to emb ed X into G . Th e constru ction exploits the go o d family F = { S 1 , . . . , S γ } of ve rtex subsets. F or eac h 1 ≤ i ≤ k ′ , we constru ct a collectio n T 1 , . . . , T k ′ of trees in g raph G . E ac h suc h tree T i con tains, for eac h 1 ≤ j ≤ γ , an edge e i,j ∈ Γ j . F or eac h 1 ≤ j ≤ γ , the edges e 1 ,j , e 2 ,j , . . . , e k ′ ,j are all d istinct, and we think of the edge e i,j as the cop y of the vertex v i ∈ V ( X ) for the set S j . In other wo rds, eac h tree T i spans γ copies of the vertex v i , one copy e i,j for eac h s et S j ∈ F . W e will ensure that eac h edge of graph G only participates in a co nstan t num b er of suc h trees. Additionally , w e build a set P = { P t | t ∈ T ′ } of paths, where path P t connects the terminal t to a distinct tree T i (so if t 6 = t ′ , then t and t ′ are co nnected to differen t trees), and the total congestion caused b y paths in P is at most 4. W e r ename the terminals in T ′ , so that t i denotes the terminal that is connected to the tree T i . The final conn ected comp onent C i is simply the u nion of the tree T i and the path P t i . In order to constru ct the expander X on the set { v 1 , . . . , v k ′ } of v ertices, w e use the cut-matc hing game of [KR V06], where w e u se the su b-graph G [ S j ] of G to route the j th matc h in g b etw een th e corresp ondin g copies e 1 ,j , e 2 ,j , . . . , e k ′ ,j of the v ertices v 1 , . . . , v k ′ , r esp ectiv ely . Recall that w e are only guaran teed that sets { S j } γ j =1 are α WL ( k )-w ell-link ed for the edges in Γ j , and so in order to route these matc hings, w e may ha ve to incur the congestion of Ω(1 /α WL ( k )), wh ic h w e cannot afford. Ho wev er, this p roblem is ea sy to o v ercome by p erforming a suitable grouping of the edges of Γ j . The r est of the algorithm pro ceeds in three steps. In the first step, we p erform groupings of the edges in the subsets Γ j for 1 ≤ j ≤ γ . In the s econd step, w e construct the trees T 1 , . . . , T k ′ . In the th ir d step, we finish the construction of the expand er X and its emb edding int o G , and pr o duce the fin al routing of a subset of demand pairs in M ′ . Step 1: Groupings. In this step we compute, for eac h 1 ≤ j ≤ γ , a group ing of the edges in Γ j . W e then establish some prop erties of these groupings. W e use the follo win g t wo parameters: p = 8 β ( k ) /α WL ( k ) = O (log 4 . 5 k ) is the grouping p arameter for the sets Γ j . T h e second p arameter, k ′ = 1 2 γ 3 · ⌊ k 1 6 p ⌋ = Ω  k log 16 . 5 k log log k  is the num b er of the v ertices in the expander X that we will ev entuall y construct. W e assume w.l.o .g. that k ′ is even; otherwise we decrease its v alue b y 1 . Fix some 1 ≤ j ≤ γ . Since G [ S j ] ∪ out G ( S j ) is a conn ected graph, w e can find a spanning tree T j of this graph, and p erform a grouping of the edges in Γ j along this tree in to groups wh ose size is at least p and at most 3 p . Let G j b e the resulting collection of grou p s, and let k ∗ = ⌊ k 1 6 p ⌋ . F or eac h grou p U ∈ G j , let T j ( U ) b e the sub -tree of the tr ee T j spanning the edges of U . F or eac h group U ∈ G j , w e select one arbitrary r epresen tativ e edge, and we let Γ ′ j denote this set of r epresen tativ e ed ges. F or eac h e ∈ Γ ′ j , we denote b y U e the group to whic h e b elongs. Add itionally , let U ′ e ⊆ U e b e an arb itrary subset of p edges of U e , includin g e itself. Notice that | Γ ′ j | ≥ k ∗ m u st h old. If | Γ ′ j | > k ∗ , th en we discard edges from Γ ′ j arbitrarily , un til | Γ ′ j | = k ∗ holds. This fi nishes the description o f the grouping. The next theorem establishes some pr op erties of the resulting group ings that will b e used late r. 18 Theorem 8 • F or e ach 1 ≤ j ≤ γ , f or any p air X, Y ⊆ Γ ′ j of e dge subsets, wher e | X | = | Y | , ther e is a c ol le ction P ( X, Y ) : X 1:1 2 Y of p aths c ontaine d in G [ S j ] ∪ ou t G ( S j ) , wher e e ach p ath c onne cts a distinct e dge of X to a distinct e dge of Y , and the p aths c ause c ongestion at most 2 . • F or al l 1 ≤ i, j ≤ γ , ther e is a se t P i,j : Γ ′ i 1:1 2 Γ ′ j of k ∗ p aths in gr aph G . That is, e ach p ath c onne cts a distinct e dge of Γ ′ i to a distinct e dge of Γ ′ j , with total c ongestion at most 2 . • L et Γ ∗ 1 ⊆ Γ ′ 1 b e any subset of k ′ e dges, M ′ ⊆ M any subset of k ′ / 2 sour c e-sink p airs, and T ′ the subset of terminals p articip ating in p airs in M ′ . Then ther e is a set P : T ′ 1:1 4 Γ ∗ 1 of p aths in G , e ach p ath c onne cting a distinct terminal of T ′ to a distinct e dge of Γ ∗ 1 , with total c ongestion at most 4 . Pro of: In order to pr o ve the first assertion, fi x some 1 ≤ j ≤ γ . F r om the in tegralit y of flo w , it is enough to pr o ve that there is a flo w F j ( X, Y ) in G [ S j ] ∪ out G ( S j ), where eac h edge in X sends one flo w unit, eac h edge in Y receiv es one flow unit, and the flo w congestion is at most 2. W e start b y defining tw o subsets X ′ , Y ′ ⊆ Γ j of edges, as f ollo ws: X ′ = S e ∈ X U ′ e , and Y ′ = S e ∈ Y U ′ e . Observe that | X ′ | = | Y ′ | = | X | · p . Since set S j is α WL ( k )-w ell-link ed for Γ j , there is a flo w F j ( X ′ , Y ′ ) in G [ S j ] ∪ out G ( S j ), where ev ery edge in X ′ sends one flow u nit, ev er y edge in Y ′ receiv es one flo w unit, and the congestion d ue to this fl ow is at most 1 /α WL ( k ). W e are no w ready to defi ne the fl o w F j ( X, Y ). Eac h edge e ∈ X spreads one flo w un it uniformly among the edges of U ′ e along the tree T j ( U e ). Next, all th is flo w is sent along the flo w -p aths in F j ( X ′ , Y ′ ), wh ere w e scale this flo w d o wn b y factor p . Finally , eac h edge e ∈ Y collects all flow from edges in U ′ e along the tree T j ( U e ). Since all trees { T U } U ∈G j are disjoint, and since the congestion caused b y F j ( X ′ , Y ′ ) is at most 1 /α WL ( k ) < p , the r esu lting flo w F j ( X, Y ) causes congestion at most 2. W e n o w turn to pr o ve the second assertion. F rom the inte grality of flo w , it is enough to pr ov e that there is a fl ow F i,j : Γ ′ i 2 Γ ′ j , where ev ery edge in Γ ′ i sends one flow u nit and ev ery edge in Γ ′ j receiv es one fl o w u n it. As b efore, we construct tw o edge subsets, X ⊆ Γ j and Y ⊆ Γ i , as follo ws: X = S e ∈ Γ ′ i U ′ e , and Y = S e ∈ Γ ′ j U ′ e . Notice that | X | = | Y | = k ∗ · p . Recall that from the definition of go o d v er tex subsets, we already hav e a flow F j , where eac h edge e ∈ Γ j sends one fl o w un it to a distinct termin al in T , with total congestion at most η = 2 β ( k ) /α WL ( k ). W e discard all flo w-p aths except those originating at the edges of X . As a result, w e obtain a flo w F ∗ j , where eac h ed ge e ∈ X sends one flo w unit to a distinct terminal t e ∈ T , and F ∗ j causes congestion at most η in G . Let T j b e th e subs et of terminals that receiv e flo w in F ∗ j , |T j | = | X | . Similarly , w e can d efine a flo w F ∗ i , where eac h edge e ∈ Y sends one flo w un it to a distinct terminal t e ∈ T , and F ∗ i causes congestio n at m ost η in G . S ubset T i of terminals is defined similarly . Notice that T i and T j are not necessarily disjoint. But sin ce the set T of terminals is flow-w ell-link ed in G , there is a flo w F : T i 1:1 2 T j , where eac h terminal in T i sends one fl ow u nit, eac h term in al in T j receiv es one flo w unit, and the congestion is at most 2. W e concatenate the three fl o ws, F ∗ i , F , F ∗ j , to obtain a fl ow F ′ : X Y . In this fl o w, eac h edge in X s en ds one flow unit, eac h edge in Y receiv es one flo w unit, and the tota l conge stion is at most 2 η + 2. W e are no w ready to define the flo w F i,j . E ach edge e ∈ Γ ′ i sends one flow unit along the tr ee T i ( U e ), whic h is ev enly split among th e edges of U ′ e . W e then use the flo w F ′ , scaled down by factor p , to route this flo w to the edges of Y . Finally , eac h edge e ∈ Γ ′ j collect s the flow that the edges of U ′ e receiv e, along the tree T j ( U e ), so that after collect ing all that flow, edge e receiv es 1 flo w unit. In order to analyze the total congestion due to flo w F i,j , observe th at all trees { T i ( U ) } U ∈G i ∪ { T j ( U ) } U ∈G j are edge-disjoin t. So the routing along these trees causes a congestion of at most 1. S ince fl ow F ′ 19 causes congestion of at most 2 η + 2, and p is selected so th at p ≥ 2 η + 2, the congestion due to the scaled-do wn flo w F ′ is at most 1. The total congesti on is therefore at most 2. Finally , we p ro ve the third assertion. Let Γ ∗ 1 ⊆ Γ ′ 1 b e an y su bset of k ′ edges, M ′ ⊆ M an y subset of k ′ / 2 source-sink pairs, and T ′ the set of all term in als p articipating in the pairs in M ′ . Let X = S e ∈ Γ ∗ 1 U ′ e , so | X | = k ′ p . As b efore, w e mak e use of the p reviously defined flow F 1 , where eac h edge e ∈ Γ 1 sends one flo w unit to a distinct terminal in T , with total congestion at most η = 2 β ( k ) /α WL ( k ). W e d iscard all flo w-paths except those that originate at the edges o f X . As a result, w e obta in a fl o w F ∗ , where eac h edge e ∈ X sends one flo w unit to a distinct terminal t e ∈ T , and F ∗ causes congestion at most η < p in G . W e no w define a n ew flo w F ∗∗ : Γ ∗ 1 2 T , wh ere eac h edge in Γ ∗ 1 sends one fl o w un it, and eac h termin al in T r eceiv es at most one flo w unit. Flo w F ∗∗ is defined as follo ws. Eac h edge e ∈ Γ ∗ 1 sends on e flow unit to the edges in set U ′ e along th e tree T 1 ( U e ), distrib uting it ev enly among these edges. Eac h edge in U ′ e then send s the 1 /p flow unit it receiv es from e to the termin als via the fl o w F ∗ , so the flo w F ∗ is scaled do wn by f actor p . S in ce the congestio n caused by flo w F ∗ is η < p , and the trees { T 1 ( U e ) } e ∈ Γ ∗ 1 are edge-disjoin t, the total congestion caused by F ∗∗ is at most 2. Moreo v er, eac h terminal receiv es at most one flo w un it in F ∗∗ . F rom the integ ralit y of flo w, ther e is a subset T ′′ ⊆ T of k ′ terminals, and a co llection P 1 : Γ ∗ 1 1:1 2 T ′′ of paths in G . S ince the set T of te rminals is flo w-well-l ink ed , u s ing the int egralit y of fl o w, there is a collecti on P 2 : T ′′ 1:1 2 T ′ of paths in G . W e then obtain the desired collectio n P of paths by concatenat ing the paths in P 1 with the paths in P 2 . Step 2: Constructing the T rees. Th e goal of this step is to find a collection T 1 , . . . , T k ′ of trees in graph G , suc h that eac h ed ge of G b elongs to at most 8 trees. F or eac h tree T i , we will fi nd a su bset E i ⊆ E ( T i ) of sp e ci al e dges , that con tains, for eac h 1 ≤ j ≤ γ , one edge e i,j ∈ Γ ′ j , such that th e sets E 1 , . . . , E k ′ are pairw ise disjoin t. Notice that an edge e ∈ Γ ′ j ma y b elong to sev eral trees, but only to one of them as a sp ecial edge. F or eac h 1 ≤ j ≤ γ , w e denote Γ ∗ j =  e 1 ,j , . . . , e k ′ ,j  , the su bset of edges of Γ ′ j that the trees T 1 , . . . , T k ′ con tain as sp ecial e dges. W e s u mmarize Step 2 in the next theorem. Theorem 9 Given a go o d family F , and a sub se t Γ ′ j ⊆ ou t G ( S j ) of e dges for e ach 1 ≤ j ≤ γ , as c ompute d in Step 1, we c an effici e ntly find k ′ tr e es T 1 , . . . , T k ′ in gr aph G , and for e ach tr e e T i a subset E i ⊆ E ( T i ) of sp e cial e dges, such that: • Each e dge of G b elongs to at mos t 8 tr e es; • Subsets E 1 , . . . , E k ′ of e dges ar e p airwise disjoint; and • F or al l 1 ≤ i ≤ k ′ , E i = { e i, 1 , . . . , e i,γ } , wher e for al l 1 ≤ j ≤ γ , e i,j ∈ Γ ′ j . Pro of: In o rder to p ro ve the theo rem, we start by augmenting the graph G as follo ws. First, replac e eac h edge of G with tw o parallel edges. Next, for eac h 1 ≤ j ≤ γ , add a new v ertex s j , and for eac h edge e ∈ Γ ′ j , we sub-d ivid e one of the copies of e , b y addin g a n ew vertex v e , wh ic h is then connected to the v ertex s j . Notice that from Th eorem 8, f or eac h 1 ≤ j 6 = j ′ ≤ γ , there are exactly k ∗ edge-disjoin t paths conn ecting s j to s j ′ in th e resu lting graph. Finally , we replace eac h edge in the r esulting graph b y t wo bi-directed edges, th u s obtaining a dir ected Eulerian graph that w e denote b y G + . F rom Theorem 8, for eac h pair 1 ≤ j 6 = j ′ ≤ γ of indices, there are k ∗ edge-disjoin t paths connecting s j to s j ′ , and k ∗ edge-disjoin t p aths connecting s j ′ to s j . Notice also that eac h v ertex s j has exactly k ∗ incoming edges and exactly k ∗ outgoing edges. As a next step, w e use the standard edge splitting pr o cedure in graph G + . Our goal is to ev en tually obtain a graph ˜ H on the set { s 1 , . . . , s γ } of vertices, suc h that eac h p air s j , s j ′ is k ∗ -edge connected, 20 and ea c h edge e = ( s j , s j ′ ) ∈ E ( ˜ H ) is a sso ciated with a path P e connecting s j to s j ′ in G + , while all paths in n P e | e ∈ E ( ˜ H ) o are edge-disjoint in G + . Let D = ( V , A ) b e an y dir ected multig r aph with no self-loops. F or any pair ( v , v ′ ) ∈ V of vertices, their connectivit y λ ( v , v ′ ; D ) is the maxim um n u mb er of edge-disjoin t paths connecting v to v ′ in D . Giv en a pair a = ( u, v ), b = ( v , w ) of edges, a splitting-off pro cedur e replaces the t w o edges a, b by a single edge ( u, w ). W e denote by D a,b the resu lting graph. W e use the extension of Mader’s theorem [Mad78] to directed graphs, due to F rank [F ra89] and Jackso n [Jac98]. F ollo wing is a simp lified version of Theorem 3 from [Jac98]: Theorem 10 L et D = ( V , A ) b e an Eu lerian digr aph, v ∈ V and a = ( v, u ) ∈ A . Then ther e is an e dge b = ( w , v ) ∈ A , such that for al l y , y ′ ∈ V \ { v } : λ ( y , y ′ ; D ) = λ ( y , y ′ ; D ab ) W e app ly Theorem 10 rep eatedly to all ve rtices of G + except for the v ertices in set { s 1 , . . . , s γ } , unti l w e obtain a dir ected graph ˜ H , whose v er tex set is { s 1 , . . . , s γ } , and f or eac h 1 ≤ j, j ′ ≤ γ , there are k ∗ edge-disjoin t paths connecting s j to s j ′ and k ∗ edge-disjoin t paths connecting s j ′ to s j . Clearly , eac h edge e = ( s j , s j ′ ) ∈ E ( ˜ H ) is a sso ciated with a path P e connecting s j to s j ′ in G + , and all paths n P e | e ∈ E ( ˜ H ) o are edge-disjoin t. Let ˜ H ′ denote the undirected m ulti-graph identica l to ˜ H , except that n o w all edges b ecome undir ected. Notice that eac h v er tex s j m u st ha ve 2 k ∗ >> γ edges adj acen t to it in ˜ H ′ , so the graph con tains man y parallel edges. F or eac h pair s j , s j ′ of v ertices, there are exactly 2 k ∗ edge-disjoin t paths connecting s j to s j ′ in ˜ H ′ . F or con v enience, let us d enote 2 k ∗ b y ℓ . As a next step, we bu ild an auxiliary und ir ected graph Z on the set { s 1 , . . . , s γ } of ve rtices, as follo w s. F or eac h pair s j , s j ′ of vertice s, ther e is an edge ( s j , s j ′ ) in graph Z iff there are at least ℓ/γ 3 edges connecting s j and s j ′ in ˜ H ′ . If edge e = ( s j , s j ′ ) is present in graph Z , then its capacit y c ( e ) is set to b e the n u m b er of edges connecting s j to s j ′ in ˜ H ′ . F or eac h ve rtex s j , let C ( s j ) denote the total capacit y of edges in ciden t on s j in graph Z . W e need the follo w ing simple observ ation. Observ at ion 1 • F or e ach ve rtex v ∈ V ( Z ) , (1 − 1 /γ 2 ) ℓ ≤ C ( v ) ≤ ℓ . • F or e ach p air ( u, v ) of vertic es in gr aph Z , we c an se nd at le ast (1 − 1 /γ ) ℓ flow units fr om u to v i n Z without violating the e dge c ap acities. Pro of: In order to pro ve the fis t assertion, r ecall that eac h v ertex in graph ˜ H ′ has ℓ edges incident to it (this is since, in graph G + , eac h verte x s 1 , . . . , s γ had exactly k ∗ incoming and k ∗ outgoing edges, and w e did not p erform edge sp litting on these v ertices). So C ( v ) ≤ ℓ for all v ∈ V ( Z ). Call a pair ( s j , s j ′ ) of ve r tices bad iff there are fewe r than ℓ/γ 3 edges connecting s j to s j ′ in ˜ H ′ . Notice that eac h v ertex v ∈ V ( Z ) ma y participate in at most γ bad pairs, as | V ( Z ) | = γ . Therefore, C ( v ) ≥ ℓ − γ ℓ/γ 3 = ℓ (1 − 1 /γ 2 ) m ust hold. F or the second assertion, assume for contradictio n that it is n ot true, and let ( u, v ) b e a violating pair of v ertices. Then there is a cut ( A, B ) in Z , with u ∈ A , v ∈ B , and the total capacit y of edges crossing this cut is at most (1 − 1 /γ ) ℓ . Since u and v were connected b y ℓ edge-disjoint paths in graph ˜ H ′ , this means th at there are at least ℓ/γ ed ges in graph ˜ H ′ that connect bad pairs of v ertices. But since we can only ha ve at most γ 2 bad p airs, and eac h pair has less th an ℓ/γ 3 edges connecting them, this is imp ossible. W e n o w pro ceed in t w o steps. First, w e sh o w that we can efficien tly fi nd a spanning tree of Z with maxim um ve rtex d egree at most 3. Next, usin g this s panning tree, w e s h o w h o w to construct th e collect ion T 1 , . . . , T k ′ of trees. 21 Claim 3 W e c an efficiently find a sp anning tr e e T ∗ of Z with maximum vertex de gr e e at most 3 . Pro of: W e use the algorithm of Sin gh and Lau [SL07] for constructing b ounded-degree spanning trees. Supp ose w e are giv en a graph G = ( V , E ), and our goal is to constru ct a sp anning tree T of G , w here the d egree of every vertex is b ound ed b y B . F or eac h sub set S ⊆ V of v ertices, let E ( S ) denote the subset of edges with b oth endp oint s in S , and δ ( S ) the subset of edges with exactly one endp oin t in S . Singh and Lau co n sider a natural LP-relaxatio n for the problem. W e note that their algorithm works f or a more general p roblem where edges a re asso ciated with costs, and the goal is to find a min imum-cost tree that resp ects the degree requ iremen ts; since we d o not need to m inimize the tree cost, we only discuss the unw eigh ted v ersion here. F or eac h edge e ∈ E , w e h a ve a v ariable x e indicating whether e is included in the solution. W e are lo oking for a feasible solution to the follo wing LP . P e ∈ E x e = | V | − 1 (1) P e ∈ E ( S ) x e ≤ | S | − 1 ∀ S ⊂ V (2) P e ∈ δ ( v ) x e ≤ B ∀ v ∈ V (3) x e ≥ 0 ∀ e ∈ E (4) Singh and Lau [SL07] sho w an efficien t algorithm, th at, giv en a feasible solution to the ab o ve LP , pro du ces a spannin g tree T , w here for eac h vertex v ∈ V , the degree of v is at most B + 1 in T . Therefore, in order to p ro ve the claim, it is enough to show a feasible solution to the LP , wh ere B = 2. Recall that | V ( Z ) | = γ . The solution is defined as follo ws. Let e = ( u, v ) b e any ed ge in E ( Z ). W e set the LP-v alue of e to b e x e = γ − 1 γ ·  c ( e ) C ( v ) + c ( e ) C ( u )  . W e sa y that γ − 1 γ · c ( e ) C ( v ) is the contribution of v to x e , and γ − 1 γ · c ( e ) C ( u ) is the co n tribution of u . W e no w v erify that all constrain ts of the LP hold. First, it is easy to see that P e ∈ E x e = γ − 1, as required. Next, consider some subset S ⊂ V of v ertices. Notice that it is enou gh to establish Constrain t (2) for subsets S with | S | ≥ 2. F rom Observ ation 1, the total capacit y of edges in E Z ( S, S ) m u st b e at least (1 − 1 /γ ) ℓ . Since for eac h v ∈ S , C ( v ) ≤ ℓ , the total con tribution of the ve rtices in S to wards the LP -weigh ts of edges in E Z ( S, S ) is at least γ − 1 γ · (1 − 1 /γ ) = (1 − 1 /γ ) 2 . T herefore, X e ∈ E ( S ) x e ≤ γ − 1 γ | S | − (1 − 1 /γ ) 2 = | S | − | S | /γ − 1 − 1 /γ 2 + 2 /γ ≤ | S | − 1 since w e assum e that | S | ≥ 2. This establishes Constraint (2). Finally , we sho w that for eac h v ∈ V ( Z ), P e ∈ δ v x e ≤ 2. First, the con tribu tion of the vertex v to this s u mmation is b ounded by 1. Next, recall that for eac h u ∈ V ( Z ), C ( u ) ≥ (1 − 1 /γ 2 ) ℓ , while th e total capacit y of ed ges in δ ( v ) is at m ost ℓ . Therefore, th e total con trib ution of other vertic es to th is su mmation is b ound ed by ℓ (1 − 1 /γ 2 ) ℓ · γ − 1 γ ≤ γ γ +1 ≤ 1. The algorithm of S ingh and Lau can n o w b e used to obtain a spanning tree T ∗ for Z with maximum v ertex degree at most 3. Ro ot th e tree T ∗ at any degree-1 v ertex r . Let e = ( s i , s j ) b e some edge of th e tree, where s i is the parent of s j . Recall that there are at least ℓ/γ 3 edges ( s i , s j ) in graph ˜ H ′ . Let A ( e ) b e any collect ion of exactly ℓ/γ 3 suc h edge s. Recall th at for ea ch edge e ′ ∈ A ( e ) in graph ˜ H ′ , there is a path P , connecting either s i to s j or s j to s i in graph G + (recall that graph G + is directed). Sin ce th e direction of the ed ges in G + will n ot pla y an y role in the follo w ing argumen t, w e will assum e w.l.o.g. that P is directed from s j to wa rds s i . Recall that the first edge on path P must co nnect s j to some 22 v ertex v ˜ e , where ˜ e ∈ Γ ′ j , and similarly , the last edge on path P connects some vertex v ˜ e ′ , for ˜ e ′ ∈ Γ ′ i to s i . S o by r emo ving the first and the last edges f rom path P , we obtain a path P e ′ in graph G , th at connects edge ˜ e ∈ Γ ′ j to edge ˜ e ′ ∈ Γ ′ i . Sin ce s i is the parent of s j in tree T ∗ , we will think of P e ′ as b eing directed from S j to wa rds S i . W e call ˜ e the first e dge of P e ′ , and ˜ e ′ the last e dge of P e ′ . Going bac k to the edge e = ( s i , s j ) in tree T ∗ , w e can now define a set P ( e ) = { P e ′ | e ′ ∈ A ( e ) } of exactly ℓ/γ 3 paths in graph G , associated with e . W e let B 1 ( e ) =  ˜ e ∈ Γ ′ j | ˜ e is the first edge on some path P e ′ ∈ P ( e )  and B 2 ( e ) =  ˜ e ∈ Γ ′ i | ˜ e is the last edge o n some path P e ′ ∈ P ( e )  Both sets B 1 ( e ), B 2 ( e ) are multi-se ts, that is, if some ed ge ˜ e ∈ Γ ′ j app ears as a first edge on t w o paths in P e ′ , then w e add tw o copies of ˜ e to B 1 ( e ). (F r om th e construction of G + , it is easy to see that ˜ e ma y app ear as th e first edge on at most t w o suc h paths). W e then ha v e that P ( e ) : B 1 ( e ) 1:1 4 B 2 ( e ), since, fr om the construction of graphs G + and ˜ H ′ , every edge of graph G ma y app ear on at most four paths of S e ∈ E ( T ∗ ) P ( e ). W e call the sets B 1 ( e ) , B 2 ( e ) of ed ges bund les c orr esp onding to e , and we view B 1 ( e ) as a bund le that b elongs to S j , while B 2 ( e ) is a bu n dle that b elongs to S i . Since the degree of tree T ∗ is at most 3, ev ery set S j has at most thr ee bu n dles that b elong to it. F rom th e construction of graph G + , for ev er y v ertex s i : 1 ≤ i ≤ γ , eac h edge in Γ ′ i ma y app ear at most t wice in th e m ulti-set defined by the u nion of the b undles that b elong to S i . I n particular, it is p ossible that it app ears t wice in the same bun d le. W e need to make sur e that th is nev er happ ens . In ord er to achiev e this, we will defi ne, for eac h edge e ∈ E ( T ∗ ), smaller bund les, B ′ 1 ( e ) ⊆ B 1 ( e ) and B ′ 2 ( e ) ⊆ B 2 ( e ), suc h that eac h edge app ears at m ost once in ea c h b undle, and there is a su bset P ′ ( e ) ⊆ P ( e ), w here P ′ ( e ) : B ′ 1 ( e ) 1:1 4 B ′ 2 ( e ). W e will also ensure that | B ′ 1 ( e ) | = | B ′ 2 ( e ) | = ℓ 4 γ 3 . This is done as follo w s. Consider some edge e = ( s i , s j ) in tree T ∗ , and assume that s i is the paren t of s j in the tree. C onsider first B 1 ( e ). F or eac h edge ˜ e ∈ B 1 ( e ), if t wo copies of ˜ e app ear in B 1 ( e ), then w e remo ve one of the copies from B 1 ( e ). If P ∈ P ( e ) is one of the t w o paths for whic h ˜ e is the first ed ge, then we remo ve P from P ( e ), and we also remo ve its last edge fr om B 2 ( e ). It is easy to see that w e remo v e at most h alf the edges of B 1 ( e ). W e then p erform the same op eration for B 2 ( e ). In the end, b oth B 1 ( e ) and B 2 ( e ) m u st con tain at least a 1 / 4 of the original edges, and P ( e ) con tains at least a 1 / 4 of the original paths. W e no w let P ′ ( e ) b e an y subset of exactly ℓ/ 4 γ 3 remaining paths, and we set B ′ 1 ( e ) to b e the set of all edges ˜ e that app ear as the first edge o n some path in P ′ ( e ), and similarly B ′ 2 ( e ) the set of all edges that app ear as the last edge on some path in P ′ ( e ). W e p erform this op eration for all edges e of tree T ∗ . W e are no w ready to define the subsets Γ ∗ j ⊆ Γ ′ j of k ′ edges, Γ ∗ j =  e 1 ,j , . . . , e k ′ ,j  , that our trees will span. Fix some index 1 ≤ j ≤ γ . If s j is n ot the r o ot of the tree T ∗ , then w e let Γ ∗ j = B 1 ( e ), w h ere e is the edge connecting s j to its father in T ∗ . If s j is the ro ot of the tree, then Γ ∗ j = B 2 ( e ), w h ere e is the u nique edge incident on s j in tree T ∗ . Notice that | Γ ∗ j | = ℓ 4 γ 3 = k ∗ 2 γ 3 = k ′ . Finally , we construct the trees T 1 , . . . , T ′ k . In ord er to construct th ese trees, we pro cess the vertice s of the tree T ∗ in the b ottom-up order, starting from the lea v es. Let s j b e any v ertex of T ∗ , and let T ∗ ( s j ) b e the sub -tree of T ∗ , ro oted at s j . W e will ensur e that after vertex s j is pro cessed, w e will ha ve a collect ion T 1 ( s j ) , . . . , T k ′ ( s j ) of trees, su c h that for eac h vertex s i ∈ T ∗ ( s j ), eac h one of the trees con tains exactly one distinct edge of Γ ∗ i as a sp ecial edge. The trees T 1 ( s j ) , . . . , T k ′ ( s j ) will c onsist of 23 the union of the paths P ′ ( e ), where e is an edge in th e sub-tree T ∗ ( s j ) of T ∗ , of the edges of G wh ose b oth en dp oints lie in sets S i for s i ∈ T ∗ ( s j ), and of sets Γ ∗ i , for s i ∈ T ∗ ( s j ). Assume fir st that s j is a leaf of T ∗ . Then the trees T 1 ( s j ) , . . . , T k ( s j ) consist of a sin gle distinct edge of Γ ∗ j eac h. Assume now that s j is an inner v ertex of T ∗ . W e will assume here that s j has t w o c hild ren, s a and s b ; the ca se wh ere s j only h as one c hild is treate d simila rly . Recall that we are giv en a collection T 1 ( s a ) , . . . , T k ′ ( s a ) of trees spanning th e sets Γ ∗ i of vertice s s i in the su b-tree T ∗ ( s a ). W e will assume w .l.o.g., that for eac h suc h tree T q ( s a ), the r o ot of the tree is an endp oin t of the unique edge of Γ ∗ a that b elongs to T q ( s a ) as a s p ecial edge. Let e = ( s a , s j ) b e the edge of T ∗ connecting s a to s j . Recall that we are giv en a collection P ′ ( e ) : Γ ∗ a 1:1 B 2 ( e ) of paths in G . F rom Theorem 8, we can find a set P 1 : B 2 ( e ) 1:1 2 Γ ∗ j of paths contai ned in the sub-graph G [ S j ] of G , where eac h path in P 1 connects a distinct edge of B 2 ( e ) to a d istinct edge of Γ ∗ j . W e no w concatenate the paths in P ′ ( e ) with the paths in P 1 , to get a collection P ′ 1 of paths. E ach path in P ′ 1 connects a ro ot of a distinct tree T q ( s a ) to a distinct edge of Γ ∗ j . Similarly , let e ′ = ( s b , s j ) b e the edge of T ∗ connecting s b to s j . W e are again giv en a collect ion P ′ ( e ′ ) : Γ ∗ b 1:1 B 2 ( e ′ ) of paths in G , and w e can ag ain find a set P 2 : B 2 ( e ′ ) 1:1 2 Γ ∗ j of paths con tained in G [ S j ]. Concatenating the p aths in P ′ ( e ′ ) and P 2 , w e again obtain a colle ction P ′ 2 of paths, where eac h path connects a r o ot of a distinct tree T q ( s b ) with a distinct ed ge in Γ ∗ j . Consider now some edge ˜ e ∈ Γ ∗ j . W e h a ve t wo paths: P 1 ∈ P ′ 1 , connecting ˜ e to the ro ot of some tree T q ( s a ), and p ath P 2 ∈ P ′ 2 connecting ˜ e to the ro ot of s ome tree T q ′ ( s b ). W e obtain a tree T ˜ e ( s j ) b y taking the u nion of T q ( s a ) , T q ′ ( s b ) , P 1 and P 2 (w e m ay need to delete some edges to en s ure that it is in deed a tree). The set of the sp ecial edges of this n ew tree consists of all sp ecial ed ges of T q ( s a ) , T q ′ ( s b ), and the edge ˜ e . A t the end of th is pro cedur e, when the ro ot r of T ∗ is pro cessed, we will obtain a d esired collectio n T 1 , . . . , T k ′ of trees, wh ere for eac h 1 ≤ j ≤ γ , for eac h 1 ≤ i ≤ k ′ , tree T i con tains an edge e i,j ∈ Γ ∗ j , and the edges e 1 ,j , . . . , e k ′ ,j are all distinct. W e now a nalyze the congestion caused by th ese trees. First, as already observe d, eac h edge of graph G ma y b elong to at most four paths of the set S e ∈ E ( T ∗ ) P ′ ( e ). Additionally , for eac h 1 ≤ j ≤ γ , w e route t wo subsets of edges of Γ ′ j to eac h other t wice. Eac h such routing causes congestion 2 in g raph G [ S j ], and so the total congestion caused b y all these routings is at most 4. W e co nclude that eac h edge of G b elongs to at most 8 trees T 1 , . . . , T k ′ . Step 3: Constructing the Expander and finding the routing. In this step, w e construct the expander X , together with its em b eddin g in to the graph G , and find the fi nal routing of a su bset of demands in M . Let M ′ ⊆ M b e any subset of k ′ / 2 d emand pairs, and let T ′ b e the su bset of terminals p articipating in the p airs of M ′ . Let P = T ′ 1:1 4 Γ ∗ 1 b e the col lection of paths connecting the terminals of T ′ to the edges of Γ ∗ 1 ⊆ Γ 1 (where Γ ∗ 1 =  e 1 , 1 , . . . , e k ′ , 1  ), guarantee d by Theorem 8. Denote P = { P t | t ∈ T ′ } , wh ere P t is the path originating fr om terminal t . Rename the terminals in T ′ as T ′ = { t 1 , . . . , t k ′ } , w here for eac h 1 ≤ i ≤ k ′ , t i is the terminal whose path P t terminates at the edge e i, 1 (the u n ique edge of Γ ∗ 1 that b elongs to th e tree T i as a sp ecial edge). F or 1 ≤ i ≤ k ′ , let C i b e th e connected comp onent of grap h G , that co nsists of the un ion of the tree T i and the path P t i . S ince eac h edge of graph G participates in a t most 8 trees T i , and at most 4 paths in P , eac h edge of G p articipates in at m ost 12 connected comp onent s C i . W e no w construct th e expand er X and em b ed it int o the grap h G . The set of vertice s of X is V ( X ) = { v 1 , . . . , v k ′ } , wh ere we view eac h vertex v i as representing the termin al t i ∈ T ′ . W e view the 24 connected comp onent C i as the em b edding of the vertex v i in to G . Finally , we n eed to define the of the edges of X and sp ecify their e m b eddin g in to G . In ord er to do so, w e u s e the cut-ma tc hing game of K h andek ar, R ao and V azirani [KR V06] with γ = γ KR V ( k ) iterations. Recall that in eac h iteration j , the cut play er pro du ces a partition ( A j , B j ) of V ( X ), with | A j | = | B j | . Th e matc hing pla yer then returns some m atc hing M j b et w een th e ve r tices of A j and B j , and the edges of M j are added to graph X . W e are guaran teed that no matter what the matc hing pla yer do es, there is alw a ys a w a y for the cut p la yer to efficiently compute the partitions ( A j , B j ) in eac h iteration j (wh ic h ma y d ep end on the previous matc hings M 1 , . . . , M j − 1 ), such that after γ iterations, X b ecomes a 1 2 -expander w.h .p. Ou r idea is to u se the graph s G [ S j ] to r oute the matc h ings M j . S p ecifically , let ( A 1 , B 1 ) b e the p artition of V ( X ) pro d uced b y the cut pla yer in the first iteration. Consider th e set Γ ∗ 1 =  e 1 , 1 , . . . , e k ′ , 1  of edges. P artition ( A 1 , B 1 ) of V ( X ) defin es a partition ( A ′ 1 , B ′ 1 ) of these edges, wh ere A ′ 1 = { e i, 1 | v i ∈ A 1 } and B ′ 1 = { e i, 1 | v i ∈ B 1 } . F rom T heorem 8, w e can find a set Q 1 : A ′ 1 1:1 2 B ′ 1 of | A ′ 1 | p aths con tained in G [ S 1 ] ∪ out G ( S 1 ), where eac h path in Q 1 connects a d istinct edge of A ′ 1 to a d istinct edge of B ′ 1 . Set Q 1 of paths then defines a matc hin g M ′ 1 b et w een the sets A ′ 1 and B ′ 1 , whic h in turn d efines a matc hing M 1 b et w een th e sets A 1 and B 1 of v ertices of V ( X ). W e then treat M 1 as the resp onse of the matc hing pla y er. F or eac h ed ge e = ( v i , v i ′ ) ∈ M 1 of the matc hing, w e let P e b e the uniqu e path of Q 1 connecting e i, 1 to e i ′ , 1 . W e view P e as the embedd ing of e int o graph G . W e conti n ue similarly to execute the r emaining iterations, where in eac h iteration j : 1 ≤ j ≤ γ , w e use the set S j ∈ F to find the matc hin g M j . T hat is, w e d efine the partition ( A ′ j , B ′ j ) of Γ ′ j based on the partition ( A j , B j ) of V ( X ) as b efore, find a collection Q j : A ′ j 1:1 2 B ′ j of paths con tained in G [ S j ] ∪ out G ( S j ). These paths giv e us the matc hing M ′ j b et w een the sets A ′ j and B ′ j of edges, which in turn giv es us the matc hin g M j b et w een the sets A j and B j of v ertices of V ( X ). F or eac h ed ge e = ( v i , v i ′ ) ∈ M j , w e let P e b e the un ique path of Q j connecting e i,j to e i ′ ,j . W e view P e as the em b edding of e in to graph G . The fi nal graph X is th e graph obtained after γ iteratio ns, with E ( X ) = S γ j =1 M j , and we are guaran teed that w.h.p. it is a 1 2 -expander. F or ea c h edge e = ( v i , v i ′ ) ∈ E ( X ), we h a ve d efined an em b edding P e of e in to G , wh ere P e is a path conn ecting some v ertex in C i to some ve r tex in C i ′ . L et P X = { P e | e ∈ E ( X ) } . Th en P X = S γ j =1 Q j , and the total congestion ca used by paths in P X in G is at most 2. Th is finishes the d efinition of th e expander X and of it s em b eddin g in to G . W e now use the expander X and its em b edding into G , to rou te a su bset of demand p airs. W e id en tify from now on the v ertices of X w ith the termin als of T ′ they represent, that is, V ( X ) = T ′ . W e use Theorem 2 to find a collection P of r = Ω  k ′ γ 2 log k  v ertex-disjoint paths in the expander X , routing r d istinct d emand p airs. Let M ′′ ⊆ M ′ b e the set of these demand pairs, and assume w.l.o.g. that M ′′ = { ( t 1 , t 2 ) , ( t 3 , t 4 ) , . . . , ( t 2 r − 1 , t 2 r ) } . F or eac h 1 ≤ i ≤ r , let P i ∈ P b e the p ath connecting t 2 i − 1 to t 2 i . I n order to complete the r outing, we transform eac h suc h p ath P i in to a path Q i in graph G , connecting the same pair ( t 2 i − 1 , t 2 i ) of te rminals. Fix some 1 ≤ i ≤ r . W e no w show h o w to trans f orm the path P i connecting t 2 i − 1 to t 2 i in graph X to a path Q i connecting the same pair of terminals in graph G . In ord er to do so, we will replace the edges and the ve rtices of path P i b y paths in graph G . First, eac h edge e = ( t a , t b ) ∈ P i is replaced b y the path P e ⊆ G , connecting some ve r tex v ∈ C a to some v ertex u ∈ C b . Next, consider some inn er v ertex t x ∈ P i , and let e, e ′ b e the t w o edges app earing immediate ly b efore and immediately after t x on the original path P i , resp ectiv ely . Let v x ∈ C x b e the last v ertex on path P e , and let v ′ x ∈ C x b e the first v ertex on path P e ′ . Then we replace the vertex t x with an arbitrary path P x connecting v x to v ′ x in the co n nected comp onent C x of G . I t n ow only remains to tak e ca re of the endp oin ts of path P i . Let e b e the first edge on the original path P i , and reca ll that the first vertex on P i is t 2 i − 1 . Let v 2 i − 1 ∈ C 2 i − 1 b e th e first v ertex on the path P e . Th en we replace t 2 i − 1 b y an y path connecting t 2 i − 1 to v 2 i − 1 in the connected comp onent C 2 i − 1 . The last ve rtex of P i is taken care of similarly . L et Q i denote the resu lting path. Notice that Q i consists of tw o t yp es of segmen ts: the fi r st typ e are the 25 paths P e for edges e ∈ P i , and th e second t yp e is the paths P x for vertic es X ∈ P i . Let Q 1 , . . . , Q r b e the resulting s et of paths. W e no w b ound the congestio n due to paths in Q 1 , . . . , Q r in graph G . Recall that th e paths { P i } r i =1 are edge- and v ertex-disjoint. Recall also that eac h edge of graph G participates in at most 2 paths of the set P X = { P e | e ∈ E ( X ) } . Therefore, the congestion du e to t yp e-1 s egments in { Q i } r i =1 is at most 2. Sin ce the paths in { P i } r i =1 are verte x-disjoin t, and ev ery ed ge of graph G participates in at most 12 comp onen ts C 1 , . . . , C k ′ , th e congestion du e to type-2 segments is b ound ed by 12. Ov erall, the paths in { Q i } r i =1 cause congestion at most 14. The n u m b er of demand pairs routed is r = Ω  k ′ γ 2 log k  = Ω  k log 21 . 5 k log log k  . T o conclude, w e hav e s tarted with a graph G , a collecti on M of k source-sink pairs, and the set T of terminals p articipating in pairs in M , suc h that G is flow-w ell-link ed for T . W e ha v e constructed a routing for the sub set M ′′ ⊆ M of Ω  k log 21 . 5 k log log k  pairs with congestion at most 14. S ince w e lose an additional O (log 2 k ) factor on the num b er of p airs routed du e to the partitioning s tep that ensures flo w-well-l ink ed ness of the terminals in Section 3.1, our algorithm routes Ω  OPT log 23 . 5 k log log k  pairs with congestion at most 14 w.h.p . Ac kno wledgemen t s The author thanks Matthew Andrews and Sanjeev Khanna for man y inspir in g discussions ab out the problem. References [A CG + 10] Matthew Andrews, Julia Chuzho y , V enk atesan Guruswami, Sanjeev Kh anna, Kunal T al- w ar, and Lisa Zhang. In ap p ro xim ab ility of edge-disjoin t paths and lo w congestion routing on und irected graphs. Combinatoric a , 30(5):485 –520, 2010. [And10] Matthew Andrews. Appr o ximation algorithms for the edge-disjoint p aths p roblem via Raec k e decomp ositions. In Pr o c e e dings of the 2010 IEEE 51st Annual Symp osium on F oundations of Computer Scienc e , F O CS ’10, pages 277–286 , W ashington, DC, USA, 2010. IEEE Comp uter So ciet y . [AR98] Y onatan Aumann and Y uv al R ab an i. An O (log k ) app ro ximate min-cut max-flo w theorem and appr o ximation alg orith m . SIAM J. Comput. , 27 (1):291 –301, 1998. [AR01] Y ossi Azar and Oded Regev. Strongly p olynomial algorithms for the u nsplittable flo w p rob- lem. In In Pr o c e e dings of the 8th Confer enc e on Inte ger Pr o gr amming and Combinatorial Optimization (IPCO) , p ages 15–29, 20 01. [AR V09] Sanjeev Arora, S atish Rao, and Umesh V. V azirani. Expand er flows, geometric em b edd in gs and graph partitioning. J. ACM , 56(2), 2009. [AZ05] Matthew Andrews and Lisa Zhang. Hardness of the u ndirected ed ge-disjoint p aths problem. In Harold N. Gab o w and Ronald F agin, editors, STOC , pages 276–2 83. A CM, 200 5. [AZ07] Matthew Andrews and Lisa Zhang. Hardness of the undir ected congestion min imization problem. SIAM J. Comput. , 37(1):112 –131, 2007. [AZ08] Matthew And rews and Lisa Zhang. Almost-tigh t hardn ess of directed congestion mini- mization. J. ACM , 55(6), 20 08. 26 [BFSU94] Andr ei Z. Bro der, Alan M. F rieze, Stephen Suen, and Eli Upfal. O ptimal construction of edge-disjoin t paths in random graphs. In Pr o c. 5th ACM-SIAM SODA , pages 603–612, 1994. [BFU94] And rei Z. Bro der, Alan M. F rieze, and Eli Upfal. Existence and construction of edge- disjoin t p aths on expander graph s. SIAM J. Comp ut. , p ages 976–989 , 1994. [BS00] Alok Ba v eja and Ara vin d Sriniv asan. Appr o ximation algorithms for disjoint paths and related routing and p ac king p roblems. Math ematics of Op er ations R e se ar ch , 25:2000, 2000. [CGKT07] Julia C h uzho y , V enk atesan Gurusw ami, S anjeev Khann a, and Kun al T alw ar. Hardn ess of routing with congestion in directed graph s. In ACM Symp osium on The ory of Computing , pages 165–178, 20 07. [CK03] Chandra Chekuri and S anjeev K hanna. Edge disj oin t paths revisited. In Symp osium on Discr ete Algor ithms , pages 628–637, 2003 . [CKS04] Chandra Chekur i, Sanjeev Kh anna, and F. Bru ce Sheph erd. T h e all-or-nothing multico m - mo dit y flo w problem. In Pr o c e e dings of the thirty-sixth annual ACM symp osium on The ory of c omputing , STO C ’04, pages 1 56–16 5, New Y ork, NY, USA, 2004. A CM. [CKS05] Chandra Chekur i, Sanjeev Khanna, and F. Bruce Shep herd. Multicommo dit y flow, w ell- link ed terminals, and routing problems. In STOC ’05: Pr o c e e dings of the thirty-seventh annual ACM symp osium on The ory of c omputing , pages 183–192, New Y ork, NY, USA, 2005. ACM. [CKS06a] Chandr a Chekuri, Sanj eev Khann a, an d F. Br u ce Shep h erd. Ed ge-disjoin t paths in planar graphs w ith constant congestion. In Pr o c e e dings of the thirty-eighth annual ACM sym- p osium on The ory of c omputing , S TOC ’06, pages 757–766, New Y ork, NY, USA, 2006. A CM. [CKS06b] C handra C hekuri, S an j eev Khann a, and F. Bru ce S hepherd . An O ( √ n ) app ro ximation and in tegralit y gap for d isjoin t p aths and u nsplittable flo w. The ory of Computing , 2(1):1 37–14 6, 2006. [CMS07] Ch andra Cheku r i, Marcelo Mydlarz, and F. Bruce Sh epherd. Multicommo dit y demand flo w in a tree and pac king in teger programs. ACM T r ans. Algorithms , 3, Au gust 2007. [DP09] Devdatt Dubhashi and Alessandr o Panconesi. Conc entr ation of Me asur e for the Analysis of R andomize d A lgorithms . Cambridge Universit y Press, New Y ork, NY, USA, 1st edition, 2009. [F ra85] A. F rank. E d ge-disjoin t paths in p lanar graphs. Journal of Combinatoria l The ory , 39:164– 178, 1985. [F ra89] A. F rank. O n connectivit y prop erties of Eulerian digraph s . Ann. Discr ete Math. , 41, 1989. [F ri00] Alan M. F rieze. Edge-disjoin t p aths in expander graphs. SIA M Journal On Computing , 30:200 1, 2000. [GKR + 99] V enk atesan Guruswa mi, Sanjeev Khanna, Ra j mohan Ra jaraman, Bruce Shepherd , and Mihalis Y annak akis. Near-optimal hardness results and approxima tion algo rithms for edge- disjoin t p aths and related p roblems. In Journal of Computer and System Scienc es , page pages, 1999. 27 [GVY93] Na ve en Garg, Vijay V. V azirani, and Mihalis Y ann ak akis. Prim al-du al appro ximation algorithms for integ r al flo w and m ulticut in trees, w ith applications to matc hing and set co v er. In Andrzej Lingas, Rolf G. Karlsson, and S v an te Carlsson, editors, ICALP , v olume 700 of L e ctur e N otes in Com puter Scienc e , pages 64 –75. Springer, 1993. [GVY95] N. Ga rg, V.V. V azirani, and M. Y annak akis. Appr o ximate max-flo w min-(m u lti)-cut the- orems and their applications. SIAM Journal on Computing , 25:235–2 51, 1995. [HS70] A. Ha jnal an d E. S zemer´ edi. Pro of of a conjecture of P . Er dos. Combinatoria l The ory and its Applic ations , pages 601–623, 1 970. [Jac98] Bill Jac kson. Some remarks on arc-connectivit y , v ertex splitting, and orien tation in graphs and digraph s. J. Gr aph The ory , 12 :429–4 36, 1998. [Kar72] R. Karp. Redu cibilit y among combinato rial pr ob lems. In R. Miller and J . Thatc her, editors, Complexity of Computer Comp utations , pages 85–10 3. Plen u m Pr ess, 19 72. [KK10] Ken-ic hi Ka waraba y ashi and Y usuk e Koba yashi. An O (log n )-app r o ximation algorithm for the d isjoin t p aths pr oblem in Eulerian p lanar graphs and 4-edge-connecte d planar graphs. In AP PRO X- RA NDOM’10 , pages 27 4–286, 2010. [KK11] Ken-ic hi Ka wa raba yashi and Y us u k e Kobay ashi. Breaking O ( n 1 / 2 )-appro ximation algo- rithms for the edge-disjoint p aths problem with congestion tw o. In Lance F ortn ow and Salil P . V adhan, editors, STOC , pages 81 –88. A CM, 2011 . [Kle96] Jon Klein b erg. Appr o ximation alg orith m s for d isjoin t paths problems, 19 96. [Kle05] Jon M. Klein b erg. An approxima tion algorithm for the disjoin t p aths p roblem in even- degree planar graphs. In F OCS’05 , page s 627–636, 2005 . [KR96] Jon Klein b erg and Ronitt Rubinf eld. Short paths in expander graphs. In In Pr o c e e dings of the 37th A nnual Symp osium on F oundations of Computer Scienc e , pages 86–95, 1996 . [KR V06] Rohit Khandek ar, Satish Rao, and Umesh V. V azirani. Graph partitioning using s ingle commo dit y flo ws. In Jon M. Kleinberg, editor, STOC , page s 385–390. A CM, 20 06. [KS04] Sta vros G. Kolliop oulos and Clifford Stein. Appro x im ating disjoint-pat h pr oblems using pac king in teger programs. Mathematic al Pr o gr amming , 99 :63–87 , 2004. [KT95] Jon Kleinberg and ´ Ev a T ardos. Approximati ons for the disjoint p aths p roblem in high- diameter p lanar netw orks. In ACM Symp osium on The ory of Computing , pages 26–35 , 1995. [LLR94] N. Linial, E. London, and Y. Rabino vic h. The geometry of graph s and some of its al- gorithmic applications. Pr o c e e dings of 35th Annual IEEE Symp osium on F oundations of Computer Scienc e , pages 577–591, 1994 . [LR99] F. T. Leigh ton and S . Rao. Multicommo dit y m ax-flo w min-cut theorems and their use in designing app ro xim ation algo r ithms. Journal of th e ACM , 46:787–8 32, 1999. [Mad78] W. Mader. A reduction m etho d for edge connectivit y in graphs. Ann . Discr ete Math. , 3:145– 164, 1978. [R¨ ac02] Harald R¨ ac k e. Minimizing congestion in general n etw orks. I n In Pr o c e e dings of the 43r d IEEE Symp osium on F oundations of Computer Scienc e (FOCS) , p ages 43–52, 2 002. 28 [RS90] N. Rob ertson and P . D. Seymour. Outline of a disjoint p aths a lgorithm. In Paths, Flows and VLSI-L ayout . Sp r inger-V erlag, 19 90. [R T 87] Prabh ak ar Ragha v an and Clark D. T ompson. Randomized roun ding: a tec hniqu e for pro v ably go o d algorithms and algorithmic pro ofs. Combinatoric a , 7:365–37 4, Decem b er 1987. [RZ10] Satish Rao and Sh uheng Zhou. Edge disjoint p aths in mo derately connected graphs. SIAM J. Comput. , 39(5):185 6–188 7, 2010. [SL07] Mohit Singh and Lap Ch i Lau. Approximati ng minim u m b ounded degree spanning trees to within one of optimal. In Da vid S. Johnson and Ur iel F eige, editors, STOC , pages 661–670 . A CM, 200 7. [Sri97] Aravind Srin iv asan. Im pro v ed approximat ions for edge-disjoint p aths, u nsplittable fl o w, and related routing problems. In IEEE Symp osium on F oundations of Computer Scienc e , pages 416–425, 19 97. [VV04] Kasturi R. V aradara jan and Ganesh V enk ataraman. Graph decomp osition and a greedy algorithm for edge-disjoin t paths. In Symp osium on Discr ete Algorithms , pages 379–3 80, 2004. A T able of P arameters γ KR V ( k ) Θ(log 2 k ) P arameter from the cut-matc hing game of [KR V06], from Theorem 3. Is also d enoted by γ α AR V ( k ) O ( √ log k ) Appro ximation f actor of the algorithm of [AR V09] for Spars- est Cu t. α ( k ) 1 2 11 · γ KR V ( k ) · l og k = Ω  1 log 3 k  W ell-link edness parameter from Theorem 4 α WL ( k ) α ( k ) /α AR V ( k ) = Ω  1 log 3 . 5 k  W ell-link edness parameter from Corolla ry 1 β ( k ) Θ(log k ) Flo w-cut gap for concur ren t flo w o n k terminals k 1 k 192 γ 3 log γ = Ω  k log 6 k log log k  P arameter from the d efinition of lega l con tr acted graphs p 8 β ( k ) α WL ( k ) = O (log 4 . 5 k ) Grouping parameter for the sets Γ j k ′ 1 2 γ 3 · ⌊ k 1 6 p ⌋ = Ω  k log 16 . 5 k log log k  Num b er of v ertices in th e expander X k ∗ ⌊ k 1 6 p ⌋ Size of sets Γ ′ j (that con tain at most one edge from eac h group of G j ) B Pro of of Theorem 2 Let ℓ = 4 dβ ( n ), where β ( n ) = O (log n ) is the flow-c ut gap for und irected graphs. The algorithm greedily selects a source-sink pair ( s i , t i ) that h as a path P of length at most ℓ connecting s i to t i in the current graph G . W e then remov e all v ertices of P f rom the graph G and con tinue. Th e algorithm terminates wh en for eac h remaining source-sink pair ( s i , t i ), ev ery path connecting s i to t i has length at least ℓ . 29 Note that in eac h iteration of th e algorithm, w e route one demand pair, and remo v e at most ( ℓ + 1) d edges from the graph. The ke y to the algorithm analysis is to show that w hen th e algorithm terminates, w e ha v e remo ved many edges from the graph , and th erefore we h a ve routed many of the demand pairs. Let E ′ b e the su bset of edges remo ve d from the graph by the algorithm, and let E ′′ b e the su bset of remaining edges. W e first claim that there is a m u lticut in graph G wh ose v alue is at most | E ′ | + | E ′′ | · β ( n ) /ℓ . Indeed, let G ′ = G [ E ′′ ] b e th e graph obtained when the algorithm terminates, and let M ′ b e the set of the surviving sour ce-sink pairs. C onsider the instance of the m u lticut problem on graph G ′ with the set M ′ of demand pairs. Setting th e weig h t of eac h edge in E ′′ to 1 /ℓ , we obtain a feasible fractional solution to this multicut instance, since the length of ev ery p ath connecting ev ery pair of termin als is at least ℓ . Therefore, there is an in tegral solution to this m u lticut instance of v alue | E ′′ | · β ( n ) /ℓ . Addin g the s u bset E ′ of ed ges, we obtain a feasible solution to the multicut problem on the original graph G of v alue | E ′ | + | E ′′ | · β ( n ) /ℓ . On the other h and, the v alue of any m u lticut on graph G is at least | V | / 4. Indeed, if E ∗ is an y feasible solution to the multic ut problem, th en eac h conn ected comp onent C of G \ E ∗ con tains at most | V | / 2 v ertices, and therefore has at least | V ( C ) | / 2 out-go ing edges. Since eac h ed ge is counted at m ost t wice, w e get that | E ∗ | ≥ | V | / 4. W e conclude that | E ′ | + | E ′′ | · β ( n ) /ℓ ≥ | V | / 4, and so | E ′ | ≥ | V | 4 − | E ′′ | · β ( n ) ℓ ≥ | V | 4 − | E | · β ( n ) ℓ ≥ | V | 4 − d | V | β ( n ) 2 ℓ ≥ | V | 8 since ℓ = 4 dβ ( n ). Therefore, at least | V | / 8 edges h a ve b een deleted from the graph . Since in eac h iteration we only delete at m ost d ( ℓ + 1) edges, o verall the n u m b er of p airs routed is at least | V | 8 d ( ℓ +1) = Ω  | V | d 2 log n  . C Pro of of Theorem 6 F or the pro of of the theorem, w e n eed a more general defin ition of flow wel l-link edn ess, that was used in [C KS05]. Sup p ose we are giv en a graph G = ( V , E ), and for eac h vertex v ∈ V , w e are give n a w eight π ( v ). F or a sub set S ⊆ V of v ertices, let π ( S ) = P v ∈ S π ( v ). W e sa y that G is π -flo w w ell- link ed, iff eac h pair ( u, v ) of v ertices can sim u ltaneously send π ( u ) · π ( v ) π ( V ) flo w u nits to eac h other w ith n o congestion. W e start with the follo wing theorem, th at w as p ro ved in [C KS05], using a flow-w ell-link ed graph decomp osition. Theorem 11 (Theorem 2.1 in [CKS05]) L et G = ( V , E ) b e any gr aph and let M b e a set of k sour c e- si nk p airs i n G . We c an effic i ently find a p artition G 1 , . . . , G ℓ of G into vertex-disjoint induc e d sub gr aphs, and for e ach 1 ≤ i ≤ ℓ , find a weight function π i : V ( G i ) → R + , with the fol lowing pr op erties. L et M ′ i ⊆ M b e the set of sour c e-sink p airs c ontaine d in G i , and let T ′ i b e the set of al l terminals p articip ating in M ′ i . Then: • F or al l 1 ≤ i ≤ ℓ : – for al l u ∈ T ′ i , π i ( u ) ≤ 1 . – for al l ( u, v ) ∈ M ′ i , π i ( u ) = π i ( v ) . – Gr aph G i is π i -flow wel l-linke d. • P ℓ i =1 π i ( T ′ i ) = Ω( OPT / ( β ( k ) · log OPT )) = Ω( OPT / log 2 k ) . 30 In order to complete the pro of of the th eorem, it is enough to sho w that w e can find, for eac h 1 ≤ i ≤ ℓ , a subset M i ⊆ M ′ i of source-sink pairs, with |M i | = Ω( π i ( T ′ i )), such th at the set T i of all terminals participating in pairs in M i is flo w-w ell-link ed in G i . Fix some 1 ≤ i ≤ ℓ . W e find a grouping G i of the terminals in set T ′ i , u sing the weigh ts π i and the grouping parameter p = 2, as in Theorem 5, so for ea ch group U ∈ G i , 2 ≤ π i ( U ) ≤ 6. Next, we w ill gradually construct the set M i of sour ce-sink pairs, starting from M i = ∅ . In ea c h iteration, w e will add one s ource-sink pair to M i , and remo v e some source-sink pairs f rom M ′ i , c harging their w eights to the pair that was added to M i . While M ′ i is n on-empt y , w e p erform the foll o wing pro cedu re: • Let ( s, t ) ∈ M ′ i b e any source-sink p air. Add ( s, t ) to M i . • If b oth s and t b elong to th e s ame group U ∈ G , then for eac h p air ( u, v ) ∈ M ′ i , w here u ∈ U or v ∈ U , remo ve ( u, v ) from M ′ i , and c harge the weigh t π i ( v ) and π i ( v ) to ( s, t ). Notice that the total weig ht charged to ( s, t ) is at most 12. • Otherwise, let U 1 b e th e group to whic h s b elongs, and le t U 2 b e the group to whic h t b elongs. F or ea c h pair ( u, v ) ∈ M ′ i , such that either u ∈ U 1 ∪ U 2 , or v ∈ U 1 ∪ U 2 , remo ve ( u, v ) from M ′ i , and c h arge the weig h ts π i ( u ) and π i ( v ) to ( s, t ). Notice that the total weig h t c harged to ( s, t ) in this step is at most 24 . The pr o cedure stops when M ′ i = ∅ . Let M i b e the resulting set of source-sink pairs, and let T i b e th e set of termin als participating in them. F rom the ab o ve chargi ng s c heme, it is clear that |M i | = Ω ( π i ( T ′ i )), as required. Observe also th at for eac h group U ∈ G i , at most one terminal v ∈ U b elongs to T i . Finally , we need to sho w that G i is flo w we ll-link ed for T i . F or eac h ve rtex v ∈ T i , let U v ∈ G i b e th e group to which v b elongs. Supp ose w e are giv en any matc hing M ∗ on the s et T i of terminals. W e sho w ho w to route this matc hin g with congestion at most 2 in G . W e do so in tw o steps. I n the first step, w e constru ct a flo w F 1 , where for eac h pair ( v , v ′ ) ∈ M ∗ , th e v ertices in U v send 1 flo w u nit in total to the v ertices in U v ′ , eac h v ertex x ∈ U v sends at most π i ( x ) flo w u nits and eac h v ertex y ∈ U v ′ receiv es at most π i ( y ) fl o w u nits, with total congestion at most 1. This flo w is defined as follo ws. Recall that graph G i is π i -w ell-link ed. Therefore, ev ery pair ( x, y ) of v ertices can send π i ( x ) · π i ( y ) π i ( V ( G i )) flo w u nits to eac h other with no congestion. Let F den ote this flow. Fix some pair ( v , v ′ ) ∈ M ∗ . In flo w F , there are π i ( U v ) flo w units originating from the v ertices in U v , that are th en distrib u ted among the v ertices of G , and the amount of flow eac h v ertex z of G receiv es is π i ( z ) · π i ( U v ) /π i ( V ( G i )). If π i ( U v ) > 2, we scale the flo w originating f r om v ertices in U v do wn by factor π i ( U v ) / 2, so that ev ery v ertex z of G n o w receiv es 2 π i ( z ) /π i ( V ( G i )) flow units from U v . W e p erf orm a similar transform ation for the fl o w originating at th e v ertices of U v ′ , and w e concatenate b oth flo ws. As a result, we obtain a flo w where the v ertices in U v send t wo fl o w units in total to the v ertices in U v ′ . T aking the u nion of these fl o ws o v er all ( v , v ′ ) ∈ M ∗ , and scaling them do wn b y factor 2, give s us the fl o w F 1 . It is ea s y to see that the total congestion caused b y F 1 is at most 1. This is since eac h flo w-path in F is used at most twic e: once for eac h of its end-p oints. Finally , in order to route the matc hing M ∗ , consider any p air ( v, v ′ ) ∈ M ∗ . V ertex v will distribu te one flow unit to the v ertices in U v , along the tree T U v , where th e amount of flo w eac h v ertex x ∈ T U v receiv es equals to the amoun t of fl o w it sends out in F 1 . W e then us e the flow F 1 to route this one flo w unit to the v ertices of U v ′ . Finally , vertex v ′ collect s one flo w unit from the v ertices of U v ′ along the tree T U v ′ . It is easy to see that the total congestion caused by this flo w is at most 2, since all trees { T U } U ∈G i are edge-disjoint. 31

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment