Non


15

Mi aspetto che la risposta sia no, ma in realtà non sono riuscito a costruire un controesempio. La differenza è che in ε>0DTIME(O(n2+ε)) , potremmo non essere in grado di scegliere un algoritmo O(n2+ε) uniformemente in ε .

Con un argomento a coda di rondine (ad esempio, vedi questa domanda ), se esiste un ce set di macchine di Turing Mi decide una lingua L tale che ε>0MiO(n2+ε) , allora L è in DTIME(n2+o(1)) .

Data una macchina Turing, se la macchina gira nel tempo n2+o(1) è Π30 . Se una lingua (dato un codice per una macchina che la riconosce) è in DTIME(n2+o(1)) è Σ40 (e Π30 -hard); se una lingua è in ε>0DTIME(O(n2+ε)) è Π30 . Se potessimo dimostrare la completezza Σ40 (o solo Σ30 -hardness) di DTIME(n2+o(1)) , ciò risolverebbe il problema, ma non sono sicuro di come fare quello.

Il problema verrebbe anche risolto se trovassimo una sequenza di linguaggi Li tale che
* Li abbia un algoritmo di decisione O naturale (n ^ {2 + 1 / i})O(n2+1/i) (uniformemente in i ).
* Ogni Li è finito.
* Non solo la dimensione di Li indecidibile, ma un algoritmo non può escludere wLi molto più velocemente di O(n2+1/i) (nel peggiore dei casi w ), tranne per i finiti molti i (dipendenti dal algoritmo).

Sono anche curioso di sapere se ci sono esempi notevoli / interessanti (per ε>0DTIME(O(n2+ε))DTIME(n2+o(1)) o una relazione analoga).


Non ho mai pensato a domande sulla decidibilità come ad esempio una macchina di Turing, riconosce una lingua in DTIME(n2+o(1)) . Molto pulito! C'è stato un motivo particolare per cui hai scelto 2 nell'esponente? Immagino che sarebbe più o meno lo stesso se considerassi un altro numero nell'esponente che è maggiore di 2?
Michael Wehar,

1
@MichaelWehar Volevo solo un esempio concreto, e '1' a volte è speciale, quindi ho scelto '2'. Le proprietà di completezza sopra e la risposta sotto sono abbastanza generali.
Dmytro Taranovsky,

Risposte:


10

Ecco un controesempio, ovvero un linguaggio con un algoritmo (utilizzando macchine Turing multitape) per ogni , ma non uniformemente in : Accetta iff e la th Turing machine si ferma in meno di passi sull'input vuoto. Altre stringhe vengono rifiutate.ε > 0 ε 0 k 1 m k > 0 k m 2 + 1 / kO(n2+ε)ε>0ε
0k1mk>0km2+1/k

Per ogni , otteniamo un algoritmo hardcodificando tutte le macchine non inalanti sufficientemente piccole e simulando il resto. O ( n 2 + ε )εO(n2+ε)

Ora, considera una macchina di Turing decide la lingua.M

Sia (sull'input vuoto) un'implementazione efficiente di quanto segue: per in 1,2,4,8, ...:      usa per decidere se interrompe in passaggi.      ferma iff dice che non ci fermiamo ma possiamo ancora fermarci a passi. n M M < n 2 + 1 / M M < n 2 + 1 / M M
n
MM<n2+1/M
M<n2+1/M

Per correttezza di , non si ferma, ma prende -passi sull'ingresso per infinitamente molti . (Se è troppo veloce, allora contraddirebbe Il limite dipende da simula in tempo lineare e che altrimenti sarebbe efficiente.)M M Ω ( n 2 + 1 / M ) 0 M 1 n - M n M M M Ω ( n 2 + 1 / M ) M MMMMΩ(n2+1/M)0M1nMnMMMΩ(n2+1/M)MM


Non capisco l'ultima frase. Dove otteniamo limiti inferiori sul tempo di esecuzione di ? M
Emil Jeřábek sostiene Monica il

@ EmilJeřábek Ho chiarito la risposta. Fammi sapere se può essere ulteriormente migliorato.
Dmytro Taranovsky,

1
Forse non capisco cosa significhi "ma possiamo ancora fermarci ...". Cosa fa esattamente M '?
Emil Jeřábek sostiene Monica il

@ EmilJeřábek M 'non utilizza input e chiama ripetutamente M per decidere il problema di arresto limitato per M'. Se, ad esempio, dopo aver eseguito 900 passi, M 'scopre che (secondo M) M' non si ferma nei primi 1000 passi, allora M 'si ferma. Altrimenti, M 'continua a funzionare e chiama M per decidere se M' si ferma nei primi 4000 passi circa.
Dmytro Taranovsky,
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.