NP-hard and NP-complete
2020-1ํ๊ธฐ, ๋ํ์์ โ์๊ณ ๋ฆฌ์ฆโ ์์ ์ ๋ฃ๊ณ ๊ณต๋ถํ ๋ฐ๋ฅผ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ง์ ์ ์ธ์ ๋ ํ์์ ๋๋ค :)
โP and NPโ ํฌ์คํธ์์ $\textbf{NP}$ ๋ฌธ์ ๋ non-deterministic and polynomial-time solvableํ ๋ฌธ์ ๋ฅผ ๋งํ๋ค. ๋๋ set of all search problems๋ผ๊ณ ๋ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด, $\textbf{P}$์ $\textbf{NP}$ ์ธ์๋ โ$\textbf{NP-complete}$โ, โ$\textbf{NP-hard}$โ๋ผ๋ ํด๋์ค๊ฐ ๋์ ๋ณด์ธ๋ค. ์ด๋ฒ ํฌ์คํธ์์๋ ๊ทธ๋ค์ ๋ํด ์ดํด๋ณด๊ฒ ๋ค.
NP-hard
Complexity Space๋ฅผ ํํํ ์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด, $\textbf{NP-complete}$๊ฐ $\textbf{NP}$์ $\textbf{NP-hard}$์ ๊ต์งํฉ์ธ ๊ฒ์ ๋ณผ ์ ์๋ค. ๊ทธ๋์ $\textbf{NP-complete}$๋ฅผ ์ดํดํ๊ธฐ ์ํด์ $\textbf{NP-hard}$๋ฅผ ์ดํดํด์ผ ํ๋ค.
Definition. $\textbf{NP-hard}$
A problem $x$ is $\textbf{NP-hard}$ if every problem $y \in \textbf{NP}$ reduces to $x$.
์ฆ, $\textbf{NP}$์ ์ํ๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ polynomial-time reduction ํ ์ ์๋ ๋ฌธ์ ๋ผ๋ฉด, ๊ทธ ๋ฌธ์ ๊ฐ $\textbf{NP-hard}$๋ผ๋ ๋ง์ด๋ค. Reduction์ ์๋ฏธ๋ฅผ ์๊ฐํ์ ๋, $A \le_p B$๊ฐ โ๋ฌธ์ $B$๊ฐ ๋ฌธ์ $A$๋ณด๋ค ๋ ์ด๋ ต๋คโ๋ ์ฌ์ค์ ๋งํด์ฃผ๋, ๋ชจ๋ ๋ฌธ์ ๊ฐ ํ์๋๋ ๋์์ด๋ผ๋ฉด ๊ทธ ๋ฌธ์ ๋ ์ ๋ง์ ๋ง์ ๋ง๋ก ์ด๋ ค์ด ๋ฌธ์ ์ผ ๊ฒ์ด๋ค. ๊ทธ๋์ โhardโ๋ผ๋ ํํ์ด ๋ถ์๋ค.
$\textbf{NP-hard}$ is โharderโ than any problem of $\textbf{NP}$, in other words, โharderโ than any search problem.
$\textbf{NP-hard}$์ ์ํ๋ ๋ํ์ ์ธ ๋ฌธ์ ๋ก๋ <Halting Problem>์ด ์๋ค. CS์์ ์๋ ์ ๋ช ํ Undecidable ๋ฌธ์ ์ด๊ธฐ์ ํด๋น ๋ฌธ์ ์ ๋ํด ์ ์ค๋ช ํ ์์์ผ๋ก ์ค๋ช ์ ๋์ฒดํ๋ค.
<Halting Problem>์ ๊ฒฝ์ฐ Search Problem์ด ์๋๊ธฐ์ $\textbf{NP}$์ ์ํ์ง ์๋๋ค. ๊ทธ๋ฌ๋ $\textbf{NP}$์ ์ํ๋, ์ฆ search problem์ธ $\textbf{NP-hard}$ ๋ฌธ์ ๋ ์กด์ฌํ๋ค. ๊ทธ๊ฒ์ด ๋ฐ๋ก ์๋์์ ์ดํด๋ณผ $\textbf{NP-complete}$ ๋ฌธ์ ๋ค!
NP-complete
Definition. $\textbf{NP-complete}$
A problem $x$ is $\textbf{NP-hard}$ if $x \in \textbf{NP}$ and $x \in \textbf{NP-hard}$.
$\textbf{NP}$์ $\textbf{NP-hard}$์ ๊ต์งํฉ๋ผ๋ ์๋ฏธ๋ฅผ ๊ทธ๋๋ก ๋ด์ $\textbf{NP-complete}$์ ์ ์๋ค. Search Problem์ ์ํ๋ $\textbf{NP-hard}$๋ผ๋ ์๋ฏธ์ธ๋ฐ, ๋ํ์ ์ธ ๋ฌธ์ ๋ก SAT ๋ฌธ์ ๊ฐ $\textbf{NP-complete}$ ๋ฌธ์ ๋ค.
์ด์ ํฌ์คํธ์์๋ $\textbf{NP-complete}$๋ฅผ ์๋์ ๊ฐ์ด ์ ์ํ๋๋ฐ, ์ด๊ฒ๋ ๋ง๋ ํํ์ด๋ค.
Definition. $\textbf{NP-complete}$
A search problem is $\textbf{NP-complete}$ if all other search problems reduce to it.
๋ชจ๋ Search Problem, ์ฆ $\textbf{NP}$ Problem์ด ํด๋น ๋ฌธ์ ๋ก Reduction ๊ฐ๋ฅํ๋ค๋ฉด, ํด๋น ๋ฌธ์ ๋ $\textbf{NP-complete}$๋ผ๋ ๋ง์ด๋ค. ๋๋๊ฒ๋ <Reduction>์ ํตํด $\textbf{NP-complete}$์ ์ํ๋ ๋ฌธ์ ๊ฐ SAT ๋ฌธ์ ํ๋๊ฐ ์๋๊ณ , 3-SAT, Independent-Set, 3D-Matching ๋ฌธ์ ๋ฑ์ด SAT ๋ฌธ์ ๋ก๋ถํฐ ํ์๋๋ฉฐ, ๋ SAT๋ก ๋ฌธ์ ๋ก ํ์๋จ์ด ์ฆ๋ช ๋์๋ค. ๊ทธ๋์ ์ง๊ธ๊น์ง ๋ช ๊ฐ์ ํฌ์คํธ์ ๊ฑธ์ณ ์ดํด๋ณด์๋ $\textbf{NP}$ ๋ฌธ์ ๋ค์ ๋ชจ๋ $\textbf{NP-complete}$์ด๋ค!
๊ฒฐ๊ตญ $\textbf{NP-complete}$๋ฅผ ์จ์ ํ ์ดํดํ๊ธฐ ์ํด์ ๊ฐ์ข $\textbf{NP}$ ๋ฌธ์ ๋ถํฐ, $\textbf{NP-hard}$์ ๊ฐ๋ ๊น์ง ์์งํด์ผ ํ๋ค. ๋ค์ ํฌ์คํธ๋ถํฐ ๊ฐ์ข $\textbf{NP}$ ๋ฌธ์ ๋ค์ด ์ด๋ป๊ฒ Reduction ๋๋์ง๋ฅผ ํ๋ํ๋ ์ดํด๋ณด์.
- Reduction (2)
- Reduction (3)
- Reduction (4)