Separare le classi temporali


16

Un mio studente ha recentemente posto la seguente domanda:

AssumiDeve esistere una tale che DTIME (f (n)) \ subsetneq DTIME (h (n)) \ subsetneq DTIME (g (n))?

DTIME(f(n))DTIME(g(n)).
h(n)
DTIME(f(n))DTIME(h(n))DTIME(g(n))?

Questo potrebbe probabilmente essere dimostrato vero costruendo un se sono costruibili nel tempo. Ma in generale, ritengo che questo dovrebbe essere falso simile a .f , g D S P A C E ( o ( log ( log ( n ) ) ) ) = D S P A C E ( 1 )h(n)f,gDSPACE(o(log(log(n))))=DSPACE(1)


Ciò potrebbe dipendere dal modello preciso.

Il teorema del gap di Borodin menzionato qui potrebbe essere rilevante: cstheory.stackexchange.com/questions/8583/…
Michael Wehar,

Consenti ? Perché allora alcuni esempi devono esistere per alcune funzioni che sono zero ovunque, tranne il primo posto. Ad ogni modo, questa domanda non ha senso se ovunque tranne una ? f g nf(n),g(n)=O(1)fgn
domotorp,

2
Mi dispiace non seguire abbastanza il problema con come per definizione ? D T I M E ( f ( n ) ) = D T I M E ( g ( n ) )f(n),g(n)=O(1)DTIME(f(n))=DTIME(g(n))
S. Pek,

Mi dispiace, ho letto male la domanda e il mio commento precedente non aveva molto senso. L'ho rimosso. Grazie.
Michael Wehar,

Risposte:


8

Se è definito come la classe di tutte le lingue decidibili in tempo O ( f ( n ) ) da una macchina di Turing a due nastri, allora sospetto che la risposta sia no. In altre parole, penso che non esista sempre una classe di complessità temporale strettamente intermedia.DTIME(f(n))O(f(n))

Nota: questa risposta potrebbe non essere esattamente quello che stai cercando perché sto prendendo in considerazione funzioni non calcolabili e non includo tutti i dettagli dell'argomento. Ma ho sentito che è un buon inizio. Non esitate a fare domande. Forse potrei riempire ulteriormente questi dettagli ad un certo punto o forse questo porterà a una risposta migliore da un lettore interessato.

Funzioni della forma Consideriamo . Ci riferiamo a queste funzioni come funzioni numeriche naturali.f:NN

Rivendicazione 1: mi sostengono che possiamo costruire un non decrescente numero naturale molto lenta crescita (non computabile) funzione tale che:ε(n)

(1) non è decrescenteε(n)

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

(3) Per tutto il calcolo illimitato , l'insieme { nf:NN è infinito.{n|ε(n)f(n)}

Costruiamo come una funzione di step non decrescente a crescita lenta. Cerchiamo di enumerare tutte le funzioni computabili illimitate { f i } i N . Vogliamo costruire ε ( n ) in modo tale che per ogni io e ogni j i , m i n { kε(n){fi}iNε(n)iji . In altre parole, ci aspettiamo mappare ε ( n ) per i fino alle prime i funzioni nel censimento mappato su un valore maggiore o uguale ai almeno una volta. Quindi, ε ( n ) continua a mappare su i finoaquando le primefunzioni i + 1 dell'enumerazione non sono state mappate su un valore maggiore o uguale a i + 1 almeno una volta e a questo punto inizia a mappare su i + 1min{k|ε(k)i}min{k|fj(k)i}ε(n)iiiε(n)ii+1i+1i+1. Se continuiamo questo processo iterativo per la costruzione di , allora per ogni data funzione calcolabile non limitata, sebbene ε ( n ) potrebbe non essere sempre più piccola, sarà infinitamente spesso almeno altrettanto piccola.ε(n)ε(n)

Nota: ho appena fornito alcune intuizioni dietro la rivendicazione 1, non ho fornito una prova dettagliata. Non esitate a partecipare alla discussione di seguito.

Poiché è una funzione così in crescita lenta, abbiamo quanto segue:ε(n)

Rivendicazione 2: per tutte le funzioni numeriche naturali calcolabili e h ( n ) , se h ( n ) = Ω ( f ( n )f(n)h(n)eh(n)=O(f(n)), quindih(n)=Θ(f(n)).h(n)=Ω(f(n)ε(n))h(n)=O(f(n))h(n)=Θ(f(n))

Per la rivendicazione 2, se esisteva una funzione calcolabile tra f ( n )h(n) ef(n)tale cheh(n)Θ(f(n)), allora si sarebbe in grado di calcolare una funzione illimitata numero naturale che cresce più slowely diε(n)che non è possibile . f(n)ε(n)f(n)h(n)Θ(f(n))ε(n)

Lasciami spiegare alcuni dettagli rilevanti. Supponiamo per amor di contraddizione che esistesse una tale funzione . Quindi, f ( n )h(n)non ha limiti.f(n)h(n)

Nota: la funzione precedente è calcolabile perché e h ( n ) sono calcolabili.f(n)h(n)

Poiché , abbiamof(n)h(n)=Ω(f(n)ε(n)). Ne consegue che esiste una costanteαtale che per tuttensufficientemente grandi,αf(n)f(n)h(n)=O(ε(n))αn. Poiché questa funzione è illimitata e calcolabile, possiamo applicare la rivendicazione 1 per ottenere cheε(n)αf(n)αf(n)h(n)<ε(n)infinitamente spesso che contraddice la precedente affermazione.ε(n)αf(n)h(n)

Rivendicazione 3: Per una funzione costruibile nel tempo , abbiamo che D T I M E ( f ( n )f(n), manonesisteh(n)tale chef(n)DTIME(f(n)ε(n))DTIME(f(n))h(n)eDTIME(f(n)f(n)ε(n)h(n)f(n).DTIME(f(n)ε(n))DTIME(h(n))DTIME(f(n))

Per dimostrarlo, dobbiamo usare un teorema della gerarchia temporale più forte ed è qui che assumiamo che il numero di nastri sia fisso (abbiamo detto due nastri sopra). Vedi "La stretta gerarchia temporale deterministica" di Martin Furer.DTIME(f(n)ε(n))DTIME(f(n))

Poiché non ci sono funzioni numeriche naturali calcolabili tra ef(n)diverse da quelleΘ(f(n)), si ha che per ogni funzioneh(n)tale chef(n)f(n)ε(n)f(n)Θ(f(n))h(n)eh(n)Θ(f(n)),DTIME(f(n)f(n)ε(n)h(n)f(n)h(n)Θ(f(n)).DTIME(f(n)ε(n))=DTIME(h(n))


1
Sì, è esattamente quello che avevo in mente, ma poi mi sono confuso da qualche parte lungo la strada. Voglio solo notare che non deve essere affatto piccolo; un argomento simile mostra che la funzione inferiore f ( n )ϵ(n) può essere sostituito con una funzione che è sempre of(n)o0, e la funzione superioref(n)ϵ(n)può essere sostituita con una funzione che è sempre of(n)o. f(n)ϵ(n)f(n)0f(n)ϵ(n)f(n)
domotorp,

1
(3) deve limitarsi a funzioni illimitate . f

@RickyDemer Sì, hai ragione! Grazie mille per averlo scoperto. Ho modificato la mia risposta per aggiungere la parola senza limiti. :)
Michael Wehar,

1
Non sono del tutto convinto della rivendicazione 1. Considerare se n i , n - i altrimenti. Considerando questa enumerazione, ϵ ( n ) = Θ ( 1 ) ? fi(n)=1niniϵ(n)=Θ(1)
S. Pek,

2
Ho altre due preoccupazioni di questa prova: 1) Nella rivendicazione 2 lei ha detto che la contraddizione deriva dal fatto che non può esistere un calcolabile in quanto è uguale a | h ( n ) - f ( n ) | . Ritengo che si tratti di un errore tipografico, come dovrebbe dire che esiste un k tale che ϵ ( n ) = | h ( n ) - k f ( n ) | . Ma nota che k ϵ(n)|h(n)f(n)|kϵ(n)=|h(n)kf(n)|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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.