“무적 생성기”가 존재하지 않는 세계


10

무적의 생성기는 다음과 같이 정의됩니다.

NP 관계로하고 M을 L ( R ) 을 받아들이는 기계 라고 하자 . 비공식적 프로그램이있다 무적 발생기 입력의 경우, (1) n은 , 그것은 인스턴스 생성 감시 쌍 ( X , w ) R을 가진 | x | x 가 주어진 다항식 적 대적이 무한히 많은 길이 n 동안 눈에 띄게 확률로 x S 라는 증거를 찾지 못하는 분포에 따르면 = n .RML(R)1n(x,w)R|x|=nxxSn

Abadi et al.에 의해 처음 정의 된 무적의 발생기 . 암호화에서 많은 응용 프로그램을 찾았습니다.

무적 발생기의 존재는 라는 가정을 기반으로 하지만 이것으로 충분하지 않을 수 있습니다 ( 관련 항목 참조 ).PNP

Abadi 의 정리 3 . 위에서 언급 한 논문은 무적의 발생기의 존재에 대한 증거가 상대성이 아니라는 것을 보여줍니다.

정리 3. P BN P B 와 같은 오라클 가 있으며 B에 비해 무적의 발생기가 존재하지 않습니다.BPBNPB

나는이 정리의 증거의 일부를 이해하지 못한다. 하자 나타내는 분리 된 조합 작업을. 하자 Q B F가 만족할 수있는 정량화 된 부울 식의 PSPACE 완성 언어, 그리고하자 K는 최대 콜 모고 로프의 복잡성의 문자열의 매우 드문 드문 설정합니다. 구체적으로는, K는 하나 개의 각 길이의 문자열이 포함 N 시퀀스, N 1 , N 2 , ... 에 의해 정의된다 : N 1 = 2 , N 이다 삼중를 지수해당QBFKKnin1,n2,n1=2ni 에 대한I>1; 만약XK | x | =n이면x는 Kolmogorov 복잡도n입니다.ni1i>1xK|x|=nxn

이 논문은 에 대해 PN P를 유지한다고 기술하고있다 . 설명 할 수 있습니까? (또한 B 가 재귀 인지 여부를 명확히하십시오 .)B=QBFKPNPB

답변:


7

그들이 (자원이 제한되지 않은) Kolmogorov의 복잡성에 대해 단순히 이야기하고 있다면 는 계산할 수 없습니다 (그렇지 않으면 기계 컴퓨팅 K 를 사용하여 문자열 x K에 대한 간단한 설명을 제공 할 수 있습니다 . 기계 및 길이 NX 및 우리가 K를 ( X ) = N 아직 K가 ( N ) 로그 N ), 이에 따라 B가 uncomputable 될뿐만 아니라.KKxKnxK(x)=nK(n)lognB

그러나 논문 Abadi et al. 참조 ( Hartmanis. 일반화 된 Kolmogorov 복잡성 및 실행 가능한 계산 구조 FOCS 1983. )는 자원 제한 버전 인 Kolmogorov 복잡성을 사용합니다. 하자 효율적인 보편 튜링 기계합니다. K U [ f ( n ) , g ( n ) ] 을 길이 x 의 문자열 d 가 있도록 문자열 x 세트로 정의하십시오 | d | F ( | X | ) 이되도록 X = U (UKU[f(n),g(n)]xd|d|f(|x|) U ( d ) 계산에는최대 g ( | x | ) 시간이 걸립니다. p의 두 번째 열 상단에 있습니다. 이 논문의 444에서 Hartmanis는이 개념을 사용하여 P N P에 상대적인 (계산 가능한) 오라클을 구성하는 방법을 설명합니다.x=U(d)U(d)g(|x|)PNP

다음은 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 }tow3(1)=2tow3(n+1)=222nCC{1tow3(n):n1} . 이제 길이가 제 1 스트링의 배치 t O w 3 ( N ) 에서 K [ 로그 N을 , N 로그 N ] - K [ 로그 N을 , N 로그 로그 N ] 으로 K IFF 1 t O w 3 ( N )C를 . 이후CTIME[nlogn]Ptow3(n)K[logn,nlogn]K[logn,nloglogn]K1tow3(n)C , 우리는 C N P K 입니다.C={1n:(x)[|x|=n and xK]}CNPK

우리는 또한이 , 따라서 P KN P K를 . 그 모순을 위해 가정 C P K . 이어서 폴리 시간 오라클 기계가 M 되도록 C = L ( M K는 ) . 난이 함축 항 C P는 (오라클없이!)의 구성을 모순 C를 . 다음은 다중 시간 알고리즘입니다. 입력시 x = 1 t o w 3 ( n 0CPKPKNPKCPKMC=L(MK)CPC :x=1tow3(n0)

  1. 길이 가 미만인 모든 문자열은 | x | . 이러한 모든 문자열 최대 길이가 있기 때문에 이것은 다항식 시간에 할 수있는 로그 로그 로그 | x | 우리는 단지의 계산 테스트 할 필요가 U ( D를 ) 더 작은 문자열을 거라고 에 비해 여전히 매우 작은 시간의 양에 대해 | x | .K|x|logloglog|x|U(d)d|x|

  2. (1)의 결과를 사용하여 Oracle 쿼리를 더 작은 문자열로 시뮬레이션하는 실행하십시오 . 경우 M ( x는 ) 지금까지 길이의 문자열을 조회 | x | "NO"답변으로 해당 쿼리를 시뮬레이션하십시오.M(x)M(x)|x|

이유 단계 (2)는 충분히 큰 입력 길이에 대해 해당 길이 의 문자열 가 있으면 M Ky를 쿼리 할 수 ​​없으므로 NO 응답으로 모든 쿼리를 시뮬레이션 할 수 있습니다. 이 쿼리 한 경우 Y를 , 우리는 것 y는 K [ 로그인 N , N K ] ( N k는 의 런타임 경계 M은 ) 사실 모순 우리가 선택했다는 y는있지 K [ 로그 N , N 로그 로그yKMK yyyK[logn,nk]nkMy .K[logn,nloglogn]


매우 상세하고 잘 작성되었습니다. 감사합니다 조슈아!
MS Dousti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.