Aggiorniamo le definizioni.
PSPACE è la classe di problemi che possono essere risolti su una macchina di Turing deterministica con limiti di spazio polinomiali: ovvero, per ciascuno di questi problemi, esiste una macchina che decide il problema utilizzando al massimo celle a nastro quando il suo input ha lunghezza , per alcuni polinomi .p(n)np
EXP è la classe di problemi che possono essere risolti su una macchina di Turing deterministica con limiti di tempo esponenziali: per ciascuno di questi problemi, esiste una macchina che decide il problema usando al massimo passaggi quando il suo input ha lunghezza , per alcuni polinomi .2p(n)np
Innanzitutto, dovremmo dire che queste due classi potrebbero essere uguali. Sembrano più probabili essere diversi, ma a volte le classi risultano uguali: per esempio, nel 2004, Reingold ha dimostrato che lo spazio di log simmetrico è lo stesso dello spazio di log ordinario; nel 1987, Immerman e Szelepcsényi hanno dimostrato indipendentemente che NLco-NL= (e, di fatto, NSPACE [ ] co-NSPACE [ ]f(n)=f(n) per qualsiasi ).f(n)≥logn
Ma, al momento, molte persone credono che PSPACE ed EXP siano diversi. Perché? Diamo un'occhiata a cosa possiamo fare nelle due classi di complessità. Considera un problema in PSPACE . Ci è permesso usare celle a nastro per risolvere un input di lunghezza ma è difficile confrontarlo con EXP , che è specificato da un limite di tempo.p(n)n
Quanto tempo possiamo usare per un problema con PSPACE ? Se scriviamo solo su celle a nastro, ci sono stringhe diverse che potrebbero apparire sul nastro, assumendo un alfabeto binario. La testina del nastro potrebbe trovarsi in uno dei punti diversi e la macchina di Turing potrebbe trovarsi in uno dei stati diversi. Quindi il numero totale di configurazioni è. In base al principio del piccione, se corriamo per i passaggi , dobbiamo visitare una configurazione due volte ma, poiché la macchina è deterministica, ciò significa che circolerà e visiterà la stessa configurazione all'infinito spesso, cioè vincerà ' t stop. Da parte della definizione di essere inp(n)2p(n)p(n)kT(n)=kp(n)2p(n)T(n)+1PSPACE è che devi decidere il problema, qualsiasi macchina che non termina non risolve un problema PSPACE . In altre parole, PSPACE è la classe di problemi che sono decidibili usando al massimo lo spazio e al massimo tempo, che è al massimo per alcuni polinomi . Quindi abbiamo dimostrato che PSPACEScad .p(n)kp(n)2p(n)2q(n)q⊆
E quanto spazio possiamo usare per un problema EXP ? Bene, ci sono consentiti passi e il capo di una macchina Turing può muovere solo una posizione ad ogni passo. Poiché la testina non può spostarsi di più di posizioni, possiamo usare solo molte celle a nastro.2p(n)2p(n)
Questa è la differenza: sebbene sia PSPACE che EXP siano problemi che possono essere risolti in tempo esponenziale, PSPACE è limitato all'uso dello spazio polinomiale, mentre EXP può utilizzare lo spazio esponenziale. Ciò suggerisce già che EXP dovrebbe essere più potente. Ad esempio, supponiamo che stai cercando di risolvere un problema relativo ai grafici. In PSPACE , puoi guardare ogni sottoinsieme dei vertici (bastano bit per scrivere un sottoinsieme). È possibile utilizzare dello spazio di lavoro per calcolare su ciascun sottoinsieme ma, una volta terminato di lavorare su un sottoinsieme, è necessario cancellare quello spazio di lavoro e riutilizzarlo per il sottoinsieme successivo. In Scadnd'altra parte, non solo puoi guardare ogni sottoinsieme, ma non è necessario riutilizzare il tuo spazio di lavoro, in modo da poter ricordare ciò che hai imparato su ciascuno di essi. Sembra che dovrebbe essere più potente.
Un'altra intuizione per cui dovrebbero essere diversi è che i teoremi della gerarchia del tempo e dello spazio ci dicono che concedere anche un po 'più di spazio o tempo aumenta strettamente ciò che è possibile calcolare. I teoremi della gerarchia ti consentono di confrontare solo come (ad esempio, mostrano che PSPACE EXPSPACE⊊ e P EXP⊊ ) quindi non si applicano direttamente a PSPACE vs EXP ma ci danno una forte intuizione che più risorse significano che più problemi diventano risolvibili.