PSPACE
En teoría de la complejidad computacional, la clase PSPACE es el conjunto de los problemas de decisión que pueden ser resueltos por una máquina de Turing determinista en espacio de polinomios () y tiempo ilimitado.
La definición no depende del carácter determinista de la máquina de Turing (esto es un corolario del teorema de Savitch). De manera que PSPACE = NPSPACE. Si un problema se resuelve mediante un algoritmo no determinista de complejidad espacial polinómica, también se puede resolver mediante un algoritmo determinista de complejidad espacial polinómica.
Definición formal
En el caso de la complejidad espacial, se puede caracterizar la clase de lenguajes PSPACE:
es decir, la unión de todas las clases de complejidad espacial polinómicas sobre Máquinas de Turing deterministas.
Relación entre otras clases
Todos los problemas resolubles en tiempo polinómico con máquinas no deterministas (todos los problemas que están en NP) pueden resolverse en espacio polinómico, por lo tanto, PSPACE incluye NP y Co-NP.
Se conjetura que exista un conjunto de problemas que sean PSPACE-completo. Si lo hubiera y uno de ellos estuviera en NP, entonces PSPACE = NP, o si estuviera alguno de ellos en P, entonces PSPACE = P.
El conjunto PSPACE es un subconjunto estricto del conjunto de lenguajes sensibles al contexto. Las siguientes inclusiones han sido demostradas:
NL ⊆ P ⊆ NP ⊆ PSPACE
NL ⊂ PSPACE ⊂ EXPSPACE
PSPACE-completo ⊆ PSPACE
En la primera línea hay tres inclusiones, y se sabe que NL ⊂ PSPACE, de manera que al menos una de las inclusiones es estricta, aunque aún no se ha descubierto cuál de ellas lo es. Se sospecha que las tres son inclusiones estrictas. Una solución al problema de saber si las clases P y NP son distintas vale un millón de dólares. Se sospecha también que la inclusión de la última línea es estricta.
Los problemas más difíciles en PSPACE son los del conjunto PSPACE-completo.
Otras características
Una característica alternativa de PSPACE es el conjunto de problemas decidibles por una máquina de Turing alternativa en tiempo polinómico, a veces llamadas APTIME o solamente AP.
Una característica lógica de PSPACE desde la teoría de la complejidad descriptiva es que son conjuntos de problemas expresados en segundo orden lógico con la adición de un operador de la clausura transitiva. Un cierre transitivo completo no es necesario; un cierre transitivo conmutativo es suficiente e incluso formas más débiles. La adición de este operador hace distinguible el PSPACE del PH.
Un importante resultado de la teoría de la complejidad es que PSPACE puede ser caracterizada como todas las lenguas reconocidas por la presencia de un sistema interactivo de la prueba (interactive proof system), una definición de la clase IP. En este sistema, hay una demostración que intenta convencer aleatoriamente en tiempo polinómico para verificar que una cadena pertenece al lenguaje. Debe ser capaz de convencer al verificador con una elevada probabilidad, si la cadena está en el lenguaje, pero no debería ser capaz de convencer con una baja probabilidad, si la cadena no está en el lenguaje.
NPSPACE
La clase de complejidad NPSPACE es el conjunto de los problemas de decisión que pueden ser resueltos en una máquina de Turing no determinista en espacio polinómico y tiempo ilimitado.
Por el teorema de Savitch, NPSPACE = PSPACE.
Definición formal
Al denotar con NSPACE(t(n)), el conjunto de todos los problemas que pueden ser resueltos con una máquina de Turing no determinista usando espacio O(t(n)) para alguna función t sobre el tamaño n de la entrada y sin límite de tiempo, se puede definir NPSPACE formalmente como[1]
Sin embargo, al admitir no determinismo en la máquina de Turing no se agrega poder adicional dado que reutilizando el espacio, una máquina de Turing determinista puede simular una máquina no determinista, si bien esto puede tomar mucho más tiempo.[2]