Independent Set, Vertex Cover, and Clique
2020-1ํ๊ธฐ, ๋ํ์์ โ์๊ณ ๋ฆฌ์ฆโ ์์ ์ ๋ฃ๊ณ ๊ณต๋ถํ ๋ฐ๋ฅผ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ง์ ์ ์ธ์ ๋ ํ์์ ๋๋ค :)
์ด๋ฒ์ ์ดํด๋ณผ <Independent Set>, <Vertex Cover>, ๊ทธ๋ฆฌ๊ณ <Clique> ๋ชจ๋ ๊ทธ๋ํ ์์์ ์ ์๋๋ Search Problem์ด๋ค. ๊ทธ๋ฆฌ๊ณ 3๊ฐ์ง ๋ฌธ์ ๋ชจ๋ ์๋ก ๋์น๋ค!
Independent Set Problem
Problem. Independent Set Problem
Given a graph and a goal $g$, find $g$ vertices that are independent, that is, no two of which have an edge btw them.
์ด ๋ฌธ์ ๋ ์์ ์ DP ์ฑํฐ์์ ํธ๋ฆฌ(Tree) ๋ฒ์ ์์ ์ดํด๋ณธ ์ ์ด ์๋ค: Independent Sets in Tree ์ด ๊ฒฝ์ฐ๋ DP ํ ํฌ๋์ ํตํด ์ ํ ์๊ฐ ๋ง์ ๋ต์ ๊ตฌํ ์ ์๋ค. ๊ทธ๋ฌ๋ ์ด๋ฒ์๋ ๊ทธ๋ํ(Graph) ์์์์ Independent Set Problem์ด๋ค. ๊ทธ๋ํ ์์์๋ polynomial time algorithm์ด ์กด์ฌํ์ง ์๋๋ค.
Vertex Cover Problem
Problem. Vertex Cover Problem
Given a graph and a budget $b$, find $b$ vertices that cover every edge.
<Vertex Cover> ๋ฌธ์ ์ ๊ฒฝ์ฐ, <Set Cover> ๋ฌธ์ ์ ํน์ํ ๊ฒฝ์ฐ๋ผ๊ณ ํ๋ค. ๊ทธ์ ์ <Set Cover> ๋ฌธ์ ๋ ๋ญ๊น?
Problem. Set Cover Problem
Given a set $B$ and its subsets $S_1, โฆ, S_m \subseteq B$, find a selection of the $S_i$ whose union is $B$. The number of sets picked should be minimized.
<Vertex Cover> ๋ฌธ์ ๋ ์ปค๋ฒํด์ผ ํ ์งํฉ์ edge set $E$๋ก ๋๊ณ , ๊ฐ ๋ ธ๋ $v_i$์ ์ฐ๊ฒฐ๋ edge subset์ $S_i$๋ก ์ ์๋ <Set Cover> ๋ฌธ์ ์ ์ผ์ข ์ด๋ค. <Set Cover> ๋ฌธ์ ์ ๊ฒฝ์ฐ, polynomial time algorithm์ ์กด์ฌํ์ง ์๊ณ , Greedy Algorithm์ ํตํ ๊ทผ์ฌ(approximation) ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ๋ค. ์ถํ์ ๋ณ๋์ ํฌ์คํธ๋ฅผ ํตํด <Set Cover> ๋ฌธ์ ์ ๋ํด ๋ ์ดํด๋ณด๊ฒ ๋ค.
Clique Problem
<Clique>๋ โcomplete subgraphโ๋ก ๋ถ๋ถ ๊ทธ๋ํ ์ค complete graph์ธ ๋ ์์ ๋งํ๋ค. ๊ทธ๋์ ๊ทธ๋ํ ์์์ ์ ์๋ <Clique Problem>์ ๋ค์๊ณผ ๊ฐ๋ค.
Problem. Clique Problem
Given a graph with $n$ vertices and a budget $b$, find a set of $b$ vertices such that all possible edges tw tem are present.
Reduction
Independent Set and Vertex Cover
<Independent Set> ๋ฌธ์ ์ <Vertex Cover> ๋ฌธ์ ๋ ์๋ก ๋์น์ด๋ค! ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์ ์ ์๋ฏ, <Independent Set> ๋ฌธ์ ์์ ์ ํ๋ ์ ์ ์ ์ ์ธํ ์ ์ ๋ค์ด <Vertex Cover> ๋ฌธ์ ์ solution์์ ํ์ธํ ์ ์๋ค.
Claim.
$\equiv_P$๋ โpolynomial-time equivalentโ๋ผ๋ ์๋ฏธ์ด๋ค. ์ด๊ฒ์ ๋ํด์ ํ์(reduction) ํํธ์์ ์์ธํ ์ดํด๋ณด๊ฒ ๋ค.
Proof.
We will show $S$ is an independent set iff $V \setminus S$ is a vertex cover.
($\implies$)
Let $S$ be any independent set. Consider an arbitrary edge $(u, v)$. Since $S$ is an independent set, any edge $(u, v)$ in $G$ donโt have the ends on $S$. This means it cannot be $u \in S$ and $v \in S$, so $u \notin S$ or $v \notin S$. This implies that $u \in V \setminus S$ or $v \in V \setminus S$. It is enough to cover an edge $(u, v)$ that one of end belongs to $V \setminus S$. Thus, $V \setminus S$ covers $(u, v)$.
($\impliedby$)
Let $V \setminus S$ be any vertex cover. Consider two nodes $u \in S$ and $v \in S$. This means two vertices $u$, $v$ is not in $V \setminus S$. Since $V \setminus S$ is a vertex cover, this non-existence means the graph does not have edge $(u, v)$. (If two nodes have an edge, one of two should be in a vertex cover $V \setminus S$) Thus, no two nodes in $S$ are joined by an edge, which implies that $S$ is an independent set.
Independent Set and Clique
์ด๋ฒ์๋ <Independent Set> ๋ฌธ์ ์ <Clique> ๋ฌธ์ ๋ฅผ ์ดํด๋ณด์. ๋ ๋ฌธ์ ์ญ์ ๋์น์ธ๋ฐ, ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค.
For a graph $G = (V, E)$, define the complement graph $\bar{G} = (V, \bar{E})$. Then, an independent set $S$ of $G$ is a clique of $\bar{G}$.
์ฆ, <Clique> ๋ฌธ์ ๋ฅผ ํ๊ณ ์ถ๋ค๋ฉด, ์ฃผ์ด์ง ๊ทธ๋ํ์ complement๋ฅผ ์ทจํด <Independent Set> ๋ฌธ์ ๋ฅผ ํ๋ฉด ๋๋ ๊ฒ์ด๋ค!