# 35.3 The set-covering problem

## 35.3-1

Consider each of the following words as a set of letters: $\{\text{arid}$, $\text{dash}$, $\text{drain}$, $\text{heard}$, $\text{lost}$, $\text{nose}$, $\text{shun}$, $\text{slate}$, $\text{snare}$, $\text{thread}\}$. Show which set cover $\text{GREEDY-SET-COVER}$ produces when we break ties in favor of the word that appears ﬁrst in the dictionary.

(Omit!)

## 35.3-2

Show that the decision version of the set-covering problem is $\text{NP-complete}$ by reducing it from the vertex-cover problem.

(Omit!)

## 35.3-3

Show how to implement $\text{GREEDY-SET-COVER}$ in such a way that it runs in time $O\Big(\sum_{S \in \mathcal F} |S|\Big)$.

(Omit!)

## 35.3-4

Show that the following weaker form of Theorem 35.4 is trivially true:

$$|\mathcal C| \le |\mathcal C^*| \max\{|S|: S \in \mathcal F\}.$$

(Omit!)

## 35.3-5

$\text{GREEDY-SET-COVER}$ can return a number of different solutions, depending on how we break ties in line 4. Give a procedure $\text{BAD-SET-COVER-INSTANCE}(n)$ that returns an $n$-element instance of the set-covering problem for which, depending on how we break ties in line 4, $\text{GREEDY-SET-COVER}$ can return a number of different solutions that is exponential in $n$.

(Omit!)