P ≠ NP를 증명하는 것이 P = NP를 증명하는 것보다 어렵습니까?


20

P 대 NP 문제에 대한 두 가지 가능성, P = NP 및 P NP의 가능성을 고려하십시오 .

Q를 알려진 NP-hard 문제 중 하나로하자. P = NP를 증명하려면 Q에 대해 단일 다항식 시간 알고리즘 A를 설계하고 A가 Q를 올바르게 해결한다는 것을 증명해야합니다.

P NP 를 증명하려면 다항식 시간 알고리즘이 Q를 해결 하지 않음 을 보여 주어야합니다. 즉, 모든 다항식 시간 알고리즘 을 배제해야 합니다.

나는 사람들이 이것이 두 번째 과제를 더 어렵게한다고 말합니다 (실제로 가정).

증명 P = NP가 P를 증명하는 것보다 쉬울 것 (P = NP가 있다고 가정)라고 생각하는 이유가 순이익 (P 그 가정 NP)?


31
이 질문은 잘못된 것입니다. 진술 중 하나만이 사실 일 수 있기 때문에, 증명할 수 없습니다. 다른 하나 증명할 있으며, 그렇다면 틀린 것보다 증명하는 것이 더 쉽습니다. Ergo, 나는 당신이 어떤 종류의 대답을 찾고 있는지 전혀 모른다. 커뮤니티 투표하세요! 이것에 전혀 대답 할 수 있습니까?
Raphael

10
@Raphael 나는 동의하지 않는다. OP의 질문을 "P = NP가 참이면 P ≠ NP가 참이면 P ≠ NP를 증명하는 것보다 증명하기가 더 쉬울까요?"라고 해석 할 수 있습니다. 나는 OP가 두 가지 모두 사실이어야한다는 제안으로 해석되도록 진지하게 의도하지 않았다고 생각합니다.
아나 테마

3
FWIW, 나에게 a) @ TheAnathema의 질문에 대한 해석은 정확하고 b) 그것은 의미있는 질문입니다. 다시 말해, P = NP이고 증거가 발견되면 그 증거는 아마도 NP- 완전 문제에 대한 다항식 시간 알고리즘의 형태 일 것입니다. 다른 한편으로, P ≠ NP라는 가정으로 시작한다면, 증명을 찾기 위해 어떤 종류의 기술을 이용할 수 있으며, 그러한 증명이 잠재적으로 어떤 형태를 취합니까?
JohannesD


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Gilles 'SO- 악마 그만해'

답변:


25

라파엘이 설명 하듯이,이 질문은 P = NP와 P ≠ NP 중 하나가 전혀 입증 될 수 없기 때문에 문제가되지 않습니다. 그러나 이론적 컴퓨터 과학에서도 몇 가지 형태로 비슷한 질문이 제기되는데, 그 중 가장 눈에 띄는 것은 근사 알고리즘 분야입니다 .

NP 하드 최적화 문제 (예 : 최대화)가 주어지면이를 얼마나 잘 근사 할 수 있는지 물을 수 있습니다. 가능한 근사치에 대한 상한을 증명하는 것은 P = NP와 유사하지만 가능한 근사치에 대한 하한을 증명하는 것은 P ≠ NP와 유사합니다. 전자는 후자보다 훨씬 쉽다. 실제로 상한을 증명하기 위해서는 근사 알고리즘을 만들어 분석해야합니다. 대조적으로, 알려진 모든 하한은 조건부입니다: P ≠ NP 인 경우에만 유효합니다 (실제로 P = NP 인 경우 모든 NP-hard 최적화 문제를 해결할 수 있음). 이러한 하한을 증명하기 위해 문제를 너무 잘 근사 할 수 있다면 NP-hard 문제에 대한 다항식 시간 알고리즘을 얻을 수 있음을 알 수 있습니다. 보통 이것은 PCP 정리의 복잡한 기술 기계를 통해 이루어집니다. 근사 경도 라고 알려진이 필드 는 전문가 만 접근 할 수 있으며 대부분의 근사 알고리즘보다 기술적으로 더 어렵습니다. 따라서이 경우 적어도 P = NP는 P ≠ NP보다 쉽습니다.


14
OP의 질문을 "P = NP가 참이면 P ≠ NP가 참이면 P ≠ NP를 증명하는 것보다 증명하기가 더 쉬울까요?"라고 해석 할 수 있습니다. OP가 둘 다 사실로 해석되도록 진지하게 의도하지 않았다고 생각합니다.
아나 테마

6
@ TheAnathema 나는 질문을 그런 식으로 해석해야한다고 생각합니다. 그러나 옵션 중 하나가 반드시 반대 사실이기 때문에 여전히 잘못된 입장입니다. 그 사실을 증명하는 어려움과 그 사실을 어떻게 비교할 수 있습니까?
David Richerby

@David, P = NP와 비교하여 P NP 를 증명하는 데 어려움이 있다는 주장은 전문가가 여러 번 가지고있는 것입니다. 합리적인 주장인지 묻는 것은 유효한 질문입니다. 반 상황의 어려움을 평가하는 것은 실제로 일반적입니다. 예를 들어 P NP 를 증명하는 데 어려움이 묻는 사람을 생각해보십시오 . P NP이면 이는 사실이 아닙니다. ==
Kaveh February

9

우리는 P = NP라는 간단한 증거의 가능성을 배제하지 않았습니다. 내일 누군가가 P- 시간의 NP- 완전 문제를 해결하는 알고리즘을 생각해 내면 세상이 바뀝니다.

다른 한편으로, 우리 P! = NP라는 간단한 증거의 가능성을 배제했습니다. 두 개의 서로 다른 복잡성 클래스가 공식적으로 불충분 한 것으로 입증되었음을 보여주는 일반적인 증명 기술. 이러한 세 가지 기술은 "산술", "자연적 증거"및 "상대성"(오라클이 사용중인 것을 신경 쓰지 않는)의 범주로 알려져 있습니다. 이러한 범주 중 3 가지에 해당하는 증명 기술은 P! = NP를 증명할 수 없음을 증명할 수 있습니다.

실제로, P! = NP를 증명하는 것은 잘 알려진 증명 기술의 새로운 적용이 아니라 새로운 종류의 증명 (다른 특성을 가진 새로운 기술)을 요구한다는 강력한 증거가 있습니다.


이제 P = NP 인 것으로 판명 될 수 있지만, P에서 NP- 완전 문제를 해결하는 알고리즘을 검증하는 것은 간단하지 않으며 P = NP를 증명하기 위해 새로운 증명 기술이 필요합니다. (P = NP 인 경우, 우리는 이미 기술적으로 P에서 NP- 하드 문제를 해결하는 알고리즘을 알고 있습니다. 상수 계수가 크기 때문에 실행하기에는 실용적이지 않습니다.)

기본적으로, 우리는 P! = NP를 증명하기 위해 사용할 수없는 것에 대해 많이 알고있는 반면, P = NP를 증명하기 위해 사용할 수없는 것에 대해서는 거의 알지 못합니다.


PNPP=NPP=NP

8

기본적으로 아이디어가 있습니다. 우리는 일반적으로 P! = NP라고 생각하지만 이러한 것들이 동등하지 않다는 것을 어떻게 증명할지는 모릅니다.

반대로 P = NP라면 지금까지 수십 개의 NP-complete 문제 중 하나를 해결하는 알고리즘을 찾았을 것입니다.

이것들은 매우 논쟁의 여지가 있지만 몇 문장으로 컴퓨터 과학자들 사이의 문화를 묘사합니다.

물론 P! = NP를 증명하는 것이 "더 어렵다"는 것은 (메타-수학적 결과를 제외하고) 어떤 것이 사실이며, 물론 우리는 알지 못합니다.


5

¬N 1.9mod6SAT를 해결할 수없는 게이트 (Layman의 관점에서 SAT를 해결하는 각 다항식 프로세서와 각 게이트가이 게이트 중 하나만 계산하는 일정한 시간 병렬 알고리즘이있을 수 있음). SAT를 해결하는 Turing 머신에 대해 우리가 가지고있는 가장 좋은 하한은 실행 시간에 사용 공간에 곱한 알고리즘이 인 것을 보여줄 수 없습니다 . 나는 하한을 증명하는 매우 창피한 상태에 대해 꽤 나설 수 있습니다 (그러나 우리는 하한을 증명하는 것이 왜 어려운지를 설명하는 장벽 결과도 있음을 명심하십시오). 일부 전문가들은 Ketan Mulmuley의 GCT 프로그램이 P 대 NP를 해결할 가능성이 가장 높다고 생각하고 Mulmuley 자신은 반복적으로 100 년이 넘는 시간이 걸릴 것이라고 믿고있다.n1.9

그러나 Ryan Williams와 다른 연구자들은 하한 증명과 알고리즘 찾기 사이에 본질적인 연관성이 있음을 보여주는 최근 연구가있었습니다. 예를 들어 그는 특정 SAT 문제에 대한 무차별 알고리즘보다 약간 더 나은 알고리즘이 회로 하한을 의미하고 그런 알고리즘을 설계했음을 보여주었습니다. 그래서 사람들은 조금 비관적이라고 생각하고 사람들이 생각했던 것과는 달리 알고리즘을 개발하고 하한을 별도로 제시하지 않는 것 같습니다.

이제 질문으로 돌아가서 좀 더 종교적으로 보도록합시다. 질문에 답하기 위해서는 진술을 증명하기가 어렵 기 때문에 우리가 의미하는 바를 공식화해야합니다. 이를 위해 우리는 진술을 증명하는 경도를 정의하는 다양한 방법을 정확하게 보는 증명 이론과 증명 복잡성을 사용할 수 있습니다. 복잡성의 증거가 무엇인지 간단히 설명하겠습니다. 증명 시스템은 본질적으로 증명을위한 검증 알고리즘입니다. 문자열 와 문자열 주고 가 의 증거 인지 묻습니다.φ π φπφπφ알고리즘은 yes 또는 no를 반환합니다. 이런 식으로 증명 검사기를 생각할 수 있습니다. ZFC와 같은 수학적 시스템에서 증명을 생각할 수도 있습니다. 확인 프로세스 자체는 구문 작업이므로 증거 크기에 따라 다항식 시간으로 수행 할 수 있습니다.

이제 수식 고려하십시오 . 가 증명하기 어렵다는 것은 무엇을 의미 합니까? 한 가지 가능성은 의 가장 짧은 증거 가 매우 클 수 있습니다. 그것이 너무 크다면, 그것을 표현하는데 필요한 비트의 수가 보다 크다고 하면 증명조차 할 수 없습니다. 두 번째 가능성은 증거가 너무 크지 않지만 찾기가 어렵다는 것입니다. 이것을 조금 설명하겠습니다 : 증명 검색 알고리즘에 대해 생각해보십시오. 대부분의 규칙은 LK 와 같은 시스템에서 결정적입니다.φ φ 2 65536φφφ265536증명 및 규칙의 현재 줄에서 이전 줄을 결정할 수 있다는 의미에서 이에 대한 중요한 예외는 컷 규칙입니다. 진술을 증명하기 위해 컷 규칙이 필요하지는 않지만 가장 짧은 증거의 크기를 상당히 줄일 수 있기 때문에 중요합니다. 그러나 컷 규칙은 결정적이지 않습니다. 추측해야 할 컷 공식이 있습니다. 컷 룰은 보조 정리를 증명하고 사용하는 것으로 생각할 수 있습니다. 컷 포뮬러는 보조 정리와 같습니다. 그러나 우리에게 어떤 도움이 필요하다는 것을 증명해야합니까? 어려운 부분입니다. 종종 좋은 음모를 찾아서 수학에서 결과가 입증됩니다. 또한 이전에 입증 된 결과를 사용할 때는 기본적으로 절단 규칙을 사용합니다. 진술을 증명하는 또 다른 중요한 요소는 정의입니다. 종종 우리는 새로운 개념을 정의한 다음 그 개념에 대한 진술을 증명합니다. 마지막으로 우리의 특별한 경우에 적용하십시오. 정의를 사용하면 공식의 크기가 줄어 듭니다 (정의를 확장하여 정의가 얼마나 중요한지에 대한 아이디어를 얻음으로써 일부 수학 공식을 순수한 집합 이론 언어로 확장 해보십시오). 또 어떤 새로운 정의를 사용해야합니까? 우리는 모른다. 이것은 증명하기 어려운 진술의 세 번째 의미를 가져옵니다. 강한 공리가 필요하기 때문에 진술을 증명하기가 어려울 수 있습니다. 예를 들어 강한 공리가 필요하기 때문에 진술을 증명하기가 어려울 수 있습니다. 예를 들어 강한 공리가 필요하기 때문에 진술을 증명하기가 어려울 수 있습니다. 예를 들어CH . ZFC에서는 증명할 수 없으며 ZFC에서도 반박 할 수 없습니다. 이것은 극단적 인 경우이지만 더 자주 생각합니다. 예를 들어, FLT 를 증명하기 위해 ( Grothendieck 우주 에서 일할 수 있도록) 큰 기본 공리 가 필요 합니까? 아니면 PA 와 같은 훨씬 약한 이론으로 증명할 수 있습니까? 이것은 진술을 증명하기가 어렵다는 또 다른 개념입니다.

이제 P 대 NP로 돌아가 봅시다. 우리는 문제가 다소 약한 산술 이론으로 해결할 수 없다는 결과를 얻지 못했습니다. 알렉산더 라즈 보 로프 (Alexander Razborov)는 1995 년“경계 산술의 특정 조각에서 회로 크기에 대한 하한의 불확실성”이라는 제목의 논문을 썼다. 내가 아는 한, Sam Buss의 제한된 산술 이론과 같은 훨씬 더 강력한 이론으로 확장하는 데 큰 진전이 없었으며 결과가 확장 되어도 PA 또는 ZFC와는 거리가 멀다. 간단히 말해 우리는 SAT가 매우 작은 복잡도 클래스에 있지 않다는 것을 증명할 수 없을뿐만 아니라 P매우 약한 이론의 NP. P NP 를 증명하기 어려운 이유에 대한 공식적인 이유는 그러한 기술이 P NP를 스스로 입증 할 수 없다는 장벽 결과입니다 . 그들은 좋은 결과이지만 P NP 를 보여주기 위해 이러한 기술을 결합 할 가능성을 배제하지는 않습니다 .


"보다 종교적으로"질문을 정의 할 때 "더 엄격하게"를 의미한다고 가정합니까? :-)
David Richerby 2012

2
@David, 예, 자동 수정은 때로는 그렇게합니다. :)
Kaveh

4

나는 그 질문을 다음과 같이 줄일 수 있다고 생각한다. 어떤 것이 존재한다는 것을 증명하거나 어떤 것이 존재하지 않는 것을 증명하는 것이 더 쉬운가?

무언가 존재한다는 것을 찬성하는 주장은 요구 사항을 만족시킬 수있는 것들을 구성하는 것이 쉽고 실제로 그것을 충족시키는 지 쉽게 확인할 수 있다는 것입니다.

다항식의 근을 찾으려면 숫자를 쉽게 구성 할 수 있으며 근수인지 쉽게 확인할 수 있습니다.

물론 문제는 운이 좋아야한다는 것입니다. 검색 공간을 줄일 수 있습니다 (예 : 검색 공간이 5의 배수 또는 1에서 10 사이 여야 함). 그러나 유한 숫자 집합으로 제한하지 않는 한 (이 경우 실제로 "추측 및 유효성 검사"방법을 사용하지 않는 경우) 문제를 해결할 수있는 방법은 없습니다. 운이 좋으면 솔루션을 생성 할 수 있습니다.

그러나 원하는 경우 무언가 존재하지 않는다는 것을 쉽게 증명할 수 있습니다! 가능한 솔루션이 될 수있는 텍스트를 생성하고 실제로 있는지 확인하십시오.

따라서 순수한 운으로 솔루션을 산출 할 수있는 방법이 있다고해서 무언가 존재한다는 것이 더 쉽다는 것을 의미하지는 않습니다.

이제 다른 방법으로 무언가가 존재한다는 것을 증명하는 것이 일반적으로 더 쉬운가요? 그렇지 않으면 무언가 존재하지 않는다는 것을 증명하는 것이 존재하지 않는다는 증거가 존재한다는 것을 증명하기 때문에 실제 문제에 의존합니다. 그리고 우리는 존재하고 존재하지 않는 것으로 입증 된 것이 없었기 때문에 증거의 난이도를 측정 (시도) 할 수 없다는 것을 측정 할 수 없습니다.


1
그 "무언가"가 존재하면 그것을 증명하는 것이 더 쉽다 (사실, 당신 그것이 존재하지 않는다는 것을 증명할 수 없다 . 그렇다고해서 그 증거를 찾기가 어렵지 않다는 것을 의미하지는 않는다). 다른 방향으로 추론하는 것도 마찬가지입니다. 의견에서 알 수 있듯이 질문 자체 는 의미가 없습니다.
vonbrand

@vonbrand 나는 말하고 있지 않다 for any X: is it easier to prove that X exists or to prove that X does not exist. 나는 for any X,Y: is it easier to prove that X exists or to prove that Y does not exist.E가 'X가 존재하지 않는다'라는 문장의 문장을 증명하는 증거 세트와 NE가 'Y가 존재하지 않는다'라는 문장을 증명하는 증거 세트라면, d ( P) 증명의 어려움, d (X) <d (Y) 여기서 X는 E, Y는 NE입니다.
Thanos Tintinidis

어떻게 든 정의 하고 가능한 모든 에서 평균을 구하는 방법을 정의 해야합니다 . 각각 무한한 수의 증명을 가진 무한한 수의 가 있고, 우리는 작고 유한 한 세트 와 단지 선택된 엄선 된 것만 알고 있다는 것을 감안할 때 이것은 희망이없는 것처럼 보입니다. 나는 틀린 것으로 판명되어 기뻐할 것입니다. X X Xd(X)XXX
vonbrand

@vonbrand 예; 또한, 나는 존재하지 않는 것을 증명하는 것보다 존재를 증명하는 것이 더 쉽다는 것을 제안하는 주장으로 OP의 방법을 사용할 수 없다고 주장하고 있습니다 (존재하는 솔루션을 찾을 때까지 계속). 진술 S2의 진술의 존재의 진술 S2에. 나는 이것의 가치를 의심하기 시작하지만
Thanos Tintinidis

0

만약 당신이 P = NP라는 것을 증명한다면, 그 반대를 증명하는 것은 더 어렵지 않고 불가능합니다.


2
Yuval Filmus의 답변 에 요점이 포함되어있는 이유는 무엇 입니까?
xskxzr

-2

P = NP를 증명할 수있는 모든 알고리즘을 배제해야하기 때문에 P <> NP를 증명하는 것은 불가능하다고 생각합니다. 가능한 많은 수가있을 수 있습니다. 무한대를 반증 할 방법이 없으므로 불가능합니다. 반면에 P = NP를 증명하는 단일 알고리즘 만 있으면됩니다. 그러므로 누군가가 증명할 P = NP 또는 우리는 결코 알지 못할 것입니다.


컴퓨터 과학에 오신 것을 환영합니다 ! 당신은 믿거 나 증명할 수 없다는 것을 증명할 수 있습니까? 나는 Yakk의 대답이 그 주제에 대해 약간의 빛을 비추고 있다고 생각합니다.
이블

2
"무한을 반증 할 방법이 없다"사람들은 수학에서 항상 많은 가능성을 배제한다. 우리는 반드시 작동하지 않는 것을 알기 위해 반드시 손으로 직접 확인할 필요는 없습니다. "인수"는 복잡한 클래스를 전혀 분리 할 수 ​​없다는 것을 의미합니다.
노아 Schweber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.