편집 : 내가 대답 한 주장은 잘못이 아니었지만 약간 오해의 소지가 있었는데, 일부 는 상한이 타이트해야한다는 것을 보여주었습니다. n (실제로는 빡빡해야하기 때문에 실제로는 사소합니다. n=2 바운드는 1)입니다.
보다 정확한 주장은 다음과 같습니다. 상한의 경우log2n
어떤 특정에 대한 느슨한 n그런 다음 모두 를 위해 n 필요한 오라클 호출 수는 O(1).
(확실히 아닙니다 O(1)따라서 상한이 결코 풀리지 않습니다! 그러나 나는 실제로 여기에서 그것을 증명하지 못하고 문제에 대한 다른 대답을 고려할 때 추구 할 가치가없는 것 같습니다.)
최대 출력 을 계산 하는 문제를 고려하십시오 .
주어진 n튜플 (M1,…,Mn) 튜링 머신의 최대 출력을 계산합니다. ϵ). 정지 된 것이 없으면 0을 반환합니다.
의 기능으로 n이 함수를 계산하는 데 필요한 최악의 Oracle 호출 수는 다음 중 어느 것을 결정하는 데 필요한 수와 같습니다. n주어진 기계가 정지합니다. (어떤 기계가 정지했는지 아는 경우 최대 출력을 쉽게 계산할 수 있습니다. 반대로, 어떤 기계가 정지했는지 알고 싶다면 문제 설명의 구성에 따라 기계를 구성 할 수 있습니다{M′i} (i=1,2,…,n)
어디 M′i 모든 실행 n 주어진 기계를 병렬로 멈춘 후 정지 및 출력 i 만약 i그들 중 이제까지 중단되었습니다. 최대 출력은 중단되는 숫자를 알려줍니다. 그로부터 정확히 어떤 정지를 계산할 수 있습니다.)
자 이제 n0 가장 작은 정수이다 n (있는 경우) 다음을 보유합니다.
사용 C(n)=max{k∈Z:2k<n}오라클 전화, 하나의 최대 출력을 계산할 수 주어진 기계. (즉, 상한은 대해 엄격하지 않습니다 .)nn
이므로 분명히 입니다. 실제로, 이므로 이기도 하지만 (Oracle 호출없이) 지정된 시스템 의 최대 출력을 계산할 수 없습니다. 이제 더 큰 고려하십시오 .n0>1C(1)=−1n0>2C(2)=02n
제 : 경우 유한하고, 임의의에 대해 , 하나의 최대 출력을 계산할 수 에서 주어진 시스템 오라클 전화. n0nnC(n0)( 이 유한이면 입니다.)n0C(n0)=O(1)
증명. . 우리는 에 유도함으로써 그것을 증명합니다 . 기본 사례는 이며 과 정의로 유지됩니다 .nn≤n0n0C
하자 주어진, 그 TM 될 튜링 기계만을 사용하여 최대 출력을 계산 오라클 호출한다.Q0n0C(n0)
수정하십시오 . 머신 주어지면 다음과 같이 최대 출력을 계산하십시오.n>n0nM1,…,Mn
첫 번째 기계에 . 실행 고려 다음에 기계. 참고 것을 하게 오라클을 호출하고, 거기에만 이러한 호출에 오라클 가능한 응답. 정의상 입니다. 하자 나타 일 수 응답. 각 , 건설 기계
시뮬레이션 다음과 같이 이들 머신을 :M1,…,Mn0Q0n0Q0C(n0)n′=2C(n0)n′=2C(n0)<n0oiii=1,…,n′M′iQ0
TM (입력 ) :M′iϵ
- 시뮬레이션 온 기계 , 대신 오라클를 호출에 따라 오라클 응답을 가정 .Q0n0(M1,…,Mn0)oi
- 이 시뮬레이션은 중단되지 않을 수 있습니다 (예 : 가 오라클이 실제로 반환하는 것이 아닌 경우 ).oi
- 시뮬레이션이 멈추는 경우,하자 있는 최대 출력 될 주어질 것이라고 말했습니다.hiQ0
- 모든 머신을 더브 테일하십시오 . 그중 하나가 출력하면 를 중지하고 출력 .n0(M1,…,Mn0)hihi
이제 주어진 머신 순서 에서 첫 번째 머신 을 이러한 머신 . 이 기계 순서에서 하여 계산 된 값을 리턴하십시오 . (오라클은 되풀이하기 전에 호출되지 않으므로 오라클은 기본 사례에 도달 한 후에 만 호출됩니다.)nn0M1,…,Mn0n′<n0M′1,…,M′n′n−(n0−n′)<n
이 계산이 올바른 이유는 다음과 같습니다. 들어 되도록 오라클에 의해`올바른 '응답 인 쿼리에, 멈추고 원래의 정확한 최대 출력을 제공 할 기계. 따라서 기계 의 최대 출력
은 최소한 기계 의 최대 출력 입니다. 반면 4 단계에서는
가 의 최대 출력보다 큰 출력을 제공 할 수 없습니다 . 따라서, 기계 의 최대 출력ioiQ0M′in0n′(M′1,…,M′n′)n0(M1,…,Mn0)M′i(M1,…,Mn0)n′(M′1,…,M′n′)
은 대체 하는 머신 의 최대 출력과 같습니다 . QEDn0