๐ง Reduction
์ด๋ ํ ๋ฌธ์ X์ Y๋ฅผ ๊ฐ์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
(์๋ฐํ ์ ์๋ ์๋๋๋ค)
์ด ๋ Y๋ฅผ ํด๊ฒฐํ๋ ์ด๋ ํ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ๊ณ , ํด๋น ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ๋ฌธ์ X๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋์์ธ ํ ์ ์๋ ๊ฒฝ์ฐ, ๋ฌธ์ X์์ Y๋ก์ Reduction์ด ๊ฐ๋ฅํ๋ค๊ณ ํฉ๋๋ค. (X is reducible to Y)
์ด๋ฅผ ๋ณดํต X $\leq$ Y ๋ก ํํํฉ๋๋ค.
์ฆ X $\leq$ Y ์ธ ๊ฒฝ์ฐ, X๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ Y๋ฅผ ํด๊ฒฐํ๋ ๊ฒ๋ณด๋ค ์ ๋๋ก ์ด๋ ค์ธ ์ ์์ต๋๋ค.
๋ค๋ฅธ ๋ง๋ก๋ Y๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ์ ์ด๋ X๋ฅผ ํด๊ฒฐํ๋ ๊ฒ ๋งํผ ์ด๋ ต๋ค๊ณ ํ ์ ์์ต๋๋ค.
Reduction์ ํน์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋์์ธํ๊ฑฐ๋,
์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ์ง ์๋(ํน์ ๋งค์ฐ ํด๊ฒฐํ๊ธฐ ํ๋ ) ๊ฒ์ ์ฆ๋ช ํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๐ง ์์ 1 : Selection๊ณผ Sorting
๋ฌธ์ ์ Input์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Input : ๊ธธ์ด๊ฐ n์ธ ๋ฐฐ์ด A[1, ..., n]
Selection ๋ฌธ์ ์ Sorting ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
Selection : A์์ k๋ฒ์งธ๋ก ์์ element ์ฐพ๊ธฐ
Sorting : A๋ฅผ non-decreasing order๋ก Sorting
์ด๋ Sorting ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ, Selection ๋ฌธ์ ๋ A๋ฅผ Sortingํ ๋ค, A[k]๋ฅผ returnํ๋ ๊ฒ์ผ๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ Selection์์ Sorting์ผ๋ก์ Reduction์ด ์กด์ฌํฉ๋๋ค.
๐ง ์์ 2 : Longest Increasing Subsequence ์ Longest Path in DAG
๋ง์ฝ DAG์์ longest path๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ๋ค๊ณ ํ๊ฒ ์ต๋๋ค.
์ด ๊ฒฝ์ฐ LIS์ Sequence๋ฅผ DAG์ผ๋ก ๋ณํํ ๋ค, ํด๋น DAG์์ longest path๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
์ฐพ์ path๋ฅผ ๊ตฌ์ฑํ๋ node๋ค์ LIS์ element์ ๋์ํ๊ฒ ๋ฉ๋๋ค.
๋ฐ๋ผ์ LIS๋ Longest path in DAG ๋ฌธ์ ๋ก reduction์ด ๊ฐ๋ฅํฉ๋๋ค.
๐ง ๋ฌธ์ ์ ์ข ๋ฅ(Types of Problems)
์กฐ๊ธ ๋ฌ๊ธ์์ง๋ง, ์ ์ ๋ฌธ์ ์ ์ข ๋ฅ์ ๋ํด ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ฌธ์ ์ ์ข ๋ฅ๋ ํฌ๊ฒ Decision(๊ฒฐ์ ), Search(ํ์), Optimization(์ต์ ํ)์ผ๋ก ๋๋ ์ ์์ต๋๋ค.
๐ Decision Problem
๋ต์ YES ๋๋ NO๋ก ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ์๋ฏธํฉ๋๋ค.
ex: A ์์ ๊ธธ์ด 3 ์ด์์ increasing sequence๊ฐ ์กด์ฌํ๋๊ฐ?
๐ Search Problem
ex: A ์์ ๊ธธ์ด 3 ์ด์์ ๋ชจ๋ element๋ฅผ ์ฐพ์๋ผ.
๐ Optimization Problem
ex: A ์ ๊ฐ Substring์ด increasing substring์ด ๋๋๋ก ํ๋ A๋ฅผ ๊ฐ์ฅ ์ ์ ๊ฐ์์ substring๋ค๋ก partitioningํ๋ผ.
๐ง Problem Instance
์ด๋ค ๋ฌธ์ (problem)๋ฅผ ์ ์ํ๋ input์ problem instance๋ผ๊ณ ํฉ๋๋ค.
Problem๊ณผ Problem Instance๋ ๊ฐ์ง ์์ต๋๋ค.
Problem์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ Problem Instance๋ค์ ์งํฉ์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค.
Decision Problem X๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ์, X์ ์ํ instance๋ฅผ input์ผ๋ก ๋ฐ์ ๋ค YES/NO ์ค ํ๋์ ๋๋ต์ ์ถ๋ ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด `Sequence A์์ ๊ธธ์ด k ์ด์์ LIS๊ฐ ์กด์ฌํ๋๊ฐ?`๋ผ๋ ๊ฒฐ์ ๋ฌธ์ ์ ๊ฐ Instance๋ Sequence A์ k์ ๋๋ค.
๐ง Decision Problem์ ๋ํ Reduction
๋ Decision Problem X, Y์ ๋ํ์ฌ ๋ค์๊ณผ ๊ฐ์ ๊ด๊ณ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ, X๋ Y๋ก reducible ํฉ๋๋ค.
(์ฆ Y๋ฅผ ํ๋ฉด X๋ฅผ ํ ์ ์์ต๋๋ค)
1. X์ instance $I_X$ ๋ฅผ ๋ฐ์ ๋ค์์ ๋ง์กฑํ๋Y์ instance $I_Y$ ๋ก ๋ณํ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค.
2. Instance $I_Y$ ์ ๋ํ Y์ ๋ต์ ์ด์ฉํ์ฌ instance $I_X$ ์ ๋ํ X์ ๋ต์ ๊ตฌํ ์ ์์ต๋๋ค.
(Decision Problem์ ํํ์ฌ ๋ ๋ต์ ์ธ์ ๋ ๋์ผ, ์ฆ Y์์ ๋๋ต์ด YES์์ผ๋ฉด X์์๋ YES์ฌ์ผ ํฉ๋๋ค.)
X๋ Y๋ก reducible ํ ๊ฒฝ์ฐ, X์ instance๋ฅผ Y์ instance๋ก ๋ฐ๊พธ๋ ์๊ณ ๋ฆฌ์ฆ์ X์์ Y๋ก์ reduction์ด๋ผ๊ณ ํฉ๋๋ค.
์ด์ ๋ decision problem X์์ Y๋ก์ reduction R์ด ์ฃผ์ด์ง๊ณ , ๋ฌธ์ Y๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ $A_Y$ ๊ฐ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ, ๋ฌธ์ X๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ $A_X$ ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๋์์ธ ํ ์ ์์ต๋๋ค.
์ด๋ R๊ณผ $A_Y$๊ฐ Polynomial time (๋คํญ ์๊ฐ) ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๋ฉด, $A_X$ ๋ํ Polynomial time ์๊ณ ๋ฆฌ์ฆ์ด ๋ฉ๋๋ค.
๐ง Polynomial Time Reductions
์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ด polynomial time์ ๋์ํ๋ ๊ฒฝ์ฐ, ์ฆ O( poly( |instance size| )์ธ ๊ฒฝ์ฐ ํด๋น ์๊ณ ๋ฆฌ์ฆ์ ๋ณดํต efficient algorithm์ด๋ผ๊ณ ํฉ๋๋ค.
์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ efficient algorithm์ ์ฐพ๊ธฐ ์ํด์๋ ๋ณดํต polynomial time์ ๋์ํ๋ reduction๋ง์ ์๊ฐํ๊ฒ ๋๋ฉฐ, ์ด๋ฅผ polynomial-time reduction์ด๋ผ๊ณ ํฉ๋๋ค.
๋ฌธ์ X์์ Y๋ก์ polynomial time reduction์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ, ์ด๋ฅผ X $\leq_p$ Y๋ก ํ๊ธฐํ๋ฉฐ,
X $\leq_p$ Y์ด๊ณ Y๋ฅผ ํด๊ฒฐํ๋ polynomial time algorithm $A_Y$ ๊ฐ ์กด์ฌํ๋ค๋ฉด,
๋ฌธ์ X๋ฅผ ํด๊ฒฐํ๋ polynomial time algorithm $A_X$ ๋ํ ์กด์ฌํฉ๋๋ค.
๐ง Independent Set
๊ทธ๋ํ G = (V, E)์ ๋ํ์ฌ Independent Set์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
์ ์ ๋ค์ ์งํฉ V' (V' $\subset$ V)์ ์ํ ๋ชจ๋ ์ ์ ๋ค์ด ์๋ก adjacent ํ์ง ์์ผ๋ฉด V'๋ G์ independent set์ ๋๋ค.
๐ง Clique
๊ทธ๋ํ G = (V, E)์ ๋ํ์ฌ Clique๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
์ ์ ๋ค์ ์งํฉ V'(V' $\subset$ V)์ ์ํ ๋ชจ๋ ์ ์ ๋ค์ด ์๋ก adjacent ํ๋ค๋ฉด V'๋ G์ clique ์ ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๐ง Independent Set๊ณผ Clique ์ฌ์ด์ Reduction
์ฐ์ Independent Set๊ณผ Clique Problem์ ๊ฐ๊ฐ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๊ฒ ์ต๋๋ค.
๐ Independent Set Problem
Instance : ๊ทธ๋ํ G, ์์๊ฐ ์๋ ์ ์ k
Goal : G๊ฐ ํฌ๊ธฐ k ์ด์์ธ independent set์ ๊ฐ์ง๊ณ ์๋์ง ํ๋ณ
๐ Clique Problem
Instance : ๊ทธ๋ํ G, ์์๊ฐ ์๋ ์ ์ k
Goal : G๊ฐ ํฌ๊ธฐ k ์ด์์ธ clique์ ๊ฐ์ง๊ณ ์๋์ง ํ๋ณ
์์ ๊ฐ์ Problem๋ค์ ๋ํ์ฌ Independent Set $\leq_p$ Clique ๊ฐ ์ฑ๋ฆฝํฉ๋๋ค.
๐์ฆ๋ช
Independent set์ instance (G, k)๋ฅผ Clique์ instance (G', k)๋ก ๋ณํํ๊ฒ ์ต๋๋ค.
์ด๋ G'์ G์ ์ ์ ๋ค์ ๋ชจ๋ ๋์ผํ์ง๋ง, G์์ ๊ฐ์ ์ด ์กด์ฌํ์ง ์๋ ๋ชจ๋ ๋ ์ ์ ์ฌ์ด์๋ง ๊ฐ์ ์ด ์กด์ฌํ๋ ๊ทธ๋ํ๋ผ ํ๊ฒ ์ต๋๋ค.
์ด๋ G'์ ๊ฐ์ (u, v)๊ฐ ์กด์ฌํ๋ค๋ ๊ฒ์ G์์๋ ๊ฐ์ ์ด ์๋, ์ฆ adjacentํ์ง ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
V๊ฐ G์์ size k์ independent Set์ธ ๊ฒฝ์ฐ, V๋ G'์์ size k์ธ Clique์ ๋๋ค.
์ด์ ๋ํ ์ฆ๋ช ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
(1) V๊ฐ G์ Independent Set์ด๋ผ๊ณ ํ๊ฒ ์ต๋๋ค.
๊ทธ๋ฌ๋ฉด V์ ์์์ ๋ ์ ์ u, v์ ๋ํ์ฌ, G์์ edge(u, v)๋ ์กด์ฌํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ G'์ ์ ์์ ์ํด G'์์๋ edge(u, v)๊ฐ ์กด์ฌํด์ผ ํ๊ณ , ๋ฐ๋ผ์ ์ด๋ค์ adjacent ํฉ๋๋ค.
์ด๋ V์ ๋ชจ๋ ์ ์ ๋ค์ ๋ํ์ฌ ์ฑ๋ฆฝํ๋ฏ๋ก, G'์์ V์ ์ํ ์์์ ๋ ์ ์ ๋ค์ ๋ฐ๋์ adjacent ํฉ๋๋ค.
๋ฐ๋ผ์ ์ด๋ค์ G'์ Clique์ ๋๋ค.
(2) V๊ฐ G'์ Clique๋ผ๊ณ ํ๊ฒ ์ต๋๋ค.
๊ทธ๋ฌ๋ฉด V์ ์์์ ๋ ์ ์ u, v์ ๋ํ์ฌ, G'์์ edge(u, v)๋ ์กด์ฌํฉ๋๋ค.
G'์ edge(u, v)๊ฐ ์กด์ฌํ๋ค๋ ๊ฒ์, G'์ ์ ์์ ์ํด G์๋ edge(u, v)๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ด๋ V์ ๋ชจ๋ ์ ์ ๋ค์ ๋ํด์ ์ฑ๋ฆฝํ๋ฏ๋ก, G์์ V์ ์ํ ์์์ ๋ ์ ์ ๋ค์ ๋ฐ๋์ adjacent ํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ์ด๋ค์ G์ independent set์ ๋๋ค.
์ด๋ฅผ ํตํด Independent set์ instance๊ฐ YES์ธ ๊ฒฝ์ฐ์๋ง(iff) Clique์ instance๊ฐ YES๋ฅผ ๋ฐํํจ์ ์ฆ๋ช ํ์์ต๋๋ค.
๋ํ G์ ์ ์ ๋ค์ ๋ชจ๋ ๋์ผํ์ง๋ง, G์์ ๊ฐ์ ์ด ์กด์ฌํ์ง ์๋ ๋ชจ๋ ๋ ์ ์ ์ฌ์ด์๋ง ๊ฐ์ ์ด ์กด์ฌํ๋ ๊ทธ๋ํ๋ฅผ construct ํ๋ ๊ฒ์ด polynomial time์ ๊ฐ๋ฅํ๋ฏ๋ก, Independent Set $\leq_p$ Clique ๊ฐ ์ฑ๋ฆฝํฉ๋๋ค.
๐ง Vertex Cover
๊ทธ๋ํ G = (V, E)์ ๋ํ์ฌ Vertex Cover๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
G์ ๋ชจ๋ edge๋ค์ endpoint๋ฅผ ์ ์ด๋ ํ๋ ์ด์ ํฌํจํ๋ vertex set S (S $\subset$ V)๋ฅผ G์ Vertex Cover๋ผ๊ณ ํฉ๋๋ค.
๐ง Independent Set๊ณผ Vertex Cover ์ฌ์ด์ Reduction
Independent Set Problem์ ์ ์๋ ์์ ๋์ผํ๋ฉฐ, Vertex Cover Problem์ ์๋์ ๊ฐ์ด ์ ์ํ๊ฒ ์ต๋๋ค.
๐ Vertex Cover Problem
Instance : ๊ทธ๋ํ G, ์์๊ฐ ์๋ ์ ์ k
Goal : G๊ฐ ํฌ๊ธฐ k ์ดํ์ธ Vertex Cover๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ํ๋ณ
์์ ๊ฐ์ Problem๋ค์ ๋ํ์ฌ Independent Set $\leq_p$ Vertex Cover ๊ฐ ์ฑ๋ฆฝํฉ๋๋ค.
๐์ฆ๋ช
(1) S๊ฐ G์ independent set์ด๋ผ ํ๊ฒ ์ต๋๋ค.
์์์ G์ edge(u, v) $\in$ E ์ ๋ํด์๋ u $\notin$ S ์ด๊ฑฐ๋ v $\notin$ S ์ ๋๋ค. (๋ ๋ค S์ ์ํ์ง ์์ ์๋ ์์ต๋๋ค.)
๋ฐ๋ผ์ u $\in$ (V \ S) ์ด๊ฑฐ๋ v $\in$ (V \ S) ์ด์ฌ์ผ ํฉ๋๋ค. (๋ ๋ค ์ํ ์๋ ์์ต๋๋ค)
๋ฐ๋ผ์ (V \ S)๋ G์ Vertex Cover๊ฐ ๋ฉ๋๋ค.
(2) V \ S๊ฐ G์ Vertex Cover๋ผ๋ ๊ฐ์ ์์๋ถํฐ ์์ํ๊ฒ ์ต๋๋ค.
์ด ๊ฒฝ์ฐ S์ ์ํ๋ ์์์ ๋ ์ ์ v, u์ ๋ํ์ฌ, (u, v)๋ edge๊ฐ ๋ ์ ์์ต๋๋ค.
(๋ง์ฝ edge๊ฐ ๋๋ค๋ฉด V \ S๊ฐ ์ด๋ค์ ์ปค๋ฒํ์ง ๋ชปํ๋ฏ๋ก ๋ชจ์์ ๋๋ค.)
๋ฐ๋ผ์ S๋ G์ independent set์ ๋๋ค.
์ด๋ฅผ ํตํด `์ ์ ์ด n๊ฐ์ธ ๊ทธ๋ํ G๊ฐ ํฌ๊ธฐ k ์ด์์ independent set์ ๊ฐ์ง๊ณ ์๋ค`๋ ๊ฒ์,
`G๊ฐ ํฌ๊ธฐ n-k ์ดํ์ vertex cover๋ฅผ ๊ฐ์ง๊ณ ์๋ค`์ ๋์น๋ผ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ Independent Set Problem์ instance (G, k)์ ๋ํ ๋ต๊ณผ Vertex Cover Problem์ instance(G, n-k)๋ ๋์ผํ ๋ต์ ์ถ๋ ฅํฉ๋๋ค.
Instance (G, k)๊ฐ ์ฃผ์ด์ง๋ฉด (G, n-k)๋ O(1) ์๊ฐ์ construction์ด ๊ฐ๋ฅํ๋ฏ๋ก, (Independent Set) $\leq_p$ (Vertex Cover) ๋ผ๋ ๊ฒ์ ์ฆ๋ช ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก independent set์ ํด๊ฒฐํ๋ efficient algorithm์ด ์กด์ฌํ์ง ์๋๋ค๋ฉด, vertex cover๋ฅผ ํด๊ฒฐํ๋ efficient algorithm ๋ํ ์กด์ฌํ์ง ์์ต๋๋ค.
๐ง Propositional Formulas
Boolean variable๋ค์ ์งํฉ {$x_1$, $x_2$, ..., $x_n$}์ ๋ํ์ฌ, Literal, Clause, Conjunctive normal form(CNF) formula๋ฅผ ๊ฐ๊ฐ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
Literal (๋ฆฌํฐ๋ด) : Boolean variable $x_i$ ํน์ ๊ทธ ๋ถ์ (negation) $\neg x_i$ ๋ฅผ ์๋ฏธํฉ๋๋ค.
Clause (์ ) : literal๋ค์ disjunction(๋ ผ๋ฆฌ ํฉ)์ ์๋ฏธํฉ๋๋ค. (ex: $x_1 \vee x_2 \vee \neg x_3$)
Conjunctive normal form (CNF) formula : clause ๋ค์ conjunction(๋ ผ๋ฆฌ ๊ณฑ)์ผ๋ก ํํ๋ proportional formula(๋ช ์ ์)์ ์๋ฏธํฉ๋๋ค.
CNF formula์ ์์๋ก๋ ($x_1 \; \vee \;x_2\; \vee\; \neg x_4$) $\wedge$ ($x_2 \vee \neg x_3$) $\wedge$ $x_5$
CNF formula F์ ๊ฐ clause๊ฐ ์ ํํ k๊ฐ์ literal๋ก ๊ตฌ์ฑ๋์ด ์๋ค๋ฉด, F๋ k-CNF formula๋ผ๊ณ ํฉ๋๋ค.
๐ง SAT- problem
CNF formula F๊ฐ ์ฃผ์ด์ก์ ๋,
F์ ๊ฐ์ด true๊ฐ ๋๋๋ก F์ ๊ฐ variable์ true/false๋ฅผ ํ ๋น(Assign)ํ ์ ์๋์ง ํ๋ณํ๋ ๋ฌธ์ ๋ฅผ ์๋ฏธํฉ๋๋ค
์ด๋ ํ ๋นํ ์ ์๋ ๊ฒฝ์ฐ F๋ satisfiable ํ๋ค๊ณ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
3-CNF formula์ ๋ํ SAT problem์ 3-SAT ์ด๋ผ๊ณ ํฉ๋๋ค.
๐ง Independent Set๊ณผ 3-SAT ์ฌ์ด์ Reduction
Instance : 3-CNF formular F
Goal : ๋ค์ ์ฑ์ง์ ๋ง์กฑํ๋ฉด์ F์ size์ ๋ํ polynormial time ์์ ๊ทธ๋ํ $G_F$์, ์์๊ฐ ์๋ ์ ์ k๋ฅผ counstruct ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋์์ธํ๊ธฐ
์ฑ์ง : $G_F$ ๊ฐ ํฌ๊ธฐ k์ independent set์ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ์๋ง (if and only if) F๋ satisfiableํ๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด 3-SAT์ ์ค์ํ ์ฑ์ง๋ค์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
1. F ๊ฐ true๊ฐ ๋๊ฒ ํ๋ variable assignment๋ฅผ ์ฐพ๋๋ค๋ ๊ฒ์, F์ variable ๋ค์ ํด๋นํ๋ ๊ฐ๋ค์ ํ ๋นํ๋ฉด, F์ ๊ฐ clause๊ฐ ๋ชจ๋ true๊ฐ ๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
2. ๊ฐ clause์์ ์ ์ด๋ ํ๋์ literal๋ง true์ด๋ฉด F๋ ๋ฌด์กฐ๊ฑด true๊ฐ ๋ฉ๋๋ค.
๋ฐ๋ผ์ F์ ๊ฐ clause์์ literal ํ๋์ฉ์ ๊ณจ๋ผ ๊ทธ๋ค์ ๋ชจ๋ true๊ฐ ๋๊ฒ ํ๋ assignment๊ฐ ์กด์ฌํ๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ฉด ๋ฉ๋๋ค.
3. $x_i$์ $\neg x_i$ ๋ ๊ฐ์ด ์ ํ(true๋ก ํ ๋น)ํ ์ ์์ผ๋ฉฐ, ์ด์ ๊ฐ์ด ์ ํํ ๊ฒฝ์ฐ confiliction(์ถฉ๋)์ด ์ผ์ด๋ฌ๋ค๊ณ ํฉ๋๋ค.
์ด์ 3-SAT problem์์ Independent Set problem์ผ๋ก์ reduction์ ์๊ฐํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
F์ ๊ฐ literal์ ๋ํ์ฌ, ์ด์ ๋์ํ๋ $G_F$์ ์ ์ผํ ์ ์ ์ด ์กด์ฌํฉ๋๋ค.
(์ด๋ ๊ฐ์ literal์ ๋ํด์๋ ํ๊ธฐ๋ ๊ฐ์ผ๋ ๋ค๋ฅด๊ฒ ์ทจ๊ธ๋๋ ์ ์ ์ผ๋ก ๋์์ํต๋๋ค.)
F์ ๊ฐ clause๋ฅผ ๊ตฌ์ฑํ๋ 3๊ฐ์ literal๋ค์ $G_F$ ์์ ์๋ก triangle์ ์ด๋ฃน๋๋ค.
๋ฐ๋ผ์ $G_F$ ์ independent set์ ๊ฐ clause์ literal๋ค์ ๋์ํ๋ vertex 3๊ฐ ์ค ์ต๋ ํ ๊ฐ๋ง์ ํฌํจํ๊ฒ ๋ฉ๋๋ค.
$x_i$ ์ $\neg x_i$ ๊ฐ ์กด์ฌํ๋ค๋ฉด $G_F$ ์์ ์ด ๋์ edge๋ก ์ด์ด์ค๋๋ค.
๋ฐ๋ผ์ G์ independent set์ ๋์ํ๋ literal๋ค์ confliction์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
k๋ F๋ฅผ ๊ตฌ์ฑํ๋ clause์ ์ด ๊ฐ์๋ก ๋ก๋๋ค.
์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์์ ๊ฐ์ Problem๋ค์ ๋ํ์ฌ 3-SAT $\leq_p$ Independent Set์ด ์ฑ๋ฆฝํฉ๋๋ค.
๐์ฆ๋ช
(1) S๊ฐ ํฌ๊ธฐ k์ธ $G_F$ ์ independent set์ด๋ผ ํ๊ฒ ์ต๋๋ค.
S๋ ๊ฐ cluase์ ๋์ํ๋ 3๊ฐ์ ์ ์ ๋ค ์ค ์ ํํ ํ๋๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค.
(k๋ clause์ ๊ฐ์์ ๊ฐ์ผ๋ฏ๋ก, ๋ง์ฝ ํ๋๋ผ๋ ํฌํจ๋์ง ์๋ clause๊ฐ ์๋ค๋ฉด, ์ด๋ ํ๋์ cluase์ ๋์๋๋ ๋ ๊ฐ์ ์ ์ ์ด S์ ํฌํจ๋ฉ๋๋ค. ์ด๋ ํด๋น ๋ ์ ์ ์ adjacent ํ๋ฏ๋ก S๊ฐ independent set์ด๋ผ๋ ๊ฐ์ ์ ๋ชจ์๋ฉ๋๋ค.)
S๋ confliction ๊ด๊ณ์ ์๋ ๋ literal์ ํด๋นํ๋ vertex ๋ ๊ฐ๋ฅผ ๋ชจ๋ ํฌํจํ ์ ์์ต๋๋ค.
(์ด ๋์ adjacentํ๊ธฐ ๋๋ฌธ์ ๋๋ค.)
๋ฐ๋ผ์ S์ ์ํ ์ ์ ๋ค์ ๋์ํ๋ literal๋ค์ด true๊ฐ ๋๋๋ก, F์ variable ๋ค์ ํ ๋นํ๋ฉด ,F๋ฅผ ๊ตฌ์ฑํ๋ ๋ชจ๋ clause ๋ค์ true๊ฐ ๋๋ฉฐ, ๋ฐ๋ผ์ F๋ true๊ฐ ๋ฉ๋๋ค.
(2) F๊ฐ satisfiable์ด ๋๋ assignment๊ฐ ์กด์ฌํ๋ค๊ณ ํ๊ฒ ์ต๋๋ค.
์ด ๊ฒฝ์ฐ ํด๋น assignment์์ F์ ๊ฐ clause๋ง๋ค true๊ฐ์ ๊ฐ๋ literal์ ํ๋์ฉ ๊ณ ๋ฅด๋ฉด, ํด๋น literal์ ํด๋นํ๋ vertex๋ค์ $G_F$์ independent set์ด ๋ฉ๋๋ค.
Clause๊ฐ ์ด k๊ฐ ์์ผ๋ฏ๋ก, ์ด ๊ฒฝ์ฐ GF๋ ํฌ๊ธฐ๊ฐ k์ธ independent set์ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค.
3-SAT์ ๋์๋๋ ๊ทธ๋ํ๋ฅผ construct ํ๋ ๊ฒ์ polynomial time๋ด์ ๊ฐ๋ฅํ๋ฉฐ,
๋ฐ๋ผ์ 3-SAT ๋ฌธ์ ์ instance $I_X$ ์์ Independent Set ๋ฌธ์ ์ instance $I_Y$ ๋ก์ polynomial time reduction์ด ์กด์ฌํฉ๋๋ค.
๋ํ ์์์ ์ดํด๋ณธ ๊ฒ๊ณผ ๊ฐ์ด, $I_X$ ๊ฐ X์ ๋ํด YES๋ฅผ ๋ฐํํ๋ instance์ธ ๊ฒฝ์ฐ์๋ง, $I_Y$ ๊ฐ ๋ฌธ์ Y์ ๋ํด YES๋ฅผ ์ถ๋ ฅํ๋ instance์ด๋ฏ๋ก, 3-SAT $\leq_p$ Independent Set์ด ์ฑ๋ฆฝํฉ๋๋ค
'๐ฅ Computer Science > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ] NP-Complete์ NP-Hard (0) | 2022.12.06 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] P์ NP (1) | 2022.12.06 |
[์๊ณ ๋ฆฌ์ฆ] Counting Sort (๊ณ์ ์ ๋ ฌ) (0) | 2022.12.05 |
[์๊ณ ๋ฆฌ์ฆ] Adversary Argument (2) | 2022.12.05 |
[์๊ณ ๋ฆฌ์ฆ] DP(4) - ํ๋ก์ด๋ ์์ฌ(Floyd Warshall) ์๊ณ ๋ฆฌ์ฆ (0) | 2022.11.13 |