Set cover problem

From HandWiki
(Redirected from Hitting set)
Short description: Classical problem in combinatorics


The set cover problem is a classical question in combinatorics, computer science, operations research, and complexity theory.

Given a set of elements {1, 2, …, n} (henceforth referred to as the universe, specifying all possible elements under consideration) and a collection, referred to as S, of a given m subsets whose union equals the universe, the set cover problem is to identify a smallest sub-collection of S whose union equals the universe.

For example, consider the universe, U = {1, 2, 3, 4, 5} and the collection of sets S = { {1, 2, 3}, {2, 4}, {3, 4}, {4, 5} }. In this example, m is equal to 4, as there are four subsets that comprise this collection. The union of S is equal to U. However, we can cover all elements with only two sets: { {1, 2, 3}, {4, 5} }‍, see picture, but not with only one set. Therefore, the solution to the set cover problem for this U and S has size 2.

More formally, given a universe 𝒰 and a family 𝒮 of subsets of 𝒰, a set cover is a subfamily 𝒞𝒮 of sets whose union is 𝒰.

  • In the set cover decision problem, the input is a pair (𝒰,𝒮) and an integer k; the question is whether there is a set cover of size k or less.
  • In the set cover optimization problem, the input is a pair (𝒰,𝒮), and the task is to find a set cover that uses the fewest sets.

The decision version of set covering is NP-complete. It is one of Karp's 21 NP-complete problems shown to be NP-complete in 1972. The optimization/search version of set cover is NP-hard.[1] It is a problem "whose study has led to the development of fundamental techniques for the entire field" of approximation algorithms.[2]

Variants

In the weighted set cover problem, each set is assigned a positive weight (representing its cost), and the goal is to find a set cover with a smallest weight. The usual (unweighted) set cover corresponds to all sets having a weight of 1.

In the fractional set cover problem, it is allowed to select fractions of sets, rather than entire sets. A fractional set cover is an assignment of a fraction (a number in [0,1]) to each set in

𝒮

, such that for each element x in the universe, the sum of fractions of sets that contain x is at least 1. The goal is to find a fractional set cover in which the sum of fractions is as small as possible. Note that a (usual) set cover is equivalent to a fractional set cover in which all fractions are either 0 or 1; therefore, the size of the smallest fractional cover is at most the size of the smallest cover, but may be smaller. For example, consider the universe U = {1, 2, 3} and the collection of sets S = { {1, 2}, {2, 3}, {3, 1} }. The smallest set cover has a size of 2, e.g. { {1, 2}, {2, 3} }. But there is a fractional set cover of size 1.5, in which a 0.5 fraction of each set is taken.

In the capacitated set cover problem, each set s𝒮 is associated with a capacity cS which denotes the number of elements it can supply coverage. The goal is to determine the optimal way to select sets such that each element receives the coverage it requires.

Linear program formulation

The set cover problem can be formulated as the following integer linear program (ILP).[3]

minimize s𝒮xs (minimize the number of sets)
subject to s:esxs1 for all e𝒰 (cover every element of the universe)
xs{0,1} for all s𝒮. (every set is either in the set cover or not)

For a more compact representation of the covering constraint, one can define an incidence matrix A, where each row corresponds to an element and each column corresponds to a set, and Ae,s=1 if element e is in set s, and Ae,s=0 otherwise. Then, the covering constraint can be written as Ax1.

Weighted set cover is described by a program identical to the one given above, except that the objective function to minimize is s𝒮wsxs, where ws is the weight of set s𝒮.

Fractional set cover is described by a program identical to the one given above, except that xs can be non-integer, so the last constraint is replaced by 0xs1.

This linear program belongs to the more general class of LPs for covering problems, as all the coefficients in the objective function and both sides of the constraints are non-negative. The integrality gap of the ILP is at most logn (where n is the size of the universe). It has been shown that its relaxation indeed gives a factor-logn approximation algorithm for the minimum set cover problem.[4] See randomized rounding#setcover for a detailed explanation.

Hitting set formulation

The set cover problem is equivalent to the hitting set problem. A subset H of U is called a hitting set when HSj for all 1jm (i.e., H intersects or “hits” all subsets in S). The hitting set problem is to find a minimum hitting set H for a given U and S.

To show that the problems are equivalent, for a universe U of size n and collection of sets S of size m, construct U={1,2,,m} and S'i={jiSj}. Then a set cover C of S is equivalent to a hitting set H of U where SjCjH, and vice versa.

This equivalence can also be visualized by representing the problem as a bipartite graph of n+m vertices, with n vertices on the left representing elements of U, and m vertices on the right representing elements of S, and edges representing set membership (i.e., there is an edge between the i-th vertex on the left and the j-th vertex of the right iff. iSj). Then a set cover is a subset C of right vertices such that each left vertex is adjacent to at least one member of C, while a hitting set is a subset H of left vertices such that each right vertex is adjacent to at least one member of H. These definitions are exactly the same except that left and right are swapped. But there is nothing special about the sides in the bipartite graph; we could have put the elements of U on the right side, and the elements of S on the left side, creating a graph that is a mirror image of the one described above. This shows that set covers in the original graph are equivalent to hitting sets in the mirrored graph, and vice versa.

In the field of computational geometry, a hitting set for a collection of geometrical objects is also called a stabbing set or piercing set.[5]

Greedy algorithm

There is a greedy algorithm for polynomial time approximation of set covering that chooses sets according to one rule: at each stage, choose the set that contains the largest number of uncovered elements. This method can be implemented in time linear in the sum of sizes of the input sets, using a bucket queue to prioritize the sets.[6] It achieves an approximation ratio of H(s), where s is the size of the set to be covered.[7] [8] [9] In other words, it finds a covering that may be H(n) times as large as the minimum one, where H(n) is the n-th harmonic number: H(n)=k=1n1klnn+1

This greedy algorithm actually achieves an approximation ratio of H(s) where s is the maximum cardinality set of S. For δdense instances, however, there exists a clnm-approximation algorithm for every c>0.[10]

Tight example for the greedy algorithm with k=3

There is a standard example on which the greedy algorithm achieves an approximation ratio of log2(n)/2. The universe consists of n=2(k+1)2 elements. The set system consists of k pairwise disjoint sets S1,,Sk with sizes 2,4,8,,2k respectively, as well as two additional disjoint sets T0,T1, each of which contains half of the elements from each Si. On this input, the greedy algorithm takes the sets Sk,,S1, in that order, while the optimal solution consists only of T0 and T1. An example of such an input for k=3 is pictured on the right.

Inapproximability results show that the greedy algorithm is essentially the best-possible polynomial time approximation algorithm for set cover up to lower order terms (see Inapproximability results below), under plausible complexity assumptions. A tighter analysis for the greedy algorithm shows that the approximation ratio is exactly lnnlnlnn+Θ(1).[11]

Low-frequency systems

If each element occurs in at most f sets, then a solution can be found in polynomial time that approximates the optimum to within a factor of f using LP relaxation.

If the constraint xS{0,1} is replaced by xS0 for all S in 𝒮 in the integer linear program shown above, then it becomes a (non-integer) linear program L. The algorithm can be described as follows:

  1. Find an optimal solution O for the program L using some polynomial-time method of solving linear programs.
  2. Pick all sets S for which the corresponding variable xS has value at least 1/f in the solution O.[12]

Inapproximability results

When n refers to the size of the universe, (Lund Yannakakis) showed that set covering cannot be approximated in polynomial time to within a factor of 12log2n0.72lnn, unless NP has quasi-polynomial time algorithms. Feige (1998) improved this lower bound to (1o(1))lnn under the same assumptions, which essentially matches the approximation ratio achieved by the greedy algorithm. (Raz Safra) established a lower bound of clnn, where c is a certain constant, under the weaker assumption that P=NP. A similar result with a higher value of c was recently proved by (Alon Moshkovitz). (Dinur Steurer) showed optimal inapproximability by proving that it cannot be approximated to (1o(1))lnn unless P=NP.

In low-frequency systems, (Dinur Guruswami) proved it is NP-hard to approximate set cover to better than f1ϵ. If the Unique games conjecture is true, this can be improved to fϵ as proven by (Khot Regev).

(Trevisan 2001) proves that set cover instances with sets of size at most Δ cannot be approximated to a factor better than lnΔO(lnlnΔ) unless P=NP, thus making the approximation of lnΔ+1 of the greedy algorithm essentially tight in this case.

Weighted set cover

The greedy algorithm for the weighted set cover problem[7] directly generalizes the unweighted version. Given a universe 𝒰 and a family 𝒮 of subsets of 𝒰, where each set S𝒮 is assigned a non-negative weight (cost), the algorithm maintains the subset of elements that are not yet covered. Initially, all elements of 𝒰 are uncovered. At each iteration, the algorithm selects a set S𝒮 that minimizes the ratio between its weight and the number of currently uncovered elements it contains. The selected set is added to the solution, and all elements contained in it are marked as covered. This process is repeated until all elements of 𝒰 are covered. The greedy algorithm is known to produce a solution whose total weight is at most a factor of H(n) times the optimal solution, where H(n) denotes the n-th harmonic number and n=|𝒰|.

For low frequency systems, where every element is contained in at most f sets, the deterministic LP rounding algorithm gets an f-approximation.[13] It starts with the optimal solution to the linear programming relaxation of the problem stated above. Sets whose fractional value exceeds 1/f are selected to form an integer solution.

The primal-dual algorithm for the set cover problem is an iterative method that constructs feasible solutions to both the primal and dual linear programs simultaneously. Starting with all dual variables set to zero, the algorithm repeatedly increases the dual variables corresponding to uncovered elements uniformly, until some set’s dual constraint becomes tight (i.e., the sum of the dual variables for elements in the set equals its cost). This tight set is then added to the primal solution, covering the corresponding elements. The process continues until all elements are covered. The algorithm guarantees an approximation ratio of f, where f is the maximum number of sets that any element belongs to.[14]

Randomized rounding is an approximation technique for the weighted set cover problem that uses the solution of the linear programming relaxation. Let xS* be an optimal fractional solution to the LP relaxation. Each set S𝒮 is independently included in the cover with probability xS*. By linearity of expectation, the expected cost of the chosen sets equals the LP optimum. The probability that any element remains uncovered can be made arbitrarily small by scaling probabilities or repeating the rounding. Using standard concentration bounds, this produces a feasible set cover whose expected cost is within an O(logn) factor of the optimal solution, where n is the size of the universe.

References can be found in[15] and[16].

Fractional set cover

  • Hitting set is an equivalent reformulation of Set Cover.
  • Vertex cover is a special case of Hitting Set.
  • Edge cover is a special case of Set Cover.
  • Geometric set cover is a special case of Set Cover when the universe is a set of points in d and the sets are induced by the intersection of the universe and geometric shapes (e.g., disks, rectangles).
  • Set packing is the problem of selecting the maximum number of sets that are pairwise disjoint.
  • Maximum coverage problem is to choose at most k sets to cover as many elements as possible.
  • Dominating set is the problem of selecting a set of vertices (the dominating set) in a graph such that all other vertices are adjacent to at least one vertex in the dominating set. The Dominating set problem was shown to be NP complete through a reduction from Set cover.
  • Exact cover problem is to choose a set cover with no element included in more than one covering set.
  • Red-blue set cover is a generalization of Set Cover where elements in the universe are colored either red or blue, and the goal is to select a sub-collection of the given sets that covers all of the blue elements while covering the minimum number of red elements.[17]
  • Set-cover abduction is a related problem where, given a set of observations and a set of hypotheses, the goal is to select a subset of the hypotheses whose effects include all of the observations.
  • Monotone dualization is a computational problem equivalent to either listing all minimal hitting sets or listing all minimal set covers of a given set family.[18]

Notes

  1. Korte & Vygen 2012, p. 414.
  2. (Vazirani 2001)
  3. (Vazirani 2001)
  4. (Vazirani 2001)
  5. Nielsen, Frank (2000-09-06). "Fast stabbing of boxes in high dimensions". Theoretical Computer Science 246 (1): 53–72. doi:10.1016/S0304-3975(98)00336-3. ISSN 0304-3975. http://www.lix.polytechnique.fr/%7Enielsen/pdf/2000-FastStabbingBoxes-TCS.pdf. 
  6. Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2009) [1990]. "Exercise 35.3-3". Introduction to Algorithms (3rd ed.). MIT Press and McGraw-Hill. pp. 1122. ISBN 0-262-03384-4. 
  7. 7.0 7.1 "A Greedy Heuristic for the Set-Covering Problem", Mathematics of Operations Research 4 (3): 233–235, August 1979, doi:10.1287/moor.4.3.233, Bibcode1979MatOR...4..233C 
  8. Johnson, D. S. (1974), "Approximation algorithms for combinatorial problems", Journal of Computer and System Sciences 9 (3): 256–278, doi:10.1016/S0022-0000(74)80044-9, Bibcode1974JCoSS...9..256J 
  9. Lovász, L. (1975), "On the ratio of optimal integral and fractional covers", Discrete Mathematics 13 (4): 383–390, doi:10.1016/0012-365X(75)90058-2 
  10. Karpinski & Zelikovsky 1998
  11. Slavík Petr A tight analysis of the greedy algorithm for set cover. STOC'96, Pages 435-441, doi:10.1145/237814.237991
  12. (Vazirani 2001)
  13. Hochbaum, Dorit S. (1982), "Approximation algorithms for the Set Covering and Vertex Cover problems", SIAM Journal on Computing 11 (3): 555–556, doi:10.1137/0211045, ISSN 0097-5397 
  14. Bar-Yehuda, Reuven; Even, Shimon (1981), "A linear-time approximation algorithm for the weighted vertex cover problem", Journal of Algorithms 2 (2): 198–203, doi:10.1016/0196-6774(81)90016-7, ISSN 0196-6774 
  15. Young, Neal E. (2016), "Greedy Set‑Cover Algorithms", Encyclopedia of Algorithms, Springer, pp. 886–889, ISBN 978-1-4939-2868-7 
  16. Williamson, David P.; Shmoys, David B. (2011), The Design of Approximation Algorithms, Cambridge University Press, ISBN 978-0-521-19578-7 
  17. Information., Sandia National Laboratories. United States. Department of Energy. United States. Department of Energy. Office of Scientific and Technical (1999). On the Red-Blue Set Cover Problem.. United States. Dept. of Energy. OCLC 68396743. 
  18. Gainer-Dewar, Andrew; Vera-Licona, Paola (2017), "The minimal hitting set generation problem: algorithms and computation", SIAM Journal on Discrete Mathematics 31 (1): 63–100, doi:10.1137/15M1055024 

References