๊ตญ๋ฏผ๋ํ๊ต์์ "์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์๊ณ ๋ฆฌ์ฆ" ๊ต์ฌ๋ฅผ ์ด์ฉํ
๋ฐํ๋ช ๊ต์๋์ ๊ฐ์ ๊ต์์ ์ด์ฉํ์ฌ ์์ ๋ด์ฉ์ ์ ๋ฆฌํ์์ต๋๋ค
NP-Completeness ๊ฐ์

P : ๋คํญ์๊ฐ์ ํ ์ ์๋ ๊ฒฐ์ ๋ฌธ์ ์งํฉ
NP : ๋น๊ฒฐ์ ๋ก ์ ์ผ๋ก ๋คํญ์๊ฐ์ ํ ์ ์๋ ๊ฒฐ์ ๋ฌธ์ ์งํฉ
=> ๋ต์ ๋คํญ์๊ฐ์ ๊ฒ์ฆํ ์ ์๋ ๋ฌธ์
(๋คํญ์๊ฐ์ ๊ฒ์ฆํ ์ ์์ผ๋ฉด NP ๋ฌธ์ )
NP-Hard : ๋ชจ๋ NP ๋ฌธ์ ์์ ๋คํญ์๊ฐ ๋ณํ๋๋ ๋ฌธ์ ์งํฉ
=> ๊ฒ์ฆ์ด ์๋ ์ ๋ ์์ (NP - Complete์์ ์ฐจ์ด)
NP-Complete : NP-Hard ์ด๋ฉด์ NP์ธ ๋ฌธ์
(๊ฒฐ๊ตญ NP์ด๊ธฐ์ yes/no์ ๊ฒฐ์ ๋ฌธ์ ์งํฉ์)
NP-Hard ์ฆ๋ช ๋ฐฉ๋ฒ
๋ฌธ์ A๊ฐ NP-Hard ์์ ์ฆ๋ช ํ๋ ๋ฐฉ๋ฒ์๋ 2๊ฐ์ง๊ฐ ์์
1. NP-Hard ์ ์์ ๋ฐ๋ผ ๋ชจ๋ NP๋ฌธ์ ๋ฅผ ๋ฌธ์ A๋ก ๋คํญ์๊ฐ ๋ณํํด๋ด
=> ์ด๊ฑด ์ฌ์ค์ ๋ถ๊ฐ๋ฅ
(๋ชจ๋ NP ๋ฌธ์ ๋ฅผ ์ผ์ผ์ด ๋ณํํด์ผํจ)
2. NP-Hard์ธ ๋ฌธ์ B๋ฅผ ๋ฌธ์ A๋ก ๋คํญ์๊ฐ ๋ณํํด๋ด
=> NP-Hard์ธ ๋ฌธ์ B๋ฅผ ๋ฌธ์ A๋ก ๋คํญ์๊ฐ ๋ณํํ ์ ์์ผ๋ฉด ๋ฌธ์ A๋ NP-Hard์
๋ฌธ์ A๊ฐ NP-Hard์์ ์ฆ๋ช ํ๊ณ NP์๋ ์ฆ๋ช
NP-Complete ์ฆ๋ช ๋ฐฉ๋ฒ
๋ฌธ์ A๊ฐ NP-Hard ์์ ์ฆ๋ช ํ๊ณ NP์๋ ์ฆ๋ช ํ๋ฉด๋จ

์๋ ค์ง NP-Hard ๋ฌธ์ ์์ ๋คํญ์๊ฐ ๋ณํํด์ NP-Hard ์์ ์ฆ๋ช
ํ๊ณ
๋ต์ด ๋คํญ์๊ฐ์ ๊ฒ์ฆ๋๋์ง ํ์ธํ์ฌ NP์๋ ์ฆ๋ช ํ๋ฉด๋จ
NP-Complete ๋ฌธ์ ๋ค
NP-Complete ๋ฌธ์ ๋ค์ ๋ชจ๋ ๋์ผํ๊ฒ ์ด๋ ค์
=> ๋คํญ์๊ฐ ์๊ณ ๋ฆฌ์ฆ์ด ์์ง ์๋ ค์ง์ง ์์
(P = NP๊ฐ ์ฆ๋ช
X)
NP-Complete ๋ฌธ์ ๋ NP-Hard ์ ์์ ๋ฐ๋ผ ์๋ก ๋ณํ์ด ๊ฐ๋ฅํจ
=> NP-Hard๋ ๋ชจ๋ NP๋ฌธ์ ๋ฅผ ๋คํญ ์๊ฐ ๋ด์ ํ ์ ์์์ ์๋ฏธํ๋๋ฐ ๊ฒฐ๊ตญ ๋ชจ๋ NP-Complete ๋ฌธ์ ๋ NP์ด๊ธฐ์ ์๋ก ๋ณํ ๊ฐ๋ฅ
NP-Complete๊ฐ ๊ฐ์ง๋ ์๋ฏธ
์ผ๋จ ํ์ฌ๋ P = NP๊ฐ ์ฆ๋ช ๋์ง ์์๊ธฐ์ NP ๋ฌธ์ ๋ฅผ ๋คํญ์๊ฐ์ ํธ๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ง ๋ชจ๋ฆ
(๋ง์ ์ฌ๋๋ค์ด ์คํจํจ)
๋ง์ฝ P = NP๋ผ๋ฉด NP-Complete๋ P์

๋ง์ผ NP-Complete ๋ฌธ์ ์ค ๋จ ํ๋๋ง์ด๋ผ๋ ๋คํญ์๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๊ฒฌํ๋ฉด, ๋ชจ๋ NP๋ฌธ์ ๋ฅผ ๋คํญ์๊ฐ์ ํ ์ ์์
=> ๋ชจ๋ NP ๋ฌธ์ ๋ NP-Complete ๋ฌธ์ ๋ก ๋ณํ๋๊ธฐ ๋๋ฌธ
TSP = NP-Complete?
TSP๋ ์ด์ ์ ๋ค๋ค์๋๋ฐ ์ธํ์ ์ํ ๋ฌธ์ ๋ผ๊ณ ํด์ ๋ชจ๋ ์ ์ ์ ๋ฐฉ๋ฌธํ๊ณ ์์ ์ ์ ์ผ๋ก ๋์์ค๋ ๊ธธ์ด K์ดํ์ ์ต๋จ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ๋๊ฐ? ์ ๋ํ ๋ฌธ์ ์
TSP๊ฐ NP-Complete์์ ์ฆ๋ช ํ๋ ค๋ฉด
1. NP-Hard์์ ์ฆ๋ช
=> HAM-CYCLE์ ๋คํญ์๊ฐ ๋ณํ
(HAM-CYCLE์ NP-Hard์)
2. NP์์ ์ฆ๋ช
=> ์ด๋ค ์ํ ๊ฒฝ๋ก๊ฐ ๋ต์ผ๋ก ์ฃผ์ด์ง๋ฉด
- ์ด ๊ฒฝ๋ก๊ฐ ๋ชจ๋ ๋ ธ๋๋ฅผ ์ง๋๋์ง
- ๊ฒฝ๋ก์ ํฉ์ด K์ดํ์ธ์ง ๋คํญ์๊ฐ์ ํ์ธ๊ฐ๋ฅ

NP-Complete์ธ HAM-CYCLE์ ๋ณํํ์ฌ ์ฆ๋ช
=> HAM-CYCLE์ ์ ๋ ฅ G๋ฅผ TSP์ ์ ๋ ฅ G'๋ก ๋ณํ
- G์ ๋ชจ๋ ๊ฐ์ ์ ๊ฐ์ค์น๋ฅผ 1๋ก ์ค์
- ์๋ ๊ฐ์ ์ ์์ฑํ์ฌ ๊ฐ์ค์น๋ฅผ ๋ฌดํ๋๋ก ์ค์
- ์ ์ ์ ์๊ฐ n์ผ ๋, O(n^2)์ ์๊ฐ ํ์
K=n์ธ TSP ๋ฌธ์ ์ ์ ๋ต์ HAM-CYCLE์ ์ ๋ต๊ณผ ๋์ผํ๋ฏ๋ก
Longest Path = NP-Complete?
LONGEST-PATH๋ ๋ ์ ์ ์๋ ๊ธธ์ด๊ฐ K ์ด์์ธ ๋จ์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฌธ์
์ง๋ฌธ์ s์์ t๋ก ๊ฐ๋ ๊ธธ์ด๊ฐ K ์ด์์ธ ๋จ์ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ๋๊ฐ?
(๋จ์ ๊ฒฝ๋ก๋ ๊ฐ์ ์ ์ ์ด ๋ ๋ฒ ์ด์ ๋ฐ๋ณต๋์ง ์๋ ๊ฒฝ๋ก)
Longest Path๋ NP ์ธ๊ฐ?
ํ ๊ฒฝ๋ก๊ฐ ๋ต์ผ๋ก ์ ์๋์์ ๋ ์ฌ๋ฐ๋ฅธ ๋ต์ธ์ง ๊ฒ์ฆํ๋๋ฐ ๋คํญ ์๊ฐ์ด ๊ฑธ๋ฆผ
- s์์ t๋ก ๋๋๋๊ฐ? -> O(1)
- ๊ฒฝ๋ก๊ฐ ๋จ์ ๊ฒฝ๋ก์ธ๊ฐ? -> O(n)
- ๊ฒฝ๋ก์ ๊ธธ์ด๊ฐ K ์ด์์ธ๊ฐ? -> O(n)
Longest Path๋ NP-Hard ์ธ๊ฐ?
NP-Complete์ธ Hamiltonian Path ๋ฌธ์ ๋ฅผ ๋คํญ์๊ฐ ๋ณํํ์ฌ ์ฆ๋ช
HAM-PATH-2-POINTS๋ ๋ ์ ์ ์๋ hamiltonian path๋ฅผ ์ฐพ๋ ๋ฌธ์ ์
=> s์์ t๋ก ๊ฐ๋ hamiltonian path๊ฐ ์กด์ฌํ๋๊ฐ?
(hamiltonian path๋ ๊ทธ๋ํ์ ๋ชจ๋ ์ ์ ์ ํ ๋ฒ์ฉ ์ง๋๋ ๊ฒฝ๋ก์)
HAM-PATH-2-POINTS => LONGEST-PATH

HAM-PATH ์ ์ ๋ ฅ G๋ฅผ LONGEST-PATH ์ ๋ ฅ G'์ผ๋ก ๋ณํ
G์ ๋ชจ๋ ๊ฐ์ ์ weight๋ฅผ 1๋ก ๋ถ์ฌํ์ฌ G' ์์ฑํ๊ณ
(๋ณํ์๊ฐ์ O(n^2))
G',s,t๋ฅผ ์ ๋ ฅ๋ฐ๋ LONGEST-PATH ๋ฌธ์ ์ ๋ต (K = n - 1 ์ผ ๋) ์ด
G,s,t๋ฅผ ์ ๋ ฅ๋ฐ๋ HAM-PATH-2-POINTS ๋ฌธ์ ์ ๋ต๊ณผ ๋์ผํจ
NP-Hardness of Optimization Problems
๋คํญ์๊ฐ ๋ณํ์ ์ ์๋ฅผ ํ์ฅํ์ฌ ์ต์ ํ ๋ฌธ์ ์ ์ ์ฉ

=> ์ด์ ์ ๋ค๋ค๋ ๋คํญ์๊ฐ ๋ณํ์ ์ ์๋ฅผ ํ์ฅํ ์ ์์
- ๋ณํ์ ๋คํญ์๊ฐ์ ์ด๋ค์ง๋ค.
๋ ์ฌ๋ก์ ๋ต์ด ์ผ์นํ๋ค.
=> ฮฒ์ ๋ต์ ์ด์ฉํ์ฌ ฮฑ์ ๋ต์ ๊ตฌํ ์ ์๋ค.
[TSP] : TSP ๋ฌธ์ ์ ๊ฒฐ์ ๋ฌธ์ ๋ฒ์
Weighted, undirected, complete ๊ทธ๋ํ G์์ ๊ธธ์ด๊ฐ K ์ดํ์ธ Hamiltonian cycle์ด ์กด์ฌํ๋๊ฐ?
NP-Complete์ธ optimization problem ์กด์ฌ? => X
[OPT-TSP] : TSP ๋ฌธ์ ์ ์ต์ ํ ๋ฌธ์ ๋ฒ์
Weighted, undirected, complete ๊ทธ๋ํ G์์ ๊ฐ์ฅ ์งง์ Hamiltonian cycle์ ๊ธธ์ด๋?
NP-Complete์ ํฌํจ์ด ์๋๋ NP-hard
(NP๊ฐ ์๋๋ฏ๋ก)
OPT-TSP๋ NP-Hard ์

- TSP์ ์
๋ ฅ์ OPT-TSP์ ๋ฃ์ด ์ต๋จ ๊ฒฝ๋ก ๊ธธ์ด x๋ฅผ ๊ณ์ฐ
- x๊ฐ K ์ดํ์ด๋ฉด "Yes" ๋ฅผ, K ๋ณด๋ค ํฌ๋ฉด "No"๋ฅผ ์ถ๋ ฅ
=> OPT-TSP๋ NP-Hard์ธ TSP ๋ฌธ์ ๋ฅผ ๋ณํํ ๊ฒ ์ด๋ฏ๋ก NP-Hard ์ธ๋ฐ ๊ฒฐ์ ๋ฌธ์ ๊ฐ ์๋๋ฏ๋ก NP๊ฐ ์๋
(๊ทธ๋ฌ๋ฏ๋ก NP-Complete๋ ๋ ์ ์์)
=> NP-Complete์ธ Optimization ๋ฌธ์ ๊ฐ ์กด์ฌํ๋ค (X)
๋ค๋ฅธ NP-Complete ๋ฌธ์ ์ ์ต์ ํ ๋ฒ์ ๋ ๋น์ทํ ๋ฐฉ์์ผ๋ก NP-Hard ์์ ์ฆ๋ช ๊ฐ๋ฅ
'๐ฅ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
L17 - A* Algorithm (3) | 2024.12.07 |
---|---|
L16 - NP-Completeness (1) (0) | 2024.12.03 |
L15 - Boyer-Moore Algorithm (0) | 2024.11.30 |
L14 - KMP Algorithm (1) | 2024.11.30 |
L13 - Topological Sorting (0) | 2024.11.29 |
๊ตญ๋ฏผ๋ํ๊ต์์ "์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์๊ณ ๋ฆฌ์ฆ" ๊ต์ฌ๋ฅผ ์ด์ฉํ
๋ฐํ๋ช ๊ต์๋์ ๊ฐ์ ๊ต์์ ์ด์ฉํ์ฌ ์์ ๋ด์ฉ์ ์ ๋ฆฌํ์์ต๋๋ค
NP-Completeness ๊ฐ์

P : ๋คํญ์๊ฐ์ ํ ์ ์๋ ๊ฒฐ์ ๋ฌธ์ ์งํฉ
NP : ๋น๊ฒฐ์ ๋ก ์ ์ผ๋ก ๋คํญ์๊ฐ์ ํ ์ ์๋ ๊ฒฐ์ ๋ฌธ์ ์งํฉ
=> ๋ต์ ๋คํญ์๊ฐ์ ๊ฒ์ฆํ ์ ์๋ ๋ฌธ์
(๋คํญ์๊ฐ์ ๊ฒ์ฆํ ์ ์์ผ๋ฉด NP ๋ฌธ์ )
NP-Hard : ๋ชจ๋ NP ๋ฌธ์ ์์ ๋คํญ์๊ฐ ๋ณํ๋๋ ๋ฌธ์ ์งํฉ
=> ๊ฒ์ฆ์ด ์๋ ์ ๋ ์์ (NP - Complete์์ ์ฐจ์ด)
NP-Complete : NP-Hard ์ด๋ฉด์ NP์ธ ๋ฌธ์
(๊ฒฐ๊ตญ NP์ด๊ธฐ์ yes/no์ ๊ฒฐ์ ๋ฌธ์ ์งํฉ์)
NP-Hard ์ฆ๋ช ๋ฐฉ๋ฒ
๋ฌธ์ A๊ฐ NP-Hard ์์ ์ฆ๋ช ํ๋ ๋ฐฉ๋ฒ์๋ 2๊ฐ์ง๊ฐ ์์
1. NP-Hard ์ ์์ ๋ฐ๋ผ ๋ชจ๋ NP๋ฌธ์ ๋ฅผ ๋ฌธ์ A๋ก ๋คํญ์๊ฐ ๋ณํํด๋ด
=> ์ด๊ฑด ์ฌ์ค์ ๋ถ๊ฐ๋ฅ
(๋ชจ๋ NP ๋ฌธ์ ๋ฅผ ์ผ์ผ์ด ๋ณํํด์ผํจ)
2. NP-Hard์ธ ๋ฌธ์ B๋ฅผ ๋ฌธ์ A๋ก ๋คํญ์๊ฐ ๋ณํํด๋ด
=> NP-Hard์ธ ๋ฌธ์ B๋ฅผ ๋ฌธ์ A๋ก ๋คํญ์๊ฐ ๋ณํํ ์ ์์ผ๋ฉด ๋ฌธ์ A๋ NP-Hard์
๋ฌธ์ A๊ฐ NP-Hard์์ ์ฆ๋ช ํ๊ณ NP์๋ ์ฆ๋ช
NP-Complete ์ฆ๋ช ๋ฐฉ๋ฒ
๋ฌธ์ A๊ฐ NP-Hard ์์ ์ฆ๋ช ํ๊ณ NP์๋ ์ฆ๋ช ํ๋ฉด๋จ

์๋ ค์ง NP-Hard ๋ฌธ์ ์์ ๋คํญ์๊ฐ ๋ณํํด์ NP-Hard ์์ ์ฆ๋ช
ํ๊ณ
๋ต์ด ๋คํญ์๊ฐ์ ๊ฒ์ฆ๋๋์ง ํ์ธํ์ฌ NP์๋ ์ฆ๋ช ํ๋ฉด๋จ
NP-Complete ๋ฌธ์ ๋ค
NP-Complete ๋ฌธ์ ๋ค์ ๋ชจ๋ ๋์ผํ๊ฒ ์ด๋ ค์
=> ๋คํญ์๊ฐ ์๊ณ ๋ฆฌ์ฆ์ด ์์ง ์๋ ค์ง์ง ์์
(P = NP๊ฐ ์ฆ๋ช
X)
NP-Complete ๋ฌธ์ ๋ NP-Hard ์ ์์ ๋ฐ๋ผ ์๋ก ๋ณํ์ด ๊ฐ๋ฅํจ
=> NP-Hard๋ ๋ชจ๋ NP๋ฌธ์ ๋ฅผ ๋คํญ ์๊ฐ ๋ด์ ํ ์ ์์์ ์๋ฏธํ๋๋ฐ ๊ฒฐ๊ตญ ๋ชจ๋ NP-Complete ๋ฌธ์ ๋ NP์ด๊ธฐ์ ์๋ก ๋ณํ ๊ฐ๋ฅ
NP-Complete๊ฐ ๊ฐ์ง๋ ์๋ฏธ
์ผ๋จ ํ์ฌ๋ P = NP๊ฐ ์ฆ๋ช ๋์ง ์์๊ธฐ์ NP ๋ฌธ์ ๋ฅผ ๋คํญ์๊ฐ์ ํธ๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ง ๋ชจ๋ฆ
(๋ง์ ์ฌ๋๋ค์ด ์คํจํจ)
๋ง์ฝ P = NP๋ผ๋ฉด NP-Complete๋ P์

๋ง์ผ NP-Complete ๋ฌธ์ ์ค ๋จ ํ๋๋ง์ด๋ผ๋ ๋คํญ์๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๊ฒฌํ๋ฉด, ๋ชจ๋ NP๋ฌธ์ ๋ฅผ ๋คํญ์๊ฐ์ ํ ์ ์์
=> ๋ชจ๋ NP ๋ฌธ์ ๋ NP-Complete ๋ฌธ์ ๋ก ๋ณํ๋๊ธฐ ๋๋ฌธ
TSP = NP-Complete?
TSP๋ ์ด์ ์ ๋ค๋ค์๋๋ฐ ์ธํ์ ์ํ ๋ฌธ์ ๋ผ๊ณ ํด์ ๋ชจ๋ ์ ์ ์ ๋ฐฉ๋ฌธํ๊ณ ์์ ์ ์ ์ผ๋ก ๋์์ค๋ ๊ธธ์ด K์ดํ์ ์ต๋จ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ๋๊ฐ? ์ ๋ํ ๋ฌธ์ ์
TSP๊ฐ NP-Complete์์ ์ฆ๋ช ํ๋ ค๋ฉด
1. NP-Hard์์ ์ฆ๋ช
=> HAM-CYCLE์ ๋คํญ์๊ฐ ๋ณํ
(HAM-CYCLE์ NP-Hard์)
2. NP์์ ์ฆ๋ช
=> ์ด๋ค ์ํ ๊ฒฝ๋ก๊ฐ ๋ต์ผ๋ก ์ฃผ์ด์ง๋ฉด
- ์ด ๊ฒฝ๋ก๊ฐ ๋ชจ๋ ๋ ธ๋๋ฅผ ์ง๋๋์ง
- ๊ฒฝ๋ก์ ํฉ์ด K์ดํ์ธ์ง ๋คํญ์๊ฐ์ ํ์ธ๊ฐ๋ฅ

NP-Complete์ธ HAM-CYCLE์ ๋ณํํ์ฌ ์ฆ๋ช
=> HAM-CYCLE์ ์ ๋ ฅ G๋ฅผ TSP์ ์ ๋ ฅ G'๋ก ๋ณํ
- G์ ๋ชจ๋ ๊ฐ์ ์ ๊ฐ์ค์น๋ฅผ 1๋ก ์ค์
- ์๋ ๊ฐ์ ์ ์์ฑํ์ฌ ๊ฐ์ค์น๋ฅผ ๋ฌดํ๋๋ก ์ค์
- ์ ์ ์ ์๊ฐ n์ผ ๋, O(n^2)์ ์๊ฐ ํ์
K=n์ธ TSP ๋ฌธ์ ์ ์ ๋ต์ HAM-CYCLE์ ์ ๋ต๊ณผ ๋์ผํ๋ฏ๋ก
Longest Path = NP-Complete?
LONGEST-PATH๋ ๋ ์ ์ ์๋ ๊ธธ์ด๊ฐ K ์ด์์ธ ๋จ์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฌธ์
์ง๋ฌธ์ s์์ t๋ก ๊ฐ๋ ๊ธธ์ด๊ฐ K ์ด์์ธ ๋จ์ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ๋๊ฐ?
(๋จ์ ๊ฒฝ๋ก๋ ๊ฐ์ ์ ์ ์ด ๋ ๋ฒ ์ด์ ๋ฐ๋ณต๋์ง ์๋ ๊ฒฝ๋ก)
Longest Path๋ NP ์ธ๊ฐ?
ํ ๊ฒฝ๋ก๊ฐ ๋ต์ผ๋ก ์ ์๋์์ ๋ ์ฌ๋ฐ๋ฅธ ๋ต์ธ์ง ๊ฒ์ฆํ๋๋ฐ ๋คํญ ์๊ฐ์ด ๊ฑธ๋ฆผ
- s์์ t๋ก ๋๋๋๊ฐ? -> O(1)
- ๊ฒฝ๋ก๊ฐ ๋จ์ ๊ฒฝ๋ก์ธ๊ฐ? -> O(n)
- ๊ฒฝ๋ก์ ๊ธธ์ด๊ฐ K ์ด์์ธ๊ฐ? -> O(n)
Longest Path๋ NP-Hard ์ธ๊ฐ?
NP-Complete์ธ Hamiltonian Path ๋ฌธ์ ๋ฅผ ๋คํญ์๊ฐ ๋ณํํ์ฌ ์ฆ๋ช
HAM-PATH-2-POINTS๋ ๋ ์ ์ ์๋ hamiltonian path๋ฅผ ์ฐพ๋ ๋ฌธ์ ์
=> s์์ t๋ก ๊ฐ๋ hamiltonian path๊ฐ ์กด์ฌํ๋๊ฐ?
(hamiltonian path๋ ๊ทธ๋ํ์ ๋ชจ๋ ์ ์ ์ ํ ๋ฒ์ฉ ์ง๋๋ ๊ฒฝ๋ก์)
HAM-PATH-2-POINTS => LONGEST-PATH

HAM-PATH ์ ์ ๋ ฅ G๋ฅผ LONGEST-PATH ์ ๋ ฅ G'์ผ๋ก ๋ณํ
G์ ๋ชจ๋ ๊ฐ์ ์ weight๋ฅผ 1๋ก ๋ถ์ฌํ์ฌ G' ์์ฑํ๊ณ
(๋ณํ์๊ฐ์ O(n^2))
G',s,t๋ฅผ ์ ๋ ฅ๋ฐ๋ LONGEST-PATH ๋ฌธ์ ์ ๋ต (K = n - 1 ์ผ ๋) ์ด
G,s,t๋ฅผ ์ ๋ ฅ๋ฐ๋ HAM-PATH-2-POINTS ๋ฌธ์ ์ ๋ต๊ณผ ๋์ผํจ
NP-Hardness of Optimization Problems
๋คํญ์๊ฐ ๋ณํ์ ์ ์๋ฅผ ํ์ฅํ์ฌ ์ต์ ํ ๋ฌธ์ ์ ์ ์ฉ

=> ์ด์ ์ ๋ค๋ค๋ ๋คํญ์๊ฐ ๋ณํ์ ์ ์๋ฅผ ํ์ฅํ ์ ์์
- ๋ณํ์ ๋คํญ์๊ฐ์ ์ด๋ค์ง๋ค.
๋ ์ฌ๋ก์ ๋ต์ด ์ผ์นํ๋ค.
=> ฮฒ์ ๋ต์ ์ด์ฉํ์ฌ ฮฑ์ ๋ต์ ๊ตฌํ ์ ์๋ค.
[TSP] : TSP ๋ฌธ์ ์ ๊ฒฐ์ ๋ฌธ์ ๋ฒ์
Weighted, undirected, complete ๊ทธ๋ํ G์์ ๊ธธ์ด๊ฐ K ์ดํ์ธ Hamiltonian cycle์ด ์กด์ฌํ๋๊ฐ?
NP-Complete์ธ optimization problem ์กด์ฌ? => X
[OPT-TSP] : TSP ๋ฌธ์ ์ ์ต์ ํ ๋ฌธ์ ๋ฒ์
Weighted, undirected, complete ๊ทธ๋ํ G์์ ๊ฐ์ฅ ์งง์ Hamiltonian cycle์ ๊ธธ์ด๋?
NP-Complete์ ํฌํจ์ด ์๋๋ NP-hard
(NP๊ฐ ์๋๋ฏ๋ก)
OPT-TSP๋ NP-Hard ์

- TSP์ ์
๋ ฅ์ OPT-TSP์ ๋ฃ์ด ์ต๋จ ๊ฒฝ๋ก ๊ธธ์ด x๋ฅผ ๊ณ์ฐ
- x๊ฐ K ์ดํ์ด๋ฉด "Yes" ๋ฅผ, K ๋ณด๋ค ํฌ๋ฉด "No"๋ฅผ ์ถ๋ ฅ
=> OPT-TSP๋ NP-Hard์ธ TSP ๋ฌธ์ ๋ฅผ ๋ณํํ ๊ฒ ์ด๋ฏ๋ก NP-Hard ์ธ๋ฐ ๊ฒฐ์ ๋ฌธ์ ๊ฐ ์๋๋ฏ๋ก NP๊ฐ ์๋
(๊ทธ๋ฌ๋ฏ๋ก NP-Complete๋ ๋ ์ ์์)
=> NP-Complete์ธ Optimization ๋ฌธ์ ๊ฐ ์กด์ฌํ๋ค (X)
๋ค๋ฅธ NP-Complete ๋ฌธ์ ์ ์ต์ ํ ๋ฒ์ ๋ ๋น์ทํ ๋ฐฉ์์ผ๋ก NP-Hard ์์ ์ฆ๋ช ๊ฐ๋ฅ
'๐ฅ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
L17 - A* Algorithm (3) | 2024.12.07 |
---|---|
L16 - NP-Completeness (1) (0) | 2024.12.03 |
L15 - Boyer-Moore Algorithm (0) | 2024.11.30 |
L14 - KMP Algorithm (1) | 2024.11.30 |
L13 - Topological Sorting (0) | 2024.11.29 |