Coping with NP-hardness
2020-1ํ๊ธฐ, ๋ํ์์ โ์๊ณ ๋ฆฌ์ฆโ ์์ ์ ๋ฃ๊ณ ๊ณต๋ถํ ๋ฐ๋ฅผ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ง์ ์ ์ธ์ ๋ ํ์์ ๋๋ค :)
โP and NPโ ์ฑํฐ์์ $\textbf{NP-hard}$, $\textbf{NP-complete}$ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ด ์์ง ์กด์ฌํ์ง ์์์ ์ดํด๋ณด์๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ๋ง์ฃผํ๋ ๋ฌธ์ ๋ฅผ ์ ํํ ์ ์๊ธฐ์, ์ด๋ค ๊ฒฝ์ฐ์๋ $\textbf{NP-hard}$ ๋ฌธ์ ๋ฅผ ์ง์ ํ์ด์ผ ํ๋ค. ์ด ๊ฒฝ์ฐ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ? ๊ทธ์ โ์~~ ๊ทธ ๋ ์๋ค์ ์๋ฌด๋ฆฌ ๋ ธ๋ ฅํด๋ ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์์ด! ๊ทธ ๋ ์์ $\textbf{NP-hard}$ ๋ฌธ์ ๊ฑฐ๋ !โ ํ๋ฉด์ ๋ ๋๊ณ ์์ ๊ฒ์ธ๊ฐ? Nope, ๋ช ๊ฐ์ง ์กฐ๊ฑด๋ค์ ํฌ์ํ๋ฉด ์กฐ๊ธ ๋ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ํด๋ฅผ ์ฐพ์ ์ ์๋ค!
- Optimality of the solution
- Polynomial running time of the algorithm
- Arbitrary instances of the problem
์ด๋ฒ ์ฑํฐ์์๋ $\textbf{NP-hard}$ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์๋ณธ๋ค.
- Exhausitive Search (Exponential Search)
- Approximation Algorithm
- Heuristic Algorithm
- Local Search
- Simulated Annealing
- Local Search
์ฑ ์์๋ 3๊ฐ์ง ๋ฐฉ์์ด ์ ์๋์๋๋ฐ, ์ ๊ท ์์ ์์๋ ์ฒซ๋ฒ์งธ Exhausitive Search์ ์ธ๋ฒ์งธ Heuristic Algorithm๋ง ๋ค๋ค๋ค ๐