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:N→N
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:N→N è 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}i∈Nε(n)ij≤i . 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é , abbiamo⌊f(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))