Authorship of the Epistle to the Hebrews

From formulasearchengine
Jump to navigation Jump to search

The maximum coverage problem is a classical question in computer science and computational complexity theory. It is a problem that is widely taught in approximation algorithms.

As input you are given several sets and a number k. The sets may have some elements in common. You must select at most k of these sets such that the maximum number of elements are covered, i.e. the union of the selected sets has maximal size.

Formally, (unweighted) Maximum Coverage

Instance: A number k and a collection of sets S=S1,S2,,Sm.
Objective: Find a subset S'S of sets, such that |S'|k and the number of covered elements |SiS'Si| is maximized.

The maximum coverage problem is NP-hard, and cannot be approximated within 11e+o(1)0.632 under standard assumptions. This result essentially matches the approximation ratio achieved by the generic greedy algorithm used for maximization of submodular functions with a cardinality constraint.[1]

ILP formulation

The maximum coverage problem can be formulated as the following integer linear program.

maximize ejEyj. (maximizing the sum of covered elements).
subject to xik; (no more than k sets are selected).
ejSixiyj; (if yj0 then at least one set ejSi is selected).
0yj1; (if yj=1 then ej is covered)
xi{0,1} (if xi=1 then Si is selected for the cover).

Greedy algorithm

The greedy algorithm for maximum coverage chooses sets according to one rule: at each stage, choose a set which contains the largest number of uncovered elements. It can be shown that this algorithm achieves an approximation ratio of 11e.[2] Inapproximability results show that the greedy algorithm is essentially the best-possible polynomial time approximation algorithm for maximum coverage.[3]

Known extensions

The inapproximability results apply to all extensions of the maximum coverage problem since they hold the maximum coverage problem as a special case.

Weighted version

In the weighted version every element ej has a weight w(ej). The task is to find a maximum coverage which has maximum weight. The basic version is a special case when all weights are 1.

maximize eEw(ej)yj. (maximizing the weighted sum of covered elements).
subject to xik; (no more than k sets are selected).
ejSixiyj; (if yj0 then at least one set ejSi is selected).
0yj1; (if yj=1 then ej is covered)
xi{0,1} (if xi=1 then Si is selected for the cover).

The greedy algorithm for the weighted maximum coverage at each stage chooses a set which contains the maximum weight of uncovered elements. This algorithm achieves an approximation ratio of 11e.[1]

Budgeted maximum coverage

In the budgeted maximum coverage version, not only does every element ej have a weight w(ej), but also every set Si has a cost c(Si). Instead of k that limits the number of sets in the cover a budget B is given. This budget B limits the weight of the cover that can be chosen.

maximize eEw(ej)yj. (maximizing the weighted sum of covered elements).
subject to c(Si)xiB; (the cost of the selected sets cannot exceed B).
ejSixiyj; (if yj0 then at least one set ejSi is selected).
0yj1; (if yj=1 then ej is covered)
xi{0,1} (if xi=1 then Si is selected for the cover).

A greedy algorithm will no longer produce solutions with a performance guarantee. Namely, the worst case behavior of this algorithm might be very far from the optimal solution. The approximation algorithm is extended by the following way. First, after finding a solution using the greedy algorithm, return the better of the greedy algorithm's solution and the set of largest weight. Call this algorithm the modified greedy algorithm. Second, starting with all possible families of sets of sizes from one to (at least) three, augment these solutions with the modified greedy algorithm. Third, return the best out of all augmented solutions. This algorithm achieves an approximation ratio of 11/e. This is the best possible approximation ratio unless NPDTIME(nO(loglogn)).[4]

Generalized maximum coverage

In the generalized maximum coverage version every set Si has a cost c(Si), element ej has a different weight and cost depending on which set covers it. Namely, if ej is covered by set Si the weight of ej is wi(ej) and its cost is ci(ej). A budget B is given for the total cost of the solution.

maximize eE,Siwi(ej)yij. (maximizing the weighted sum of covered elements in the sets in which they are covered).
subject to ci(ej)yij+c(Si)xiB; (the cost of the selected sets cannot exceed B).
iyij1; (element ej=1 can only be covered by at most one set).
Sixiyij; (if yj0 then at least one set ejSi is selected).
yij{0,1}; (if yij=1 then ej is covered by set Si)
xi{0,1} (if xi=1 then Si is selected for the cover).

Generalized maximum coverage algorithm

The algorithm uses the concept of residual cost/weight. The residual cost/weight is measured against a tentative solution and its the difference of the cost/weight from the cost/weight gained by a tentative solution.

The algorithm has several stages. First, find a solution using greedy algorithm. In each iteration of the greedy algorithm the tentative solution is added the set which contains the maximum residual weight of elements divided by the residual cost of these elements along with the residual cost of the set. Second, compare the solution gained by the first step to the best solution which uses a small number of sets. Third, return the best out of all examined solutions. This algorithm achieves an approximation ratio of 11/eo(1).[5]

Related problems

References

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

  • 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534
  • Uriel Feige, A Threshold of ln n for Approximating Set Cover, Journal of the ACM (JACM), v.45 n.4, p. 634 - 652, July 1998.

External links

  1. 1.0 1.1 G. L. Nemhauser, L. A. Wolsey and M. L. Fisher. An analysis of approximations for maximizing submodular set functions I, Mathematical Programming 14 (1978), 265–294
  2. Hochbaum, D. S. (1997), "Approximating covering and packing problems: Set cover, vertex cover, independent set, and related problems", in Approximation algorithms for NP-hard problems, PWS Publishing Company, Boston, 94-143.
  3. Feige, U., "A threshold of ln n for approximating set cover", J. ACM 45, 634-652.
  4. Khuller, S., Moss, A., and Naor, J. 1999. The budgeted maximum coverage problem. Inf. Process. Lett. 70, 1 (Apr. 1999), 39-45.
  5. Cohen, R. and Katzir, L. 2008. The Generalized Maximum Coverage Problem. Inf. Process. Lett. 108, 1 (Sep. 2008), 15-22.