Actualicemos las definiciones.
PSPACE es la clase de problemas que se pueden resolver en una máquina de Turing determinista con límites de espacio polinomiales: es decir, para cada uno de estos problemas, hay una máquina que decide el problema utilizando como máximo celdas de cinta cuando su entrada tiene longitud n , para algunos polinomios p .p ( n )nortepags
EXP es la clase de problemas que se pueden resolver en una máquina de Turing determinista con límites de tiempo exponenciales: para cada uno de estos problemas, hay una máquina que decide el problema utilizando como máximo pasos cuando su entrada tiene una longitud n , para algunos polinomios p .2p ( n )nortepags
Primero, deberíamos decir que estas dos clases podrían ser iguales. Parece más probable que sean diferentes, pero las clases a veces resultan ser las mismas: por ejemplo, en 2004, Reingold demostró que el espacio de registro simétrico es el mismo que el espacio de registro ordinario; en 1987, Immerman y Szelepcsényi demostraron independientemente que NL=co-NL (y, de hecho, ese NSPACE [ ]F( n )=co-NSPACE [ ]f(n) para cualquier ).f(n)≥logn
Pero, por el momento, la mayoría de la gente cree que PSPACE y EXP son diferentes. ¿Por qué? Veamos qué podemos hacer en las dos clases de complejidad. Considere un problema en PSPACE . Se nos permite usar celdas de cinta para resolver una entrada de longitud n, pero es difícil comparar eso con EXP , que se especifica mediante un límite de tiempo.p(n)n
¿Cuánto tiempo podemos usar para un problema de PSPACE ? Si solo escribimos en celdas de cinta, hay 2 p ( n ) cadenas diferentes que podrían aparecer en la cinta, suponiendo un alfabeto binario. El cabezal de la cinta podría estar en cualquiera de p ( n ) lugares diferentes y la máquina Turing podría estar en uno de los k estados diferentes. Entonces, el número total de configuraciones es T ( n ) = kp(n)2p(n)p(n)kT(n)=kp(n)2p(n). Según el principio del casillero, si corremos para pasos, debemos visitar una configuración dos veces pero, dado que la máquina es determinista, eso significa que recorrerá y visitará esa misma configuración infinitamente a menudo, es decir, ganó ' t detener. Como parte de la definición de estar en PSPACE es que tienes que decidir el problema, cualquier máquina que no termine no resuelve un problema de PSPACE . En otras palabras, PSPACE es la clase de problemas que se pueden resolver utilizando como máximo el espacio p ( n ) y como máximo kT(n)+1p(n) tiempo, que es como máximo 2 q ( n ) para algún polinomio q . Así que hemos demostrado quePSPACEkp(n)2p(n)2q(n)q⊆CAD .
¿Y cuánto espacio podemos usar para un problema de EXP ? Bueno, se nos permiten pasos y la cabeza de una máquina de Turing solo puede moverse una posición en cada paso. Como el cabezal no puede moverse más de 2 p ( n ) posiciones, solo podemos usar esa cantidad de celdas de cinta.2p(n)2p(n)
n, por otro lado, no solo puede mirar cada subconjunto sino que no necesita reutilizar su espacio de trabajo, por lo que puede recordar lo que aprendió sobre cada uno individualmente. Parece que debería ser más poderoso.
Otra intuición de por qué deberían ser diferentes es que los teoremas de la jerarquía del tiempo y el espacio nos dicen que permitir incluso un poquito más de espacio o tiempo aumenta estrictamente lo que puedes calcular. Los teoremas de jerarquía solo le permiten comparar like con like (por ejemplo, muestran que PSPACE⊊⊊