이면 다항식 계층 구조가 붕괴되고 것으로 잘 알려져 있습니다.P = N P
이것은 oracle machine을 사용하여 쉽게 유도 할 수 있습니다. 문제는-왜 우리는 지속적인 교대 수준 이상의 유도 과정을 계속하고 (일명 )?P = A l t T i m e ( n O ( 1 ) )
직관적 인 답변을 찾고 있습니다.
이면 다항식 계층 구조가 붕괴되고 것으로 잘 알려져 있습니다.P = N P
이것은 oracle machine을 사용하여 쉽게 유도 할 수 있습니다. 문제는-왜 우리는 지속적인 교대 수준 이상의 유도 과정을 계속하고 (일명 )?P = A l t T i m e ( n O ( 1 ) )
직관적 인 답변을 찾고 있습니다.
답변:
위한 증거 ( )을 이용하여 유도이다 . 유도 방송 임의 천연위한 번호 , \ mathbf {P} = \ mathbf {} AltTime (K) (및 \ mathbf AltTime {} (O (1)) 그들의 조합이다).P = A l t T i m e ( O ( 1 ) )
입력 횟수에 따라 교체 횟수가 변경 될 수있는 경우 (예 : 기계의 가능한 교체 횟수 가 숫자가 아니라 입력 크기 의 기능인 경우), 즉 기계의 실행을 보여주지 않음 단일 입력에서 교대없이 축소 할 수 있으며, 모든 입력에서 기계의 실행이 교대없이 "균일하게"축소 될 수 있음을 보여줍니다).
비슷하지만 더 간단한 진술을 보자. 우리는 식별 기능 있음을 보여주고 싶은 결국 모든 일정 기능을 지배 ( IFF에 대한 모든하지만 유한 한 많은 ). 귀납법으로 증명할 수 있습니다. 모든 에 (즉 , )이지만 , 과 같이 상수가 아닌 함수에 대해서는 이것을 갖지 않습니다 .i d ( n ) = n f ≪ g n f ( n ) ≤ g ( n ) k k ≪ n f k ≪ i d f k ( n ) = k n 2 n 2 ≪ ̸ n
다항식 계층을 대화 형 증명의 계층과 비교합니다. 일부 고정을위한 경우 K , 당신이 K의 IP (- 상호 작용하는 증거에 교대 케이 ) - IP (인 - 결과의 복잡성 클래스는이 교대로 얻을 수있는 것보다 더 많은 전력이 K ) = IP (2 ) = AM ( k ≥2 라고 가정 ). 그러나 다항식 수의 교대를 허용하면 AM보다 훨씬 더 큰 복잡성 클래스 IP = PSPACE를 얻게되며 클래스는 다항식 계층의 두 번째 수준 에서 Π 2 P에 포함됩니다 . 따라서이 현상은 실제로 발생합니다 (다항식 계층 구조에서는 알 수는 없지만).
이는 IP ( k ) 에서 크기 n 의 문제를 가져 와서 IP (2)에서 문제로 만드는 축소가 문제 크기를 폭파시켜 특정 IP ( k )에 대해 문제가 다항식 크기로 유지 되기 때문에 발생합니다. 당신이 할 경우, k는 다양 결과 감소에 다항식있는 문제를 제공하지 않습니다 케이 .
아래에서 나는 피터의 대답에서 요점을 조금 더 확장하여 그것이 실패한 곳과 그러한 시도에서 무언가를 구할 수 있는지 확인하기 위해 일정한 단계 이상으로 정량화 제거를 수행하려고 시도합니다.
일정한 횟수 이상으로 를 증폭시켜 봅시다 .P=NP
라고 가정하십시오 . 따라서 Ext-Circuit-SAT를 해결하는 다항식 타임머신이 있습니다 (주어진 회로에 대한 만족스러운 확장과 입력에 대한 부분 할당이 있습니까?).P=NP
보다 공식적으로, 우리는 다항식 실행 시간 st 를 갖는 다 시간 알고리즘 가지고 있습니다A
부울 회로 감안할 때 및 부분 할당 입력에, "예"의 확장 반환이있는 경우φ
φ ττ
ㅏ τ φφ 를 만족 τ하고 그렇지 않으면 "no"를 반환합니다.
일정한 시간을 넘어서려면 정량화 제거를 효과적으로 수행해야합니다. 쿡 - 레빈 정리 건설적인 이론이기 때문에 우리는 다항식 시간 알고리즘 제공 사실,이 작업을 수행 할 수 있습니다 C O O K
DTM을 감안할 때 M
미디엄 개의 입력들 및 3 개 개의 단항 번호 수신 N엔 , m미디엄 , 및 t를티 ,
C O O (K) ( M은 , N , m은 , t는 )Cook(M,n,m,t) 크기의 부울 회로 반환 O ( t (2) )O(t2) 시뮬레이션하는 M을M 길이의 입력에 t 단계에 대해 ( n , m )(n,m) .t
하자가의 인수를 확장하려면 다음을 사용하려고 P = P H
다음과 같은 알고리즘의 아이디어는 우리는 반복 사용 C O O 케이
그러나 우리는이 아이디어가 효과가 없다는 것을 알 수 있습니다 (피터가 지적한 것과 같은 이유로).
옵션 I
만약 Q = " ∃ "
만약 Q = 「∀ 」
결과 알고리즘 은 다항식 시간으로 보입니다 . 다항식 많은 단계가 있으며 각 단계는 다항식 시간 계산 가능합니다. 그러나 이것은 정확하지 않으며 알고리즘은 다항식 시간이 아닙니다.
다항식 시간 알고리즘에서 다항식 시간 서브 루틴을 사용하는 것은 다항식 시간입니다. 문제는 일반적으로 서브 루틴이 리턴 한 값이 원래 입력에서 다항식 크기가 아니고 서브 루틴에서 리턴 된 값에 대해 지정한다고 가정 할 때 이것이 사실 일 필요는 없다는 것입니다. 합니다 (TM 모델에서는 비트에 의한 다항식 시간 루틴 비트의 출력을 판독한다.) 알고리즘으로부터의 복귀 값을 다음 크기 C가 O O K
이 문제는 아래의 간단한 코드와 비슷합니다.
우리가 실행할 때마다 y = y | y |
k ( n )
한다고 가정 의