patternMinor
Prove that Hitting Set is NP-Complete
Viewed 0 times
hittingprovecompletethatset
Problem
The Hitting Set Problem (HS) is defined as follow. Let $(C,k$)
We want to know if exists ${S}' \subset S$ where $|{S}'| < k$ such that $S_i \cap S' \neq \emptyset $, $i = 1,2,...,m.$
Prove that HS is Np-Complete.
Hint: When $|S_i| = 2$, HS becomes Vertex Cover, already know to be NP-complete.
- $C = \{ S_1, S_2, ..., S_m \}$ collection of subset of S i.e. $ S_i \subseteq S , \forall i$
- $k \in \mathbb{N}$
We want to know if exists ${S}' \subset S$ where $|{S}'| < k$ such that $S_i \cap S' \neq \emptyset $, $i = 1,2,...,m.$
Prove that HS is Np-Complete.
Hint: When $|S_i| = 2$, HS becomes Vertex Cover, already know to be NP-complete.
Solution
3SAT is reduced to the Hitting Set problem. Given a 3SAT $\phi$ having $m$ clauses and $n$ variables, define
$$S = \{ x_1, \dots x_n, \overline{x_1}, \dots , \overline{x_n}\}$$
$$S_i=\{y_1, y_2, y_3\}, \text{ if } y_1,y_2,y_3 \in S \text { and } (y_1 \lor y_2 \lor y_3) \text{ is a clause.} $$
$$S_x=\{x, \overline{x}\}, \text{ for all variable } x.$$
$$k=n$$
Assume $\phi$ is satisfiable, then there a is true-value assignment for $n$ variables. So, add $x$ to $S'$ if $x=true$, otherwise add $\overline{x}$ to $S'$.
Now, assume the HS problem has a solution $S'$. Then since for every variable $x$, $S' \cap S_x \neq \emptyset$, $S'$ has at least $n$ literals of the form $x$ or $\overline{x}$ for each variable $x$. Furthermore, no $x$ and $\overline{x}$ may belong to $S'$ at the same time since the size of $S'$ is at most $n$. Also, for each clause $C_i$, $S' \cap S_i \neq \emptyset$ and so for each clause we select $y_i\in S' \cap S_i$, and set $x=true$ if $y_i=x$ and $x=false$ if $y_i=\overline{x}$.
$$S = \{ x_1, \dots x_n, \overline{x_1}, \dots , \overline{x_n}\}$$
$$S_i=\{y_1, y_2, y_3\}, \text{ if } y_1,y_2,y_3 \in S \text { and } (y_1 \lor y_2 \lor y_3) \text{ is a clause.} $$
$$S_x=\{x, \overline{x}\}, \text{ for all variable } x.$$
$$k=n$$
Assume $\phi$ is satisfiable, then there a is true-value assignment for $n$ variables. So, add $x$ to $S'$ if $x=true$, otherwise add $\overline{x}$ to $S'$.
Now, assume the HS problem has a solution $S'$. Then since for every variable $x$, $S' \cap S_x \neq \emptyset$, $S'$ has at least $n$ literals of the form $x$ or $\overline{x}$ for each variable $x$. Furthermore, no $x$ and $\overline{x}$ may belong to $S'$ at the same time since the size of $S'$ is at most $n$. Also, for each clause $C_i$, $S' \cap S_i \neq \emptyset$ and so for each clause we select $y_i\in S' \cap S_i$, and set $x=true$ if $y_i=x$ and $x=false$ if $y_i=\overline{x}$.
Context
StackExchange Computer Science Q#80774, answer score: 9
Revisions (0)
No revisions yet.