Learning objectives
After this class, you should be able to:
- Define the set cover problem.
- Describe the greedy algorithm (AA: Algorithm 2.2) for it, prove that it yields a feasible solution, and derive an approximation factor for it.
- Show that the approximation factor derived above is tight.
- Given an instance of the set cover problem, show steps in the execution of the greedy algorithm mentioned above.
- Develop greedy approximation algorithms for similar problems, derive bounds on the optimal solution, give examples to show that these bounds are tight, and derive approximation factors.
Reading assignment
- Chapter 2, up to (and including) section 2.1.
Exercises and review questions
- Questions on current lecture's material
- AA: Exercise 2.1: Given an undirected graph
G = (V, E), the cardinality maximum cut problem asks for a partition ofVinto setsAandBso that the number of edges running between these sets is maximized. Consider the following greedy algorithm for this problem. (Here,v1andv2are arbitrary vertices inG, and for any proper subsetAofV,d(v, A)denotes the number of edges running between vertexvand setA.Algorithm 2.13
A := {v1}; B := {v2}For v in V - {v1, v2} do
if d(v, A) > d(v, B) then B := B U {v}else A := A U {v}Output A and BShow that this is a factor
1/2approximation algorithm. What is the upper bound onOPTthat you are using?- Show that cardinality vertex cover can be reduced to
2SC.2SCdenotes the restriction of set cover to instances havingf = 2.- Show that example 2.5 in AA gives a tight bound on the approximation factor for algorithm 2.2.
- (Post your answer on the discussion board) Give an application for the set cover problem.
- Questions on next lecture's material
- None.