Limiti inferiori stretti sul teorema di Savitch


28

Prima di tutto, mi scuso in anticipo per qualsiasi stupidità. Non sono affatto un esperto di teoria della complessità (tutt'altro! Sono un laureato che frequenta la mia prima lezione di teoria della complessità) Ecco la mia domanda. Ora il teorema di Savitch afferma che

NSPACE(f(n))DSPACE((f(n))2)
Ora sono curioso di sapere se questo limite inferiore fosse stretto, cioè che è qualcosa lungo le linee di NSPACE(f(n))DSPACE((f(n))1.9) non è realizzabile.

Sembra che ci dovrebbe essere un semplice argomento combinatorio da formulare qui: ogni nodo nel grafico di configurazione per una macchina Turing deterministica ha solo un bordo in uscita, mentre ogni nodo nel grafico di configurazione di una macchina Turing non deterministica può avere più di un bordo in uscita. Quello che sta facendo l'algoritmo di Savitch è convertire i grafici di configurazione con qualsiasi bordo in uscita numerico in grafici di configurazione con <2 bordi in uscita.

Poiché il grafico di configurazione definisce una TM unica (non ne sono sicuro), la dimensione combinatoria di quest'ultima è quasi certamente più grande della prima. Questa "differenza" è forse un fattore di , forse meno - non lo so. Naturalmente, ci sono molti piccoli problemi tecnici da risolvere, come il modo in cui è necessario assicurarsi che non ci siano loop e così via, ma la mia domanda è se questo è un modo ragionevole per iniziare a provare una cosa del genere. n2

Risposte:


28

Questa è una domanda aperta ben nota. Vedrai nella teoria della complessità molte domande aperte per le quali ti chiederesti come mai nessuno è riuscito a risolverli. Parte del motivo è che abbiamo bisogno di nuove persone come te per aiutarci a risolverli :)

Per i risultati più recenti in quest'area, che mostrano che l'algoritmo di Savitch è ottimale in alcuni modelli con restrizioni, vedere il documento FOCS di Aaron Potechin .

In particolare, parte dalla bella osservazione che, poiché il grafico di configurazione di una TM deterministica ha un solo bordo in uscita (dopo aver corretto l'input), si può pensare ad esso come un grafico non orientato, e quindi la domanda diventa qualcosa di simile al seguente: dato un grafico diretto di n vertici con due vertici speciali s , t , se lo mappiamo a un vertice N non indirizzato grafico G (anche con vertici speciali s , t ) tale che l'esistenza di ciascun bordo inGns,tNGs,t dipenda da un bordo in G e c'è un percorso da sGGsa in G se e solo se c'è un percorso fra s ' ' , quanto più grande N deve essere da n .tGse in GtGNn

Per dimostrare che l'algoritmo di Savitch è ottimale, è necessario dimostrare che deve essere almeno 2 Ω ( log 2 n ) = n Ω ( log n ) . Per mostrare L N L , è sufficiente mostrare il limite più debole che N > n c per ogni costante c . Sono abbastanza sicuro che anche N > n 10 non è noto, anche se forse qualcosa come N n 2 è noto per alcuni motivi non così interessanti.N2Ω(log2n)=nΩ(logn)LNLN>nccN>n10Nn2


20

Penso che non sappiamo se sia stretto. Altrimenti sapremmo che .LNL


buon punto, grazie :) Sulla seconda domanda: vedi evidenti difetti nell'approccio combinatorio nel mostrare una cosa del genere?
gabgoh,

2
Il teorema di Savitch è un algoritmo specifico per simulare un algoritmo di spazio f (n) non deterministico usando divide-and-conquer con una profondità O (f (n)) (dando f (n) ^ 2). Provare limiti inferiori implica mostrare che TUTTI gli algoritmi che usano meno spazio non riescono su alcuni input. Questo è il motivo per cui L = NL è difficile (e P = NP è difficile).
Derrick Stolee,

1
Non sappiamo se è stretto nel senso che non sappiamo che 2 è il migliore che si possa fare, ma ciò non significa che non sappiamo . NSpace(f(n))DSpace((f(n))1.9)
Kaveh,

1
Bene, non lo facciamo. Qualsiasi miglioramento (anche per specifiche , come log n ) sarebbe un grande passo avanti. flogn
Derrick Stolee,

1
@Derrick Stolee: ti manca il punto del mio commento. Solo conoscere una risposta positiva implicherebbe che , l'argomentazione di Karolina non fornisce alcuna prova della difficoltà di conoscere una risposta negativa, vale a dire di sapere NLNLNSpace(f(n))DSpace((f(n))1.9)LNL
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.