Question: ( 2 8 points ) 4 . NP - completeness proof and approximation algorithm design The Set - Cover Problem: Given a set U of

(28 points)4. NP-completeness proof and approximation algorithm design
The Set-Cover Problem: Given a set U of n elements and a list S1,cdots,Sm of subsets of U, where
each set Si has an associated weight wi0, the goal is to find a set cover C(i.e.,U=?SiinCSi)
so that the total weight SiinC?wi is minimized. Here, a set cover is a collection of these sets whose
union is equal to all of U.
(10 points)4.1 Please prove that the Set-Cover problem is NP-complete.
Hint: reference to Section 34.5 in the textbook
(2 points)4.1.1 Formulate a related decision problem for the Set-Cover problem.
(2 points)4.1.2 Show that the Set-Cover problem belongs to the NP.
(6 points)4.1.3 A vertex cover of an undirected graph is a subset V'subeV such that if
(u,v)inE, then inV' or vinV'(or both). The Vertex-Cover problem is to find a vertex cover
of minimum size in a given graph. The decision problem of this optimization problem asks
whether a graph has a vertex cover of a given size k. The Vertex-Cover problem is NP-complete
as shown in Theorem 34.12. Please prove that the Vertex-Cover problem is polynomial-time
reducible to the Set-Cover Problem.
(18 points)4.2 Please design an approximation algorithm with an approximate rate of no more
than 1+lnmax|Si| using a greedy method to solve the Set-Cover problem.
Hint: reference to Subsection 35.3 in the textbook
(6 points)4.2.1 Describe the basic idea of your approximation algorithm in pseudocode.
(12 points)4.2.2 Prove its approximate rate by computing the upper bound of its solution, which
is at most of the optimum.
( 2 8 points ) 4 . NP - completeness proof and

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!