np complete 예제
요인화를 신속하게 테스트할 수 있으므로 NP에 문제가 있습니다. 요인화를 찾는 것은 어려운 것 같다, 우리는 P에없을 수 있습니다 생각합니다. 그러나 NP 완료되지 않았다는 몇 가지 강력한 증거가 있습니다. 그것은 어려움에 P와 NP 완료 사이의 문제의 (매우 드문) 예 중 하나가 될 것으로 보인다. 컴퓨터에서 모든 계산 문제를 해결할 수 있습니까? 무제한 으로도 알고리즘으로 해결할 수없는 계산 문제가 있습니다. 예를 들어 튜링 중지 문제 (프로그램과 입력주어진, 프로그램이 결국 해당 입력으로 실행할 때 중지 여부, 또는 영원히 실행됩니다). 앨런 튜링은 가능한 모든 프로그램 입력 쌍에 대한 중단 문제를 해결하기 위한 일반적인 알고리즘이 존재할 수 없음을 증명했습니다. 증거의 핵심 부분은, 튜링 기계는 컴퓨터와 프로그램의 수학적 정의로 사용되었다 (소스 정지 문제). NP 완료 문제의 상태는 또 다른 실패 이야기이며, NP 완전한 문제는 그 상태를 알 수없는 문제입니다. NP 완전한 문제에 대해 아직 다항식 시간 알고리즘이 발견되지 않았으며, 그 중 어느 것에도 다항식 시간 알고리즘이 존재하지 않는다는 것을 증명할 수 있는 사람은 아무도 없습니다. 흥미로운 부분은 NP 전체 문제 중 하나가 다항식 시간에 해결 될 수 있다면 모든 문제를 해결할 수 있다는 것입니다. 도널드 크누스에 따르면, 이름 “NP 완료”는 유명한 교과서 “컴퓨터 알고리즘의 디자인 및 분석”에서 알프레드 아호, 존 홉크로프트와 제프리 울만에 의해 대중화되었다. 그는 이론적 컴퓨터 과학 커뮤니티에서 실시한 여론 조사 결과에 따라 책에 대한 갤리 증거의 변화를 도입했다고 보고합니다(“다각적으로 완성된”).
[7] 설문 조사에서 만든 다른 제안 [8] 포함 “헤라클레스”, “강력한”, 쿡의 명예에 Steiglitz의 “하드 삶은”, 그리고 셴 린의 약어 “PET”, 이는 “아마 기하 급수적 인 시간”에 대한 서 있지만, P 대 NP 문제가 갔다 방법에 따라, 수 “확률적으로 기하급수적 시간” 또는 “이전에 지수시간”을 지니라. [9] 예를 들어, 해밀턴 사이클 문제를 고려하십시오. 지정된 그래프에 각 정점을 정확히 한 번 방문하는 주기가 있습니까? 다음은 가장 긴 경로를 서브루틴으로 사용하는 솔루션입니다: NP 완료라는 증거를 완료하려면 NP에서 다른 어떤 것보다 더 어렵다는 것을 보여줘야 합니다. NP에 문제가 있다고 가정해 보겠습니다. 즉, A에 대한 솔루션을 테스트하는 프로그램 PA를 작성하고 주어진 솔루션이 실제로 주어진 문제에 대한 해결책인지 여부에 따라 다항식 시간 p(n) 내에서 예 또는 아니요 로 중지할 수 있습니다. 그런 다음 수정 된 프로그램 PA`를 쉽게 형성하여 대답없이 중단 될 때마다 무한 루프를 입력 할 수 있습니다. 바인딩된 중단을 해결할 수 있다면 경계 중단을 위한 서브루틴에 PA`와 p(n)를 인수로 전달하여 A를 해결할 수 있습니다. 그래서 A < 경계 중단. 그러나이 인수는 NP의 모든 문제에 대해 작동하므로 경계 중지는 NP 완료입니다. "NP 완료" 문제의 대표적인 예는 여행 세일즈맨 문제입니다. 특정 다각형이 매듭이 아님을 증명하는 한 가지 방법은 다각형이 경계로 서피스를 형성하는 삼각형 컬렉션을 찾는 것입니다.그러나 기하급수적으로 많은 새 정점을 추가하지 않고 항상 가능한 것은 아니며 가능한 경우 NP-complete에서 이러한 삼각형을 찾을 수 있습니다. 상기에 주어진 NP-complete의 정의에서, 용어 감소는 다항식 시간 다원 감소의 기술적 의미에서 사용되었다. 또한 많은 매듭에 대해 잘 작동하지만 모든 매듭에 대해 작동하는 것으로 알려져 있지 않은 매듭 외부 공간에 대한 비 유클리드 기하학을 찾는 것에 기초한 몇 가지 추론이 있습니다. 따라서 이것은 이론적으로 P에 있는 것으로 알려져 있지 않더라도 실제로 효율적으로 해결될 수 있는 문제의 드문 예 중 하나입니다. NP 완료 문제에 대한 해결 방법을 “신속하게” 확인할 수 있지만 솔루션을 신속하게 찾을 수 있는 방법은 알려져 있지 않습니다.