| Set Covering |
Article Index for Set |
Website Links For Set |
Information About ™Set Covering |
| CATEGORIES ABOUT SET COVER PROBLEM | |
| set families | |
| np-complete problems | |
| SHOPPER'S DELIGHT | |
|
More formally, given a universe and a collection of subsets of , a set cover is a subcollection of sets whose union is . In the set cover Decision Problem , the input is a pair and an integer ; the question is whether there is a set cover of size or less. In the set cover Optimization Problem , the input is a pair , and the task is to find a set cover which uses the fewest sets. The decision version of set cover is NP Complete , and the optimization version of set cover is NP Hard . Set cover is exactly equivalent to the Hitting Set problem. It is easy to see this by observing that an instance of set cover 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 subset of left-vertices which cover 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 cover 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. Greedy algorithm The greedy algorithm for set cover 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 Inapproxibability 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 cover 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 Algorithm ), and the solutions are rounded to obtain an approximate integral solution. Inapproximability results Lund and Yannakakis (1994) showed that set cover 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 PNP. Related problems are Vertex Cover , Set Packing , and Edge Cover . REFERENCES
EXTERNAL LINKS |