Fast Approximation Algorithms for Fractional Steiner Forest and Related Problems Naveen Garg Rohit Khandekar Indian Institute of Technology, New Delhi, India fnaveen,
[email protected] Abstract We give a fully polynomial time approximation scheme (FPTAS) for the optimum fractional solution to the Steiner forest problem. This can easily be generalized to obtain an FPTAS for a hitting set problem on a collection of clutters. We also identify three other problems on collections of clutters and show how these four problems are related when the clutters have the max-flow min-cut (MFMC) property. Two of these problems which are generalizations of maximum multicommodity flow and maximum concurrent flow have been well studied in the past and this paper is the first attempt at designing efficient algorithms for the other two problems. Our algorithms are very simple to describe and have running times better than those of existing algorithms. For clutters that do not satisfy the MFMC property (e.g., k spanner, multicommodity flows, T -cuts, T -joins etc.), our algorithms are the only ones known (other than the generic algorithms for linear programming) for solving these hitting set problems.
1. Introduction Many problems in combinatorial optimization derive their hardness from the fact that multiple entities are trying to share the same set of resources. Thus while computing the maximum integral flow between two terminals is easy, finding the maximum total integral flow for multiple commodities which share the same edge capacities is NP-hard. Similarly, designing a minimum cost network which connects a pair of points with r disjoint paths is easy, but finding a low cost network which connects multiple pairs of points is NP-hard. Most approximation algo Supported in part by a fellowship from Infosys Technologies Ltd., Bangalore.
rithms for such NP-hard problems involve, as a first step, finding an optimum (or approximately optimum) fractional solution to the LP-relaxation of the problem. For linear programs which involve packing a set of structures in a given set of resources, efficient combinatorial algorithms are known. Thus one can compute approximately maximum multicommodity flow and maximum concurrent flow very quickly, using essentially a sequence of shortest path computations [5, 4]. In this paper we look at a class of problems and the first we consider is the Steiner forest problem where we are given k pairs of vertices which we need to connect by picking a minimum cost set of edges. We pose this problem as a hitting set problem where we wish to pick a set of edges so that for each i, at least one si -ti path gets included. Our main result is a simple iterative algorithm which computes single-source shortest paths (under suitable non-negative length functions) and yields a (1+ ) approximation algorithm to the optimum fractional solution in time O((mk=2 ) log2 k Tsp ) where m is the number of edges and Tsp = O(m + n log n) is the time required for a singlesource shortest path computation. The optimum fractional solution can also be computed using Vaidya’s algorithm [15] for linear programming which runs in time O( 1:5 vL) where ; v are the number of constraints and variables respectively and L is the number of bits of precision required. The only LP-relaxation for this problem that we know of has O(mk ) variables and constraints. Further, since in an optimum solution, the variables can take values that are exponentially small in n, L is O(n) and the running time of Vaidya’s algorithm would be O(nm2:5 k2:5). A common generalization of many problems (Steiner network design, minimum multi-cut, feedback-arc-set etc.) to which our algorithm applies is the problem of finding a minimum hitting set for a collection of clutters. Given a ground set X , a clutter is a collection of inclusion-wise
minimal subsets of X . Given k clutters on X we wish to pick a minimum cost subset of X so as to hit each clutter (a clutter is hit if at least one of its sets is included). A special case of this problem arises when each set in a clutter is a singleton; this is exactly the hitting set problem. We show that given an oracle to find the minimum cost set in a clutter we can obtain a (1 + ) approximation to the optimum fractional solution for P the above min-hit problem in time O((m=2 ) log2 k i TOi ) where TOi is the time taken by the oracle for clutter i. A related problem is the sparsest-hit problem where we are interested in picking a set of elements for which the ratio of the cost to the number of clutters hit is minimum. Our algorithm can be modified to give a (1+ ) approximation to the optimum fractional P solution to this problem in time O((mk=2 ) log2 k i TOi ). Two problems which have been well researched vis-`avis fast approximation algorithms to the optimum fractional solution are the maximum multicommodity flow and maximum concurrent flow problems [14, 11, 7, 5, 4, 1]. The maximum multicommodity flow problem involves sending the maximum total flow between the given source-sink pairs while respecting capacity constraints. In the maximum concurrent flow problem we are given demands for each commodity and we wish to identify the maximum fraction of the demands that can be routed simultaneously. These two problems and their solutions can be generalized to the following problems on clutters. Given k clutters on a ground set, X , each element of which has a cost, we wish to associate weights with the sets in the clutters so that the total weight of all sets containing an element e is no more than the cost of e. When the objective is to maximize the total weight of the sets, we call this the max-pack problem. The max-concurrent-pack problem is obtained when we wish to maximize the minimum total weight of the sets in a clutter. Interestingly these four problems on clutters are related when the clutter has the max-flow min-cut property [10]. For such a clutter the min-hit problem is equivalent to the dual of the max-pack problem on the blocker1 of this clutter. Conversely, the max-pack problem on the clutter is equivalent to the dual of the min-hit problem on the blocker. A similar relationship exists between the max-concurrent pack and sparsest-hit problems. These relationships imply that one could use existing algorithms for max-pack and maxconcurrent pack to obtain (1 + ) approximation algorithms for the min-hit and sparsest-hit problems when the clutters have the MFMC property. However, in working with this approach one needs an oracle for computing the minimum cost set in the blocker and this might be more expensive than computing the minimum cost set in the clutter. For instance, to solve the Steiner forest problem in this manblocker B of a clutter C is a clutter such that each set in B intersects each set in C . 1 The
ner one would require O((m=2 ) log n) minimum s-t cut computations [5, 4]. The fastest algorithm known for minimum s-t cut requires time O(m min(m1=2 ; n2=3 ) log U ) where U is the ratio of the largest to the smallest capacity [6]. Since for the algorithm in [5, 4], U is n1= , we obtain a total time of O((m2 =3 ) min(m1=2 ; n2=3 ) log2 n)). This is worse than the bounds obtainable by our algorithm for k < min(m1=2 ; n2=3 )=. Furthermore, when the clutters do not have the MFMC property then the algorithms presented in this paper are the only known methods (besides linear programming) for solving the min-hit and sparsest-hit problems on a collection of clutters. Some examples of natural clutters that do not satisfy the MFMC property are the clutters for k -spanner, multicommodity flows and cuts [9, 12, 2], T -cuts and T joins [2, 3, 13]. We would also like to point out that the techniques of [11, 16] cannot be applied to obtain an FPTAS for the min-hit and the sparsest-hit problems on clutters since they cannot be written as packing/covering linear programs. The paper is organized as follows: Section 2 contains our algorithm for computing a (1 + ) approximation to the optimum fractional solution for the Steiner forest problem. In Section 3, we present some preliminaries on clutters and blockers. Section 4 presents a detailed description of the four problems on clutters that we have identified. It then explains how the different problems on clutters and blockers are related if the clutters satisfy the MFMC property and shows how to modify the algorithm presented in Section 2 to solve these problems. In Section 5, we give some examples of clutters that do not satisfy the MFMC property and also explain why packing algorithms of Garg and Ko¨ neman [5], Fleischer [4] cannot be used to solve the hitting set problems on these clutters. We conclude with some open problems in Section 6.
2. Steiner forest problem Given a graph G = (V; E ) with edge-costs : E ! IR+ and k pairs (si ; ti ) of terminals, the minimum Steiner forest problem seeks to find a minimum-cost subgraph that has a path from si to ti for each i 2 [k ℄ = f1; : : : ; k g. For a functionP f : X ! IR+ and a subset S X , we use f (S ) to denote x2S f (x). Let Pi denote the set of si -ti paths in G. Consider the following linear relaxation (1) of an integer linear program formulation of this problem. To simplify the presentation, we assume that no path belongs to both Pi and Pj for all i 6= j . Let P = [ki=1 Pi . min s.t.
(Pi ) x(e) x(e); (P )
P
2 (e)x(e)
e E
1 i 2 [k℄ PP 3e;P 2P (P ) i 2 [k℄; e 2 E 0 e 2 E; P 2 P i
(1)
The function x : E ! IR+ denotes the extent to which edges are picked. Similarly, the function : P ! IR+ denotes the flow along paths. While the first set of constraints ensures that a unit flow is sent from each si to ti , the second set of constraints installs sufficient capacities on the edges so as to support the required flow. The dual (2) of this linear program subdivides the cost
(e) of an edge e into i (e) (i 2 [k℄) such that the sum of the costs of the shortest si -ti paths (under the cost function
i ) is maximized. max s.t.
P
i 2 (e) y(i) y(i); i (e) i [k℄
P
2 y(i)
i [k℄
(e) i (P ) 0
e2E i 2 [k℄; P 2 Pi i 2 [k℄; e 2 E
(2)
We now give a combinatorial algorithm for solving these primal and dual linear programs. Let us associate the pair (si ; ti ) with “user” i. The algorithm goes in rounds. In a round, each user sends a unit flow along some path. Let nir (e) denote the total number of times the user i has sent flow along the edge e in rounds 1; : : : ; r. In round r, user i sends a unit flow from si to ti along a shortest path under the cost function
1 0 n 1 (e) (1 + ) A
ir (e) = (e) Pk n 1 (e) j =1 (1 + ) i r
j r
where > 0 is a constant. Let path. Thus,
n (e) = i r
Pri
nir 1(e) + 1 nir 1(e)
(3)
denote such a shortest for e 2 Pri otherwise
To begin, n0 (e) = 0 for all e 2 E and i 2 [k ℄. Let N denote the total number of rounds. Thus, the running time of the algorithm is O(kNTsp ) where Tsp is the time taken for a single-source shortest path computation in a graph with non-negative edge-costs. For an edge e 2 E and a user i 2 [k ℄, consider the fraction of rounds in which user i sent flow along edge e and let x(e) denote the maximum of this quantity over all users (see equations (4)). For a path P 2 Pi , let (P ) be the fraction of rounds in which user i sent flow along P . Let y(i) be the average cost (according to the cost function (3)) of the paths along which user i sent flows. Let i (e) be the average cost of the edge e as seen by user i. Formally,
= = = =
i 1=N max P i nN (e) 1=N r:P =P 1 P 1=N PNr=1 ir (Pri ) 1=N Nr=1 ir (e) i r
for e 2 E for i 2 [k ℄; P 2 Pi for i 2 [k ℄ for e 2 E; i 2 [k ℄
to the linear programs (1) and (2) respectively. Proof. In each round, user i sends a unit P flow from si to ti . Hence, after scaling we have, (Pi ) = P 2Pi (P ) = 1. Also as x(e) is the maximum of the average extent to which any user uses e, it supports Pthei flow sent. From our definition of ir , it follows that P i r (e) = (e) for any round r. Therefore, we have i i (e) = (e) for e 2 E . As Pri is the shortest si -ti path under the cost function ir , we have for any P 2 Pi , ir (Pri ) ir (P ). Therefore, y(i) i (P ). We shall now show that if the number of rounds, N , is sufficiently large, then these solutions are nearly optimum. If user i sends flow along an edge e in round r, we say that the user i makes a “payment” of ir (e) to the PN P edge e in round r. Let z (e) = 1=N r=1 i:e2P i ir (e) r be the total payment received by an edge e averaged over z (e), it folall rounds. From the definition P of y(i) and P lows that the dual solution, i y (i), equals e z (e). In Lemma 2.2, we prove that the cost, (e) Nx(e), required to open Nx(e) copies of the edge e can be almost recovered from the total payment, Nz (e), that the edge e receives from all users. P Therefore, thePvalues of the primal and dual solutions, e (e)x(e) and e z (e) respectively, are approximately equal and hence these solutions are nearoptimum. Lemma 2.2 For each edge e 2 E ,
ln k 1
(e)x(e) ln(1 + ) z (e) + N ln(1 + ) (e):
i
x(e) (P ) y(i)
i (e)
Lemma 2.1 The variables x(e); (P ) and the variables y(i); i (e) defined in equations (4) form feasible solutions
(4)
Proof. Fix an edge e 2 the edge e in round r is
E.
The total payment received by
0P 1 n 1 (e) (1 + ) i:e2P A:
(e) P n 1 (e) (1 + ) j i r
i r
j r
The denominator can be written as
X
(1 + )n
j
j r
1 (e)
X = 1= (1 + )n 1 (e) 0 j " #1 n 1 (e) X k (1 + ) 1 A = + j 1 0 n 1 (e) k X X (1 + )q 1 C = B A + j r
j r
j r
j
q =1
1 0 r 1 X X k (1 + )n (e) 1 A : = +
capacities x supports at least 1 Æ amount of flow of each commodity. Therefore, if we scale-up these capacities by a factor 1=(1 Æ ), we get a feasible solution to the linear program. The new solution has cost
i l
2
l=1 i:e P i l
Now, let,
k a0 =
and al
=
X 2
(1 + )
nil (e) 1
for
1 (OP T (e) Æ) 1 Æ 1 (OP T OP T Æ) < 1 Æ = OP T:
l = 1; : : : ; N:
i:e Pli
Also note that, if e 2 Pri , then nir (e) 1 = nir 1 (e). Thus, the total payment received by the edge e in round r is
ar
(e) : a0 + a 1 + : : : + a r 1 Claim 2.1 Let a0 ; : : : ; al bers with a0 > 0. Then,
0 be non-negative real num-
a1 a2 al + + + a0 a0 + a 1 a0 + + al 1 ln a0 + a + al : 0
P =
Proof. For any x 0, we have x ln(1 + x). Substituting a1 =a0; a2 =(a0 + a1 ); : : : ; al =(a0 + + al 1 ) for x and adding, we get the desired inequality. Now, from the definition of z (e), we have, N 1 (e) X
ar N r=1 a0 + : : : + ar 1 (e) ln a0 + : : : + aN (by above claim) N a P0 (e) ln 1= i (1 + )n (e) = N k= max n (e) (e) ln (1 + ) N k maxi niN (e) (e) ln k ln(1 + )
(e) = N N
(e) ln k ln(1 + ) (e)x(e) : = N
z (e) =
i N
i
i N
This proves the desired lemma. The following lemma proves that high-cost edges do not carry any flow. This helps us to remove these edges without affecting the value of the optimum solution and get a good bound on the number of iterations required to get a nearoptimum solution.
P
Lemma 2.3 Let OP T = e (e)x (e) be the value of an optimum solution x (e) (e 2 E ) to the linear program (1). Then for any edge e with (e) > OP T , we have, x (e) = 0.
Proof. Suppose there is an edge e 2 E with (e) and x (e) = Æ > 0. The graph with edges E
This leads to a contradiction. Hence the claim. Suppose we know an estimate, , of OP T to within a factor of 2, that is, OP T 2. We remove all edges e with (e) > 2 and run the algorithm with the remaining edges E 0 = fe 2 E j (e) 2g. Let P m = jE j be the total number of edges in G . Let P = e2E 0 (e)x(e) and P D = e2E0 z (e) denote the values of the primal and dual solutions respectively. Using Lemma 2.2, we have,
> OP T e and
X
2 0
(e)x(e)
X ln k 1 ln(1 + ) z (e) + N ln(1 + )
(e) e2E 0 e2E 0 ln(1+ ) D + N1 ln(1ln+k ) 2mOP T: Now, if N 2m ln k=( ln(1 + )), then (1 )P P OP T ln(1+ ) D 1 1=2 D: Therefore, P (1=(1 )(1 =2))D (1 + 2)D. e E
X
To get an estimate of OP T , we use the following lemma.
Lemma 2.4 Let OP T denote the optimum value of the linear program (1). Also let li denote the cost of the shortest path (under the cost function ) from si to ti for i 2 [k ℄. Then,
max li OP T i
X i
li
k max li : i
Proof. Suppose lj = maxi li . Clearly, cost of routing unit flow from sj to tj in the optimum solution is at least lj . On the other hand, union of the shortest si -ti paths for P all i 2 [k℄ forms a feasible solution and has cost at most i li . We run our algorithm with the estimate = maxi li (by removing edges with cost more than 2) for O(m log k=( log(1 + ))) rounds. In each round, we do k single-source shortest path computations. If the algorithm gives primal and dual solutions in the estimated range, we stop; otherwise we double our estimate and repeat. From Lemma 2.4, it is clear that we will have to run this algorithm at most log k times. Thus, we obtain our main theorem.
Theorem 2.5 For any > 0, there is a combinatorial algorithm that solves the linear programs (1) and (2) to within an approximation of (1 + 2) and runs in time O((mk log2 k=2)Tsp ), where Tsp denotes the time for computing a shortest path between a pair of nodes in a graph with non-negative edge-costs. Using standard techniques we can further reduce the running time to O(mk log k (log k + 1=2 )Tsp ). This is achieved by keeping = 1=2 till we obtain a correct estimate of OP T and then running the algorithm with smaller .
3. Clutters, Blockers and the MFMC property This section gives some preliminaries on clutters and blockers. Let X be a finite set. A clutter C on X is a set of inclusion-minimal subsets of X , i.e., no set in C is contained in another set in C . The blocker BL(C ) of a clutter C is the set of all inclusion-minimal subsets of X that intersect all sets in C . So BL(C ) is a clutter. For example, given two vertices s and t in a graph G, if C is the clutter of all s-t paths in G, then BL(C ) is a clutter of all s-t cuts in G. The following result is elementary. If C is a clutter, then
BL(BL(C )) = C :
Let us associate a real variable
e 2 X.
x(e)
for each element
Definition 3.1 A clutter C on X is said to have the maxflow min-cut property (or MFMC property) if
onvfS 2 IR+X j S 2 Cg + IR+X = fx 2 IR+X j x(B ) 1 for all B 2 BL(C )g:
(5)
The left-hand-side is the dominant of the incidence vectors
Theorem 3.1 (Lehman [10]) A clutter has the MFMC property if and only if its blocker has.
4. General framework We now extend our algorithm for the Steiner forest problem to a more general setting involving hitting a collection of clutters. We also identify a closely related problem of finding sparsest hitting sets.
4.1. Min-max problems on clutters Let X be a finite set with a cost function : X ! IR+ . Let C1 ; : : : ; Ck be k clutters on X . We define four optimization problems which we formulate below as linear programs. Together with each linear program, we also give its dual. In the following, 8i and 8e stand for 8 i 2 [k ℄ and 8 e 2 X respectively. Problem 1 (min-hit) The min-hit problem is to find a minimum cost set H X that hits each clutter. A clutter is hit if at least one set in the clutter is a subset of H . Note that when the sets in each clutter are singletons, the min-hit problem is exactly the problem of computing the min-cost hitting set. The min-hit problem includes a variety of problems like generalized Steiner networks, multicut, feedback arc-set, k -spanner etc. An IP formulation for this problem involves finding assignments x : X ! f0; 1g and i : Ci ! f0; 1g where i (S ) = 1 implies that the set S 2 Ci is a subset of H and x(e) = 1 implies that the element e is included in H . The LP-relaxation of this integer program and its dual are given below.
S of the sets S 2 C ; and the right-hand-side is the intersec-
tion of the half spaces, one for each set in the blocker, that ensure that the variables corresponding to elements in that set of the blocker add up to at least 1. The following fact is a consequence of the duality theory of linear programming (Gr¨otschel et al. [8]). A clutter C on X has the MFMC property if and only if for any cost function : X ! IR+ ,
minf (C ) j C 2 Cg X (B ) j (B ) 0 8B 2 BL(C ); = maxf B 2BL(C ) X (B ) (e) 8e 2 X g: (6) 3
B e
For example, the clutter of s-t cuts in a graph satisfies the MFMC property since for any capacity function on the edges, the capacity of the minimum s-t cut in the graph equals the value of the maximum s-t flow satisfying the capacity constraints.
min s.t.
i (Ci ) x(e) x(e); i (S )
P
1 P 0
Dual:
P
max s.t.
i 2 (e) y(i) y(i); i (e) i [k℄
2 (e)x(e)
e X
3e; i (S ) 2Ci
S S
P
8i 8i; 8e 8e; 8i; 8S 2 Ci
2 y(i)
i [k℄
(e) i (S ) 0
8e 8i; 8S 2 Ci 8i; 8e
Problem 2 (sparsest-hit) Unlike the min-hit problem, the sparsest-hit problem aims at minimizing the ratio of the cost of the set H picked to the number of clutters that are hit by H . This generalizes, for example, the sparsest-cut problem: given a graph with edge costs and k pairs of vertices, find a cut that minimizes the ratio of the cost of the cut to the number of pairs separated. A linear relaxation of this problem and its dual are given below.
P
P
min s.t.
2 (e)x(e)
e X
i (Ci ) x(e) x(e); i (S )
1 P 0
i
3e; i (S ) 2Ci
S S
8i; 8e 8e; 8i; 8S 2 Ci
Dual:
PP i
min s.t.
y(i) x(S ) y(i); x(e) i
(e) 8e i (Ci ) 8i i (S ) 0 8i; 8S 2 Ci
3e i (S ) 2Ci
S S
Dual:
P
max s.t.
P
2 (e)x(e)
e X
1 y(i) 0
8i; 8S 2 Ci 8i; 8e
4.2. Connections if MFMC property is satisfied
P
max s.t.
2 (e)
i (e)
i [k℄
i
(e) 8e i (S ) 8i; 8S 2 Ci 0 8i; 8e
Problem 3 (max-pack) In the max-pack problem, we associate a weight function i : Ci ! IR+ with each clutter such that the total weight of all sets including a certain element is no more than the cost of that element. The objective is to maximize the total weight associated with the sets. This problem captures the classical maximum-multicommodity-flow problem when we let X be the set of edges in a graph G, be the capacity function and Ci be the clutter of si -ti paths in G.
PP i
each i 2 [k ℄, at least fraction of demand can be sent from si to ti without violating capacities.
P
max s.t.
i 2 (Ci )
i [k℄
(e) i (S ) 0
3e i (S ) 2Ci
S S
Dual: min s.t.
x(S ) x(e)
P
8e 8i; 8S 2 Ci
primal LP of min-hit on clutters C[k℄ dual LP of max-pack on blockers B[k℄ primal LP of max-pack on clutters C[k℄ dual LP of min-hit on blockers B[k℄
primal LP of sparsest-hit on clutters C[k℄ dual LP of max-concurrent-pack on blockers B[k℄ primal LP of max-concurrent-pack on clutters C[k℄ dual LP of sparsest-hit on blockers B[k℄
We prove these relations formally in the following lemmas.
2 (e)x(e)
e X
1 0
If the clutters (and hence the corresponding blockers) satisfy the MFMC property, the min-hit problem on clutters and the max-pack problem on blockers are closely related. Suppose that the clutters C[k℄ = fC1 ; : : : ; Ck g on X satisfy the MFMC property. Let B[k℄ = fB1 = BL(C1 ); : : : ; Bk = BL(Ck )g be the corresponding blockers. From Lehman’s theorem 3.1, we know that these blockers also satisfy the MFMC property. The primal and dual linear programs for these problems are related as follows.
8i; 8S 2 Ci 8e
Problem 4 (max-concurrent-pack) The max-concurrent-pack problem differs from max-pack problem only in that the objective is to maximize the minimum total weight associated with the sets of a clutter. This problem generalizes the maximum-concurrent-flow problem where we wish to find the maximum such that for
Lemma 4.1 If x(e) (e 2 X ); i (S ) (i 2 [k ℄; S 2 Ci ) form a feasible solution to the min-hit problem on C[k℄ , then x(e) (e 2 X ) form a feasible solution to the dual of the max-pack problem on B[k℄ . Conversely, if x(e) (e 2 X ) is a feasible solution to the dual of the max-pack problem on B[k℄ , then there exist i (S ) (i 2 [k ℄; S 2 Ci ) such that x(e) (e 2 X ); i (S ) (i 2 [k℄; S 2 Ci ) is a feasible solution to the min-hit problem on C[k℄ . Proof. As x(e); i (S ) form a feasible solution to the minhit problem on C[k℄ , for all i 2 [k ℄, the point x(e) (e 2
X ) lies in the polytope defined by the left-hand-side of the
equation (5) with C = Ci . As the clutters C[k℄ satisfy the MFMC property, this point also lies in the polytope defined by the right-hand-side of equation (5). Hence, it forms a feasible solution to the dual of the max-pack problem on B[k℄ . Proof of the converse is similar. Lemma 4.2 If i (S ) (i 2 [k ℄; S 2 Ci ) form a feasible solution to the max-pack on C[k℄ , then y (i) = i (Ci ) P problem i i and (e) = S 3e (S ) form a feasible solution to
2Ci
B k . Conversely, if 2 [k℄); i (e) (i 2 [k℄; e 2 X ) form a feasible solution to the dual of the min-hit problem on B k , then there exist i (S ) (i 2 [k ℄; S 2 Ci ) that form a feasible solution to the max-pack on C k and satisfy y (i) = i (Ci ) P problem and i (e) 3 i (S ) for all i 2 [k ℄ and e 2 X . 2C S
the dual of the min-hit problem on
y(i) (i
[ ℄
[ ℄
[ ℄
S S
e
i
Proof. Suppose that i (S ) form a feasible solution to the i P (Ci ) and i (e) = max-pack problem on C[kP ℄ . Let y (i) =P P i i i S 3e (S ) S 3e (S ). Clearly, i (e) = i S
2Ci
S
2Ci
(e). Also, for P any i 2 2 Bi , i (B ) = P [k℄ andi any B P P i i
( b ) = 3 ( S ) b2B S 2C (S ) = b2B 2C i (Ci ) = y(i). The last inequality comes from the fact that blocker set B intersects each clutter set S 2 Ci . Hence, y(i); i (e) form a feasible solution to the dual of the minhit problem on B[k℄ . On the other hand, if y (i); i (e) form a S S
b;
i
i
feasible solution to the dual of the min-hit problem P on B[k℄ , then y (i) minf i (B ) j B 2 Bi g = maxf S 2Ci i (S ) j P i (S ) 0; S3e i (S ) i (e)g. The last equality comes i from P Pequationi (6). Therefore, P i there exist (S ) such that S 3e (S ) i i (e) (e) and hence form a S
2Ci
feasible solution to the max-pack problem on isfy above relations.
Ck
[ ℄
and sat-
Lemma 4.3 If x(e) (e 2 X ); i (S ) (i 2 [k ℄; S 2 Ci ) form a feasible solution to the sparsest-hit problem on C[k℄ , then x(e) (e 2 X ); y(i) = i (Ci ) (i 2 [k℄) form a feasible solution to the dual of the max-concurrent-pack problem on B[k℄ . Conversely, if x(e) (e 2 X ); y(i) (i 2 [k℄) is a feasible solution to the dual of the max-concurrent-pack problem on B[k℄ , then there exist i (S ) (i 2 [k℄; S 2 Ci ) such that y(i) = i (Ci ) and x(e) (e 2 X ); i (S ) (i 2 [k℄; S 2 Ci ) is a feasible solution to the sparsest-hit problem on C[k℄ . Proof. Let x(e); i (S ) form a feasible solution to the sparsest-hit P problem on C[k℄ and let y (i) = i (Ci ). Clearly, P i i ) 1. Also, for i (CP i y (i) = P anyPi 2 [k℄ and any B 2 Bi , x(B ) = b2B x(b) b2B S3b; i (S )
P
S
2Ci
i i 2C (S ) = (Ci ) = y(i). The last inequality comes from the fact that blocker set B intersects each clutter set S 2 Ci . Hence x(e); y(i) form a feasible solution to the S
i
dual of the max-concurrent-pack problem on B[k℄ . Conversely, if x(e); y (i) is a feasible solution to the dual of the max-concurrent-pack problem Pon B[k℄ , then, y(i)
minPfx(B ) j B 2 Bi g = maxf S2C i (S ) j i (S ) 0; S3e i (S ) x(e)g. The last equality comes from equation (6). Therefore, there exist i (S ) (S 2 Ci ) such that y (i) = i (Ci ) and x(e); i (S ) is a feasible solution to i
the sparsest-hit problem on C[k℄ .
Lemma 4.4 If ; i (S ) (i 2 [k ℄; S 2 Ci ) form a feasible solution to the max-concurrent-pack problem on C[k℄ , then P = and i (e) = S3e i (S ) form a feasible solution
2Ci
to the dual of the sparsest-hit problem on B[k℄ . Conversely, if ; i (e) (i 2 [k ℄; e 2 X ) form a feasible solution to the dual of the sparsest-hit problem on B[k℄ , then there exist ; i (S ) (i 2 [k℄; S 2 Ci ) that form a feasible solution to the max-concurrent-pack problem on C[k℄ and satisfy = P i and i (e) S 3e (S ) for all i 2 [k ℄ and e 2 X , . S
S
2Ci
Proof. Suppose that ; i (S ) form a feasible solution to the max-concurrent-pack problem on C[k℄P . Let = P i i and i (e) = S 3e (S ). Clearly, i (e) =
PP i
3e i (S ) 2Ci
S S
2 Bi , i (B ) =
S
2Ci
(e). P
Also, for any
P
i
2 [k℄ and any 3 i (S ) 2C
P
i 2 (b) = b2B i i S 2C (S ) = (Ci ) = . The last inequality comes from the fact that blocker set B intersects each clutter set S 2 Ci . Hence, ; i (e) form a feasible solution to
B
P
b B
S S
b;
i
i
the dual of the sparsest-hit problem on B[k℄ . On the other hand, if ; i (e) form a feasible solution to the dual of the i sparsest-hit problem P on B[k℄ , then minPf (B ) j B 2
Bi g = maxf S2C i (S ) j i (S ) 0; S3e i (S )
i (e)g. The last equality comes from equation (6). Therei
fore, there exist i (S ) that along with = form a feasible solution to the max-concurrent-pack problem on C[k℄ and satisfy above relations. We consider instances of these problems in which the clutters Ci are given by their underlying set X and oracles Oi , which for any cost function : X ! IR+ , return a minimum-cost set in Ci . It is easy to see that the Steiner forest linear program (1) is such an instance of the min-hit problem, where X is the set of edges, Ci is the clutter of all si -ti paths and Oi is an algorithm for computing a shortest si -ti path. We now show how the techniques developed in Section 2 can be used to solve these problems.
4.3. Algorithm for the min-hit problem The fractional Steiner forest algorithm given in Section 2 can easily be generalized to solve the min-hit problem. In each round r, each “user” i uses oracle Oi to pick a minimum-cost set Sri 2 Ci using the cost function given in (3). As before, if the number of rounds
N = (m log k=( log(1 + )), where m = jX j, then the
variables
x(e) i (S ) y(i)
i (e)
= = = =
i 1=N max P i nN (e) 1=N Pr:S=S 1 1=N PNr=1 ir (Sri ) 1=N Nr=1 ir (e) i r
for e 2 X for i 2 [k ℄; S 2 Ci for i 2 [k ℄ for e 2 X; i 2 [k ℄
give a near optimum solution to the primal and dual linear programs. Here, as before, nir (e) denotes the number of times user i picked e 2 X in rounds 1; : : : ; r. The Lemmas 2.2, 2.3 and 2.4 continue to hold with appropriate (1 + 2) change in the notation. This algorithm computes a P approximation in time O(m log k (log k + 1=2 ) i TOi ) where TOi denotes the time taken by one call to the oracle Oi .
4.4. Algorithm for the sparsest-hit problem The algorithm for the sparsest-hit problem is very similar to the min-hit algorithm. In each round, we pick the minimum-cost set from among the minimum-cost sets in each of the clutters under the cost function given in (3). Let such a set correspond to the clutter Cir . Again, if the number of rounds N is sufficiently large, then the variables
x(e) i (S )
i (e)
= = = =
i 1=N max P i nN (e) 1=N r:i=i ;S=S 1 P 1=N PNr=1 ir (Sri ) 1=N Nr=1 ir (e) i r
r
r
r
for e 2 X for i 2 [k ℄; S
2 Ci
for e 2 X; i 2 [k ℄
give a near optimum solution to the primal and dual linear programs. Lemma 2.2 continues to hold while the other two lemmas are modified as given below.
P
Lemma 4.5 Let OP T = e (e)x (e) be the value of an optimum solution x (e) (e 2 X ) to the sparsest-hit problem. Then for any edge e with (e) > k OP T , we have, x (e) = 0. Suppose there is an edge e 2 X with (e) > Æ > 0. Clearly, we have Æ < k OP T and x (e) = P 1=k. PForPany i 2 [k℄, S2C ;e2S i (S ) Æ. Therefore, i S 2C ;e62S i (S ) 1 kÆ: Hence, if we scale up x (e0 ) (e0 2 E e) by a factor 1=(1 kÆ ), we get a Proof.
i
i
feasible solution. The new solution has cost
1 (OP T (e) Æ) 1 kÆ 1 (OP T OP T kÆ) < 1 kÆ = OP T: This leads to a contradiction. Hence the lemma.
Lemma 4.6 Let OP T denote the optimum value of the sparsest-hit problem. Also let li denote the cost of the minimum-cost set in the clutter Ci (under the cost function
). Then,
1 min l OP T min l : i i i i
k
Proof. Note thatPthere is a j 2 [kP ℄ such that j (Cj ) 1=kP. Further, e2X e xe S2Cj j (S ) (S ) lj S2Cj j (S ) lj =k and hence any feasible solution has cost at least (mini li )=k . On the other hand, for any i, the minimum-cost set in Ci forms a feasible solution. Hence the lemma.
We first let our estimate for OP T be = k1 mini li and remove e 2 X such that (e) > k. Removing e here means, setting (e) = 1. We run the algorithm with = 1=2 for O(mk log k) rounds. In each round, we call each oracle Oi once and pick the minimum-cost set among all these sets. If the algorithm gives primal and dual solutions in the estimated range, we stop; otherwise we double our estimate and repeat. After finding the correct estimate of OP T , we run the algorithm with that estimate for O(mk log k=( log(1 + ))) rounds. This algorithm computes a (1P+ 2) approximation in time O(mk log k (log k + 1=2 ) i TOi ).
4.5. Algorithms for the max-pack and maxconcurrent-pack problems Using the relationship between the hitting and packing problems (Section 4.2), the min-hit and sparsest-hit algorithms can be used for solving the max-pack and maxconcurrent-pack problems. The max-pack algorithm. We observe that the maximummulticommodity-flow algorithm given in [5] can be extended to solve the max-pack problem. If the clutters satisfy the MFMC property, using Lemmas 4.1 and 4.2, the min-hit algorithm described above can also be used for solving the max-pack problem. Note, however, that we need to use stronger oracles for this purpose. Oracle Oi when given any capacity function : X ! IR+ , should return along with a minimum capacity set in Bi , a maximum packing Ci that respects the capacities, that is, Pof the sets in P maxf S2Ci i (S ) j S3e i (S ) (e) for all e 2 X g. In each round r, the algorithm computes such a maximum packing ir (S ) of the sets in Ci according to the capacity function given in (3), where nir (e) denotes the number of times e was an element of the minimum-capacity set S i (l) 2 Bi in rounds l = 1; : : : ; r. If N is the total number of rounds, the following variables define feasible solutions to the max-pack problem and its dual.
P
i i (S ) = 1=N N r =1 r (S ) i x(e) = 1=N maxi nN (e)
for i 2 [k ℄; S for e 2 X
2 Ci
This algorithm computesP a (1 + 2) approximation in time O(m log k(log k +1=2) i TOi ). The analysis is identical to that of the min-hit algorithm and is omitted. The max-concurrent-pack algorithm. Again, the maximum-concurrent-multicommodity-flow algorithm in [5] can be extended to solve this problem. But, if the clutters satisfy the MFMC property, by the duality given in Lemmas 4.3 and 4.4, we can use the sparsest-hit algorithm for solving this problem. The oracles used are identical to the ones in the max-pack algorithm. In each round r, the algorithm computes for each i, the minimum-capacity set in Bi and maximum packing ir (S ) of the sets in Ci according to the capacity function given in (3). Then it picks the minimum-capacity set among these sets. Let such a set correspond to the blocker Bir . Here, nir (e) denotes the number of times e was an element of the minimum-capacity set in rounds l = 1; : : : ; r. Let N denote the total number of rounds. The following variables, then, define feasible solutions to the max-concurrent-pack problem and its dual.
i (S ) x(e) y(i)
= = = =
P 1=N PNr=1 ir (Ci ) 1=N r:i=i ir (S ) i 1=N max P i nN (e) 1=N r:i=i 1 r
r
r
r
r
for i 2 [k ℄; S for e 2 X for i 2 [k ℄
2 Ci
This algorithm computes a P (1 + 2) approximation in time O(mk log k(log k + 1=2) i TOi ). The analysis is identical to that of the sparsest-hit algorithm and is omitted.
5. Clutters that do not satisfy the MFMC property For clutters that do not satisfy the MFMC property, our algorithms are the only algorithms known (other than the generic algorithms for linear programming) for solving the linear relaxations of the min-hit and sparsest-hit problems. In this section, we give examples of a few clutters that do not satisfy the MFMC property and explain why the packing algorithms cannot be used to solve the hitting set problems on these clutters. 1. (k -spanner) Let G = (V; E ) be an undirected graph and s; t 2 V be a pair of vertices. Let l be the length of the shortest path between s and t and k be an integer. Let C be the clutter of s-t paths of length at most kl. The blocker BL(C ) will then be the collection of minimal sets B E such that the shortest s-t path in the graph G0 = (V; E n B ) is more than kl. The clutter C does not satisfy the MFMC property; and we illustrate this with an example. In the graph of Figure 1, the length of the shortest s-t path is l = 3. Let k = 2 so that the clutter C is the set of s-t paths that include at least two edges from
s
t e2
e1
e3
Figure 1. An example for spanner.
fe ; e ; e g. The blocker is the set of all s-t cuts and the sets fe ; e g; fe ; e g; fe ; e g. Now, consider the 1
2
3
1
2
2
3
3
1
E point in IR+ that sets a weight of 1=2 to each edge. Since, each set in the blocker has at least two edges, its total weight is at least 1. But this weight assignment on the edges does not dominate a convex combination of the characteristic vectors of the sets in the clutter. Therefore, this point lies in the polytope defined by the right-hand-side of (5) but does not lie in the polytope defined by the left-hand-side. Therefore, by definition, C does not satisfy the MFMC property. It is easy to see that this example generalizes easily to any value of k and l.
2. (multicommodity paths) Let G be an undirected graph and let f(si ; ti )g be k pairs of vertices in G. A multicommodity path is an si -ti path for some i and a multicommodity cut is a set of the edges that separates each of the pairs (si ; ti ). The clutters of multicommodity paths and multicommodity cuts do not satisfy the MFMC property [9, 12, 2] even for k = 2. Such a clutter arises, for instance, in solving the linear relaxation of a natural integer program for the group Steiner forest problem – in an undirected graph, given k sets (groups) of vertex-pairs, this problem seeks to find a minimum-cost subgraph that connects a pair from each group. 3. (T -cuts and T -joins) Let G be a graph and let T be a vertex set of G of even cardinality. An edge-set of G is called a T -join if it induces an acyclic graph the odd degree vertices of which coincide with T . For disjoint sets S1 and S2 , let (S1 ; S2 ) denote the set of edges with one end point in S1 and other in S2 . A T -cut is a minimal edge set of the form (S; V (G) n S ) where S is a set of vertices with jT \ S j odd. Clearly, every T -cut intersects every T -join. The clutters of T -cuts and T -joins have been extensively studied [2, 3] and do not satisfy the MFMC property [13]. In Section 4.2, we observed how the max-pack problem on the clutter is related to the dual of min-hit problem on the blocker in case the clutter satisfies the MFMC property. Due to the MFMC property, the two polytopes defined in (5)
were equal. This duality could be used to extend the algorithms for min-hit and min-sparsest-hit to solve the maxpack and max-concurrent-pack problems. Similarly, if this property is satisfied, the packing algorithms of Garg and Ko¨ neman [5] and Fleischer [4] can be used to solve the minhit and sparsest-hit problems. However, in the absence of this property, the two polytopes in (5) are different. Therefore, the max-pack algorithm, which is an algorithm for optimizing over the righthand-side polytope in (5), cannot be used to solve the minhit problem, which is the problem of optimizing on the lefthand-side in (5). Similarly, the max-concurrent-pack algorithm cannot be used to solve the sparsest-hit problem. Thus, our min-hit and sparsest-hit algorithms are the only combinatorial algorithms we know of to solve these problems on such clutters.
6. Open problems The algorithm in Section 2 also yields a (1 + ) approximation to the optimum fractional solution for a set-cover instance. However, we do not know how to extend it to obtain a (1+ ) approximation for the optimum solution to any positive covering linear program. It would be interesting to modify the algorithm so that it also handles covering programs. It would also be challenging to identify the potential function that our algorithm uses implicitly in converging to the optimum solution.
References [1] D. Bienstock. Potential function methods for approximately solving linear programming problems: theory and practice. Manuscript, 2001. [2] G. Cornu´ejols and B. Guenin. Ideal clutters. Manuscript, 2001. [3] J. Edmonds and E. Johnson. Matching, euler tours and the chinese postman problem. Math. Programming, 5:88–124, 1973. [4] L. Fleischer. Approximating fractional multicommodity flow independent of the number of commodities. SIAM J. Discrete Math., 13:505–520, 2000. [5] N. Garg and J. Ko¨ nemann. Faster and simpler algorithms for multicommodity flow and other fractional packing problems. In Proceedings, IEEE Symposium on Foundations of Computer Science, 300-309, 1998. [6] A. Goldberg and S. Rao. Beating the flow decomposition barrier. J. ACM, 45:783–797, 1998. [7] M. Grigoriadis and L. Khachiyan. Fast approximation schemes for convex programs with many blocks and coupling constraints. SIAM J. Optimization, 4(1):86–107, 1994. [8] M. Gr¨otschel, L. Lov´asz, and A. Schrijver. Geometric Algorithms and Combinatorial Optimization. Springer-Verlag, Berlin, 1988.
[9] T. C. Hu. Multicommodity network flows. Operations Research, 11:344–360, 1963. [10] A. Lehman. On the width-length inequality. Math. Programming, 17:403–417, 1979. [11] S. Plotkin, D. Shmoys, and E. Tardos. Fast approximation algorithms for fractional packing and covering problems. Math. Oper. Res., 20:257–301, 1995. [12] P. Seymour. A two-commodity cut theorem. Discrete Math., 23:177–181, 1978. [13] P. Seymour. On odd cuts and plane multicommodity flows. In Proceedings of the London Mathematical Society, volume 42, pages 178–192, 1981. [14] F. Shahrokhi and D. Matula. The maximum concurrent flow problem. J. ACM, 37(2):318–334, 1990. [15] P. Vaidya. Speeding up linear programming using fast matrix multiplication. In Proceedings, IEEE Symposium on Foundations of Computer Science, pages 332–337, 1989. [16] N. Young. Sequential and parallel algorithms for mixed packing and covering. In Proceedings, IEEE Symposium on Foundations of Computer Science, pages 538–546, 2001.