The maximum coverage problem is a classical question in computer science, computational complexity theory, and operations research. It is a problem that is widely taught in approximation algorithms.
As input you are given several sets and a number k {\displaystyle k} . The sets may have some elements in common. You must select at most k {\displaystyle 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
The maximum coverage problem is NP-hard, and cannot be approximated to within 1 − 1 e + o ( 1 ) ≈ 0.632 {\displaystyle 1-{\frac {1}{e}}+o(1)\approx 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.