Accelerazione non deterministica del calcolo deterministico


14

Il non determinismo può accelerare il calcolo deterministico? Se sì, quanto?

Accelerando il calcolo deterministico per non determinismo intendo i risultati della forma:

DTime(f(n))NTime(n)

Ad esempio qualcosa del genere

DTime(n2)NTime(n)

Qual è il risultato accelerato più noto del calcolo deterministico per non determinismo? Che dire di o persino al posto di ?ΣkPTime(n)ATime(n)NTime(n)

Supponiamo che le classi di complessità siano definite usando macchine di Turing a nastro multiplo per evitare le ben note peculiarità delle macchine di Turing a nastro singolo a tempo sub-quadratico.


3
(Con Teorema 4.1 e il Tempo Teorema di gerarchia, il tuo esempio non può tenere per le TM 1-tape.)

Risposte:


11

Non dovresti aspettarti un'eccitante accelerazione. abbiamo

DTIME(f(n))NTIME(f(n))ATIME(f(n))DSPACE(f(n)),

e la simulazione più nota del tempo deterministico per spazio è ancora il teorema di Hopcroft-Paul-Valiant

DTIME(f(n))DSPACE(f(n)/logf(n)).

Pertanto, il non determinismo o l'alternanza non sono noti per accelerare di più di un fattore logaritmico. (Sospetto che non sia noto nemmeno uno speed-up super-lineare, anche se non sono sicuro che il teorema HPV non possa essere fatto funzionare con ATIME al posto di DSPACE.)


1
Per le macchine di Turing online a nastro singolo, è folklore che . NTIME(n)DSPACE(n)
Michael Wehar,

1
Per le macchine Turing a due nastri, abbiamo come indicato sopra. DTIME(n)DSPACE(n/log(n))
Michael Wehar,

2
La domanda riguarda le macchine Turing multitape.
Emil Jeřábek sostiene Monica il

4
Volevo solo fornire ulteriori chiarimenti per il lettore interessato.
Michael Wehar,

2
Di Paul-Pippenger-Szemerédi-Trotter, la prima inclusione è per il caso speciale in cui f ( n ) = n . DTIME(f(n))NTIME(f(n))f(n)=n
András Salamon,

6

Esistono due concetti distinti:

(1) Simulazione efficiente di macchine deterministiche con macchine non deterministiche.

(2) Accelerare i risultati ottenuti applicando ripetutamente una simulazione.

Non conosco alcuna simulazione efficiente di macchine deterministiche da parte di macchine non deterministiche, ma conosco diversi risultati di accelerazione che potrebbero essere utilizzati se esistessero simulazioni efficienti.

Considera la classe dei linguaggi che sono decidibili da una macchina di Turing non deterministica che corre per t ( n ) tempo usando solo g ( n ) ipotesi non deterministiche. In altre parole, la lunghezza del testimone è limitata da g ( n ) .NTIGU(t(n),g(n))t(n)g(n)g(n)

Se hai una simulazione più efficiente usando solo ipotesi non deterministiche, allora credo che tu possa accelerare un po '. In particolare, credo che tu possa provare quanto segue:log(n)

Se , quindi D T I M E ( 2 DTIME(nlog(n))NTIGU(n,log(n)).DTIME(2n)NTIME(n)

Se lo trovi interessante, allora posso scrivere la prova.

Ryan Williams ha introdotto alcune accelerazioni correlate in "Il miglioramento della ricerca esaustiva implica limiti inferiori superpolinomiali".


1
Come puoi vedere, è un presupposto piuttosto grande ed è abbastanza ragionevole che potresti provare che l'ipotesi è falsa . Fammi sapere se lo fai. :)DTIME(nlog(n))NTIGU(n,log(n))
Michael Wehar,

@AndrasSalamon: in che modo segue una ricerca esaustiva?

@RickyDemer hai ragione, non è così; hanno rimosso i commenti. Stavo presupponendo implicitamente che il non determinismo fosse alla fine del calcolo, ma si dovrebbe presumere che fosse all'inizio.
András Salamon,

Aggiornamento: Finalmente ho iniziato a scrivere il risultato di accelerazione proposto che ho citato. Sembra essere un po 'diverso rispetto ad altri risultati di accelerazione che ho trovato. Non esitate a rispondermi o inviarmi un'e-mail se siete interessati a discutere. Grazie! :)
Michael Wehar,

1
darebbe sicuramente un'occhiata, questo è un approccio intrigante.
András Salamon,

6

Ecco una spiegazione del perché una accelerazione non deterministica quartica generale del calcolo deterministico anche se vero sarebbe difficile da dimostrare:

Supponiamo che valga una accelerazione non deterministica quartica generale del calcolo deterministico come . Per motivi di contraddizione, supponiamo che S A TD T i m e ( o ( n 2 / lg n ) ) . Vi è una riduzione del tempo quadratico da qualsiasi problema in N T i m e ( nDTime(n4)NTime(n)SATDTime(o(n2/lgn)) A S A T . Combinando questi avremmo D T i m e ( n 4 ) D T i m e ( o ( n 4 / lg n ) ) in contraddizione con il teorema della gerarchia temporale.NTime(n)SATDTime(n4)DTime(o(n4/lgn))

Pertanto, un'accelerazione quartica generale nonterministica del calcolo deterministico implicherebbe un limite inferiore per :SAT

.DTime(n4)NTime(n)SATDTime(o(n2/lgn))

Dimostrando quindi un generale quadratica non deterministico velocità-up di un'elaborazione deterministica è almeno duro come prova quasi quadratici inferiori limite sulla .SAT

Allo stesso modo, per qualsiasi funzione ben comportata :f(n)

.DTime(f(n2))NTime(n)SATDTime(o(f(n)/lgn))

(Se al posto di scegliamo un problema che è difficile per N T i m e ( n ) con riduzioni del tempo lineare, ciò darebbe f ( n ) / lg n limite inferiore per quel problema. Se risolviamo il numero dei nastri macchina a qualche k 2, quindi possiamo usare il teorema della gerarchia temporale di Fürer che non ha il fattore lg n .)SATNTime(n)f(n)/lgnk2lgn


ω(nlgn)2
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.