2020-1ํ•™๊ธฐ, ๋Œ€ํ•™์—์„œ โ€˜์•Œ๊ณ ๋ฆฌ์ฆ˜โ€™ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•œ ๋ฐ”๋ฅผ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ง€์ ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค :) ์ „์ฒด ํฌ์ŠคํŠธ๋Š” Algorithm ํฌ์ŠคํŠธ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3 minute read

2020-1ํ•™๊ธฐ, ๋Œ€ํ•™์—์„œ โ€˜์•Œ๊ณ ๋ฆฌ์ฆ˜โ€™ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•œ ๋ฐ”๋ฅผ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ง€์ ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค :) ์ „์ฒด ํฌ์ŠคํŠธ๋Š” Algorithm ํฌ์ŠคํŠธ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


P-and-NP

โ€œP and NPโ€ ํฌ์ŠคํŠธ์—์„œ NP ๋ฌธ์ œ๋Š” non-deterministic and polynomial-time solvableํ•œ ๋ฌธ์ œ๋ฅผ ๋งํ–ˆ๋‹ค. ๋˜๋Š” set of all search problems๋ผ๊ณ ๋„ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด, P์™€ NP ์™ธ์—๋„ โ€œNP-completeโ€, โ€œNP-hardโ€๋ผ๋Š” ํด๋ž˜์Šค๊ฐ€ ๋ˆˆ์— ๋ณด์ธ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ๊ทธ๋“ค์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ๋‹ค.


NP-hardPermalink

Complexity Space๋ฅผ ํ‘œํ˜„ํ•œ ์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด, NP-complete๊ฐ€ NP์™€ NP-hard์˜ ๊ต์ง‘ํ•ฉ์ธ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ NP-complete๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„  NP-hard๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

Definition. NP-hard

A problem x is NP-hard if every problem yโˆˆNP reduces to x.

์ฆ‰, NP์— ์†ํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ polynomial-time reduction ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ผ๋ฉด, ๊ทธ ๋ฌธ์ œ๊ฐ€ NP-hard๋ผ๋Š” ๋ง์ด๋‹ค. Reduction์˜ ์˜๋ฏธ๋ฅผ ์ƒ๊ฐํ–ˆ์„ ๋•Œ, Aโ‰คpB๊ฐ€ โ€œ๋ฌธ์ œ B๊ฐ€ ๋ฌธ์ œ A๋ณด๋‹ค ๋” ์–ด๋ ต๋‹คโ€๋Š” ์‚ฌ์‹ค์„ ๋งํ•ด์ฃผ๋‹ˆ, ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ™˜์›๋˜๋Š” ๋Œ€์ƒ์ด๋ผ๋ฉด ๊ทธ ๋ฌธ์ œ๋Š” ์ •๋ง์ •๋ง์ •๋ง๋กœ ์–ด๋ ค์šด ๋ฌธ์ œ์ผ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ โ€œhardโ€๋ผ๋Š” ํ‘œํ˜„์ด ๋ถ™์—ˆ๋‹ค.

NP-hard is โ€˜harderโ€™ than any problem of NP, in other words, โ€˜harderโ€™ than any search problem.


NP-hard์— ์†ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ œ๋กœ๋Š” <Halting Problem>์ด ์žˆ๋‹ค. CS์—์„œ ์›Œ๋‚™ ์œ ๋ช…ํ•œ Undecidable ๋ฌธ์ œ์ด๊ธฐ์— ํ•ด๋‹น ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž˜ ์„ค๋ช…ํ•œ ์˜์ƒ์œผ๋กœ ์„ค๋ช…์„ ๋Œ€์ฒดํ•œ๋‹ค.

<Halting Problem>์˜ ๊ฒฝ์šฐ Search Problem์ด ์•„๋‹ˆ๊ธฐ์— NP์— ์†ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ NP์— ์†ํ•˜๋Š”, ์ฆ‰ search problem์ธ NP-hard ๋ฌธ์ œ๋„ ์กด์žฌํ•œ๋‹ค. ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ ์•„๋ž˜์—์„œ ์‚ดํŽด๋ณผ NP-complete ๋ฌธ์ œ๋‹ค!


NP-completePermalink

Definition. NP-complete

A problem x is NP-hard if xโˆˆNP and xโˆˆNP-hard.

NP์™€ NP-hard์˜ ๊ต์ง‘ํ•ฉ๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ทธ๋Œ€๋กœ ๋‹ด์€ NP-complete์˜ ์ •์˜๋‹ค. Search Problem์— ์†ํ•˜๋Š” NP-hard๋ผ๋Š” ์˜๋ฏธ์ธ๋ฐ, ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ œ๋กœ SAT ๋ฌธ์ œ๊ฐ€ NP-complete ๋ฌธ์ œ๋‹ค.

์ด์ „ ํฌ์ŠคํŠธ์—์„œ๋Š” NP-complete๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ–ˆ๋Š”๋ฐ, ์ด๊ฒƒ๋„ ๋งž๋Š” ํ‘œํ˜„์ด๋‹ค.

Definition. NP-complete

A search problem is NP-complete if all other search problems reduce to it.

๋ชจ๋“  Search Problem, ์ฆ‰ NP Problem์ด ํ•ด๋‹น ๋ฌธ์ œ๋กœ Reduction ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด, ํ•ด๋‹น ๋ฌธ์ œ๋Š” NP-complete๋ผ๋Š” ๋ง์ด๋‹ค. ๋†€๋ž๊ฒŒ๋„ <Reduction>์„ ํ†ตํ•ด NP-complete์— ์†ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ SAT ๋ฌธ์ œ ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๊ณ , 3-SAT, Independent-Set, 3D-Matching ๋ฌธ์ œ ๋“ฑ์ด SAT ๋ฌธ์ œ๋กœ๋ถ€ํ„ฐ ํ™˜์›๋˜๋ฉฐ, ๋˜ SAT๋กœ ๋ฌธ์ œ๋กœ ํ™˜์›๋จ์ด ์ฆ๋ช…๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ง€๊ธˆ๊นŒ์ง€ ๋ช‡ ๊ฐœ์˜ ํฌ์ŠคํŠธ์— ๊ฑธ์ณ ์‚ดํŽด๋ณด์•˜๋˜ NP ๋ฌธ์ œ๋“ค์€ ๋ชจ๋‘ NP-complete์ด๋‹ค!


๊ฒฐ๊ตญ NP-complete๋ฅผ ์˜จ์ „ํžˆ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐ์ข… NP ๋ฌธ์ œ๋ถ€ํ„ฐ, NP-hard์˜ ๊ฐœ๋…๊นŒ์ง€ ์ˆ™์ง€ํ•ด์•ผ ํ–ˆ๋‹ค. ๋‹ค์Œ ํฌ์ŠคํŠธ๋ถ€ํ„ฐ ๊ฐ์ข… NP ๋ฌธ์ œ๋“ค์ด ์–ด๋–ป๊ฒŒ Reduction ๋˜๋Š”์ง€๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์‚ดํŽด๋ณด์ž.

ํ•จ๊ป˜๋ณด๊ธฐPermalink

Categories:

Updated: