The Set-covering Problem Problem statement –given a finite set X and a family F of subsets where every element of X is contained in one of the subsets of F, then S covers X provided –the problem is to find the minimum size subset C that covers all of X An example –{S 1,S 4,S 5,S 6 } is a cover –{S 3,S 4,S 5 } is a minimum cover This problem generalizes the vertex-cover problem
A Greedy Algorithm How the algorithm works –U is the set of elements not covered yet –select S each time to remove the most elements from U Applied to the sets on the previous slide –we obtain {S 1,S 4,S 5,S 3 } in that order –the optimal solution contains only three subsets
Complexity and ratio bound Complexity –the complexity is O( |X| |F| min(|X|, |F|) ) –linear time algorithms are known The ratio bound where Improving vertex cover –if a graph has vertices with at most degree 3 –the Greedy-set-cover can find a solution no more than H(3) = 1/6 worst than the optimum