내 학생이 최근에 다음과 같은 질문을합니다.
D T I M E ( f ( n ) ) ⊊ D T I M E ( g ( n ) ) .
가 시간 구성 가능한 경우 을 구성하면 이러한 사실을 알 수 있습니다 . 그러나 일반적으로 과 유사하게 거짓이어야한다고 생각합니다 .h(n)
내 학생이 최근에 다음과 같은 질문을합니다.
D T I M E ( f ( n ) ) ⊊ D T I M E ( g ( n ) ) .
가 시간 구성 가능한 경우 을 구성하면 이러한 사실을 알 수 있습니다 . 그러나 일반적으로 과 유사하게 거짓이어야한다고 생각합니다 .h(n)
답변:
경우 D T I M E ( F ( n을 ) ) 모든 언어의 클래스로 정의에 decidable O ( F ( N ) ) 나는 대답이 더 있음을 의심하지, 두 개의 테이프 튜링 기계에 의해 시간. 다시 말해, 나는 엄격하게 중간 시간 복잡성 클래스가 항상 존재하지는 않는다고 생각합니다.
참고 : 계산할 수없는 함수를 고려하고 있으며 인수의 모든 세부 사항을 포함하지 않기 때문에이 답변이 원하는 것이 아닐 수도 있습니다. 그러나 나는 그것이 좋은 출발이라고 느꼈다. 궁금한 점이 있으면 언제든지 문의하십시오. 어쩌면 나는이 세부 사항을 언젠가 더 채울 수 있거나 관심있는 독자의 더 나은 답변으로 이어질 수 있습니다.
f : N → N 형식의 함수를 고려하십시오 . 우리는이 기능들을 자연수 함수라고 부릅니다.
주장 1 : 우리는 다음과 같이 매우 느리게 성장하는 감소하지 않는 자연수 (계산 불가능) 함수 ε ( n )를 구성 할 수 있다고 주장 합니다.
ε(n) (1) ε(n)
ε(n) is non-decreasing(2) ε(n)=ω(1)
ε(n)=ω(1) (3) For all unbounded computable f:N→N
f:N→N , the set {n|ε(n)≤f(n)}{n|ε(n)≤f(n)} is infinite.
We construct ε(n)
Note: I just provided some intuition behind claim 1, I did not provide a detailed proof. Please feel free to join in on discussion below.
Because ε(n)
Claim 2: For all computable natural number functions f(n)
f(n) and h(n)h(n) , if h(n)=Ω(f(n)ε(n))h(n)=Ω(f(n)ε(n)) and h(n)=O(f(n))h(n)=O(f(n)) , then h(n)=Θ(f(n))h(n)=Θ(f(n)) .
For claim 2, if there existed a computable function h(n)
Let me explain some relevant details. Suppose for sake of contradiction that such a function h(n)
Note: The preceding function is computable because f(n)
Since h(n)=Ω(f(n)ε(n))
Claim 3: For a time constructible function f(n)
f(n) , we have that DTIME(f(n)ε(n))⊊DTIME(f(n))DTIME(f(n)ε(n))⊊DTIME(f(n)) , yet there does not exist h(n)h(n) such that f(n)ε(n)≤h(n)≤f(n)f(n)ε(n)≤h(n)≤f(n) and DTIME(f(n)ε(n))⊊DTIME(h(n))⊊DTIME(f(n))DTIME(f(n)ε(n))⊊DTIME(h(n))⊊DTIME(f(n)) .
In order to just show that, DTIME(f(n)ε(n))⊊DTIME(f(n))
Since there are no computable natural number functions between f(n)ε(n)
If this result is true, it would strengthen the best-known deterministic time hierarchy theorem. [This is more of a comment than an answer, but too long for a comment. It leaves open the direct construction of a counterexample.] Recall that the best Deterministic Time Hierarchy Theorem we currently have is that if f(n),g(n) are time-constructible, and g(n)≤o(f(n)/logf(n)), then DTIME(g(n))⊊DTIME(f(n)).
Now suppose your desired result is true, and let g(n) be a time-constructible function that is close to, but still little-oh of, f(n)/log(f(n)), say, g(n)=f(n)/(logf(n))3/2. (This g may not be time-constructible for arbitrary time-constructible f, but surely for many time-constructible f this g is also time-constructible.) Now, your desired result produces an h such that DTIME(g(n))⊊DTIME(h(n))⊊DTIME(f(n)). In order to avoid improving the current-best time hierarchy theorem, we would need both g(n)=o(h(n)/log(h(n))) and h(n)=o(f(n)/log(f(n)). These two together imply that g(n)≤o(f(n)/(log(f(n))log(h(n))). Since h(n)≥g(n), we have g(n)≤o(f(n)log(f(n))log(g(n))), or equivalently g(n)logg(n)≤o(f(n)/log(f(n))). But g(n)log(g(n))=f(n)/(log(f(n))3/2[log(f(n))−(3/2)loglog(f(n)]∼f(n)/√log(f(n)), which is not o(f(n)/log(f(n)).
I think such a behaviour is true for 1-Tape-DTMs. On the one hand, we have DTIME1(O(n))=DTIME1(o(nlogn)). Unfortunately, the only reference I know is in German: R. Reischuk, Einführung in die Komplexitätstheorie, Teubner, 1990, Theorem 3.1.8.
On the other hand, it should be possible to separate DTIME1(O(n)) and DTIME1(O(nlogn)) by the language {x#2|x|x∣x∈{0,1}∗} using a standard crossing sequence argument.