SET COVER PROBLEM
(Redirected from Set covering)
The 'set covering problem' is a classical question in computer science and complexity theory. As input you are given several sets. They may have some elements in common. You must select a minimum number of these sets so that the sets you have picked contain all the elements that are contained in any of the sets in the input. It was one of Karp's 21 NP-complete problems shown to be NP-complete in 1972.
More formally, given a universe and a family of subsets of ,
a ''cover'' is a subfamily of sets whose union is . In the set covering decision problem, the input is a pair and an integer ; the question is whether
there is a set covering of size or less. In the set covering optimization problem, the input is a pair , and the task is to find a set covering which uses the fewest sets.
The decision version of set covering is NP complete, and the optimization version of set cover is NP hard.
Set covering is equivalent to the Hitting set problem. It is easy to see this by observing that an instance of set covering can
be viewed as an arbitrary bipartite graph, with sets represented by vertices on the left, the universe represented by vertices on the
right, and edges representing the inclusion of elements in sets. The task is then to find a minimum cardinality subset of left-vertices which covers all of the right-vertices. In the Hitting set problem, the objective is to cover the left-vertices using a minimum subset of the right vertices. Converting from one problem to the other is therefore achieved by interchanging the two sets of vertices.
The set covering problem can be seen as a finite version of the notion of compactness in topology, where the elements of certain infinite families of sets can be covered by choosing only finitely many of them.
The greedy algorithm for set covering chooses sets according to one rule: at each stage, choose the set which contains the largest number of uncovered elements. It can be shown that this algorithm achieves an approximation ratio of , where is the size of the largest set and is the -th harmonic number:
:
There is a standard example on which the greedy algorithm achieves an approximation ratio of .
The universe consists of elements. The set system consists of pairwise disjoint sets
with sizes respectively, as well as two additional disjoint sets ,
each of which contains half of the elements from each . On this input, the greedy algorithm takes the sets
, in that order, while the optimal solution consists only of and .
An example of such an input for is pictured on the right.
Inapproximability results show that the greedy algorithm is essentially the best-possible polynomial time approximation algorithm for set cover
(see Inapproximability results below), under plausible complexity assumptions.
If each element occurs in at most sets, then a solution can be found in polynomial time which approximates the
optimum to within a factor of . The algorithm formulates the set covering instance as an integer program, which is
relaxed to a linear program. The resulting linear program can be solved in polynomial time (e.g. using the Ellipsoid method), and the solutions are rounded to obtain an approximate integral solution.
Lund and Yannakakis (1994) showed that set covering cannot be approximated in polynomial time to within a factor of
, unless 'NP' has quasi-polynomial time algorithms. Feige (1998)
improved this lower bound to under the same assumptions, which essentially matches
the approximation ratio achieved by the greedy algorithm. Alon, Moshkovitz, and Safra established a lower bound
of , where is a constant, under the weaker assumption that 'P''NP'.
★ vertex cover
★ set packing
★ edge cover
★ hitting set: dual problem of set cover
★ Noga Alon, Dana Moshkovitz, and Muli Safra. ''Algorithmic construction of sets for k-restrictions''. ACM Transactions on Algorithms (TALG), v.2 n.2, p.153-177, April 2006.
★ Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. ''Introduction to Algorithms'', Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Section 35.3, The set-covering problem, pp.1033–1038.
★ Uriel Feige. ''A Threshold of for Approximating Set Cover''. Journal of the ACM (JACM), v.45 n.4, p.634 - 652, July 1998.
★ Carsten Lund and Mihalis Yannakakis. ''On the hardness of approximating minimization problems''. Journal of the ACM (JACM), v.41 n.5, p.960-981, Sept. 1994
★ Benchmarks with Hidden Optimum Solutions for Set Covering, Set Packing and Winner Determination
The 'set covering problem' is a classical question in computer science and complexity theory. As input you are given several sets. They may have some elements in common. You must select a minimum number of these sets so that the sets you have picked contain all the elements that are contained in any of the sets in the input. It was one of Karp's 21 NP-complete problems shown to be NP-complete in 1972.
More formally, given a universe and a family of subsets of ,
a ''cover'' is a subfamily of sets whose union is . In the set covering decision problem, the input is a pair and an integer ; the question is whether
there is a set covering of size or less. In the set covering optimization problem, the input is a pair , and the task is to find a set covering which uses the fewest sets.
The decision version of set covering is NP complete, and the optimization version of set cover is NP hard.
Set covering is equivalent to the Hitting set problem. It is easy to see this by observing that an instance of set covering can
be viewed as an arbitrary bipartite graph, with sets represented by vertices on the left, the universe represented by vertices on the
right, and edges representing the inclusion of elements in sets. The task is then to find a minimum cardinality subset of left-vertices which covers all of the right-vertices. In the Hitting set problem, the objective is to cover the left-vertices using a minimum subset of the right vertices. Converting from one problem to the other is therefore achieved by interchanging the two sets of vertices.
The set covering problem can be seen as a finite version of the notion of compactness in topology, where the elements of certain infinite families of sets can be covered by choosing only finitely many of them.
| Contents |
| Greedy algorithm |
| Low-frequency systems |
| Inapproximability results |
| Related problems |
| References |
| External links |
Greedy algorithm
The greedy algorithm for set covering chooses sets according to one rule: at each stage, choose the set which contains the largest number of uncovered elements. It can be shown that this algorithm achieves an approximation ratio of , where is the size of the largest set and is the -th harmonic number:
:
There is a standard example on which the greedy algorithm achieves an approximation ratio of .
The universe consists of elements. The set system consists of pairwise disjoint sets
with sizes respectively, as well as two additional disjoint sets ,
each of which contains half of the elements from each . On this input, the greedy algorithm takes the sets
, in that order, while the optimal solution consists only of and .
An example of such an input for is pictured on the right.
Inapproximability results show that the greedy algorithm is essentially the best-possible polynomial time approximation algorithm for set cover
(see Inapproximability results below), under plausible complexity assumptions.
Low-frequency systems
If each element occurs in at most sets, then a solution can be found in polynomial time which approximates the
optimum to within a factor of . The algorithm formulates the set covering instance as an integer program, which is
relaxed to a linear program. The resulting linear program can be solved in polynomial time (e.g. using the Ellipsoid method), and the solutions are rounded to obtain an approximate integral solution.
Inapproximability results
Lund and Yannakakis (1994) showed that set covering cannot be approximated in polynomial time to within a factor of
, unless 'NP' has quasi-polynomial time algorithms. Feige (1998)
improved this lower bound to under the same assumptions, which essentially matches
the approximation ratio achieved by the greedy algorithm. Alon, Moshkovitz, and Safra established a lower bound
of , where is a constant, under the weaker assumption that 'P''NP'.
Related problems
★ vertex cover
★ set packing
★ edge cover
★ hitting set: dual problem of set cover
References
★ Noga Alon, Dana Moshkovitz, and Muli Safra. ''Algorithmic construction of sets for k-restrictions''. ACM Transactions on Algorithms (TALG), v.2 n.2, p.153-177, April 2006.
★ Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. ''Introduction to Algorithms'', Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Section 35.3, The set-covering problem, pp.1033–1038.
★ Uriel Feige. ''A Threshold of for Approximating Set Cover''. Journal of the ACM (JACM), v.45 n.4, p.634 - 652, July 1998.
★ Carsten Lund and Mihalis Yannakakis. ''On the hardness of approximating minimization problems''. Journal of the ACM (JACM), v.41 n.5, p.960-981, Sept. 1994
External links
★ Benchmarks with Hidden Optimum Solutions for Set Covering, Set Packing and Winner Determination
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves
Featured Companies
| Dancing Moon Travel | |
| Uniglobe Alliance Travel Ltd | |
| Vacation By V |
Newest Companies
Set cover problem Travel Deals

العربية
中国
Français
Deutsch
Ελληνική
हिन्दी
Italiano
日本語
Português
Русский
Español