Las clases dentro de la jerarquía tienen problemas completos (con respecto a las reducciones de tiempo polinomial ) que preguntan si las fórmulas booleanas cuantificadas son válidas para fórmulas con restricciones en el orden de los cuantificadores. Se sabe que la igualdad entre clases del mismo nivel o de niveles consecutivos en la jerarquía implicaría un "colapso" de la jerarquía a ese nivel.
Definiciones
Existen múltiples definiciones equivalentes de las clases de la jerarquía polinomial.
Definición de Oracle
Para la definición de oráculo de la jerarquía polinomial, defina
donde es el conjunto de problemas de decisión resolubles en tiempo polinomial por una máquina de Turing aumentada por un oráculo para algún problema completo en la clase A; las clases y se definen de manera análoga. Por ejemplo, , y es la clase de problemas resolubles en tiempo polinomial por una máquina de Turing determinista con un oráculo para algún problema NP-completo. [2]
Definición de fórmulas booleanas cuantificadas
Para la definición existencial/universal de la jerarquía polinomial, sea L un lenguaje (es decir, un problema de decisión , un subconjunto de {0,1} * ), sea p un polinomio y defina
donde es una codificación estándar del par de cadenas binarias x y w como una única cadena binaria. El lenguaje L representa un conjunto de pares ordenados de cadenas, donde la primera cadena x es un miembro de , y la segunda cadena w es un testigo "corto" ( ) que testifica que x es un miembro de . En otras palabras, si y solo si existe un testigo corto w tal que . De manera similar, defina
Sea C una clase de lenguajes. Extienda estos operadores para que funcionen en clases enteras de lenguajes mediante la definición
Nuevamente, las leyes de De Morgan se cumplen: y , donde .
Las clases NP y co-NP se pueden definir como , y , donde P es la clase de todos los lenguajes factiblemente decidibles (en tiempo polinomial). La jerarquía polinomial se puede definir recursivamente como
Téngase en cuenta que , y .
Esta definición refleja la estrecha conexión entre la jerarquía polinómica y la jerarquía aritmética , donde R y RE desempeñan papeles análogos a P y NP , respectivamente. La jerarquía analítica también se define de manera similar para dar una jerarquía de subconjuntos de los números reales .
Definición de máquinas de Turing alternadas
Una máquina de Turing alternante es una máquina de Turing no determinista con estados no finales divididos en estados existenciales y universales. Es eventualmente aceptable desde su configuración actual si: está en un estado existencial y puede realizar la transición hacia alguna configuración eventualmente aceptable; o, está en un estado universal y cada transición es hacia alguna configuración eventualmente aceptable; o, está en un estado aceptable. [3]
Definimos como la clase de lenguajes aceptados por una máquina de Turing alternada en tiempo polinomial, de modo que el estado inicial es un estado existencial y cada camino que la máquina puede tomar cambia como máximo k – 1 veces entre estados existenciales y universales. Definimos de manera similar, excepto que el estado inicial es un estado universal. [4]
Si omitimos el requisito de como máximo k – 1 intercambios entre los estados existencial y universal, de modo que solo requerimos que nuestra máquina de Turing alternada funcione en tiempo polinomial, entonces tenemos la definición de la clase AP , que es igual a PSPACE . [5]
Relaciones entre clases en la jerarquía polinómica
La unión de todas las clases en la jerarquía polinomial es la clase de complejidad PH .
Las definiciones implican las relaciones:
A diferencia de las jerarquías aritméticas y analíticas, cuyas inclusiones se sabe que son adecuadas, es una cuestión abierta si alguna de estas inclusiones es adecuada, aunque se cree ampliamente que todas lo son. Si alguna , o si alguna , entonces la jerarquía colapsa al nivel k : para todo , . [6] En particular, tenemos las siguientes implicaciones que involucran problemas sin resolver:
En general, se considera que la cuestión del colapso al primer nivel es extremadamente difícil. La mayoría de los investigadores no creen en un colapso, ni siquiera al segundo nivel.
Se sabe que PH está contenido dentro de PSPACE , pero no se sabe si las dos clases son iguales. Una reformulación útil de este problema es que PH = PSPACE si y solo si la lógica de segundo orden sobre estructuras finitas no obtiene potencia adicional de la adición de un operador de clausura transitiva sobre relaciones de relaciones (es decir, sobre las variables de segundo orden). [8]
Si la jerarquía polinómica tiene algún problema completo , entonces tiene solo un número finito de niveles distintos. Dado que hay problemas PSPACE-completos , sabemos que si PSPACE = PH, entonces la jerarquía polinómica debe colapsar, ya que un problema PSPACE-completo sería un problema -completo para algún k . [9]
Cada clase en la jerarquía polinómica contiene problemas -completos (problemas completos bajo reducciones de muchos a uno en tiempo polinómico). Además, cada clase en la jerarquía polinómica está cerrada bajo reducciones -: lo que significa que para una clase C en la jerarquía y un lenguaje , si , entonces también. Estos dos hechos juntos implican que si es un problema completo para , entonces , y . Por ejemplo, . En otras palabras, si un lenguaje se define en base a algún oráculo en C , entonces podemos asumir que se define en base a un problema completo para C . Por lo tanto, los problemas completos actúan como "representantes" de la clase para la que son completos.
El teorema de Sipser-Lautemann establece que la clase BPP está contenida en el segundo nivel de la jerarquía polinomial.
El teorema de Kannan establece que para cualquier k , no está contenido en TAMAÑO (n k ).
El teorema de Toda establece que la jerarquía polinomial está contenida en P #P .
Problemas
Un ejemplo de un problema natural es la minimización de circuitos : dado un número k y un circuito A que calcula una función booleana f , determine si hay un circuito con como máximo k puertas que calcule la misma función f . Sea C el conjunto de todos los circuitos booleanos. El lenguaje
es decidible en tiempo polinomial. El lenguaje
es el lenguaje de minimización de circuitos. porque L es decidible en tiempo polinomial y porque, dado , si y solo si existe un circuito B tal que para todas las entradas x , .
Un problema completo para es la satisfacibilidad para fórmulas booleanas cuantificadas con k – 1 alternancias de cuantificadores (abreviado QBF k o QSAT k ). Esta es la versión del problema de satisfacibilidad booleana para . En este problema, se nos da una fórmula booleana f con variables divididas en k conjuntos X 1 , ..., X k . Tenemos que determinar si es cierto que
Es decir, ¿existe una asignación de valores a las variables en X 1 tal que, para todas las asignaciones de valores en X 2 , exista una asignación de valores a las variables en X 3 , ... f es verdadera? La variante anterior es completa para . La variante en la que el primer cuantificador es "para todos", el segundo es "existe", etc., es completa para . Cada lenguaje es un subconjunto del problema obtenido al eliminar la restricción de k – 1 alternancias, el problema PSPACE - completo TQBF .
En este Compendio se puede encontrar una lista al estilo Garey/Johnson de problemas que se sabe que están completos para el segundo nivel y niveles superiores de la jerarquía polinomial.
Arora, Sanjeev; Barak, Boaz (2009). Teoría de la complejidad: un enfoque moderno. Cambridge University Press. ISBN 978-0-521-42426-4. sección 1.4, "Máquinas como cuerdas y la máquina universal de Turing" y 1.7, "Demostración del teorema 1.9"
^ Completitud en la jerarquía de tiempo polinomial. Un compendio, M. Schaefer, C. Umans
^ Arora y Barak, páginas 99-100
^ Arora y Barak, pág. 100
^ Arora y Barak, pág. 100
^ Arora y Barak, 2009, Teorema 5.4
^ Hemaspaandra, Lane (2018). "17.5 Clases de complejidad". En Rosen, Kenneth H. (ed.). Manual de matemáticas discretas y combinatorias . Matemáticas discretas y sus aplicaciones (2.ª ed.). CRC Press. págs. 1308–1314. ISBN9781351644051.
^ Ferrarotti, Flavio; Van den Bussche, enero; Virtema, Jonni (2018). "Expresividad dentro de la lógica de cierre transitivo de segundo orden". DROPS-IDN/V2/Document/10.4230/LIPIcs.CSL.2018.22 . Schloss-Dagstuhl - Leibniz Zentrum für Informatik. doi : 10.4230/LIPIcs.CSL.2018.22 . S2CID 4903744.