11장. NP-완비NP-Completeness

Slides:



Advertisements
Similar presentations
알고리즘 개론 :15 시작 장준영 1. 상/중/하상/중/하 상 – 나는 알고리즘을 매우 잘 알고, 좀 더 어려운 난 이도의 문제들을 보고 싶다. 중 – 어느정도 알고리즘을 구현해본 적이 있다. 하 – 알고리즘의 A 조차 모른다. 2.
Advertisements

지금 이 문제만 해결되면 행복할 것 같아요 우리는 하나님께 문제 해결을 놓고 기 도해요 지금 겪고 있는 이 문제가 빨리 지나갔으면 좋겠어요 우리 렘넌트의 장애만 해결되면 행복할 것 같아요 이것만 해결되면 특별한 문제 거리가 없을 것 같아요.
Add Your Text 5. 지수함수와 로그함수 1. 지수함수 2. 로그함수 · 지수함수와 그 그래프 · 지수방정식과 지수부등식 · 로그 함수와 그 그래프 · 로그방정식과 로그부등식.
Lecture 9 프로그램 실행의 비용 computation cost – 시간 time, 메모리 memory – tractable vs intractable problems.
Ch.09 계산복잡도와 다루기 힘든 정도 (P & NP)
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
네트워크 프로그래밍 및 실습.
Ch.09 계산복잡도와 다루기 힘든 정도 (P & NP)
되추적(Backtracking).
P150 문제를 프로그래밍 할 것 Source file (헤더파일포함), 실행화면 (학번_이름_1.txt)
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Error Detection and Correction
매듭 이론 Lord Kelvin , Tait ( ), C.N. Little
Simulating Boolean Circuits on a DNA Computer
보고서 #5(제출기한: 10/14) 다음 문제를 해결하시오.
Ch.09 계산복잡도와 다루기 힘든 정도 (P & NP)
부분집합의 합 구하기 문제 부분집합의 합 구하기(Sum-of-Subsets) 문제
Ⅲ. 이 차 방 정 식 1. 이차방정식과 그 풀이 2. 근 의 공 식.
CHAP 10:그래프 (2) 순천향대학교 하상호.
프로그래밍 개요
피타고라스 정리 Esc.
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
문제 2명의 사형수가 있다. 둘에게는 검정색 모자와 흰색 모자를 임의로 씌우는데, 자기가 쓴 모자의 색은 절대로 알 수가 없다. 서로 상대의 모자색만을 볼 수 있고, 이들이 살기 위해선 자신의 쓴 색의 모자를 맞춰야 한다. 단, 둘 중 한명만이라도 자신이 쓴 모자의 색을.
쉽게 배우는 알고리즘 7장. 상호 배타적 집합의 처리.
8장. 상호 배타적 집합의 처리.
주요 내용 왜 그래프인가? 기본 용어 그래프의 표현 오일러(Euler) 그래프와 해밀턴(Hamilton) 그래프
쉽게 배우는 알고리즘 12장. 상태공간 트리의 탐색.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
수학10-나 1학년 2학기 Ⅳ.삼각함수 1. 사인법칙과 코사인법칙 (11/12) 삼각함수 수업계획 수업활동.
Lab #5. Capacitor and inductor
에어 조건문.
고체역학 2 - 기말고사 1. 단면이 정사각형이고 한번의 길이가 a 일 때, 최대굽힘응력과 최대전단응력의 비를 구하라(10).
P 등속 직선 운동 생각열기 – 자동차를 타고 고속도로를 달릴 때, 속력계 바늘이 일정한 눈금을 가리키며 움직이지 않을 때가 있다. 이 때 자동차의 속력은 어떠할까? ( 속력이 일정하다 .)
학습 주제 p 운동 에너지란 무엇일까?(2).
Fitting / Matrix / Excel
⊙ 이차방정식의 활용 이차방정식의 활용 문제 풀이 순서 (1)문제 해결을 위해 구하고자 하는 것을 미지수 로 정한다.
수학 2 학년 2 학기 도형의 성질 > 삼각형의 성질 ( 2 / 3 ) 삼각형의 외심 성질.
수학10-나 1학년 2학기 Ⅳ.삼각함수 3. 삼각함수의 그래프(7/12) 삼각함수 수업계획 수업활동.
수학10-나 1학년 2학기 Ⅳ.삼각함수 4. 삼각방정식과 삼각부등식(9/12) 삼각함수 수업계획 수업활동.
01 로그의 정의 ⑴ 일 때, 양수 에 대하여 을 만족시키는 실수 는 오직 하나 존재한다. 이때 를
수학10-나 1학년 2학기 Ⅱ.부등식의 영역 2. 연립부등식의 영역 (3/5) 부등식 영역 수업계획 수업활동.
알고리즘 알고리즘이란 무엇인가?.
13장. NP-완비NP-Completeness
알고리즘 강의 슬라이드 5 되추적 Backtracking
약식 진리표를 이용한 타당성 증명 진리표 그리기 방법의 한계
2장. 일차원에서의 운동 2.1 평균 속도 2.2 순간 속도 2.3 분석 모형: 등속 운동하는 입자 2.4 가속도
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
햄버거가 만들어내는 사회·생태적 문제는?.
Chapter 1 단위, 물리량, 벡터.
Support Vector Machine
5장. 선택 알고리즘.
Chapter 1 단위, 물리량, 벡터.
행성을 움직이는 힘은 무엇일까?(2) 만유인력과 구심력 만유인력과 케플러 제3법칙.
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
표지 수학8-나 2학년 2학기  Ⅱ.도형의 성질 (4) 삼각형의 내심과 외심 (9/20) 삼각형의 내심.
부분집합의 합 구하기 문제 부분집합의 합 구하기(Sum-of-Subsets) 문제
문장제 쉽게 풀기 -최소공배수 응용 문제.
쉽게 배우는 알고리즘 12장. 상태공간 트리의 탐색
수치해석 ch3 환경공학과 김지숙.
• 수학 • 6학년 나단계 • 7. 연비>3/9 두 비의 관계를 연비로 나타내기 수업활동 수업계획.
수학 2 학년 1 학기 문자와 식 > 미지수가 2개인 연립방정식 ( 4 / 4 ) 계수가 소수 분수인 연립방정식.
수학10-나 1학년 2학기 Ⅱ.부등식의 영역 3. 부등식의 영역에서 최대, 최소(5/5) 부등식 영역 수업계획 수업활동.
수학 2 학년 1 학기 문자와 식 > 미지수가 2개인 연립방정식 ( 1 / 1 ) 연립일차방정식의 해.
수학 2 학년 1 학기 문자와 식 > 부 등 식 ( 1 / 2 ) 일차부등식의 풀이.
수학 2 학년 1 학기 문자와 식 > 미지수가 2개인 연립방정식 ( 3 / 4 ) 대입법으로 풀기.
컴퓨터는 어떻게 덧셈, 뺄셈을 할까? 2011년 10월 5일 정동욱.
(Permutations and Combinations)
교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)
문제의 답안 잘 생각해 보시기 바랍니다..
피보나치수열에 대하여 한림초 5학년 신동오.
Presentation transcript:

11장. NP-완비NP-Completeness 쉽게 배우는 알고리즘 11장. NP-완비NP-Completeness

NP-완비NP-Completeness 그것이 지닌 잠재적 영향력은 제대로 인식하지 못했다. -스티븐 쿡 때로는 어떤 것이 불가능하다는 사실이 유용할 때도 있다. -레오나드 레빈

학습목표 P와 NP를 구별한다. Yes/No 문제와 최적화 문제의 차이를 이해한다. NP-완비의 의미를 이해한다.

문제의 종류 정지 문제 힐버트의 10번째 문제 … 풀 수 없는 문제들 (Unsolvable) (Undecidable) 여기에 속할 것이라고 강력히 추정! Presburger 산술 … 현실적인 시간내에 풀 수 없는 문제들 NP-완비 풀 수 있는 문제들 (Solvable) 최소 신장 트리 문제 최단 거리 문제 … (Decidable) 현실적인 시간내에 풀 수 있는 문제들

현실적인 시간 다항식 시간을 의미 비다항식 시간의 예 입력의 크기 n의 다항식으로 표시되는 시간 예: 3nk + 5nk-1 + … 비다항식 시간의 예 지수 시간 예: 2n 계승시간 예: n!

Yes/No 문제와 최적화 문제 Yes/No 문제 최적화 문제 예: 그래프 G에서 길이가 k 이하인 해밀토니안 경로가 존재하는가? 최적화 문제 예: 그래프 G에서 길이가 가장 짧은 해밀토니안 경로는 얼마인가? 두 문제는 동전의 앞뒷면

NP-Complete 이론 Yes/No 의 대답을 요구하는 문제에 국한 문제를 현실적인 시간에 풀 수 있는가에 관한 이론 그렇지만 최적화 문제와 밀접한 관계를 갖고 있다 문제를 현실적인 시간에 풀 수 있는가에 관한 이론 거대한 군을 이룸 이 중 한 문제만 현실적인 시간에 풀면 다른 모든 것도 저절로 풀리는 논리적 연결관계를 갖고 있다

현재까지의 연구결과 어떤 문제가 NP-Complete임이 확인되면 지금까지의 연구결과로는 이 문제를 현실적인 시간에 풀 수 있는 방법은 아직 없다 그렇지만 이 사실이 아직 증명은 되지 않음 클레이수학연구소의 21세기 7대 백만불짜리 문제 중의 하나 P=NP 문제

NP-Complete에 관한 비유 상사가 아주 어려운 문제를 해결하라고 지시했다 1. 나는 답을 구할 수가 없습니다. 아마 나는 멍청한 모양입니다.

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

NP-Complete 이론의 상황을 비유적으로 보여줌 3. 나는 답을 구할 수가 없습니다. 그렇지만 저렇게 수많은 천재들도 이 문제를 해결할 수 없습니다.

준비: 논리적 얼개 문제1: 정수 x=x1x2…xn은 3의 배수인가? 문제2: x1+x2+…+xn은 3의 배수인가? 쉽다 = 현실적인 시간에 풀 수 있다 문제1: 정수 x=x1x2…xn은 3의 배수인가? 문제2: x1+x2+…+xn은 3의 배수인가? 위 두 문제의 대답은 같다 Yes/No 대답이 일치한다 문제 2가 쉬우면, 문제 1도 쉽다

상황 문제 A도 쉬운가? 문제 B는 쉽다 문제 A는 Yes/No 대답이 일치하는 문제 B로 쉽게 변형된다 문제 A 쉽다 = 현실적인 시간에 풀 수 있다 문제 A 다항식 시간 변환 문제 B Yes Yes No No 문제 A도 쉬운가?

Poly-Time Reduction (다항식 시간 변환) 문제 A의 사례 α를 문제 B의 사례 β로 바꾸되 아래 성질을 만족하면 polynomial-time reduction이라 하고, 이를 α ≤ β 로 표기한다 변환은 다항식 시간에 이루어진다 두 사례의 답은 일치한다 p

문제 B의 대답이 Yes이면 Yes, No이면 No를 리턴한다 다항식 시간 변환 α β 문제 B를 푸는 알고리즘 Yes No 문제 A를 푸는 알고리즘 문제 A를 다항식 시간에 문제 B로 변환한다 변환된 문제 B를 푼다 문제 B의 대답이 Yes이면 Yes, No이면 No를 리턴한다 문제 B가 쉬운 문제라면 문제 A도 쉬운 문제이다

P와 NP P NP 어떤 문제가 NP임을 보이는 것은 대부분 아주 쉽다 Polynomial 다항식 시간에 Yes 또는 No 대답을 할 수 있으면 P NP Nondeterministic Polynomial Non-Polynomial의 준말이 아님! Yes 대답이 나오는 해를 제공했을 때, 이것이 Yes 대답을 내는 해라는 사실을 다항식 시간에 확인해줄 수 있으면 NP 어떤 문제가 NP임을 보이는 것은 대부분 아주 쉽다 NP-Complete 증명에서 형식적으로 확인하고 넘어가는 정도 ~11/12/2007

NP-Complete/Hard 다음 성질을 만족하면 문제 L은 NP-Hard이다 NP : Yes 대답이 나오는 해를 제공하면 이를 다항식 시간에 확인할 수 있으면 됨 다음 성질을 만족하면 문제 L은 NP-Hard이다 모든 NP 문제가 L로 다항식 시간에 변환가능하다 다음의 두 성질을 만족하면 문제 L은 NP-Complete이다 L은 NP이다. L은 NP-Hard이다. NP-Complete는 NP-Hard의 일부이므로 NP-Complete인 문제를 NP-Hard이라고 불러도 맞다 NP-Complete의 성질 1)은 대부분 자명하므로 핵심에 집중하기 위해 NP-Hard에 초점을 맞추자

정리 1 문제 L이 다음의 성질을 만족해도 NP-hard이다 알려진 임의의 NP- Hard 문제 A로부터 문제 L로 다항식 시간에 변환가능하다 Yes Yes 다항식 시간 변환 문제 L을 푸는 알고리즘 α β No No 문제 A를 푸는 알고리즘 만일 문제 L을 쉽게 풀 수 있다면, 문제 A도 쉽게 풀 수 있다 그러므로 모든 NP 문제를 쉽게 풀 수 있다

만일 문제 L이 쉬운 문제라면 문제 A도 쉬운 문제이다 다항식 시간 변환 α β 문제 L을 푸는 알고리즘 Yes No 문제 A를 푸는 알고리즘 만일 문제 L이 쉬운 문제라면 문제 A도 쉬운 문제이다 그러므로 모든 NP 문제도 쉬운 문제이다

NP-Hard 증명의 예 해밀토니안 싸이클 문제가 NP-Hard임은 알고 있다 가정 이를 이용해서 TSP 문제가 NP-Hard임을 보일 수 있다 해밀토니안 싸이클 - 그래프의 모든 정점을 단 한번씩 방문하고 돌아오는 경로 해밀토니안 싸이클 문제 - 주어진 그래프에서 해밀토니안 싸이클이 존재하는가?

해밀토니안 싸이클 문제의 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 수와 일치

NP-Complete 문제의 초기 역사 GSAT ≤p ≤p SAT 3SAT ≤p ≤p CLIQUE SUBSET-SUM ≤p VERTEX-COVER ≤p ≤p ≤p HAM-CYCLE HAM-PATH HAM-PATH-2-POINTS ≤p TSP

직관과 배치되는 NP-Complete 문제의 예 Shortest path 그래프의 정점 s에서 t로 가는 shortest path는 간단히 구할 수 있다 Longest path 그래프의 정점 s에서 t로 가는 longest path는 간단히 구할 수 없다 NP-Complete 얼핏 비슷해 보이지만 위 두 문제의 난이도는 천지차이다! (지금까지의 연구 결과로는)

Longest Path 문제 두 점 사이 해밀토니안 경로 문제 주어진 그래프에서 vertex s에서 t로 가는 길이 k 이상인 simple path가 존재하는가? 두 점 사이 해밀토니안 경로 문제 주어진 그래프에서 정점 s에서 t에 이르는 해밀토니안 경로가 존재하는가? NP-Complete이라고 알려져 있음

두 점 사이 해밀토니안 경로 문제의 instance A로부터 Longest Path 문제의 instance B로 다항식 시간 변환 HAM-PATH-2-POINTS 문제의 instance LONGEST-PATH 문제의 instance 변환 1 Instance A가 두 점 s와 t사이에 해밀토니안 경로를 갖는다  Instance B가 두 점 s와 t 사이에 길이 4 이상인 (사실은 정확히 4) 단순 경로를 갖는다 (그래프의 크기가 n이면 4 대신 n-1) 그러므로 Longest Path 문제는 NP-Hard이다. 핵심에 집중하기 위해 성질 1은 일부러 누락. 추가로 성질 1을 증명해서 NP-Complete임을 보이는 것은 매우 간단하다.

CLIQUE 입력 질문 CLIQUE은 NP-Complete이다 그래프 G = (V, E), 양의 정수 K 그래프 G에 크기 K인 Complete subgraph가 존재하는가? CLIQUE은 NP-Complete이다 ~11/14/2007

3SAT CLIQUE임을 증명하기 위한 그림 ≤p ( x1 ∨ x2 ∨ x3 ) x1 x2 x3 x1 x2

NP 이론의 유용성 어떤 문제가 NP-Complete/Hard임이 확인되면 쉬운 알고리즘을 찾으려는 헛된 노력은 일단 중지한다 주어진 시간 예산 내에서 최대한 좋은 해를 찾는 알고리즘 (heuristic) 개발에 집중한다 Remind: 때로는 어떤 것이 불가능하다는 사실이 유용할 때도 있다. -- 레오나드 레빈

P와 NP의 포함 관계 P=NP NP P (b) (a) 위 (a)인지 (b)인지는 아직 밝혀지지 않음. 백만불의 상금이 걸려 있다.

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

Thank you