시간 수업 분리


16

내 학생이 최근에 다음과 같은 질문을합니다.

D T I M E ( f ( n ) ) D T I M E ( g ( n ) ) .

DTIME(f(n))DTIME(g(n)).
h ( n ) h(n)D T I M E ( f ( n ) ) D T I M E ( h ( n ) ) D T I M E ( g ( n) ) ?
DTIME(f(n))DTIME(h(n))DTIME(g(n))?

가 시간 구성 가능한 경우 을 구성하면 이러한 사실을 알 수 있습니다 . 그러나 일반적으로 과 유사하게 거짓이어야한다고 생각합니다 .h(n)h(n)f,gf,gDSPACE(o(log(log(n))))=DSPACE(1)DSPACE(o(log(log(n))))=DSPACE(1)


정확한 모델에 따라 달라질 수 있습니다.

보로딘의 갭 정리 관련이있을 수 여기에 언급 : cstheory.stackexchange.com/questions/8583/...
마이클 Wehar에게

당신은 할 수 있나요 F ( N ) , g ( N ) = O ( 1 )f(n),g(n)=O(1) ? 따라서 처음을 제외하고 모든 곳에서 0 인 일부 함수에 대한 예제가 있어야합니다. 어쨌든,이 질문은 하나의 n을 제외한 모든 곳에서 f g 라면 의미가 없습니까? fgn
domotorp

2
임 미안 꽤의 문제 따라 그나마 F ( N ) , g ( N을 ) = O ( 1 )f(n),g(n)=O(1) 의 정의 등에 의해 D T I M E ( F ( N ) ) = D T I M E ( g ( N ) )DTIME(f(n))=DTIME(g(n)) ?
S. Pek

그것에 대해 유감스럽게도, 나는 그 질문을 잘못 읽었으며 이전의 의견은 그다지 의미가 없었습니다. 나는 그것을 제거했다. 감사합니다.
Michael Wehar

답변:


8

경우 D T I M E ( F ( n을 ) ) 모든 언어의 클래스로 정의에 decidable O ( F ( N ) ) 나는 대답이 더 있음을 의심하지, 두 개의 테이프 튜링 기계에 의해 시간. 다시 말해, 나는 엄격하게 중간 시간 복잡성 클래스가 항상 존재하지는 않는다고 생각합니다.DTIME(f(n))O(f(n))

참고 : 계산할 수없는 함수를 고려하고 있으며 인수의 모든 세부 사항을 포함하지 않기 때문에이 답변이 원하는 것이 아닐 수도 있습니다. 그러나 나는 그것이 좋은 출발이라고 느꼈다. 궁금한 점이 있으면 언제든지 문의하십시오. 어쩌면 나는이 세부 사항을 언젠가 더 채울 수 있거나 관심있는 독자의 더 나은 답변으로 이어질 수 있습니다.

f : NN 형식의 함수를 고려하십시오 . 우리는이 기능들을 자연수 함수라고 부릅니다.f:NN

주장 1 : 우리는 다음과 같이 매우 느리게 성장하는 감소하지 않는 자연수 (계산 불가능) 함수 ε ( n )를 구성 할 수 있다고 주장 합니다.ε(n)

(1) ε(n)ε(n) is non-decreasing

(2) ε(n)=ω(1)ε(n)=ω(1)

(3) For all unbounded computable f:NNf:NN, the set {n|ε(n)f(n)}{n|ε(n)f(n)} is infinite.

We construct ε(n)ε(n) as a slow growing non-decreasing step function. Let us enumerate all unbounded computable functions {fi}iN{fi}iN. We want to construct ε(n)ε(n) in such a way that for every ii and every jiji, min{k|ε(k)i}min{k|fj(k)i}min{k|ε(k)i}min{k|fj(k)i}. In other words, we wait to map ε(n)ε(n) to ii until the first ii functions in the enumeration have mapped to a value greater than or equal to ii at least once. Then, ε(n)ε(n) continues to map to ii until the first i+1i+1 functions in the enumeration have mapped to a value greater than or equal to i+1i+1 at least once and at this point it starts mapping to i+1i+1. If we continue this iterative process for constructing ε(n)ε(n), then for any given unbounded computable function, although ε(n)ε(n) might not always be smaller, it will infinitely often be at least as small.

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)ε(n) is such a slow growing function, we have the following:

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)h(n) between f(n)ε(n)f(n)ε(n) and f(n)f(n) such that h(n)Θ(f(n))h(n)Θ(f(n)), then we would be able to compute an unbounded natural number function that grows more slowely than ε(n)ε(n) which isn't possible.

Let me explain some relevant details. Suppose for sake of contradiction that such a function h(n)h(n) existed. Then, f(n)h(n)f(n)h(n) is unbounded.

Note: The preceding function is computable because f(n)f(n) and h(n)h(n) are computable.

Since h(n)=Ω(f(n)ε(n))h(n)=Ω(f(n)ε(n)), we have f(n)h(n)=O(ε(n))f(n)h(n)=O(ε(n)). It follows that there is some constant αα such that for all nn sufficiently large, αf(n)h(n)<ε(n)αf(n)h(n)<ε(n). Since this function is unbounded and computable we may apply Claim 1 to get that ε(n)αf(n)h(n)ε(n)αf(n)h(n) infinitely often which contradicts the previous statement.

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))DTIME(f(n)ε(n))DTIME(f(n)) we need to use a stronger time hierarchy theorem and this is where we use the assumption that the number of tapes is fixed (we said two tapes above). See "The tight deterministic time hierarchy" by Martin Furer.

Since there are no computable natural number functions between f(n)ε(n)f(n)ε(n) and f(n)f(n) other than those that are Θ(f(n))Θ(f(n)), we have that for every function h(n)h(n) such that f(n)ε(n)h(n)f(n)f(n)ε(n)h(n)f(n) and h(n)Θ(f(n))h(n)Θ(f(n)), DTIME(f(n)ε(n))=DTIME(h(n))DTIME(f(n)ε(n))=DTIME(h(n)).


1
Yes, this is exactly what I had in mind too, but then got confused somewhere along the way. I just want to note, that ϵ(n)ϵ(n) needn't be small at all; a similar argument shows that the lower function f(n)ϵ(n)f(n)ϵ(n) can be replaced with a function that is always either f(n)f(n) or 00, and the upper function f(n)ϵ(n)f(n)ϵ(n) can be replaced with a function that is always either f(n)f(n) or .
domotorp

1
(3) needs to restrict to unbounded functions ff. ​ ​

@RickyDemer Yes, you are right! Thank you very much for catching that. I edited my answer to add the word unbounded. :)
Michael Wehar

1
Im not entirely convinced about Claim 1. Consider fi(n)=1fi(n)=1 if nini, ni otherwise. Considering this enumeration, is ϵ(n)=Θ(1)?
S. Pek

2
I have two more concerns of this proof: 1) In claim 2 you said that the contradiction arises from the fact that there cannot exist a computable ϵ(n) as it equals |h(n)f(n)|. I believe this to be a typographical error, as it should say there exist a k such that ϵ(n)=|h(n)kf(n)|. But note that k need not be computable, so the argument need not hold. 2) You used the result by Furer in Claim 3. However, the result only holds for time-constructable functions, but f(n)ϵ(n) need not be time-constructable.
S. Pek

4

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)).


1
Cool! Also, note that there is a better time hierarchy theorem if the number of tapes is fixed. See "The tight deterministic time hierarchy" by Martin Furer.
Michael Wehar

1
@MichaelWehar: Thanks for the pointer! Indeed, when one gets so tight as to only require g(n)=o(f(n)), as Furer shows when the number of tapes is fixed, then my argument goes away. (And for basically the same reason, my argument goes away if this question were about space hierarchy instead of time: for space we have a perfectly tight hierarchy theorem even if # tapes isn't fixed.)
Joshua Grochow

2

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|xx{0,1}} using a standard crossing sequence argument.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.