Vamos atualizar as definições.
PSPACE é a classe de problemas que podem ser resolvidos em uma máquina de Turing determinística com limites de espaço polinomial: ou seja, para cada um desses problemas, existe uma máquina que decide o problema usando no máximo células de fita quando sua entrada tem comprimento , para alguns polinômios .n pp ( n )np
EXP é a classe de problemas que podem ser resolvidos em uma máquina de Turing determinística com limites de tempo exponenciais: para cada um desses problemas, há uma máquina que decide o problema usando no máximo etapas quando sua entrada tem tamanho , para alguns polinômios . n p2p ( n )np
Primeiro, devemos dizer que essas duas classes podem ser iguais. Parece mais provável que sejam diferentes, mas às vezes as classes são as mesmas: por exemplo, em 2004, Reingold provou que o espaço de log simétrico é o mesmo que o espaço de log comum; em 1987, Immerman e Szelepcsényi provaram independentemente que NLco-NL= (e, de fato, que NSPACE [ ] co-NSPACE [ f ( n ) ]f( N )=f( N ) para qualquer ).f( n ) ≥ logn
Mas, no momento, a maioria das pessoas acredita que PSPACE e EXP são diferentes. Por quê? Vejamos o que podemos fazer nas duas classes de complexidade. Considere um problema no PSPACE . É permitido o uso de células de fita para resolver uma entrada de comprimento n, mas é difícil comparar isso com EXP , que é especificado por um limite de tempo.p ( n )n
Quanto tempo podemos usar para um problema no PSPACE ? Se escrevermos apenas para células da fita, existem 2 p ( n ) cadeias diferentes que podem aparecer na fita, assumindo um alfabeto binário. A cabeça da fita pode estar em qualquer um dos p ( n ) lugares diferentes e a máquina de Turing pode estar em um dos k estados diferentes. Portanto, o número total de configurações é T ( n ) = kp ( n )2p ( n )p ( n )kT(n)=kp(n)2p(n). Pelo princípio do pigeonhole, se executarmos para as etapas , devemos visitar uma configuração duas vezes, mas, como a máquina é determinística, isso significa que ela fará um loop e visitará a mesma configuração infinitamente, ou seja, ela vencerá ' Não pare. Como parte da definição de estar no PSPACE é que você precisa decidir o problema, qualquer máquina que não termine não resolve um problema do PSPACE . Em outras palavras, PSPACE é a classe de problemas que são decidíveis usando no máximo p ( n ) de espaço e no máximo kT(n)+1p(n) tempo, que é no máximo 2 q ( n ) para algum polinômio q . Então, mostramos que oPSPACEkp(n)2p(n)2q(n)q⊆EXP .
E quanto espaço podemos usar para um problema de EXP ? Bem, temos permissão de etapas e a cabeça de uma máquina de Turing pode mover apenas uma posição em cada etapa. Como a cabeça não pode se mover mais do que 2 p ( n ) posições, só podemos usar tantas células de fita.2p(n)2p(n)
n, por outro lado, você pode não apenas olhar para todos os subconjuntos, mas também não precisar reutilizar seu espaço de trabalho, para lembrar o que aprendeu sobre cada um individualmente. Parece que deveria ser mais poderoso.
Outra intuição sobre por que eles deveriam ser diferentes é que os teoremas da hierarquia de tempo e espaço nos dizem que permitir um pouco mais de espaço ou tempo aumenta estritamente o que você pode calcular. Os teoremas da hierarquia apenas permitem comparar gostos com gostos (por exemplo, eles mostram que o PSPACE⊊⊊