31
http://www.hanbit.co.kr 쉽게 배우는 알고리즘 11 . NP - 완비 NP - Completeness

쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

  • Upload
    others

  • View
    8

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

http://www.hanbit.co.kr

쉽게 배우는 알고리즘

11장. NP-완비NP-Completeness

Page 2: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 2 -

IT COOKBOOK

한빛아카데미㈜

NP-완비NP-Completeness

나는 그저 NP-완비 이론이 흥미로운 발상이라고만 생각했다.

그것이 지닌 잠재적 영향력은 제대로 인식하지 못했다.

-스티븐 쿡

때로는 어떤 것이 불가능하다는 사실이 유용할 때도 있다.

-레오나드 레빈

Page 3: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 3 -

IT COOKBOOK

한빛아카데미㈜

학습목표

• P와 NP를 구별한다.

• Yes/No 문제와 최적화 문제의 차이를 이해한다.

• NP-완비의 의미를 이해한다.

• NP-완비 증명 방법을 이해한다.

• NP-완비라는 사실이 판명됨으로써 얻을 수있는 이득을 이해한다.

Page 4: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 4 - 한빛아카데미㈜

IT COOKBOOK

(Unsolvable)

풀 수 없는 문제들

(Undecidable)

(Solvable)

(Decidable)

풀 수 있는 문제들

현실적인 시간내에풀 수 없는 문제들

현실적인 시간내에풀 수 있는 문제들

정지 문제힐버트의 10번째 문제…

Presburger 산술…

최소 신장 트리 문제최단 거리 문제…

NP-완비

여기에 속할 것이라고강력히 추정!

문제의종류

Page 5: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 5 - 한빛아카데미㈜

IT COOKBOOK

현실적인시간

• 다항식시간을의미

– 입력의크기 n의다항식으로표시되는시간

– 예: 3nk + 5nk-1 + …

• 비다항식시간의예

– 지수시간• 예: 2n

– 계승시간• 예: n!

Page 6: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 6 - 한빛아카데미㈜

IT COOKBOOK

Yes/No 문제와최적화문제

• Yes/No 문제

– 예: 그래프 G에서길이가 k 이하인해밀토니안경로가존재하는가?

• 최적화문제

– 예: 그래프 G에서길이가가장짧은해밀토니안경로는얼마인가?

두문제는동전의앞뒷면

Page 7: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 7 - 한빛아카데미㈜

IT COOKBOOK

NP-Complete 이론

• Yes/No 의대답을요구하는문제에국한– 그렇지만최적화문제와밀접한관계를갖고있다

• 문제를현실적인시간에풀수있는가에관한이론

• 거대한군을이룸– 이중한문제만현실적인시간에풀면다른모든것도저절로풀리는논리적연결관계를갖고있다

Page 8: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 8 - 한빛아카데미㈜

IT COOKBOOK

현재까지의연구결과

• 어떤문제가 NP-Complete임이확인되면

지금까지의연구결과로는이문제를현실적인시간에풀수있는방법은아직없다

• 그렇지만이사실이아직증명은되지않음

• 클레이수학연구소의 21세기 7대백만불짜리문제중의하나– P=NP 문제

Page 9: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 9 - 한빛아카데미㈜

IT COOKBOOK

NP-Complete에관한비유

1. 나는 답을 구할 수가 없습니다. 아마 나는 멍청한 모양입니다.

상사가아주어려운문제를해결하라고지시했다

Page 10: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 10 - 한빛아카데미㈜

IT COOKBOOK

2. 나는 답을 구할 수가 없습니다. 왜냐하면 이 문제는 답이 없어요.

Page 11: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 11 - 한빛아카데미㈜

IT COOKBOOK

3. 나는 답을 구할 수가 없습니다. 그렇지만 저렇게 수많은 천재들도이 문제를 해결할 수 없습니다.

NP-Complete 이론의상황을비유적으로보여줌

Page 12: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 12 - 한빛아카데미㈜

IT COOKBOOK

준비: 논리적얼개

문제1: 정수 x=x1x2…xn은 3의배수인가?

문제2: x1+x2+…+xn은 3의배수인가?

위두문제의대답은같다 Yes/No 대답이일치한다

쉽다 = 현실적인시간에풀수있다

문제 2가쉬우면, 문제 1도쉽다

Page 13: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 13 - 한빛아카데미㈜

IT COOKBOOK

문제 A 문제 B다항식 시간 변환

Yes Yes

No No

• 상황

– 문제 B는쉽다

– 문제A는 Yes/No 대답이일치하는문제 B로쉽게변형된다

문제A도쉬운가?

쉽다 = 현실적인시간에풀수있다

Page 14: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 14 - 한빛아카데미㈜

IT COOKBOOK

Poly-Time Reduction (다항식시간변환)

• 문제A의사례 α를문제 B의사례 β로바꾸되아래성질을만족하면 polynomial-time

reduction이라하고, 이를 α ≤ β 로표기한다

① 변환은다항식시간에이루어진다

② 두사례의답은일치한다

p

Page 15: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 15 - 한빛아카데미㈜

IT COOKBOOK

다항식 시간 변환α β 문제 B를 푸는

알고리즘

Yes

No

Yes

No

문제 A를 푸는 알고리즘

1. 문제A를다항식시간에문제 B로변환한다

2. 변환된문제 B를푼다

3. 문제 B의대답이 Yes이면 Yes, No이면 No를리턴한다

문제 B가쉬운문제라면문제A도쉬운문제이다

Page 16: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 16 - 한빛아카데미㈜

IT COOKBOOK

P와 NP

• P

– Polynomial

– 다항식시간에 Yes 또는 No 대답을할수있으면 P

• NP

– Nondeterministic Polynomial

– Non-Polynomial의준말이아님!

– Yes 대답이나오는해를제공했을때, 이것이 Yes 대답을내는해라는사실을다항식시간에확인해줄수있으면 NP

• 어떤문제가 NP임을보이는것은대부분아주쉽다– NP-Complete 증명에서형식적으로확인하고넘어가는정도

Page 17: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 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 대답이나오는해를 제공하면이를다항식시간에확인할수있으면됨

Page 18: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 18 - 한빛아카데미㈜

IT COOKBOOK

정리 1

• 문제 L이다음의성질을만족해도 NP-hard이다

- 알려진임의의 NP- Hard 문제A로부터문제 L로다항식시간에변환가능하다

다항식 시간 변환α β 문제 L을 푸는알고리즘

Yes

No

Yes

No

문제 A를 푸는 알고리즘

만일문제 L을쉽게풀수있다면, 문제A도쉽게풀수있다

그러므로모든 NP 문제를쉽게풀수있다

Page 19: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 19 - 한빛아카데미㈜

IT COOKBOOK

다항식 시간 변환α β 문제 L을 푸는

알고리즘

Yes

No

Yes

No

문제 A를 푸는 알고리즘

만일문제 L이쉬운문제라면문제A도쉬운문제이다

그러므로모든 NP 문제도쉬운문제이다

Page 20: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 20 - 한빛아카데미㈜

IT COOKBOOK

NP-Hard 증명의예

• 해밀토니안싸이클문제가 NP-Hard임은알고있다가정

• 이를이용해서 TSP 문제가 NP-Hard임을보일수있다

•해밀토니안싸이클- 그래프의모든정점을단한번씩방문하고 돌아오는경로

•해밀토니안싸이클문제- 주어진그래프에서해밀토니안싸이클이존재하는가?

Page 21: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 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 수와일치

Page 22: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 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

문제의초기역사

Page 23: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 23 - 한빛아카데미㈜

IT COOKBOOK

직관과배치되는 NP-Complete 문제의예

• Shortest path

– 그래프의정점 s에서 t로가는 shortest path는간단히구할수있다

• Longest path

– 그래프의정점 s에서 t로가는 longest path는간단히구할수없다

– NP-Complete

얼핏비슷해보이지만위두문제의난이도는천지차이다!

(지금까지의연구결과로는)

Page 24: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 24 - 한빛아카데미㈜

IT COOKBOOK

• Longest Path 문제– 주어진그래프에서 vertex s에서 t로가는길이 k 이상인 simple

path가존재하는가?

• 두점사이해밀토니안경로문제– 주어진그래프에서정점 s에서 t에이르는해밀토니안경로가존재하는가?

– NP-Complete이라고알려져있음

Page 25: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 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임을보이는것은매우간단하다.

Page 26: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 26 - 한빛아카데미㈜

IT COOKBOOK

CLIQUE

• 입력

– 그래프 G = (V, E), 양의정수 K

• 질문

– 그래프 G에크기 K인 Complete subgraph가존재하는가?

• CLIQUE은 NP-Complete이다

Page 27: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 27 - 한빛아카데미㈜

IT COOKBOOK

x1 x2 x3

x3

x2

x1

x4

x3

x2

( x1 ∨ x2 ∨ x3 )

( x1 ∨ x2 ∨ x3 ) ( x2 ∨ x3 ∨ x4 )

3SAT CLIQUE임을 증명하기위한 그림≤p

Page 28: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 28 - 한빛아카데미㈜

IT COOKBOOK

NP 이론의유용성

• 어떤문제가 NP-Complete/Hard임이확인되면

쉬운알고리즘을찾으려는헛된노력은일단중지한다

주어진시간예산내에서최대한좋은해를찾는알고리즘 (heuristic) 개발에집중한다

Remind: 때로는어떤것이불가능하다는사실이유용할때도있다.

-- 레오나드레빈

Page 29: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 29 - 한빛아카데미㈜

IT COOKBOOK

P

NP P=NP

(a) (b)

P와 NP의포함관계

위 (a)인지 (b)인지는아직밝혀지지않음.

(a)일 것이라 강력히 추정됨. 백만불의 상금이 걸려 있다.

Page 30: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 30 - 한빛아카데미㈜

IT COOKBOOK

NP

P

NP-Hard

NP-Complete

NP와 NP-Complete, NP-Hard의관계

P 부분은추정

Page 31: 쉽게 배우는 알고리즘 강의노트 - Chonbuknlp.chonbuk.ac.kr/AL/ch11.pdf · 2016-02-29 · - 2 - IT COOKBOOK 한빛아카데미㈜ NP-완비 NP-Completeness 나는그저NP-완비이론이흥미로운발상이라고만생각했다

- 31 -

IT COOKBOOK

한빛미디어㈜

Thank you