Perché crediamo che PSPACE ≠ EXPTIME?


31

Ho difficoltà a capire intuitivamente perché PSPACE è generalmente ritenuto diverso da EXPTIME. Se PSPACE è l'insieme di problemi risolvibili nel polinomio spaziale nella dimensione di input , allora come può esserci una classe di problemi che sperimentano una maggiore esplosione del tempo esponenziale e non fanno uso dello spazio esponenziale?f(n)

La risposta di Yuval Filmus è già estremamente utile. Tuttavia, qualcuno potrebbe disegnare il mio argomento sciolto il motivo per cui potrebbe essere il caso che PSPACE ≠ EXPTIME (vale a dire che PSPACE non è un sottoinsieme proprio di EXPTIME)? Non avremo bisogno di spazio esponenziale per battere il limite superiore per il numero totale di configurazioni di sistema ottenibili con lo spazio che si ridimensiona polinomialmente con la dimensione dell'input? Solo per dire, posso capire perché EXPTIME ≠ EXPSPACE è una questione aperta, ma mi manca la comprensione della relazione tra PSPACE ed EXPTIME.

Risposte:


40

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.


1
Se EXPTIME consente lo spazio esponenziale, suppongo che sia la domanda giusta, possiamo dire che potrebbe essere vero che EXPTIME sia un sottoinsieme proprio di EXPSPACE perché EXPSPACE consente problemi che possono essere risolti in un tempo extra-esponenziale?
user25876

Se questo è vero, allora penso che tutto abbia senso per me. Per qualche ragione avevo ipotizzato che EXPTIME proibisse l'uso dello spazio esponenziale, ma non è così. Ecco da dove viene la mia confusione.
user25876

1
Mi piace il tuo esempio di sottoinsieme. IIRC correttamente, conosciamo problemi che non possono essere calcolati online (nonché con informazioni complete), quindi dovresti tenere tutti gli elementi in memoria. Intuitivamente parlando.
Raffaello

@ user25876 Sì, lo stesso argomento che dice che una macchina PSPACE può usare il tempo esponenziale dice che una macchina EXPSPACE può usare un tempo doppiamente esponenziale (cioè ). 22poly(n)
David Richerby,

1
@DavidRicherby Accetto la tua risposta. Conosci qualche riferimento cartaceo BTW che discute degli ostacoli tecnici per dimostrare o smentire PSPACE come un sottoinsieme corretto di EXPTIME? In realtà sono molto curioso ora.
user25876

9

Una macchina in esecuzione in tempo esponenziale potrebbe utilizzare lo spazio esponenziale. Quindi a priori potrebbe essere che le macchine limitate allo spazio polinomiale sarebbero più deboli. Una situazione simile si verifica per P e L. Una macchina in esecuzione in un tempo polinomiale potrebbe usare lo spazio polinomiale, quindi a priori potrebbe essere che le macchine limitate allo spazio logaritmico sarebbero più deboli. Si ipotizza persino che P sia diverso da NL, analogo non deterministico di L. (Per PSPACE le congetture corrispondenti sono equivalenti, poiché PSPACE = NPSPACE a causa del teorema di Savitch.) Sfortunatamente, non sappiamo come provare queste congetture attualmente. La congettura EXPTIME PSPACE è più forte poiché implica P NL tramite un argomento di riempimento.

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.