Perché spesso si richiede la costruibilità dello spazio nel teorema di Savitch?


8

Quando viene affermato il famoso teorema di Savitch, si vede spesso il requisito che sia costruibile nello spazio (interessante, è omesso in Wikipedia). La mia semplice domanda è: perché ne abbiamo bisogno? Comprendo il requisito per in \ Omega (\ log n) , che è chiaro dalla prova. Ma nessuna prova che ho visto finora usa esplicitamente che S (n) sia costruibile nello spazio.S(n)S(n)Ω(logn)S(n)

La mia spiegazione: per chiamare la procedura REACH (o PERCORSO o come preferisci chiamarla), l'ultimo parametro deve essere "spiegato" e per non lasciare i limiti di spazio di S (n) per una chiamata , non dobbiamo aver bisogno di più di S(n) spazio per scriverlo.

Risposte:


2

Credo che la tua spiegazione sia corretta. La subroutine st-REACH ottiene (s,t,) come input e rileva se t è raggiungibile o meno da s con i passaggi . s e t saranno le configurazioni iniziali e finali, e =2O(s(n)) , il limite superiore sul numero di diverse configurazioni.

Per impostare bisogna essere in grado di calcolare (o meglio, ). Se questo processo richiede più di spazio, l'intera macchina avrà spazio più del consentito. È possibile che anche sia troppo a causa della chiamata ricorsiva a st-REACH (c'è qualche altra ragione possibile?), Ma non l'ho verificato.s(n)2O(s(n))O(s2(n))O(s2(n))


8

Questo è ben elaborato nel libro di testo Teoria del calcolo di Dexter Kozen, nel capitolo 2.

Il Teorema di Savitch (Teorema 1 nel suo documento) dice: se , allora . La costruttibilità dello spazio sembra spesso essere assunta in una dimostrazione, ma questo requisito può essere rimosso riavviando la ricerca con un limite di spazio fisso che può aumentare con ogni tentativo.S(n)lognNSPACE(S(n))DSPACE(S(n)2)

La confusione forse sorge perché il documento originale di Savitch riguarda in gran parte l'indagine se . Quindi spende molto sforzo nelle funzioni costruibili nello spazio, a causa della seguente osservazione dal documento:NSPACE(S(n))DSPACE(S(n))

È naturale chiedere se esiste una funzione di memorizzazione le cui classi di complessità deterministica e non deterministica siano uguali. La risposta è stata data da Manuel Blum ed è "sì". Blum mostrò che ci sono funzioni di memorizzazione L (n) arbitrariamente grandi in modo tale che un insieme sia accettato all'interno della memoria deterministica L (n) se, e solo se, sia accettato all'interno della memoria non deterministica L (n). Queste funzioni L (n) non sono, tuttavia, "ben educate" e il Teorema 3 non si applica ad esse.

(Qui "ben educato" si riferisce alle funzioni costruibili nello spazio, chiamate misurabili da Savitch.)

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.