Packing multiway cuts in capacitated graphs

We consider the following "multiway cut packing" problem in undirected graphs: we are given a graph G=(V,E) and k commodities, each corresponding to a set of terminals located at different vertices in the graph; our goal is to produce a collection of…

Authors: Siddharth Barman, Shuchi Chawla

Packing multiway cuts in capacitated graphs
Packing multiway cuts in capacitated graphs ∗ Siddharth Barman † Shuchi Chawla ‡ March 7, 2022 Abstract W e consider the following “multiw ay cut packing” problem in undirected graphs: we are given a graph G = ( V , E ) and k com modities, each correspo nding to a set of terminals located at different vertices in the graph ; our goal is to produce a collection of cuts { E 1 , · · · , E k } such that E i is a multiway cut for co mmod ity i and the maximum load on any edg e is minim ized. T he load on an edge is defined to be the number of cuts in the solution cro ssing the edge. In the capacitated version of the problem edges have capacities c e and the goal is to minimize the maxim um r elative load o n any edge – the ratio of the edge ’ s load to its capacity . W e pr esent the first constant factor approximation s for this problem in arbitrary undirec ted g raphs. The m ultiway cut packin g p roblem a rises in the context of grap h labeling problem s where we are gi ven a partial labeling of a set of items and a neigh borho od structu re over them, and, info rmally stated, the goal is to co mplete the lab eling in the most consistent way . This problem was introd uced by Rabani, Schulman , and Swamy ( SOD A ’08), who developed an O (log n/ log log n ) approx imation for it in general graphs, as well as an improved O (log 2 k ) approx imation in trees. Here n is the numb er of nodes in the grap h. W e present an LP-based algorithm for the multiway cut packing prob lem in general graph s that guar- antees a maxim um edge lo ad of at most 8 OPT + 4 . Our rou nding appro ach is based on the observation that every instance of the prob lem adm its a laminar solution (that is, no pair of cu ts in the solution crosses) that is near-optimal. For the special c ase wh ere each commo dity h as o nly two terminals and all co mmodities share a common sink (the “commo n sink s - t cut packing” pro blem) we gu arantee a maximum load of OPT + 2 . Both o f these variants are NP-h ard; fo r the com mon-sink case our result is nearly optimal. ∗ The conference version of this paper is to appear at SOD A 2009. T his is the full v ersion. † Computer Sciences Dept., Univ ersity of Wisco nsin - Madison, sid@cs.wi sc.edu . Supported in part by NSF award CCF- 064376 3. ‡ Computer Sciences Dept., University of W i sconsin - Madison, shuchi@cs .wisc.edu . Supported in part by NS F awards CCF-0643763 and CCF-0830494. 1 Introd uction W e study the mul tiway cut packi ng prob lem (MCP) introdu ced by Rabani, S chulman and Swamy [9]. In this proble m, we are gi ven k instances of the multiwa y cut problem in a c ommon graph, eac h instance b eing a s et of terminals at differ ent locations in the graph. Informally , our goal is to compute nearly-d isjoin t multiway cuts for each of the instances. More precisely , we aim to minimize the maximum number of cuts that any single edge in the graph belong s to. In the weighted versio n of this proble m, dif ferent edges hav e differe nt capaci ties; the goal is to minimize the maximum rela ti ve load of any edge, where the relativ e load of an edge is the ratio of the number of cuts it belon gs to and its capaci ty . The m ultiwa y cut packin g problem belongs to the follo wing class of graph labeling pro blems. W e are giv en a parti ally labeled set of n items along with a weighted graph ov er them that encod es similarity informat ion among them. An item’ s label is a strin g of length k where each coordinate of the string is either drawn from an alphabet Σ , or is undetermined . Roughly speaki ng, the goal is to complete the partial labelin g in the most consist ent possible way . N ote that completing a single specific entry (coordin ate) of each item label is like finding what we call a “set m ultiwa y cut”—for σ ∈ Σ let S i σ denote the set of nodes for which the i th coordina te is labeled σ in the partial labeling, then a complete and consisten t labelin g for this coordina te is a partitio n of the items into | Σ | parts such that the σ th part contains the entire set S i σ . The cost of the labeling for a single p air of neighborin g items in th e gra ph is m easure d by t he Hamming distance between the labels assig ned to them. The overa ll cost of the labeling can then be formalize d as a certain norm of the vec tor of (weighted) edge costs. Dif ferent choi ces of no rms for the o verall cos t giv e rise to dif ferent object i ve s. Minimizing the ℓ 1 norm, for example, is the same as minimizing the sum of the edge costs. This prob lem decompo ses into finding k minimum set multiway cuts. Each set m ultiwa y cut instance can be reduce d to a minimum multiway cut instan ce by simply mer ging all the i tems in the same se t S σ into a sin gle node in the graph, and can the refore be approximate d to within a fac tor of 1 . 5 [1]. On the other hand, minimizing the ℓ ∞ norm of edge costs (equi val ently , the m aximum edge cost) becomes the set multiway cut packing problem. Formally , in this proble m, we are giv en k set multiw ay cut instances S 1 , · · · , S k , wher e each S i = S i 1 × S i 2 × · · · × S i | Σ | . The goal is to find k cuts , with the i th cut separating ev ery pair of terminals that belong to sets S i j 1 and S i j 2 with j 1 6 = j 2 , such that the maximum (w eighte d) cost of any edge is minimized . W hen | S i j | = 1 for all i ∈ [ k ] and j ∈ Σ , this is the multiwa y cut packing problem. T o our kno wledge Rabani et al. [9] were the fi rst to conside r the multiway cut packing problem and pro vide approximatio n algo rithms for it. They used a linear programming relaxa tion of the problem alon g with rand omized roundi ng to obtain an O ( log n log log n ) appro ximation , where n is the number of node s in the gi ven grap h 1 . This approx imation ratio a rises fr om a n applic ation of t he Che rnof f bounds to the rando mized round ing process, and improve s to an O (1) factor when the optimal load is Ω(log n ) . When the underlyin g graph is a tree, Rabani et al. use a more careful deterministic rounding techniq ue to obtain an improved O (log 2 k ) approximati on. The latter approxima tion fac tor holds also for a more gene ral multicut packing proble m (describe d in more detail belo w). One nice propert y of the latte r approxi mation is that it is inde- pende nt of the size of the graph, and remains small as the graph grows b ut k remains fixed. T hen, a natural open prob lem related to their work is whethe r a similar approximatio n guarant ee independ ent of n can be 1 Rabani et al. claim in their paper that the same approximation ratio holds for the set multiway cut packing problem that arises in t he context of graph labelings. Howe ver their approach of merging nodes with the same attribute values (simil ar to what we described abo ve for minimizing the ℓ 1 norm of edg e costs) d oes not w ork in this case. Roughly speakin g, if nod es u and v hav e the same i th attribute, and nodes v and w have the same j th attribute, then this approach merges all three nodes, although an optimal solution may end up separating u from w in some of the cuts. W e are not aware of any other approximation preserving reduction between the two problems. 1 obtain ed e ven for g eneral graphs. Our r esults & techniques. W e answer this question in the positi ve. W e emplo y the same linear pro- gramming relaxat ion for this problem as Rabani et al., but dev elop a very diff erent rounding algorithm. In order to produce a good integral solut ion our rounding algorithm requ ires a fractional collectio n of cuts that is not only feasible for the linear program b ut also satis fies an addition al good prop erty—th e cut col- lection is laminar . In other words, w hen interpret ed appropria tely as subsets of nodes, no two cuts in the collec tion “cros s” each other . Giv en such an input the round ing proce ss only incurs a small addit i ve loss in perf ormance—t he final (abs olute) load on an y edge is at most 3 m ore than the load on that edge of the fractio nal solution that we start ed out w ith. Of course the laminarity condit ion comes at a cost – not ev- ery fractio nal solution to the cut packin g LP can be interpre ted as a laminar collection of cuts (see, e.g., Figure 9). W e sho w that for the multiway cut problem any fraction al collection of cuts can be con ver ted into a laminar one w hile losing only a m ultipli cati ve factor of 8 and an additi ve o (1) amount in edge loads. Therefore , for ev ery edge e we obtain a final edge load of 8 ℓ OPT e + 4 , w here ℓ OPT e is the optimal load on the edge. W e only load edges with c e ≥ 1 and since the optimal cost is at least 1 our algorithm also obtain s a purely multiplic ati ve 12 approximat ion. Our laminar ity based approach prov es ev en more po w erful in the special case of common-sin k s - t cut pac king problem or C SCP . In this special case eve ry m ultiwa y cut instance has only two terminals and all the instances share a common sink t . W e use these proper ties to improve both the roundi ng and laminarity transfo rmation a lgorith ms, and ens ure a final load of at most ℓ OPT e + 1 for ev ery e dge e . The CSCP is N P-hard (see Section 5) and so our guara ntee for this spec ial case is the best poss ible. In con vertin g a fraction al laminar solutio n to an inte gral one we use an iterati ve roun ding appro ach, assign ing an integ ral cut at eac h iteration to an a pprop riate “innermost” terminal. Throughou t the algorithm we maintain a partial integra l cut collectio n and a partial fractional one and ensur e that these collecti ons togeth er are feasi ble for the gi ven multiw ay cut instan ces. As we round cuts, we “shift” or modify other fractio nal cuts so as to maintain bound s on edge loads. Maintaini ng feasibility and edge loads simultane- ously turns out t o be relati vel y straig htforw ard in the ca se of common-sin k s - t cut p acking – w e only ne ed to ensure that none of the cuts in the fractiona l or the integr al collect ion contain the common sink t . Ho we ver in the general case we must ensure that new fractional cuts assigned to an y terminal must exclu de all other terminals of the same multiway cut inst ance. This requires a more careful reassignme nt of cuts. Related w ork. P roblems fal ling un der t he ge neral fr ame work of graph labe ling as descr ibed abo ve hav e been stud ied in variou s guises. T he most exte nsi vely studied specia l case, called labe l exte nsion, in volv es partial labelings in which e very item is either comple tely labe led or not labele d at all. When the objecti ve is to minimize the ℓ 1 norm of edge costs , this becomes a special case of the metric labeli ng and 0-exten sion proble ms [6 , 2, 4, 5]. (The main dif ference between 0-e xtension and the label extensi on probl em as described abo ve is that the cost of the labelin g in the former arises from an arbitr ary metric over the labels, while in the latter it arises from the Hamming metric.) When the under lying graph is a tree and edge costs are gi ven by the edit distance between the corre- spond ing labels, this is kno wn as the tree alignment problem. T he tree alignment problem has been studied widely in the computati onal biology literature and arises in the context of labeling phylo genie s and e v olu- tionar y trees. This ve rsion is also NP-hard, and there are se ver al PT AS es kno wn [13, 12, 11]. Ravi and Kec eciog lu [10] also introduce d and studied the ℓ ∞ ver sion of this problem, calling it the bottlen eck tree alignmen t prob lem. T hey presented an O (log n ) approx imation for this problem. A further special case of the label exten sion problem under the ℓ ∞ object i ve, where the underlyin g tree is a star with labeled leav es, is kno wn as the closest string problem. This proble m is also NP-hard b ut admits a PT AS [7]. As mention ed above , the multiway cut pac king problem was intr oduce d by Rabani, Schulman and 2 Swamy [9]. Rabani et al. also studied the m ore general multicu t packing problem (where the goal is to pack multicuts so as to minimize the maximum edge load) as well as the label extensio n problem with the ℓ ∞ object i ve. Rabani et al. de vel oped an O (log 2 k ) approximation for multicut packin g in trees, and an O (log M log n log log n ) in general graphs . Here M is the maximum number of terminals in any one multic ut in- stance . For t he label e xtension pro blem the y presen ted a consta nt fac tor app roximati on in tree s, which holds e ven w hen edge costs are giv en by a fairly general class of metrics ov er the label set (incl uding Hamming distan ce as well as edit distan ce). Another line of research loosely related to the cut packing problems describe d here consider s the prob- lem of finding the larges t collectio n of edge- disjoi nt cuts (not correspon ding to an y specific terminal s) in a gi ven graph. While this problem can be solv ed ex actly in polyn omial time in directed graphs [8], it is NP-hard in undire cted grap hs, and Caprara, Panco nesi and Rizzi [3] presente d a 2 approxi mation for it. In terms of app roximab ility , this problem is ve ry dif ferent from th e one we stud y—in the former , the goal is to find as many cu ts as possib le, such that the load on any ed ge is at most 1 , whereas in our setting , the goal is to find cuts for all the commoditie s, so that the maximum edge load is minimized . 2 Definitions and resul ts Giv en a graph G = ( V , E ) , a cut in G is a subset of edges E ′ , the remov al of w hich disconnects the graph into multipl e connec ted components. A verte x partition of G is a pair ( C, V \ C ) with ∅ ( C ( V . For a set C with ∅ ( C ( V , we use δ ( C ) to denote the cut defined by C , that is, δ ( C ) = { ( u, v ) ∈ E : | C ∩ { u, v }| = 1 } . W e say tha t a cut E ′ ⊆ E sep arates verti ces u and v if u and v lie in dif ferent connected compone nts in ( V , E \ E ′ ) . The verte x partition defined by set C separ ates u and v if the two verti ces are separa ted by the cut δ ( C ) . Give n a co llectio n of cuts E = { E 1 , · · · , E k } and cap acitie s c e on edges, the load ℓ E e on an edge e is defined as the number of cuts that contain e , that is, ℓ E e = |{ E i ∈ E | e ∈ E i }| . L ike wise, gi ven a collectio n of vertex partit ions C = { C 1 , · · · , C k } , the load ℓ C e on an edge e is defined to be the load of the cut collec tion { δ ( C 1 ) , · · · , δ ( C k ) } on e . The input to a multiway cut pac king pro blem (MCP) is a graph G = ( V , E ) with non- zero integ ral capaci ties c e on edges, and k sets S 1 , · · · , S k of terminals (calle d “commodi ties”); each termina l i ∈ S a reside s at a vertex r i in V . The goal is to produce a collection of cuts E = { E 1 , · · · , E k } , such that (1) for all a ∈ [ k ] , and for all pairs of terminals i, j ∈ S a , the cut E a separa tes r i and r j , and (2) the maximum “relati ve load” on any edge, max e ℓ E e /c e , is minimized. In a special case of this problem called the common-sink s - t cut pac king problem (CSCP ), the graph G contai ns a special node t called the sink and each commodity set has exactly two terminals , one of w hich reside s at t . Again the goal is to produce a collection of cuts, one for each commodity such that the maximum relati ve edge load is minimized. Both of these problems are NP -hard to solv e optimally (see Section 5), and we present LP -round ing based approximation algorithms for them. W e assume without loss of generalit y that the optimal solution has a relati ve load of 1 . The integ er progra m MCP-IP belo w encod es the set of solutions to the MCP w ith relati ve load 1 . Here P a denote s the set of all paths between any two v ertices r i , r j with i, j ∈ S a , i 6 = j . In order to be able to solve this program efficie ntly , we relax the fi nal constra int to x a,e ∈ [0 , 1] for all a ∈ [ k ] and e ∈ E . Although the resulting linear program ha s an e xponential number of c onstra ints, it can be solv ed efficien tly; in particular , the polyno mial-size program MCP -LP below is equi v alent to it. Gi ven a feasible solution to this linear progra m, our algorithms round it into a feasib le inte gral solution with small load. 3 X e ∈ P x a,e ≥ 1 ∀ a ∈ [ k ] , P ∈ P a X a x a,e ≤ c e ∀ e ∈ E x a,e ∈ { 0 , 1 } ∀ a ∈ [ k ] , e ∈ E ( MCP-IP) d a ( u, v ) ≤ d a ( u, w ) + d a ( w, v ) ∀ a ∈ [ k ] , u, v , w ∈ V d a ( r i , r j ) ≥ 1 ∀ a ∈ [ k ] , i, j ∈ S a X a d a ( e ) ≤ c e ∀ e ∈ E d a ( e ) ∈ [0 , 1] ∀ a ∈ [ k ] , e ∈ E ( MCP-LP) In the remainder of this paper w e focus exc lusi vely on solution s to the MCP and CS CP that are collec- tions of verte x partitions. This is w ithout loss of generality (up to a factor of 2 in edge loads for the MCP) and allo ws us to explo it structur al prop erties of verte x sets such as laminarity that help in constructing a good app roximati on. Accord ingly , in the rest of the paper we use the term “cut” to denote a subs et of the ver tices that defines a verte x partitio n. A pair of cuts C 1 , C 2 ⊂ V is sa id to “ cross” if all of the sets C 1 ∩ C 2 , C 1 \ C 2 , and C 2 \ C 1 are non-empty . A collection C = { C 1 , · · · , C k } of cuts is said to be laminar if no pair of cuts C i , C j ∈ C crosses. A ll of our algorithms are based on the observ ation that both the MCP and the C SCP admit near -optimal solu tions that are laminar . Specifically , there is a polynomial- time algorithm that giv en a fractional feas ible solution to MCP or CSCP (i.e. a feasible solution to MCP-LP ) produces a laminar family of fractional cuts that is feasib le for the respec ti ve problem and has small load. This is formalized in Lemmas 1 and 2 belo w . W e first introd uce the notion of a fractio nal laminar family of cuts. Definition 1 A frac tional laminar cut family C for termin al set T with w eight functio n w is a collection of cuts with the follo wing pr opertie s: • The collecti on is laminar • Each cut C in the family is associated with a unique terminal in T . W e use C i to denote the sub- collec tion of sets associ ated with terminal i ∈ T . Every C ∈ C i contai ns the node r i . • F or all i ∈ T , the total weight of cuts in C i , P C ∈C i w ( C ) , is 1 . Next we define w hat it means for a fractional laminar famil y to be feasible for the MCP or the CS CP . Note that for a terminal pair i 6 = j belongin g to the same commodity , condition (2) belo w is weaker than requir ing cuts in both C i and C j to separate r i from r j . Definition 2 A fraction al laminar family of cuts C for terminal set T with weight function w is feasible for the MCP on a gr aph G with edge cap acitie s c e and commod ities S 1 , · · · , S k if (1) T = ∪ a ∈ [ k ] S a , (2) for a ll a ∈ [ k ] and i, j ∈ S a , i 6 = j , either r j 6∈ ∪ C ∈C i C , or r i 6∈ ∪ C ∈C j C , and (3) for ever y edge e ∈ E , ℓ C e ≤ c e . The family is feasible for the CSCP on a grap h G with edge capacitie s c e and commodities S 1 , · · · , S k if (1) T = ∪ a ∈ [ k ] S a \ { t } , (2) t 6∈ ∪ C ∈C C , and (3) for e very e ∈ E , ℓ C e ≤ c e . Lemma 1 Consider an instan ce of the CSCP with gra ph G = ( V , E ) , common sink t , edge capaci ties c e , and commodities S 1 , · · · , S k . Given a feasible solution d to MCP-LP , algorith m Lam-1 pr oduces a fra ctiona l laminar cut family C that is feasible for the CSCP on G with edg e capacities c e + o (1) . 4 Lemma 2 Consider an instance of the M CP with grap h G = ( V , E ) , edge capaci ties c e , and commodities S 1 , · · · , S k . Given a feasib le solution d to MCP-LP , algori thm Lam-2 pr oduces a fracti onal laminar cut family C that is feasi ble for the M CP on G with edge capacitie s 8 c e + o (1) . Lemmas 1 and 2 are pro ven in Section 4. In Section 3 w e show how to det erministi cally round a fractio nal laminar soluti on to the CSC P and MCP into an integra l one while increas ing the load on eve ry edge by no more tha n a smal l add iti ve amount. These rou nding algorit hms are the m ain con trib utions of ou r work, an d crucially use the laminarity of the fractional solution. Lemma 3 Given a fr action al laminar cut family C feasi ble for the CSCP on a grap h G with inte gral edge capac ities c e , the algor ithm Round-1 pr oduces an inte gra l family of cuts A that is feasible for the CSCP on G with edge cap acitie s c e + 1 . For the MCP , th e rounding algorithm loses an additi ve factor of 3 in edge load. Lemma 4 Given a fr actio nal laminar cut family C feasi ble for the MCP on a graph G with integral edg e capac ities c e , the algorithm Round-2 pr oduces an inte gral family of cuts A that is feasible for the M CP on G with edge cap acitie s c e + 3 . Combining these lemmas togeth er we obta in the followin g theorem. Theor em 5 Ther e exis ts a polynomial-ti me algorithm that given an insta nce of the MCP with gr aph G = ( V , E ) , edg e capaci ties c e , and co mmodities S 1 , · · · , S k , pr oduce s a family A of mul tiway cuts, one for eac h commodity , such that for each e ∈ E , ℓ A e ≤ 8 c e + 4 . Ther e e xists a polyn omial-ti me algorithm that given an instance of the CSCP with gr aph G = ( V , E ) , edg e capacit ies c e , and commodities S 1 , · · · , S k , pr oduces a family A of multiway cuts, one for each com- modity , such tha t for each e ∈ E , ℓ A e ≤ c e + 2 . 3 Roundin g fractional laminar cut families In this section we dev elop algorith ms for rounding feasible fractional laminar solutions to the MCP and the CSCP to integr al ones while incr easing edge loads by a small addi ti ve amount. W e first demonstrat e some ke y ideas behin d the algorithm an d th e analysi s for the CSCP , and t hen e xtend th em to the more genera l case of multiw ay cuts. Throughout the section we assume that the edge capacities c e are inte gral. 3.1 The common sink case (pr oo f of Lemma 3) Our rounding algori thm for the CSCP rounds fractio nal cuts roughly in the ord er of innermo st cuts first. The notion of an innermost terminal is defined with respec t to the fractional solution. After each iteration we ensure that the remainin g fractional soluti on continue s to be feasib le for the unassigned terminals and has small edge loads . W e us e C to de note th e f ractio nal laminar cut family that we start ou t with and A to d enote the inte gral family that we co nstruc t. Recall tha t for an edg e e ∈ E , ℓ C e denote s the load of the fr action al cut family C on e , and ℓ A e denote s the load of the integ ral cut famil y A on e . W e call the former the fracti onal load on the edge, and the latter its inte gral load. W e no w formalize what we mean by an “innermost ” terminal. For ev ery verte x v ∈ V , let K v denote the set of cuts in C tha t conta in v . The “depth” of a ve rte x v is the total weight of all cuts in K v : d v = 5 Input: Graph G = ( V , E ) with capacities c e , terminals T with a fractional laminar cut family C , common sink t with t 6∈ ∪ C ∈C C . Output: A collection of cuts A , one for each termina l in T . 1. Initialize T ′ = T , A = ∅ , and M ( v ) = { v } for all v ∈ V . Compute the depths of vertices and termin als. 2. While there are terminals in T ′ do: (a) Let i be a terminal with the maximum depth in T ′ . Let A i = M ( r i ) . Add A i to A and remove i f rom T ′ . (b) Let K = K 1 r i . Remove cuts in K ∩ C i from K , C i and C . While there exists a terminal j ∈ T ′ with a cut C ∈ K ∩ C j , do the following: let w = w ( C ) ; remove C from K , C j and C ; remove cuts in C w i from C i and add them to C j (that is, these cuts are reassigned from terminal i to terminal j ). (c) If there exists an edge e = ( u, v ) with ℓ C e = 0 , merge th e meta-no des M ( u ) and M ( v ) ( we say that the edge e has been “contr acted”). (d) Recompute the depths of vertices and terminals. Figure 1: Algorithm Round-1 —Roun ding algori thm for common-sink s - t cut packing P C ∈ K v w ( C ) . The depth of a terminal is defined as the dept h of the ver tex at which it resides. T erminal s are pick ed in order of decreasin g depth. Before we describ e the algorith m w e need some more notation . At any point during the algorithm we use S e to denote the set of cuts cross ing an edge e . As the algori thm proc eeds, the integ ral loads on edges increa se while their fractio nal loa ds decrea se. Whene ver the f raction al load of an edge becomes 0 , we merge its en d-poi nts to form “met a-node s”. At any po int o f t ime, we use M ( v ) to deno te the meta-nod e conta ining a node v ∈ V . Finally , for a set of fraction al cuts L = { L 1 , · · · , L l } with L 1 ⊆ L 2 ⊆ · · · ⊆ L l and weigh t function w , we use L x to denote the subset of L containing the innermost cuts with weight exactly x . That is, let l ′ be such that P a C I j , if O i ⊂ O j (if O i = O j we break ties arbitrari ly b ut consis tently ). C ut-inc lusion defines a parti al order on terminals . Note that w e can pre-proces s the cut family C by reassigning cuts among termina ls, such that for all pairs of terminals i, j ∈ T with i > C I j , and for all cuts C i ∈ C i and C j ∈ C j with r i , r j ∈ C i ∩ C j , we ha ve C i ⊆ C j . W e call this propert y the “inclu sion in v ariant”. Ensurin g this in varian t requires a straightfo rward pairwise reass ignment of cuts among the terminals , and we omit the details. Note that follo wing this reassig nment, for ev ery terminal i , the ne w outermos t cut of i , O i , is the same as or a subse t of its original outermost cut. As the algor ithm proceeds we modify the collec tion C as well as b uild up the coll ection A of integr al cuts A i for i ∈ T . For e xample, we may sp lit a cut C into two cuts contai ning the same nodes as C and with weights summing to that of C . As cuts in C are modified, their owners hip by terminals remains unchanged , and we therefore conti nue using th e same notation for them. F urthermor e, i f for two cuts C 1 and C 2 , we ha ve (for exa mple) C 1 ⊆ C 2 at the begin ning of the algorithm, this relationship continues to hold throu ghout the algori thm. This implies that the inclusio n in v ariant continue s to hold throughout the algorithm. W e ensure that througho ut the ex ecutio n of the algorithm th e cut family C continu es to be a fractional laminar f amily fo r terminals T ′ . At any point of time, the depth of a vertex or a terminal, as well as the cut-inclu sion orde ring is defined with respec t to the current fractio nal family C . As before, let S e denote the set of cuts in C that cross e — S e = { C ∈ C | e ∈ δ ( C ) } . Recall that K v denote s the set of cuts in C containin g the verte x v , and of thes e K 1 v denote s the inner -most cuts with total weight exa ctly 1 . The round ing algorithm is gi ven in Figure 3. Roughly speak ing, at ev ery step, the algorithm picks a maximum depth terminal i and assigns the cut M ( r i ) to it (recall that M ( r i ) is the meta-node of the vert ex r i where terminal i resides) . It “pay s” for this cut using fractional cuts in K 1 r i . Of course some of the cuts in K 1 r i belong to other commodities, and need to be replaced with ne w fractio nal cuts. T he cut-inc lusio n in v ariant ensur es that these other commodities reside at m eta-no des other than M ( r i ) , so we m odify each cut in K 1 r i \ C i by removi ng M ( r i ) from it (see Figure 2). This process potentia lly increases the total loads on edges incident on M ( r i ) by small amounts, b ut on no other edges. Step 3c of the algo rithm deals with the case in which edges incid ent on M ( r i ) are alread y ov erloaded; In this case we a void loa ding th ose e dges furthe r by assigning to i some subset of the meta-nod e M ( r i ) . Lemmas 12 and 13 show that this case does not arise too often. For a termina l i and edge e , if at the time that i is picked in Step 3a of the algorithm e is in δ ( M ( r i )) , we say that i accesses e . If e ∈ E i , we say that i defau lts on e , and if e is in δ ( A i ) after this iteration, then we say that i loads e . During the course of the algori thm integr al loads on edges inc rease, b ut fraction al loads may inc rease or 8 cuts in K r i \ C i cuts in K r i ∩ C i A i M ( r i ) Figure 2: An iteratio n of algori thm Round-2 (Steps 3b & 3d) decrea se. T o stud y ho w these edge loads c hange during the course of the algor ithm, we di vide ed ges into fiv e sets. Let X − 1 denote the set o f edges with ℓ A e ≤ c e − 1 and ℓ C e > 0 . For a ∈ { 0 , 1 } , let X a denote the set o f edges with ℓ A e = c e + a and ℓ C e > 0 . Y denotes the set o f edges with ℓ A e ≥ c e + 2 and ℓ C e > 0 , and Z denotes the set of edg es with ℓ C e = 0 . Every edg e starts out with a zero inte gral load. As the algor ithm procee ds, the edge goes throug h one or more of the X a s, may enter the set Y , and ev entually ends up in the set Z . As for the C SCP , when an edge enters Z , we merge the end-points of the edge into a single meta-node. H o we ver , unlik e for the CSCP , edge s may ge t loade d ev en after enteri ng Z . When an edge ente rs Y , we a v oid loading it further (Step 3c), and inste ad load some edges in Z . Nev ertheless, we ensure that edges in Z are loaded no more than once . As before our analysi s has two compon ents. First we sho w (Lemma 8) that the cuts produc ed by the al- gorith m are feasible. The followin g lemmas gi ve the desir ed gu arante es on the edg es’ fina l loads: Lemmas 9 and 1 0 analyz e the loads of edges i n X a for a ∈ {− 1 , 0 , 1 } ; Lemma 1 1 analyz es edges in Y and Lemmas 12 and 13 analyze edges in Z . W e put e verything together in the proof of Lemma 4 at the end of this section. Lemma 8 F or all i , r i ∈ A i ⊆ O i . Pr oof: Each cut A i is set equa l to th e meta- node of r i at so me stag e of th e algor ithm. Therefore, r i ∈ A i for all i . Furthermore , at the time that i is assign ed an inte gral cut, A i ⊆ M ( r i ) ⊆ O i . Next we pro ve some facts about the fractional and integral loads as an edge goes through the sets X a . The proofs of the follo wing two lemmas are similar to that of Lemma 7. Lemma 9 At any point of time, for ev ery edg e e ∈ X − 1 , ℓ A e + ℓ C e ≤ c e . Pr oof: W e prove the claim by inductio n over time. Note that in the beginnin g of the algorithm, w e ha ve for all edges ℓ C e ≤ c e and ℓ A e = 0 , so the inequa lity ℓ A e + ℓ C e ≤ c e holds. Let us no w consid er a single iteration of the algorith m and suppose that the edge e remains in the set X − 1 after this step. There are three ev ents that influence the load of the edge e = ( u, v ) : (1) a termina l at some v erte x in M ( u ) accesses e ; (2) a terminal at M ( v ) accesses e ; and, (3) a terminal at some other meta-nod e M 6 = M ( u ) , M ( v ) is assigned an integ ral cut. Let us consider the third case fi rst, and suppose that a terminal i is assigned. Since A i ⊆ M and there fore e / ∈ δ ( A i ) its inte gral load does not increase . 9 Input: Graph G = ( V , E ) with capacities c e on edges, a set of terminals T with a f ractional laminar cut family C . Output: A collection of cuts A , one for each termina l in T . 1. Preprocess the family C so that it satisfies the inclusion in variant. 2. Initialize T ′ = T , A = ∅ , Y , Z = ∅ , an d M ( v ) = { v } for all v ∈ V . 3. While there are terminals in T ′ do: (a) Consider the set o f u nassigned termina ls with the m aximum depth, and of these let i ∈ T ′ be a termin al that is undo minated in the cut inclu sion ordering. L et E i = Y ∩ δ ( M ( r i )) . (b) If E i = ∅ , let A i = M ( r i ) . (c) If E i 6 = ∅ (we say that the terminal has “defaulted” on edges in E i ), let U i denote the set of end-po ints of edges in E i that lie in M ( r i ) . If r i ∈ U i , abort and return error . Otherwise, consider the vertex in U i that entered M ( r i ) first durin g the algorith m’ s e xecution, call this vertex u i . Set A i to be the meta-node of r i just prior to the iteration where M ( u i ) become s equal to M ( r i ) . (d) Add A i to A . Remove C i from C and i from T ′ . For every j ∈ T ′ and C ∈ K 1 r i ∩ C j , let C = C \ { M ( r i ) } . (e) If f or some e dge e , ℓ A e = c e + 2 and ℓ C e > 0 , add e to Y . If th ere exists an e dge e = ( u , v ) with ℓ C e = 0 , merge the meta-no des M ( u ) and M ( v ) (we say that the edge e has b een “contracted ”.) Add all edge s e with ℓ C e = 0 to Z and remove them from Y . (f) Recompute the depths of vertices and terminals. Figure 3: Algorithm Round-2 —Roun ding algori thm for m ultiwa y cut packing Ho wev er , in the ev ent that S e ∩ C i is non-empt y , the fractional load on e may decrease (because cuts in C i are remov ed from C ). Therefore, the inequa lity continu es to hold. Next we conside r the case where a terminal, say i , with r i ∈ M ( u ) accesses e (the second case is similar). Note that M ( r i ) = M ( u ) . In this case the integra l load of the edge e potentiall y increases by 1 (if the terminal loads the edge ). By the definition of X − 1 , the ne w integra l load on this edge is no m ore than c e − 1 . The fraction al load on e change s in three ways : • Cuts in C i ∩ S e are remo ve d from C , decr easing ℓ C e . • Some of the cuts in ( K 1 r i \ C i ) \ S e get “shifted” on to e increa sing ℓ C e (we remove the meta-node M ( r i ) from thes e cuts, and they may continu e to contai n M ( v ) ). • Cuts in ( K 1 r i \ C i ) ∩ S e get shif ted off from e decreasi ng ℓ C e (these cuts i nitiall y contain M ( r i ) but no t M ( v ) , and during this step we remov e M ( r i ) from these cuts). So the decre ase in ℓ C e is at leas t the total weight of K 1 r i ∩ S e = K 1 u ∩ S e , whereas the incr ease is at most the total weight of K 1 r i \ S e = K 1 u \ S e . In order to accou nt for the two terms, let α denote the total weight of cuts in K u ∩ S e , and β den ote the total weight of c uts in K v ∩ S e . Then, α + β = ℓ C e . As in t he proo f of Lemma 7, we h a ve d v = d u − α + β , and therefore d u ≥ d v implies α ≥ β . No w , suppose that α ≥ 1 . Then K 1 u ⊆ S e . Therefore, the decrease in ℓ C e due to th e sets K 1 u ∩ S e = K 1 u is at le ast 1 , and ther e is no cor respon ding increas e, so the sum ℓ A e + ℓ C e remains at most c e . 10 Finally , suppose that α < 1 . Then K 1 u contai ns all the cut s in K u ∩ S e , the weigh t of K 1 u ∩ S e is ex actly α , and so the decrea se in ℓ C e is at least α . Moreo ver , the total weight of K 1 u \ S e is 1 − α , therefore, the increa se in ℓ C e due to the sets in K 1 u \ S e is at most 1 − α . Since ℓ C e starts out as being equal to α + β , its final va lue after this step is 1 − α + β ≤ 1 as β ≤ α . N oting that ℓ A e is at most c e − 1 after the step, we get the desired inequ ality . Lemma 10 F or any edge e = ( u, v ) , fr om the time that e enter s X 0 to the time that it exits X 1 , ℓ C e ≤ 1 . Furthermor e suppos e (without loss of gen era lity) that during this time in some iteration e is acces sed by a terminal i w ith r i ∈ M ( u ) , then following this iteration until the ne xt time that e is acces sed, w e have S e ∩ K u = ∅ , and the ne xt access to e (if any) is fr om a terminal in M ( v ) . Pr oof: First we note that if the lemma holds the first time an edge e = ( u, v ) enters a set X a , a ∈ { 0 , 1 } , then it continues to hold w hile the edge remains in X a . This is because during this time the integra l load on the edge does not increase, and therefo re throu ghou t this time we ass ign i nte gral cut s to terminals a t me ta-nod es dif ferent from M ( u ) and M ( v ) — this on ly redu ces the fract ional load on the edg e e and shrink s the set S e . Consider the fi rst time that an edge e = ( u, v ) mov es from the set X − 1 to X 0 . Suppose that at this step we assign an integ ral cut to a terminal i residing at node r i ∈ M ( u ) . Prior to this step, ℓ A e = c e − 1 , and so by Lemma 9, ℓ C e ≤ 1 . As befo re define α to be the total weight o f cut s K u ∩ S e , and β to be the total weight of cuts K v ∩ S e . Then follo wing the same argumen t as in the proof of Lemma 9, we conclude that the final fractio nal w eight on e is at m ost β + 1 − α ≤ 1 . Further more, since K u ∩ S e ⊆ K 1 u , we either remove all these cuts from C or shif t them of f of edge e . Moreov er , any ne w cuts that we shif t on to e do not contain the m eta-no de M ( r i ) = M ( u ) , and in particular do not contain the ver tex u . Therefore at the end of this step, S e ∩ K u = ∅ . This also implies that follo wing this iteration terminals in M ( v ) ha ve depth large r than terminals in M ( u ) , and so the next acces s to e must be from a termina l in M ( v ) . The same ar gument w orks when an edge mo ve s f rom X 0 to X 1 . W e again make use of the fact th at prior to the step the fracti onal load on the edge is at most 1 . Lemma 11 During any iter ation of the algorithm, for any edge e ∈ Y , the following ar e satisfied: • ℓ C e ≤ 1 • If the edge e = ( u, v ) is accessed by a termin al i with r i ∈ M ( u ) , then following this iter ation until the next time that e is access ed, we have S e ∩ K u = ∅ , and the ne xt access to e (if any) is fr om a terminal in M ( v ) . • If a termina l i with r i ∈ M ( u ) accesses e = ( u, v ) , then r i 6 = u , A i ∩ { u, v } = ∅ , and so i does not load e . Also, consider any pre vious acce ss to the edge by a termin al in M ( u ) ; then prior to this access , r i 6∈ M ( u ) . Pr oof: The first two parts of this lemma e xtend Lemma 10 to the case of e ∈ Y , and are otherwise identical to that lemma. T he proof for these claims is analogo us to the proof of Lemma 10. The only dif ferenc e is that termina ls accessing an edge e ∈ Y def ault on this edge. Howe ver , this does not affect the argumen t: when a terminal defaults on the edge, the edge’ s fraction al load chan ges in the same way as if the terminal did not default; the only change is in the way an inte gral cut is assigned to the terminal. Since these claims depen d only on ho w the fractional load on the edge changes, they contin ue to hold while the edge is in Y . 11 For the third part of the lemma, since A i ⊆ M ( r i ) = M ( u ) and v 6∈ M ( u ) , v 6∈ A i . Next we sho w that u 6∈ A i . Consider the iterations of the algori thm during which ℓ C e ≤ 1 . During this time the edge was access ed at least twice prior to being a ccesse d by i (once when e moved from X 0 to X 1 , once when e moved from X 1 to Y , and possibly multiple times while e ∈ Y ). Let the last two accesses be by the terminals j 1 and j 2 , at iterations t 1 and t 2 , t 1 ≤ t 2 . For a ∈ { 0 , 1 } , let M a ( u ) and M a ( v ) den ote the meta-no des of u and v respec ti ve ly just prior to iterati on t a , and M ( u ) and M ( v ) denote the re specti ve meta-nod es just prio r to the current itera tion. Then by Lemma 10 and the second part of this lemma, we hav e r j 1 ∈ M 1 ( u ) and r j 2 ∈ M 2 ( v ) . W e claim that i > C I j 2 > C I j 1 . Give n this claim, if r i ∈ M 1 ( u ) = M 1 ( r j 1 ) , then since i and j 1 ha ve the same depth at iteration t 1 , we get a contradict ion to the fact that the algori thm picks j 1 before i in Step 3a. Therefore, r i 6∈ M ( u ) at any iter ation prio r to t 1 , and in particu lar , r i 6 = u . Finally , since u ∈ U i and U i ∩ A i = ∅ , this also implies that u 6∈ A i . It remains to prov e the claim. W e will prove that j 2 > C I j 1 . T he proof for i > C I j 2 is analogous . In fact we will pro ve a stronge r statement: between iterations t 1 and t 2 , all terminals w ith cuts in S e dominate j 1 in the cut-inclu sion orde ring. W e prov e this by indu ction. B y Lemma 10, prior to iterati on t 1 , S e does not contain any cuts belongin g to terminals at M ( v ) . Follo wing the itera tion, S e only contain s fraction al cuts in K 1 u that got shifted on to the edge e . Prior to shif ting, these cuts cont ain M 1 ( u ) , and therefore r j 1 , b ut do not belong to j 1 . Then, these cuts are subs ets of O j 1 , and so by the inclusion in varian t, they belong to terminals dominati ng j 1 in the cut-incl usion ordering. Therefore , the claim holds right after the iteratio n t 1 . Finally , follo wing the iteration until the next time that e is access ed (by j 2 ), the set S e only shrinks, and so the claim contin ues to hold. In order to a nalyze t he loadin g of edges in Z , we need some mor e notatio n. Let M denote the collection of sets of ver tices that were meta-nodes at some point durin g the algo rithm. For any edge e ∈ Z , let M e denote the meta-n ode formed when e enters Z ; then M e is the smallest set in M containi ng both the end points of e . Note that the collect ion A ∪ M is lamina r . Lemma 12 An edge e ∈ Z is loaded only if after the formation of M e a terminal r esiding at a verte x in M e defaul ts on an edge in δ ( M e ) . (Note that this m ay happen after M e has mer ged with some other meta-nod es.) Pr oof: Let i be a defaultin g terminal that loads the edge e ∈ Z . Then e ∈ δ ( A i ) , and therefore, A i ( M e and r i ∈ M e . Furthe rmore, since A i is a strict subset of M e , U i ∩ M e 6 = ∅ , and there fore, i def aults on an edge e ′ ∈ Y with at le ast o ne en d-poin t in M e . But if both th e en d-poin ts of e ′ are in M e , th en we must ha ve ℓ C e ′ = 0 contradic ting the fact that e ′ is in Y . Therefore , e ′ ∈ δ ( M e ) . Lemma 13 F or any meta-no de M ∈ M , after it s for mation, at most one terminal r esidi ng at a verte x in M can defaul t on edges in δ ( M ) (even after M has merg ed w ith othe r meta-nodes). Pr oof: For the sa ke of co ntradi ction, sup pose that two termin als i and j , both residin g at vertice s in M def ault on edges in δ ( M ) after the formation of M , with i defa ulting before j . Let M 1 ( M 2 ) denote the m eta-no de contai ning M just before i ( j ) def aulted. Note that M ⊆ M 1 ⊆ M 2 . Consider an edge e ∈ E j ∩ δ ( M ) (recall that E j is the set of edges that j defaul ts on, so this set is non-empty by our assumpti on). Then e ∈ δ ( M ) ∩ δ ( M 2 ) ⊆ δ ( M 1 ) . T herefor e, at the time that i default ed, e was accessed by i , and by the third claim in Lemma 11, r j 6∈ M 1 . This contradi cts the fact that r j ∈ M . Finally we can put all these lemmas togethe r to pro ve our main resu lt on algorithm Round-2 . 12 Input: Graph G = ( V , E ) with edg e capacities c e , commo dities S 1 , · · · , S k , co mmon sink t , a feasib le solution d to the progra m MCP-LP . Output: A fractiona l laminar family of cuts C that is fea sible for G with edg e capacities c e + o (1) . 1. For every a ∈ [ k ] and termina l i ∈ S a do the following: Order the vertices in G in increasin g order of their d istance under d a from r i . Let th is order ing be v 0 = r i , v 1 , · · · , v n . Let C i be the co llection of cu ts { v 0 , v 1 , · · · , v b } , o ne f or ea ch b ∈ [ n ] , d a ( r i , v b ) < 1 , with weights w ( { v 0 , · · · , v b } ) = d a ( r i , v b +1 ) − d a ( r i , v b ) . Let C deno te the collection {C i } i ∈∪ a S a . 2. Let N = nk . Roun d up the weights of all the cuts in C to multiples of 1 / N 2 , and trunc ate the collection so that the total weight of every sub-co llection C i is exactly 1 . Also split every cut with weight mo re tha n 1 / N 2 into multiple cuts of weight exactly 1 / N 2 each, assigned to the same comm odity . 3. While there are pairs of cu ts in C that cr oss, consider any p air of cu ts C i , C j ∈ C b elonging to terminals i 6 = j that cross each other . Transform these cuts into new cuts for i and j a ccording to Figure 5. Figure 4: Algorithm Lam-1 —Algorithm to con ver t an LP solut ion for the CSC P into a feasible fractional laminar fa mily Lemma 4 Given a fr actio nal laminar cut family C feasi ble for the MCP on a graph G with integral edg e capac ities c e , the algorithm Round-2 pr oduces an inte gral family of cuts A that is feasible for the M CP on G with edge cap acitie s c e + 3 . Pr oof: W e fi rst note that the third part of Lemma 11 implies that for all i , r i 6∈ U i , and therefore the algorithm ne ver aborts. Then Lemma 8 implies that we get a feasible cut packing. Finally , note that ev ery edge starts out in the set X − 1 , goes through one or more of the X a ’ s, a ∈ { 0 , 1 } , potentiall y goes through Y , and ends up in Z . An edge e enters Y when its integral load becomes c e + 2 . Lemma 11 implies that edges in Y ne ver get loaded, and so at the time that an edge e enters Z , ℓ A e ≤ c e + 2 . After this point the edge stays in Z , and Lemmas 12 and 13 imply that it gets loaded at most once. T herefo re, the final load on the edge is at most c e + 3 . 4 Constructing fractional laminar cut packings W e no w sho w that fract ional soluti ons to the program MCP-LP can be con verted in polynomial time into fractio nal laminar cut families while losing only a small fac tor in edge load. W e be gin with the common sink case. 4.1 Obtaining laminarity in the common sink case W e prov e Lemma 1 in this section. Our algorithm in volv es starti ng with a solution to MCP -LP , con verting it into a feasible fractiona l non-laminar family of cuts, and then resolv ing pairs of crossing cuts one at a time by applyi ng the rules in F igure 5. The algo rithm is giv en in Figure 4. 13 (c) i i j j (a) i j i j (b) i i j j Figure 5: Rules for transf orming an arbitrar y cut family into a laminar one for the CS CP . The dark cuts in this figure corresp ond to the terminal i , and the light cuts to termina l j ; t lies outsid e all the cuts. Lemma 1 Consider an instan ce of the CSCP with gra ph G = ( V , E ) , common sink t , edge capaci ties c e , and commodities S 1 , · · · , S k . Given a feasible solut ion d to MC P-LP , algo rithm Lam-1 pr oduces in polyno mial time a fraction al laminar cut family C that is feasible for the CSCP on G with edge capacitie s c e + o (1) . Pr oof: W e first note that the family C is feasible for the giv en instanc e of CSCP at the end of S tep 2, but is not necess arily laminar . Since the number of distinct cuts in C after Step 1 is at most nk = N , at the end of Step 2, edge loads are at m ost c e + 1 / N . As w e tranform the cuts in Step 3, we maintain the property that no cut C ∈ C contains the sink t , bu t e very cut C ∈ C i contai ns the node r i for terminal i . It is also easy to see from Figure 5 that the load on e very edge stays the same. Finally , in eve ry iteration of this step, the number of pairs of cross ing cuts strictly de crease s. T herefo re, the algorithm ends after a poly nomial nu mber of iterat ions. 4.2 Obtaining laminarity in the general case Obtainin g laminarity in the general case in vol ves a more careful selection and ordering of rules of the form gi ven in F igure 5. The key complication in this case is that w e must maintain separation of e ver y terminal from ev ery other terminal in its commodity set. W e first sho w ho w to con vert an integr al collection of cuts feasib le for the MCP into a feasible integral laminar collect ion of cuts. W e lose a fact or of 2 in edge loads in this process (see Lemma 14 belo w). Obtaining laminarity for an arbitra ry fracti onal solut ion requires con ve rting it first into an integra l solution for a related cut-pac king problem and then applyi ng Lemma 14 (see algori thm L am-2 in Figure 8 and the proof of Lemma 2 follo wing it). Lemma 14 Consider an instance of the MCP with grap h G = ( V , E ) and commodities S 1 , · · · , S k , and let C 1 = { C 1 i } i ∈ S a ,a ∈ [ k ] be a family of cuts such that for each a ∈ [ k ] and i ∈ S a , C 1 i contai ns i but no other j ∈ S a . Then algor ithm Integ er -Lam-2 pr oduces a laminar cut colle ction C 2 = { C 2 i } i ∈ S a ,a ∈ [ k ] suc h that for eac h a ∈ [ k ] and i 6 = j ∈ S a , either C 2 i or C 2 j separ ates i fr om j , and ℓ C 1 e ≤ 2 ℓ C 2 e for ever y edge e ∈ E . In the remainder of this section we interpre t cuts as sets of ver tices as well as sets of terminals residing at those ver tices. The algorith m for laminarity in the integ ral case is giv en in Figure 6. 14 Input: Gr aph G = ( V , E ) with edge capacities c e , commodities S 1 , · · · , S k , a family of cuts C with one cut for e very terminal in ∪ a S a , such that the cut for terminal i ∈ S a does not contain any terminal j 6 = i in S a . Output: A laminar collection of cuts, o ne f or each terminal in ∪ a S a , such that for all a and for all i, j ∈ S a , i 6 = j , either the cut for i or the cut for j separa tes i fr om j . 1. While there are pairs of cuts in C that cross, do (see Figur e 7): (a) Consider any pair of cuts C i , C j ∈ C belon ging to terminals i 6 = j that cross each o ther, such that r i ∈ C i \ C j and r j ∈ C j \ C i . Reassign C i = C i \ C j and C j = C j \ C i . Return to Step 1. (b) Consider any thre e te rminals i 1 , i 2 , i 3 with cuts C 1 , C 2 and C 3 such that r i 1 ∈ C 1 ∩ C 2 \ C 3 , r i 2 ∈ C 2 ∩ C 3 \ C 1 , and r i 3 ∈ C 3 ∩ C 1 \ C 2 . Then, reassign these respective intersectio ns to the three terminals. Return to Step 1. (c) Consider any pair of cuts C i , C j ∈ C belon ging to terminals i, j ∈ S a for some a that cross each other, such that r i ∈ C i ∩ C j and r j ∈ C j \ C i . Reassign C i = C i ∩ C j and C j = C i ∪ C j . Return to Step 1. (d) Consider any pair o f cuts C i , C j ∈ C belon ging to terminals i 6 = j that cross each o ther, such that r i , r j ∈ C i ∩ C j , i ∈ S a and j ∈ S b with a 6 = b . • Suppo se th at there is no i ′ ∈ S a ∩ C j with C i ⊂ C i ′ . Th en, reassign C i = C i ∪ C j and C j = C i ∩ C j ; return t o Step 1. Con versely , if there is no j ′ ∈ S b ∩ C i with C j ⊂ C j ′ . Then, reassign C j = C i ∪ C j and C i = C i ∩ C j ; return to Step 1. (Th is transformation is s imilar to Step 1c.) • If neither of those cases hold, let i 0 = i , and let i 1 , · · · , i x denote the terminals in S a ∩ C j with C i ⊂ C i 1 ⊂ C i 2 ⊂ · · · ⊂ C i x . For x ′ ≤ x − 2 , reassign C i x ′ = ( C i x ′ +1 \ C j ) ∪ C i x ′ , C i x − 1 = C i x ∪ C j , and C i x = C i x ∩ C j \ C i x − 1 . Reassign cuts to j an d termina ls in S b ∩ C i like wise. Retur n to Step 1. (e) If none of the above rules match, then go to Step 2. 2. Let G be a directed g raph on the vertex set ∪ a S a , with edges colored red or blue, defined as follows: for terminals i 6 = j , G contains a red edge f rom i to j if and on ly if C j ⊂ C i , an d contains a blue edge from i to j if and o nly if r j ∈ C i , r i 6∈ C j , and C j \ C i 6 = ∅ . W e n ote that since no pair of termin als i and j matches the rules in Step 1, whenever C i and C j intersect G contain s an edge between i an d j . While th ere is a dire cted blue cycle in G , consid er the sho rtest such cycle i 1 → i 2 → · · · → i x → i 1 . For x ′ ≤ x , x ′ 6 = 1 , assign to i x ′ the cut C i x ′ ∩ C i x ′ − 1 , and assign to i 1 the cut C i 1 ∩ C i x . 3. W e show in Lemma 15 that at this step G is acyclic. For ev ery connected component in G do : (a) Let T b e the set of term inals in the compon ent and A be the set of corr espondin g cuts. Assign cap acities p e = 2 ℓ A e to edges in G . Let G p be the grap h obtained by merging all pairs o f vertices that have an ed ge e with p e = 0 between them. W e call the v ertices of G p “meta-nod es” (note that these are sets of vertices in the origin al graph). At any point of time, let R i denote the meta-nod e at which a terminal i resides. (b) While there are terminals in T , pick an y “leaf ” terminal i (that is, a terminal with no outgoing red or blue edges in G ). Reassign to i th e cut R i . Reduce the capa city of e very edge e ∈ δ ( R i ) by 1 . Remove i from T ; remove i and all edges incide nt on it from G . Recompute the graph G p based on the new capacities. Figure 6: Algorithm Inte ger -Lam-2 —Algorith m to con vert an integral family of multiw ay cuts into a laminar one 15 1a i j i j 1b i 1 i 2 i 3 i 2 i 1 i 3 1d(ii) i, j i 1 i 2 j 1 j 2 j 2 j 1 i, j i 1 i 2 1c i i j j cuts for commodity i cuts for commodity j 2 i 1 i 2 i 3 i 4 i 5 i 1 i 2 i 3 i 4 i 5 Figure 7: Some simple rules for resolving cro ssing cuts . See a lgorit hm Inte ge r -Lam-2 in Figure 6 for f ormal descri ptions . As in the common sink case, the al gorith m starts by applying a series of simple r ules to pairs of cross ing cuts while maintaining the in v ariant that pairs of terminals belon ging to the same commodity are alwa ys separa ted by at least one of the two cuts assi gned to them. Certain kinds of crossin gs of cuts are easy to resolv e while maint aining thi s in varia nt (Step 1 of the algor ithm resol ves t hese cro ssings ; see als o Figure 7). In Steps 2 and 3, we ignore the commodities that each terminal belon gs to, and assign new laminar cuts to terminals w hile ensuring that the new cut of each terminal lies w ithin its pre vious cut (and therefore, separa tion continues to be maintaine d). These steps incu r a penalty of 2 in edge loads. The rough idea behi nd Steps 2 and 3 is to consider th e set of all “conflicting” terminals, call it F . Then we can assig n to each terminal i ∈ F the cut ∩ j ∈ F ˆ C j where ˆ C j is either the cut of terminal j or its complemen t dependin g on which of the two contains r i . These interse ctions are clearl y laminar , and are subset s of the origin al cuts assig ned to termina ls. Furthermore , if each terminal gets a unique inte rsectio n, then edge loads increase by a fact or of at most 2 . Unfortuna tely , some groups of terminal s may share the same in tersec tions. In order to get aroun d this, we assign cuts to termina ls in a particular order su ggest ed by the structu re of the conflict graph on terminals (graph G in the algo rithm) and assign appropri ate inter section s to them while expl icitly ensuring that edge loads increas e by a factor of no more than 2 . Through out the algo rithm, ev ery terminal in ∪ a S a has an integr al cut assigned to it. The proof of Lemma 14 is establish ed in thr ee par ts: Lemma 15 esta blishe s the laminar ity of the out put cut family , Lemma 17 ar gues separat ion, and Lemma 18 analyzes edge loads. Lemma 15 Algorithm Inte ger -Lam-2 runs in polynomial time and pr oduces a laminar cut collecti on. Pr oof: As in the previ ous secti on define the crossing numbe r of a family of cuts to be the number of pairs of cuts that cross each other . W e first note that in ev ery iterati on of Steps 1 and 2 of the algo rithm, the crossi ng number o f the c ut f amily C strictly dec reases: no ne w c rossin gs are cre ated in these steps , while the crossi ngs of the two or more cuts in vo lve d in each transfo rmation are resolv ed (see Figure 7). Therefo re, after a polyn omial number of steps , we exit Steps 1 and 2 and go to Step 3. Next, we claim that during Step 3 of the algo rithm the grap h G is acycli c. This implies that while G is non-emp ty , we can alwa ys find a leaf terminal in Step 3; there fore ev ery terminal in G gets assigned a ne w cut. It is immediate that the graph does not contain any directed blue cycl es or any directed red cycles (the latter follo ws becau se red edges define a partial order ov er terminals ). Suppose the graph conta ins three terminals i 1 , i 2 and i 3 with a red ed ge fr om i 1 to i 2 , an d a red or blue edg e from i 2 to i 3 , th en it is eas y to see that there must be a red or blue edge from i 1 to i 3 . Therefore , any multi- colore d directed cycle must reduce to either a smaller blue cycle or a cycle of length 2 . Neither of these cases is possib le (the latter is ruled out by definition ), and therefore the graph cannot contain any multi-co lored cyc les. 16 No w consi der cuts assigned during S tep 3. L et T be the set of terminals correspond ing to some compo- nent in G and j 6∈ T . Then before T is proces sed, j ’ s cut is laminar with res pect to all the cut s in A T , and is therefo re a subset of some meta-node in G p T . So the new cuts assigned to termina ls in T are also laminar with respe ct to j ’ s cut. Finally , consider an y two cuts assigned duri ng Step 3 of the algorith m and belon ging to two terminals in the same compone nt of G . Consider the set of all meta-node s created during this iteratio n of S tep 3. This set is laminar , and the cuts assigned during this iteration are a subset of this laminar family . Therefo re, they are laminar . Lemma 16 F or a commodity i assigned a cut in Step 3 o f algor ithm Integer -Lam-2 , let C 1 i be its cut b efor e this step, and C 2 i be the ne w cut assigned to it. Then C 2 i ⊆ C 1 i . Pr oof: W e assume without loss of generalit y that prior to S tep 3 each edge load is at most one; this can be achie ved by split ting a multiply -loade d edge into man y edg es. W e focus on the behavi or of the algori thm for a single componen t T of G and prov e the lemma by induc tion over time. Consider an itera tion of Step 3b during which some terminal i ∈ T is assign ed and let C i be its origin al cut. Consider any vertex v 6∈ C i and let P be a shortest simple path from r i to v in G p T (where the length of an e dge e is giv en by p T e just pri or to when i is assig ned a ne w cut). It is easy to see t hat ther e is one su ch shorte st path that crosses each new cut assigned prior to this iterati on in Step 3b at most twice – suppose there ar e multip le entries a nd ex its f or some c ut, we can “ short-c ut” the path by conn ecting the first point on the path inside the cut to the last point on the path inside the cut via a simple path of length 0 lying entirely inside the cut. W e pick P to be such a path . W e w ill pro ve that P ’ s length is at least 2 . So the m eta-no de contai ning i must lie inside the cut C i , and the lemma holds. Let T 1 (resp. T 2 ) be the set of terminals in T \ C i (resp. T ∩ C i ) that are assigned ne w cuts before i in this iteration. W e first note that f or any j in T 1 , pr ior to this step, there is no edge fr om j to i (as j is assi gned before i ), so r i 6∈ C j , and this along with r j 6∈ C i implies that C i and C j are disjoint. This implies that the ne w cut of j (which is a sub set of C j by induction ) is also disjoint from C i , and therefore canno t load any edge with an end-poi nt in C i . So the only ne w cuts assigned this far in S tep 3b that load edges in P belong to termina ls in T 2 . No w we will analyze P ’ s length by acco unting for all the ne wly assig ned cuts that load its edges. Let S P be the set of terminals in T 2 that load an edge in P , and j ∈ S P . Since the ne w cut of j inters ects P , by the induction hypothesis , C j should either intersect P or con tain the entire path inside it. If C j contai ns P entirel y , then C j \ C i 6 = ∅ , and furthermore r i , r j ∈ C i ∩ C j . This implies that either C i ⊂ C j and there is a direct ed red edge from j to i , or C i \ C j 6 = ∅ , that is, C i and C j cross and sh ould ha ve mat ched the rule in Step 1d of the algor ithm. Both pos sibilit ies lead to a contradict ion. Therefore, C j must inter sect P . Finally , the origin al total length of the p ath i s at least 2 | S P | + 2 , becaus e each terminal in S P contri b utes two units to wards its length, and another two units is contrib uted by C i . Out of these up to 2 | S P | units of length i s consumed by terminals in S P . Theref ore, at t he time th at i is assi gned a cut, a t l east 2 units remai n. Lemma 17 When algorit hm Inte ger -Lam-2 terminates , for every a ∈ [ k ] and i 6 = j ∈ S a , either C i or C j separ ates i fr om j . Pr oof: W e claim that for e very a ∈ [ k ] and i 6 = j ∈ S a , at ev ery time step during the ex ecution of the algori thm, | C i ∩ C j ∩ { r i , r j }| ≤ 1 . T hen since by Lemma 15 the final solutio n is laminar , the lemma 17 follo ws. W e prove this claim by induction over time. First, if during any iteration of the algorit hm, we “shrin k” the cut of any termina l (that is, reassign to the terminal a cut that is a stric t subset of its origina l cut), then the claim continues to ho ld for that terminal, becau se in tersect ions of the terminal’ s cut only shrink in that step. Note that cuts of terminals expa nd only in Steps 1c and 1d of the algorithm (by const ruction and by Lemma 16). Suppose that durin g some iterat ion we apply th e tran sformat ion in Step 1c to terminal s i and j , re assign - ing C j = C i ∪ C j , and the claim fails to hold for termina l j . Specifically , suppo se that for some j ′ ∈ S a , after the iteratio n we ha ve r j , r j ′ ∈ C j ∩ C j ′ . Then, r j ∈ C j ′ , and therefore C j ′ interse cted C j prior to the iteration , and by the inductio n hypothe sis r j ′ ∈ C i \ C j prior to the iteration. If r i ∈ C j ′ , then prior to the iteration, i and j ′ contra dicted the induction hypothes is. Otherwise , i , j and j ′ satisfy the conditions in Step 1b of the algorithm, and this contradic ts the fact that we apply the transformati on in Step 1c at this iterati on. Next suppose that during some iteration w e apply the transformation in the first pa rt of Step 1d to terminals i and j , reassignin g C j = C i ∪ C j , and the claim fails to hold for terminal j ; in particular , for some j ′ ∈ S a , after the iteratio n we hav e r j , r j ′ ∈ C j ∩ C j ′ . Then, since r j ∈ C j ′ and the pair of terminals did not match the criteria in Step 1c, it m ust be the case that C j ⊂ C j ′ prior to the itera tion. Furthermore, r j ′ ∈ C i prior to the itera tion and this contradi cts the fact that we applied the transfo rmation in the fi rst part of Step 1d. Finally , suppose that during some iterati on w e apply the transfo rmation in the second part of S tep 1d. Then the c ut assig ned to e ve ry i x ′ for x ′ ≤ x − 2 is a subse t of the p re vious cut of i x ′ +1 , b ut does not con tain the latter terminal, and so by th e argumen ts presented for the previ ous cases , once ag ain th e indu ction hypot hesis con tinues to hold for those termina ls. Furth ermore, the cut assign ed to i x is a sub set of its origin al cut and i x − 1 does not belong to an y of the new cuts exce pt its o wn. The same ar gument holds for the j y ′ terminals . Lemma 18 F or the cut collection pr oduced by algorithm Integ er -Lam-2 the load on every edge is no mor e than twice the load of the inte gral family of cuts input to the algorit hm. Pr oof: W e first claim that edge loads are preserv ed throug hout Steps 1 and 2 of the algorithm. This can be establishe d via a case-b y-case analysis by noting that in ev ery transformat ion of these steps, the number of ne w cuts that an edge crosses is no m ore than the number of old cuts that the edge cros ses prior to the transfo rmation . It remains to analyze Step 3 of the algorithm. W e claim that we only lose a factor of 2 in edge loads d uring this ste p of the algorit hm. T his is easy to se e. Note that f or ev ery edge e , P T p T e ≤ 2 ℓ C ∪ T e , where C ∪ T is th e family of cut s belon ging to termin als in an y non-sin gleton component of G prior to Step 3. Moreo ver , in each iter ation of the step , we only load an edge e to the ex tent of p T e . Therefo re the lemma follo ws. Pr oof of Lemma 14: The proof follo ws immediately from Lemmas 15, 17 and 18. Giv en this lemma, algo rithm Lam-2 i n Figure 8 con verts an a rbitrar y feasible solu tion for MCP-LP into a feasib le fraction al laminar fa mily . Lemma 2 Consider an instance of the M CP with grap h G = ( V , E ) , edge capaci ties c e , and commodities S 1 , · · · , S k . Given a feasib le solution d to MCP-LP , algori thm Lam-2 pr oduces a fracti onal laminar cut family C that is feasi ble for the M CP on G with edge capacitie s 8 c e + o (1) . 18 Input: Graph G = ( V , E ) with edge cap acities c e , co mmod ities S 1 , · · · , S k , a feasible solution d to the pro- gram MCP-LP . Output: A fractiona l laminar family of cuts C that is fea sible for G with edg e capacities 8 c e + o (1) . 1. For e very a ∈ [ k ] a nd ev ery terminal i ∈ S a do the fo llowing: Order the vertices in G in increa sing or- der o f their distance u nder d a from r i . Le t th is or dering be v 0 = r i , v 1 , · · · , v n . Let C 1 i be the collectio n of cuts { v 0 , v 1 , · · · , v b } , one for each b ∈ [ n ] with d a ( r i , v b ) < 0 . 5 , with weights w 1 ( { v 0 , · · · , v b } ) = 2(min { d a ( r i , v b +1 ) , 0 . 5 } − d a ( r i , v b )) . Let C 1 denote the collection {C 1 i } i ∈∪ a S a . 2. Let N = n P a | S a | . Round up the weights of all the cuts in C 1 to multiples of 1 / N 2 , and truncate the collection so that the total we ight o f every sub-collection C 1 i is exactly 1 . Furthermo re, split every cut with weigh t mo re than 1 / N 2 into multiple cu ts o f weight exactly 1 / N 2 each, assigned to the same co mmod ity . Call this new collection C 2 with weight function w 2 . Note that e very cut in this collection has weight exactly 1 / N 2 . 3. Construct a new in stance of MCP in th e same graph G as follows. For each a ∈ [ k ] , co nstruct N 2 new commod ities with terminal sets identical to that of S a (that is the terminals reside at the same node s). For e very new terminal correspond ing to an older terminal i , assign to the ne w terminal a unique cut from C 2 i with weight 1 . Call this new collection C 3 , and the new instance I . 4. Apply algorith m Integer -Lam-2 from Figure 6 to the family C 3 to obtain family C 4 . 5. For e very a ∈ [ k ] a nd ev ery i ∈ S a , let C 5 i be the set o f N 2 / 2 innerm ost cuts in C 4 assigned to terminals in th e new in stance I that co rrespon d to terminal i . (Note tha t these cuts are concentric as they belo ng to a lamin ar family an d all co ntain r i . Therefore “inn ermost” cuts a re well defined .) Assign a weight of 2 / N 2 to every cut in this set. Outpu t the collection C 5 . Figure 8: Algorithm Lam-2 —Algorithm to con ve rt an L P soluti on into a feasible fractional laminar family Pr oof: Note first that the cut collectio n C 1 satisfies the follo wing properties: (1) For eve ry a ∈ [ k ] and i ∈ S a , e ver y cu t in C 1 i contai ns r i , b ut not r j for j ∈ S a , j 6 = i ; (2) The total weight of cu ts in C 1 i is 1 ; (3) For eve ry edge e , ℓ C 1 e ≤ 2 P a d a ( e ) ≤ 2 c e . The family C 2 also satisfies the first two proper ties, howe ver loads the edges sligh tly more than C 1 . Any edge belon gs to at most N cuts, a nd there fore the load on the e dge goes up by an additi ve amount of at most 1 / N . Therefore, for ev ery e , ℓ C 2 e ≤ 2 c e + 1 / N . Next, the collect ion C 3 is a feasib le inte gral family of cuts for the ne w instanc e I with ℓ C 3 e = N 2 ℓ C 2 e . Therefore, applying Lemma 14, we get that C 4 is a feasible laminar integra l family of cuts for I w ith ℓ C 4 e ≤ 2 N 2 (2 c e + 1 / N ) . Finally , in family C 5 , ev ery terminal i ∈ S a gets assigne d N 2 / 2 fractio nal cuts, each with weight 2 / N 2 . Therefo re, the tota l weight of cuts i n C 5 i is 1 . No w conside r any two t erminals i, j ∈ S a with i 6 = j . Then, in all t he N 2 commoditie s correspo nding to S a in in stance I , eith er the cu t assign ed to i ’ s counter part, or that assig ned to j ’ s counterpar t separates i from j . Say that among at least N 2 / 2 of the commodities in I ′ , the cut assigned to i ’ s counter part separ ates i from j . Then, the inner most N 2 / 2 cuts assigned to i in C 5 separa te i from j . Therefore , the family C 5 satisfies the first two cond itions of feasibility as giv en in Definition 2. F inally , it is easy to see that on e ve ry edge e , ℓ C 5 e ≤ 2 / N 2 ℓ C 4 e ≤ 4(2 c e + 1 / N ) . 19 5 NP-Hardness W e will no w pro ve that CSCP and MCP are NP-hard. S ince edge loads for an y feasible solution to these proble ms are integ ral, the result of Theorem 5 is optimal for the CSC P assuming P 6 = NP . The reduction in this theore m also gi ves us an integr ality gap instance for the CS CP . Theor em 19 CSCP and MCP ar e NP-har d. Furthermor e the inte grality gap of MC P-LP is at least 2 for both the pr oblems. Pr oof: W e reduce indep enden t set to CSCP . In particul ar , giv en a graph G and a tar get k , we produce an instan ce of CSCP such that the load on ev ery edge is at most 1 if and only if G contains an indepe ndent set of si ze at le ast k . L et n be the numb er of v ertices in G . W e constr uct G ′ by ad ding a c hain of n − k + 1 new ver tices to G . Let the first verte x in this chain be t (the common sink) and the last be v . W e connect e very ver tex of G to the new v erte x v , and place a terminal i at e ver y verte x r i in G (theref ore, there are a total of n sources). W e claim that t here is a colle ction of n edge-disj oint r i − t cuts in thi s ne w graph G ′ if an d only if G contains an indepe ndent set of size k . One direction of the proo f is straightf orward : if G contain s an independen t set of size k , say S , then for each v erte x r i ∈ S , conside r the cut { r i } , and for each of the n − k sour ce not in S , consi der the cuts obtain ed by remo ving one of the n − k chain edges in G ′ . Then all of these n cuts are edge-disjoin t. Next suppos e that G ′ contai ns a collecti on of edge-d isjoin t cuts C i , with r i ∈ C i and t 6∈ C i for all i . Note that the number of cuts C i contai ning an y chain vert ex is at most n − k becau se each of them cuts at least one chain edge. N ext consider the cuts that do not contain any chain vertex , spe cifically v , and let T ′ be the collectio n of terminals for suc h cuts. T hese are at least k in number . N ote that any cut C i , i ∈ T ′ , cuts the edge s ( u, v ) for u ∈ C i . Therefore, in order for these cuts to be edge-dis joint, it must be the case that C i ∩ C j = ∅ for i, j ∈ T ′ , i 6 = j . Finally , for two such cuts C i and C j , edge-disjo intnes s again implies that r i and r j are not conn ected. Therefo re the vertic es r i for i ∈ T ′ form an ind epend ent set in G of size at least k . For the integral ity gap, let G be the complete graph and k be n/ 2 . Then, there is no inte gral solu tion with load 1 in G ′ . Howe ver , the following fract ional solutio n is feasi ble and has a load of 1 : let the chain of vertices added to G be v = v 1 , v 2 , · · · , v n/ 2+1 = t ; assign to ev ery terminal i , i ∈ [ n ] , the cut { r i } with weight 1 / 2 , and the cut V ∪ { v 0 , · · · , v ⌊ i/ 2 ⌋ } with weight 1 / 2 . 6 Concludin g Rema rks Giv en that our algorith ms rely hea vily on the exist ence of good laminar solutions , a natural questio n is whether e ve ry feasible sol ution to the M CP can b e con ve rted int o a laminar one with t he same load. Figure 9 sho ws that this is not true. The figure display s one integr al solution to the MCP where the solid edges repres ent the cut for commodity a , and the dotted edges represent the cut for commodity b . It is easy to see that this instan ce admits no fractio nal laminar solution w ith load 1 on e very edge. Is the “laminarity gap” small for the more general set m ultiwa y cut packing and multicut packing prob- lems as well? W e belie ve that this is not the case and the re exist in stanc es for both of tho se problems with a non-co nstan t laminarity gap. 20 a 0 , b 0 a 1 b 1 a 2 b 2 Figure 9: E ach edge has capacity 1 . There are two commodities with terminal sets { a 0 , a 1 , a 2 } and { b 0 , b 1 , b 2 } . Refer ences [1] G. Calinescu, H. Karloff, and Y . Rabani. An improved a pprox imation algorith m for multiway c ut. J ournal of Computer and System Sciences , 60(3) :564–5 74, 2000. [2] G. Calinescu, H. Karloff, and Y . Rabani. App roximation algorithms for the 0-extension problem. SIAM J ournal on Computing , 34(2 ):358– 372, 2004. [3] A. Caprara, A. Panconesi, and R. Rizzi. Packing cuts in undirected graphs. Networks , 44(1 ):1–11 , 2004. [4] C. Chekuri, S. Khanna, J. Naor , and L. Zosin. A linear progr amming formu lation and appro ximation algorithms for the metric labeling problem . SIAM J . on Discr ete Mathem atics , 18(3):608 –625, 2004. [5] A. Karzanov . Minimum 0-extensions of graph metrics. Eur o pean J . of Combinatorics , 19(1):7 1–101 , 19 98. [6] J. Kleinberg and E. T ard os. Appr oximation algorithm s for classification prob lems with p airwise relationship s: metric labeling and Markov rando m fi elds. J ournal of the ACM , 49(5):61 6–63 9, 2 002. [7] M. Li, B. Ma, and L. W ang. On the closest string an d substring prob lems. Journal of the ACM , 49(2) :157–1 71, 2002. [8] C. L. Lucchesi and D. H. Y oun ger . A min imax theorem for directed graphs. J. London Math. Soc. , 17:369– 374, 1978. [9] Y . Rabani, L. Schulman, an d C. Swamy . Approximation algo rithms f or labeling h ierarchical taxonom ies. I n AC M Symp. on Discr ete Algorithms , pag es 671–68 0, 2008. [10] R. Ravi and J.K ececio glu. App roximatio n algorith ms for multiple seq uence alignment under a fixed e volutionary tree. Discrete Applied Mathematics , 88:355–366 , 1998. [11] L. W ang and D. Gusfield. Impr oved appro ximation algor ithms for tree alignment. Journal of Algorithms , 25(2) :255–2 73, 1997. [12] L. W ang , T . Jiang, and D . Gusfield. A m ore efficient app roximatio n scheme for tree alignmen t. SIA M Journal on Computing , 30(1 ):283– 299, 2000. [13] L. W ang, T . Jiang, and E. L awler . Ap prox imation algorithms fo r tre e alignmen t with a given phylogeny . Algo - rithmica , 16(3) :302–3 15, 1996. 21

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment