Ein Student von mir hat kürzlich die folgende Frage gestellt:
Es sei angenommen , D T I M E ( f ( n ) ) ⊊ D T I M E ( g ( n ) ) .
Dies könnte wahrscheinlich durch die Konstruktion eines h ( n ) als wahr gezeigt werden,
cc.complexity-theory
S. Pek
quelle
quelle
Antworten:
Wenn D T I M E ( f ( n ) ) als die Klasse aller Sprachen definiert ist, die von einer Zwei-Band-Turing-Maschine in O ( f ( n ) ) -Zeit entscheidbar ist , dann vermute ich, dass die Antwort Nein ist. Mit anderen Worten, ich denke, dass es nicht immer eine streng zwischenzeitliche Komplexitätsklasse gibt.D TichME( f( n ) ) O(f(n))
Hinweis: Diese Antwort ist möglicherweise nicht genau das, wonach Sie suchen, da ich nicht berechenbare Funktionen in Betracht ziehe und nicht jedes Detail des Arguments einbeziehe. Aber ich fand, dass es ein guter Anfang ist. Bitte zögern Sie nicht, Fragen zu stellen. Vielleicht kann ich diese Details irgendwann weiter ausfüllen oder dies führt zu einer besseren Antwort eines interessierten Lesers.
Betrachten Funktionen der Form f : N → N . Wir bezeichnen diese Funktionen als natürliche Zahlenfunktionen.f:N→N
Wir konstruieren ε ( n ) als langsam wachsende, nicht abnehmende Sprungfunktion. Lassen Sie uns alle unbeschränkt berechenbaren Funktionen aufzählen { f i } i ∈ N . Wir wollen ε ( n ) so konstruieren, dass für jedes i und jedes j ≤ i giltε(n) {fi}i∈N ε(n) i j≤i , m i n { k|ε ( k ) ≥ i } ≥ m i n { k|f j ( k ) ≥ i } . Mit anderen Worten, wir warten, um ε ( n ) auf i abzubilden,bis die ersten i- Funktionen in der Aufzählungmindestens einmalauf einen Wert größer oder gleich i abgebildet wurden. Dann bildet ε ( n ) weiter auf i ab, bis die ersten i + 1- Funktionen in der Aufzählungmindestens einmalauf einen Wert größer oder gleich i + 1 abgebildet worden sind,und an diesem Punkt beginnt es, auf i + 1 abzubildenmin{k|ε(k)≥i}≥min{k|fj(k)≥i} ε(n) i i i ε(n) i i+1 i+1 i+1 . Wenn wir diesen iterativen Prozess zur Konstruktion von ε ( 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:
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.
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)) .
quelle
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)).
quelle
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.
quelle