그들이 (자원이 제한되지 않은) Kolmogorov의 복잡성에 대해 단순히 이야기하고 있다면 는 계산할 수 없습니다 (그렇지 않으면 기계 컴퓨팅 K 를 사용하여 문자열 x ∈ K에 대한 간단한 설명을 제공 할 수 있습니다 . 기계 및 길이 N 의 X 및 우리가 K를 ( X ) = N 아직 K가 ( N ) ≤ 로그 N ), 이에 따라 B가 uncomputable 될뿐만 아니라.케이케이x ∈ K엔엑스케이( x ) = n케이( n ) ≤ 로그엔비
그러나 논문 Abadi et al. 참조 ( Hartmanis. 일반화 된 Kolmogorov 복잡성 및 실행 가능한 계산 구조 FOCS 1983. )는 자원 제한 버전 인 Kolmogorov 복잡성을 사용합니다. 하자 효율적인 보편 튜링 기계합니다. K U [ f ( n ) , g ( n ) ] 을 길이 x 의 문자열 d 가 있도록 문자열 x 세트로 정의하십시오 | d | ≤ F ( | X | ) 이되도록 X = U (유케이유[ f( n ) , g( n ) ]엑스디| 디| ≤F( | x | ) 및 U ( d ) 계산에는최대 g ( | x | ) 시간이 걸립니다. p의 두 번째 열 상단에 있습니다. 이 논문의 444에서 Hartmanis는이 개념을 사용하여 P ≠ N P에 상대적인 (계산 가능한) 오라클을 구성하는 방법을 설명합니다.x = U( d)유( d)지( | x | )피≠ N피
다음은 Hartadis의 아이디어이며 Abadi et al. 결과. 하자 및 t O w 3 ( N + 1 ) = 2 (2) 2 N (I는 설명 된 기능을 판단한다). 대각 표준 (예를 들면 시간에 정리 계층 등)에 의해, 탈리 세트 구조체 C가 되도록 C ⊆ { 1 t O w 3 ( N ) : N ≥ 1 } 및t O w삼( 1 ) = 2t O w삼( n + 1 ) = 222엔CC⊆{1tow3(n):n≥1} . 이제 길이가 제 1 스트링의 배치 t O w 3 ( N ) 에서 K [ 로그 N을 , N 로그 N ] - K [ 로그 N을 , N 로그 로그 N ] 으로 K IFF 1 t O w 3 ( N ) ∈ C를 . 이후C∈TIME[nlogn]−Ptow3(n)K[logn,nlogn]−K[logn,nloglogn]K1tow3(n)∈C , 우리는 C ∈ N P K 입니다.C={1n:(∃x)[|x|=n and x∈K]}C∈NPK
우리는 또한이 , 따라서 P K ≠ N P K를 . 그 모순을 위해 가정 C ∈ P K . 이어서 폴리 시간 오라클 기계가 M 되도록 C = L ( M K는 ) . 난이 함축 항 C ∈ P는 (오라클없이!)의 구성을 모순 C를 . 다음은 다중 시간 알고리즘입니다. 입력시 x = 1 t o w 3 ( n 0C∉PKPK≠NPKC∈PKMC=L(MK)C∈PC :x=1tow3(n0)
길이 가 미만인 모든 문자열은 | x | . 이러한 모든 문자열 최대 길이가 있기 때문에 이것은 다항식 시간에 할 수있는 로그 로그 로그 | x | 우리는 단지의 계산 테스트 할 필요가 U ( D를 ) 더 작은 문자열을 거라고 에 비해 여전히 매우 작은 시간의 양에 대해 | x | .K|x|logloglog|x|U(d)d|x|
(1)의 결과를 사용하여 Oracle 쿼리를 더 작은 문자열로 시뮬레이션하는 실행하십시오 . 경우 M ( x는 ) 지금까지 길이의 문자열을 조회 | x | "NO"답변으로 해당 쿼리를 시뮬레이션하십시오.M(x)M(x)|x|
이유 단계 (2)는 충분히 큰 입력 길이에 대해 해당 길이 의 문자열 가 있으면 M K 가 y를 쿼리 할 수 없으므로 NO 응답으로 모든 쿼리를 시뮬레이션 할 수 있습니다. 이 쿼리 한 경우 Y를 , 우리는 것 y는 ∈ K [ 로그인 N , N K ] ( N k는 의 런타임 경계 M은 ) 사실 모순 우리가 선택했다는 y는 수 있지 K [ 로그 N , N 로그 로그y∈KMK yyy∈K[logn,nk]nkMy .K[logn,nloglogn]