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 ofV
into setsA
andB
so that the number of edges running between these sets is maximized. Consider the following greedy algorithm for this problem. (Here,v1
andv2
are arbitrary vertices inG
, and for any proper subsetA
ofV
,d(v, A)
denotes the number of edges running between vertexv
and 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 B
Show that this is a factor
1/2
approximation algorithm. What is the upper bound onOPT
that you are using?- Show that cardinality vertex cover can be reduced to
2SC
.2SC
denotes 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.