Upload
others
View
8
Download
1
Embed Size (px)
Citation preview
http://www.hanbit.co.kr
쉽게 배우는 알고리즘
11장. NP-완비NP-Completeness
- 2 -
IT COOKBOOK
한빛아카데미㈜
NP-완비NP-Completeness
나는 그저 NP-완비 이론이 흥미로운 발상이라고만 생각했다.
그것이 지닌 잠재적 영향력은 제대로 인식하지 못했다.
-스티븐 쿡
때로는 어떤 것이 불가능하다는 사실이 유용할 때도 있다.
-레오나드 레빈
- 3 -
IT COOKBOOK
한빛아카데미㈜
학습목표
• P와 NP를 구별한다.
• Yes/No 문제와 최적화 문제의 차이를 이해한다.
• NP-완비의 의미를 이해한다.
• NP-완비 증명 방법을 이해한다.
• NP-완비라는 사실이 판명됨으로써 얻을 수있는 이득을 이해한다.
- 4 - 한빛아카데미㈜
IT COOKBOOK
(Unsolvable)
풀 수 없는 문제들
(Undecidable)
(Solvable)
(Decidable)
풀 수 있는 문제들
현실적인 시간내에풀 수 없는 문제들
현실적인 시간내에풀 수 있는 문제들
정지 문제힐버트의 10번째 문제…
Presburger 산술…
최소 신장 트리 문제최단 거리 문제…
NP-완비
여기에 속할 것이라고강력히 추정!
문제의종류
- 5 - 한빛아카데미㈜
IT COOKBOOK
현실적인시간
• 다항식시간을의미
– 입력의크기 n의다항식으로표시되는시간
– 예: 3nk + 5nk-1 + …
• 비다항식시간의예
– 지수시간• 예: 2n
– 계승시간• 예: n!
- 6 - 한빛아카데미㈜
IT COOKBOOK
Yes/No 문제와최적화문제
• Yes/No 문제
– 예: 그래프 G에서길이가 k 이하인해밀토니안경로가존재하는가?
• 최적화문제
– 예: 그래프 G에서길이가가장짧은해밀토니안경로는얼마인가?
두문제는동전의앞뒷면
- 7 - 한빛아카데미㈜
IT COOKBOOK
NP-Complete 이론
• Yes/No 의대답을요구하는문제에국한– 그렇지만최적화문제와밀접한관계를갖고있다
• 문제를현실적인시간에풀수있는가에관한이론
• 거대한군을이룸– 이중한문제만현실적인시간에풀면다른모든것도저절로풀리는논리적연결관계를갖고있다
- 8 - 한빛아카데미㈜
IT COOKBOOK
현재까지의연구결과
• 어떤문제가 NP-Complete임이확인되면
지금까지의연구결과로는이문제를현실적인시간에풀수있는방법은아직없다
• 그렇지만이사실이아직증명은되지않음
• 클레이수학연구소의 21세기 7대백만불짜리문제중의하나– P=NP 문제
- 9 - 한빛아카데미㈜
IT COOKBOOK
NP-Complete에관한비유
1. 나는 답을 구할 수가 없습니다. 아마 나는 멍청한 모양입니다.
상사가아주어려운문제를해결하라고지시했다
- 10 - 한빛아카데미㈜
IT COOKBOOK
2. 나는 답을 구할 수가 없습니다. 왜냐하면 이 문제는 답이 없어요.
- 11 - 한빛아카데미㈜
IT COOKBOOK
3. 나는 답을 구할 수가 없습니다. 그렇지만 저렇게 수많은 천재들도이 문제를 해결할 수 없습니다.
NP-Complete 이론의상황을비유적으로보여줌
- 12 - 한빛아카데미㈜
IT COOKBOOK
준비: 논리적얼개
문제1: 정수 x=x1x2…xn은 3의배수인가?
문제2: x1+x2+…+xn은 3의배수인가?
위두문제의대답은같다 Yes/No 대답이일치한다
쉽다 = 현실적인시간에풀수있다
문제 2가쉬우면, 문제 1도쉽다
- 13 - 한빛아카데미㈜
IT COOKBOOK
문제 A 문제 B다항식 시간 변환
Yes Yes
No No
• 상황
– 문제 B는쉽다
– 문제A는 Yes/No 대답이일치하는문제 B로쉽게변형된다
문제A도쉬운가?
쉽다 = 현실적인시간에풀수있다
- 14 - 한빛아카데미㈜
IT COOKBOOK
Poly-Time Reduction (다항식시간변환)
• 문제A의사례 α를문제 B의사례 β로바꾸되아래성질을만족하면 polynomial-time
reduction이라하고, 이를 α ≤ β 로표기한다
① 변환은다항식시간에이루어진다
② 두사례의답은일치한다
p
- 15 - 한빛아카데미㈜
IT COOKBOOK
다항식 시간 변환α β 문제 B를 푸는
알고리즘
Yes
No
Yes
No
문제 A를 푸는 알고리즘
1. 문제A를다항식시간에문제 B로변환한다
2. 변환된문제 B를푼다
3. 문제 B의대답이 Yes이면 Yes, No이면 No를리턴한다
문제 B가쉬운문제라면문제A도쉬운문제이다
- 16 - 한빛아카데미㈜
IT COOKBOOK
P와 NP
• P
– Polynomial
– 다항식시간에 Yes 또는 No 대답을할수있으면 P
• NP
– Nondeterministic Polynomial
– Non-Polynomial의준말이아님!
– Yes 대답이나오는해를제공했을때, 이것이 Yes 대답을내는해라는사실을다항식시간에확인해줄수있으면 NP
• 어떤문제가 NP임을보이는것은대부분아주쉽다– NP-Complete 증명에서형식적으로확인하고넘어가는정도
- 17 - 한빛아카데미㈜
IT COOKBOOK
NP-Complete/Hard
• 다음성질을만족하면문제 L은 NP-Hard이다
- 모든 NP 문제가 L로다항식시간에변환가능하다
• 다음의두성질을만족하면문제 L은 NP-Complete이다
1) L은 NP이다.
2) L은 NP-Hard이다.
NP-Complete는 NP-Hard의일부이므로 NP-Complete인문제를NP-Hard이라고불러도맞다
NP-Complete의성질 1)은대부분자명하므로핵심에집중하기위해 NP-Hard에초점을맞추자
NP : Yes 대답이나오는해를 제공하면이를다항식시간에확인할수있으면됨
- 18 - 한빛아카데미㈜
IT COOKBOOK
정리 1
• 문제 L이다음의성질을만족해도 NP-hard이다
- 알려진임의의 NP- Hard 문제A로부터문제 L로다항식시간에변환가능하다
다항식 시간 변환α β 문제 L을 푸는알고리즘
Yes
No
Yes
No
문제 A를 푸는 알고리즘
만일문제 L을쉽게풀수있다면, 문제A도쉽게풀수있다
그러므로모든 NP 문제를쉽게풀수있다
- 19 - 한빛아카데미㈜
IT COOKBOOK
다항식 시간 변환α β 문제 L을 푸는
알고리즘
Yes
No
Yes
No
문제 A를 푸는 알고리즘
만일문제 L이쉬운문제라면문제A도쉬운문제이다
그러므로모든 NP 문제도쉬운문제이다
- 20 - 한빛아카데미㈜
IT COOKBOOK
NP-Hard 증명의예
• 해밀토니안싸이클문제가 NP-Hard임은알고있다가정
• 이를이용해서 TSP 문제가 NP-Hard임을보일수있다
•해밀토니안싸이클- 그래프의모든정점을단한번씩방문하고 돌아오는경로
•해밀토니안싸이클문제- 주어진그래프에서해밀토니안싸이클이존재하는가?
- 21 - 한빛아카데미㈜
IT COOKBOOK
• 해밀토니안싸이클문제의 instance(사례) A를아래와같이 TSP
문제의 instance B로다항식시간에변환한다
1
1
1
1
1
∞
해밀토니안 싸이클 문제의 instance TSP 문제의 instance
변환
Instance A가해밀토니안싸이클을갖는다
Instance B가길이 4 이하인해밀토니안싸이클을갖는다
(그래프의크기가 n이면 4 대신 n)
그러므로 TSP는 NP-Hard이다.
Vertex 수와일치
- 22 - 한빛아카데미㈜
IT COOKBOOK
GSAT
3SAT
VERTEX-COVER
CLIQUE
SAT
SUBSET-SUM
HAM-CYCLE
TSP
≤p≤p
≤p
≤p
≤p
HAM-PATH
≤p ≤p
HAM-PATH-2-POINTS
≤p
≤p
NP-Complete
문제의초기역사
- 23 - 한빛아카데미㈜
IT COOKBOOK
직관과배치되는 NP-Complete 문제의예
• Shortest path
– 그래프의정점 s에서 t로가는 shortest path는간단히구할수있다
• Longest path
– 그래프의정점 s에서 t로가는 longest path는간단히구할수없다
– NP-Complete
얼핏비슷해보이지만위두문제의난이도는천지차이다!
(지금까지의연구결과로는)
- 24 - 한빛아카데미㈜
IT COOKBOOK
• Longest Path 문제– 주어진그래프에서 vertex s에서 t로가는길이 k 이상인 simple
path가존재하는가?
• 두점사이해밀토니안경로문제– 주어진그래프에서정점 s에서 t에이르는해밀토니안경로가존재하는가?
– NP-Complete이라고알려져있음
- 25 - 한빛아카데미㈜
IT COOKBOOK
HAM-PATH-2-POINTS 문제의 instance LONGEST-PATH 문제의 instance
변환
1
1
1
1
1
1
1
• 두점사이해밀토니안경로문제의 instance A로부터Longest Path 문제의 instance B로다항식시간변환
Instance A가두점 s와 t사이에해밀토니안경로를갖는다
Instance B가두점 s와 t 사이에길이 4 이상인 (사실은정확히
4) 단순경로를갖는다 (그래프의크기가 n이면 4 대신 n-1)
그러므로 Longest Path 문제는 NP-Hard이다.
핵심에집중하기위해성질 1은일부러누락.
추가로성질 1을증명해서 NP-Complete임을보이는것은매우간단하다.
- 26 - 한빛아카데미㈜
IT COOKBOOK
CLIQUE
• 입력
– 그래프 G = (V, E), 양의정수 K
• 질문
– 그래프 G에크기 K인 Complete subgraph가존재하는가?
• CLIQUE은 NP-Complete이다
- 27 - 한빛아카데미㈜
IT COOKBOOK
x1 x2 x3
x3
x2
x1
x4
x3
x2
( x1 ∨ x2 ∨ x3 )
( x1 ∨ x2 ∨ x3 ) ( x2 ∨ x3 ∨ x4 )
3SAT CLIQUE임을 증명하기위한 그림≤p
- 28 - 한빛아카데미㈜
IT COOKBOOK
NP 이론의유용성
• 어떤문제가 NP-Complete/Hard임이확인되면
쉬운알고리즘을찾으려는헛된노력은일단중지한다
주어진시간예산내에서최대한좋은해를찾는알고리즘 (heuristic) 개발에집중한다
Remind: 때로는어떤것이불가능하다는사실이유용할때도있다.
-- 레오나드레빈
- 29 - 한빛아카데미㈜
IT COOKBOOK
P
NP P=NP
(a) (b)
P와 NP의포함관계
위 (a)인지 (b)인지는아직밝혀지지않음.
(a)일 것이라 강력히 추정됨. 백만불의 상금이 걸려 있다.
- 30 - 한빛아카데미㈜
IT COOKBOOK
NP
P
NP-Hard
NP-Complete
NP와 NP-Complete, NP-Hard의관계
P 부분은추정
- 31 -
IT COOKBOOK
한빛미디어㈜
Thank you