Zeitklassen trennen

16

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

DTIME(f(n))DTIME(g(n)).
Muss es ein h ( n ) geben,h(n) so dass D T I M E ( f ( n ) ) D T I M E ( h ( n ) ) D T IM E ( g ( n ) ) ?
DTIME(f(n))DTIME(h(n))DTIME(g(n))?

Dies könnte wahrscheinlich durch die Konstruktion eines h ( n ) als wahr gezeigt werden, h(n)wenn f , g zeitkonstruierbarf,g sind. Aber im Allgemeinen bin ich der Meinung, dass dies falsch sein sollte, ähnlich wie D S P A C E ( o ( log ( log ( n ) ) ) ) = D S P A C E ( 1 )DSPACE(o(log(log(n))))=DSPACE(1) .

S. Pek
quelle
Dies kann vom genauen Modell abhängen.
Der hier erwähnte Lückensatz von Borodin könnte relevant sein: cstheory.stackexchange.com/questions/8583/…
Michael Wehar
Erlauben Sie f ( n ) , g ( n ) = O ( 1 )f( n ) , g( n ) = O ( 1 ) ? Denn dann muss ein Beispiel für einige Funktionen existieren, die überall außer an erster Stelle Null sind. Wie auch immer, diese Frage nicht sinnvoll , wenn f gfg überall , außer man nn ?
Domotorp
2
Im sorry ich recht nicht dem Problem mit folgen f ( n ) , g ( n ) = O ( 1 ) , wie durch Definition D T I M E ( f ( n ) ) = D T I M E ( g ( n ) ) ? f( n ) , g( n ) = O ( 1 )D TichME( f( N ) ) = D TichME( g( n ) )
S. Pek
Tut mir leid, ich habe die Frage falsch verstanden und mein früherer Kommentar ergab keinen Sinn. Ich habe es entfernt. Vielen Dank.
Michael Wehar

Antworten:

8

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 : NN . Wir bezeichnen diese Funktionen als natürliche Zahlenfunktionen.f:NN

Behauptung 1: Ich behaupte, dass wir eine sehr langsam wachsende nicht abnehmende natürliche Zahlfunktion (nicht berechenbar) ε ( n ) so konstruieren können, dass:ε(n)

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

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

(3) Für alle unbegrenzten berechenbaren f : NNf:NN, the set {n|ε ( n ) f (n)}{n|ε(n)f(n)} is infinite.

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}iNε(n)iji , 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)iiiε(n)ii+1i+1i+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:

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

Michael Wehar
quelle
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 ni, 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)).

Joshua Grochow
quelle
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.

Markus Bläser
quelle