Max Coverage—Randomized LP Rounding
CS 4820—April 2014
David Steurer
Maximum Coverage Problem
• given: subsets S ,..., Sm of a ground set U = u ,..., un , parameter k N 1 { 1 } ∈ • find: collection of k sets so as to maximize the number of covered elements C This problem is NP-complete. In this lecture, we will develop an approximation algorithm for this problem based on linear programming.
LP relaxation for Max Coverage
Given an instance of Max Coverage, we construct the following LP instance LP( ). I I • variables: x1,..., xm and y1,..., yn • constraints: Xm xi = k , (cardinality constraint) i=1 X xi yj for j 1,..., n , (coverage constraints) ≥ ∈ { } i: u S j∈ i 0 xi 1 for i 1,..., m , ≤ ≤ ∈ { } 0 yj 1 for j 1,..., n . ≤ ≤ ∈ { } Pn • objective: maximize j=1 yj Claim 1. Opt LP( ) Opt . I ≥ I Proof. Let be an optimal solution for , that is, a collection of k sets that cover Opt C I I elements of U. We are to construct a solution of LP( ) with objectie value at least Opt . I I Consider the following solution to LP( ), I S 1 if S 1 if u S i j Si i xi = ∈ C and yj = ∈ ∈C 0 otherwise, 0 otherwise.
This solution satisfies the cardinality constraint because exactly k of the variables x1,..., xm are set to 1 and the rest are set to 0. The solution also satisfies the coverage constraints for all j 1,..., n . If yj = 0, then the corresponding coverage constraint is satisfied because ∈ { } all xi values are nonnegative. Otherwise, if yj = 1, then uj is covered by , which means C P that one of the sets Si contains uj. Therefore, at least one of terms of the sum i: u S xi ∈ C j∈ i is equal to 1, which is enough to satisfy the inequality. Claim 2 (Randomized rounding algorithm). There exists a randomized algorithm that, given an optimal solution to LP( ), outputs a collection of k sets that in expectation I C covers at least (1 1/e) Opt LP( ) elements of U. − · I
1 We defer the proof of Claim 2 to the next section. At this point, let us note that Claim 1 and Claim 2 together give a (1 1/e)-approximation algorithm for Max Coverage. − LP-based Approximation Algorithm for Max Coverage. Given an instance I of Max Coverage, we construct the linear-programming instance LP( ). Using I a polynomial-time algorithm for linear-programming, we compute an optimal solution for LP( ). We apply the randomized rounding algorithm from Claim I 2 to this LP solution to obtain a solution for the original problem instance I that covers at least (1 1/e) Opt LP( ) elements, which, by Claim 1, is within − · I a 1 1/e factor of Opt( )—the maximum number of elements that k sets can − I cover.
Randomized Rounding—Proof of Claim 2
Let be an instance of MC and let x ,..., xm and y ,..., yn be a solution to LP( ) with I 1 1 I value Opt LP( ). The following efficient randomized algorithm turns this LP solution into I a collection of k sets that covers at least (1 1/e) Opt LP( ) elements in expectation. C − · I • Interpret the numbers x1/k,..., xm/k as probabilities for the sets S1,..., Sm. (Notice that these numbers are nonnegative and add up to 1 according to the constraints of LP( ).) I • Choose k sets independently at random according to these probabilities. • Output the collection consisting of the k chosen sets. C Claim. For every element uj U, the probability that the collection produced by the ∈ C rounding algorithm covers uj is at least (1 1/e) yj − · Proof. If we choose a random set according to the probabilities x /k,..., x /k, it covers P 1 m element uj with probability i: u S xi/k yj/k. (Here, we use the coverage constraints.) j∈ i ≥ Therefore, the probability that none of the k sets chosen by the rounding algorithm covers k uj is at most (1 yj/k) . Thus, the element uj is covered by the collection with probability − k k C at least 1 (1 yj/k) . It remains to verify that 1 (1 yj/k) (1 1/e) yj. In the interval − − − − ≥ − · [0, 1], the function on the left is concave and the function on the right is linear. Since the inequality is satisfied at the end points of the interval (i.e., yj = 0 and yj = 1), it follows that the inequality holds in the entire interval. (A good way to verify this argument is to plot the two functions in the interval [0, 1].) Claim. The expected number of elements covered by is at least (1 1/e) Opt LP( ). C − · I Proof. Let Zj be the 0/1-valued random variable such Zj = 1 indicates the event that Pn C covers uj. Then, the number of elements that covers is equal to Zj. Therefore, by C j=1 linearity of expectation, the expected number of elements covered by is equal to C Xn Xn E Zj = E Zj j=1 j=1
Since Zj is a 0/1-valued random variable, the expectation of Zj is equal to the probability that Zj = 1. Hence, the expected number of elements covered by is equal to C X X X Pr Zj = 1 = Pr covers uj (1 1/e) yj = (1 1/e) Opt LP( ) . { } {C } ≥ − − · I j j j
2