0

I want to solve the problem below from a textbook I am reading, but I am not sure how to go about it. In fact I am not sure if it is correct at all since I think we would need the maximum frequency of an element in the sets and not the maximum size of a set, a value that I has no use I can think of.

We have a set A = {a 1 .....a n } and a collection of subsets of A, say B 1 , B 2 , ..., B m . Each element a i ∈ A has a weight w i > 0. The problem is to find a subset H ⊆ A such that the total weight of the elements in H is minimized, and at the same time, H intersects all the subsets of the collection, i.e., H ∩ B i not ∅ for every i = 1, ..., m. Let b = max i |B i | be the maximum size of the subsets B 1 , B 2 , ..., B m . Give a polynomial-time b-approximation algorithm for this problem.

dearn44
  • 3,198
  • 4
  • 30
  • 63
  • `b*m` is the time it takes to iterate through every membership of every set, which you need to do to, for example, calculate the frequency of elements in the sets. That said, the question remains unclear to me. What is their definition for "b-approximation algorithm"? When they say polynomial, do they mean polynomial in m or b? – btilly Jan 30 '17 at 19:35

1 Answers1

2

One possible answer is to solve the LP relaxation and take all elements whose indicator is greater than or equal to 1/b. Proof that this is a correct b-approximation left as an exercise.

David Eisenstat
  • 64,237
  • 7
  • 60
  • 120