O ( log c n ) O ( n k ) captura la idea de eficientemente paralelizable, y una interpretación de la misma son los problemas que se pueden resolver en el tiempo usando procesadores paralelos para algunas constantes , . Mi pregunta es si hay una clase de complejidad análoga donde el tiempo es y el número de procesadores es . Como una pregunta para completar el espacio en blanco:
es a como _ _ es a
En particular, estoy interesado en un modelo donde tenemos un número exponencial de computadoras dispuestas en una red con un grado polinomialmente limitado (digamos que la red es independiente de la entrada / problema o al menos de alguna manera fácil de construir, o cualquier otra suposición de uniformidad razonable ) En cada paso de tiempo:
- Cada computadora lee el número polinómico de mensajes de tamaño polinómico que recibió en el paso de tiempo anterior.
- Cada computadora ejecuta algunos cálculos de polytime que pueden depender de estos mensajes.
- Cada computadora pasa un mensaje (de polylength) a cada uno de sus vecinos.
¿Cuál es el nombre de una clase de complejidad correspondiente a este tipo de modelos? ¿Cuál es un buen lugar para leer sobre tales clases de complejidad? ¿Hay algún problema completo para tal clase?
Respuestas:
Creo que la clase que estás buscando es . Suponga que tiene procesadores que cumplen los requisitos:PSPACE exp(nk)=2O(nk)
Esto se puede modelar al tener un circuito con capas de , donde cada capa tiene "compuertas" , y cada "compuerta" realiza un cálculo de tiempo polinómico (que satisface la parte 2) con una entrada de polinomio ( satisfaciendo la parte 1), y tiene un despliegue polinómico (satisfaciendo la parte 3).poly(n) exp(nk)
Dado que cada puerta calcula una función de tiempo polinomial, cada una de ellas puede ser reemplazada por un circuito de tamaño polinómico (con AND / OR / NOT) de la manera habitual. Tenga en cuenta que las entradas y salidas de polinomiales se pueden hacer que sean 2, aumentando solo la profundidad en un factor . Lo que queda es un circuito uniforme de profundidad de con compuertas AND / OR / NOT. Este es precisamente el tiempo polinómico alterno, que es precisamente .O(logn) poly(n) exp(nk) PSPACE
fuente
Como dice Ryan, esta clase es PSPACE. Esta clase a menudo se llama NC (poli) en la literatura. Aquí hay una cita directa del documento QIP = PSPACE :
Una forma de ver esto es probar ambas inclusiones directamente. Para ver que NC (poli) está en PSPACE, tenga en cuenta que podemos calcular la salida de la puerta final de forma recursiva, y solo necesitaremos una pila de tamaño igual a la profundidad del circuito, que es polinomial. Para mostrar que PSPACE está en NC (poli), tenga en cuenta que QBF, que está completo en PSPACE, puede escribirse como un circuito de profundidad polinomial con exponencialmente muchas puertas de la manera habitual: el cuantificador existente es una puerta OR, el cuantificador total Es una puerta AND. Dado que solo hay polinomialmente muchos cuantificadores, este es un circuito de profundidad polinomial.
fuente