En la teoría de la complejidad computacional , el lenguaje TQBF es un lenguaje formal que consta de fórmulas booleanas cuantificadas verdaderas . Una fórmula booleana (completamente) cuantificada es una fórmula en lógica proposicional cuantificada (también conocida como lógica proposicional de segundo orden ) donde cada variable se cuantifica (o se vincula ) al comienzo de la oración mediante cuantificadores existenciales o universales . Dicha fórmula es equivalente a verdadero o falso (ya que no hay variables libres ). Si dicha fórmula se evalúa como verdadera, entonces pertenece al lenguaje TQBF. También se conoce como QSAT (Quantified SAT ).
Descripción general
En la teoría de la complejidad computacional, el problema de la fórmula booleana cuantificada ( QBF ) es una generalización del problema de satisfacibilidad booleana en el que se pueden aplicar tanto cuantificadores existenciales como universales a cada variable. Dicho de otro modo, plantea la cuestión de si una fórmula proposicional cuantificada sobre un conjunto de variables booleanas es verdadera o falsa. Por ejemplo, el siguiente es un caso de QBF:
QBF es el problema completo canónico para PSPACE , la clase de problemas resolubles por una máquina de Turing determinista o no determinista en espacio polinomial y tiempo ilimitado. [ 1 ] Dada la fórmula en forma de árbol de sintaxis abstracta , el problema se puede resolver fácilmente mediante un conjunto de procedimientos mutuamente recursivos que evalúan la fórmula. Dicho algoritmo utiliza espacio proporcional a la altura del árbol, que es lineal en el peor de los casos, pero utiliza tiempo exponencial en el número de cuantificadores.
Siempre que MA ⊊ PSPACE, como se cree ampliamente, QBF no puede resolverse, ni siquiera puede verificarse una solución dada, en tiempo polinomial determinista o probabilístico (de hecho, a diferencia del problema de satisfacibilidad, no se conoce ninguna forma de especificar una solución de manera concisa). Puede resolverse utilizando una máquina de Turing alternante en tiempo lineal, ya que AP = PSPACE, donde AP es la clase de problemas que las máquinas alternantes pueden resolver en tiempo polinomial. [ 2 ]
Cuando se mostró el resultado fundamental IP = PSPACE (véase el sistema de prueba interactivo ), se hizo exhibiendo un sistema de prueba interactivo que podía resolver QBF resolviendo una aritmetización particular del problema. [ 3 ]
Las fórmulas QBF poseen varias formas canónicas útiles. Por ejemplo, se puede demostrar que existe una reducción de muchos a uno en tiempo polinomial que desplaza todos los cuantificadores al principio de la fórmula, alternando entre cuantificadores universales y existenciales. Existe otra reducción que resultó útil en la demostración de IP = PSPACE, donde no se coloca más de un cuantificador universal entre el uso de cada variable y el cuantificador que la vincula. Esto fue crucial para limitar el número de productos en ciertas subexpresiones de la aritmetización.
Forma normal de Prenex
Se puede asumir que una fórmula booleana totalmente cuantificada tiene una forma muy específica, llamada forma normal prenexa . Tiene dos partes básicas: una porción que contiene solo cuantificadores y una porción que contiene una fórmula booleana no cuantificada que generalmente se denota como. Si hayVariables booleanas, la fórmula completa se puede escribir como
donde cada variable cae dentro del alcance de algún cuantificador. Al introducir variables ficticias, cualquier fórmula en forma normal prenexa puede convertirse en una oración donde se alternan cuantificadores existenciales y universales. Usando la variable ficticia,
La segunda oración tiene el mismo valor de verdad, pero sigue la sintaxis restringida. Suponer que las fórmulas booleanas totalmente cuantificadas están en forma normal prenexa es una característica frecuente de las demostraciones.
solucionadores QBF
Ingenuo
Existe un algoritmo recursivo simple para determinar si un QBF está en TQBF (es decir, es verdadero). Dado algún QBF
Si la fórmula no contiene cuantificadores, podemos simplemente devolver la fórmula. De lo contrario, eliminamos el primer cuantificador y comprobamos ambos valores posibles para la primera variable:
Si, luego regresar. Si, luego regresar. [ 4 ]
¿Qué tan rápido se ejecuta este algoritmo? Para cada cuantificador en el QBF inicial, el algoritmo realiza dos llamadas recursivas solo en un subproblema linealmente más pequeño. Esto le da al algoritmo un tiempo de ejecución exponencial O(2 n ) .
¿Cuánto espacio utiliza este algoritmo? En cada invocación del algoritmo, necesita almacenar los resultados intermedios del cálculo de A y B. Cada llamada recursiva elimina un cuantificador, por lo que la profundidad recursiva total es lineal en el número de cuantificadores. Las fórmulas que carecen de cuantificadores pueden evaluarse en un espacio logarítmico en el número de variables. El QBF inicial estaba completamente cuantificado, por lo que hay al menos tantos cuantificadores como variables. Por lo tanto, este algoritmo utiliza un espacio de O ( n + log n ) = O ( n ). Esto hace que el lenguaje TQBF forme parte de la clase de complejidad PSPACE .
Lo último
A pesar de la completitud PSPACE de QBF, se han desarrollado muchos solucionadores para resolver estas instancias (esto es análogo a la situación con SAT , la versión con un único cuantificador existencial; aunque es NP-completo , todavía es posible resolver muchas instancias de SAT heurísticamente). [ 5 ] [ 6 ] El caso en el que solo hay 2 cuantificadores, conocido como 2QBF, ha recibido especial atención. [ 7 ]
La competición de solucionadores QBF QBFEVAL se ha celebrado más o menos anualmente desde 2004; [ 5 ] [ 6 ] los solucionadores deben leer instancias en formato QDIMACS y en formato QCIR o QAIGER. [ 8 ] Los solucionadores QBF de alto rendimiento generalmente utilizan QDPLL (una generalización de DPLL ) o CEGAR. [ 5 ] [ 6 ] [ 7 ] La investigación sobre la resolución de QBF comenzó con el desarrollo de DPLL con retroceso para QBF en 1998, seguido de la introducción del aprendizaje de cláusulas y la eliminación de variables en 2002; [ 9 ] por lo tanto, en comparación con la resolución SAT, que se ha estado desarrollando desde la década de 1960, QBF es un campo de investigación relativamente joven a partir de 2017. [ 9 ]
Algunos solucionadores QBF destacados incluyen:
- CADET, que resuelve fórmulas booleanas cuantificadas restringidas a una alternancia de cuantificadores (con la capacidad de calcular funciones de Skolem ), basado en la determinización incremental y con la capacidad de demostrar sus respuestas. [ 10 ]
- CAQE: un solucionador basado en CEGAR para fórmulas booleanas cuantificadas; ganador de las ediciones recientes de QBFEVAL a partir de 2021. [ 11 ]
- DepQBF: un solucionador basado en búsqueda para fórmulas booleanas cuantificadas [ 12 ]
- sKizzo: el primer solucionador que utilizó skolemización simbólica, extrajo certificados de satisfacibilidad, empleó un motor de inferencia híbrido , implementó ramificación abstracta, manejó cuantificadores limitados y enumeró asignaciones válidas, y ganador de QBFEVAL 2005, 2006 y 2007. [ 13 ]
Aplicaciones
Los solucionadores QBF se pueden aplicar a la planificación (en inteligencia artificial), incluida la planificación segura; esta última es fundamental en aplicaciones de robótica. [ 14 ] Los solucionadores QBF también se pueden aplicar a la verificación de modelos acotados , ya que proporcionan una codificación más corta que la que se necesitaría para un solucionador basado en SAT. [ 14 ]
La evaluación de un QBF puede considerarse un juego de dos jugadores entre un jugador que controla variables cuantificadas existencialmente y un jugador que controla variables cuantificadas universalmente. Esto hace que los QBF sean adecuados para codificar problemas de síntesis reactiva . [ 14 ] De manera similar, los solucionadores de QBF pueden usarse para modelar juegos adversariales en teoría de juegos . Por ejemplo, los solucionadores de QBF pueden usarse para encontrar estrategias ganadoras para juegos de geografía , que luego pueden jugarse automáticamente de forma interactiva. [ 15 ]
Los solucionadores QBF se pueden utilizar para la comprobación de equivalencia formal y también para sintetizar funciones booleanas. [ 14 ]
Otros tipos de problemas que pueden codificarse como QBF incluyen:
- Detectar si una cláusula en una fórmula insatisfacible en forma normal conjuntiva pertenece a algún subconjunto mínimamente insatisfacible [ 9 ] [ 16 ] y si una cláusula en una fórmula satisfacible pertenece a un subconjunto máximamente satisfacible [ 16 ]
- Codificaciones de planificación conforme [ 9 ]
- Problemas relacionados con ASP [ 9 ]
- Argumentación abstracta [ 9 ]
- Verificación de modelos de lógica temporal lineal [ 9 ]
- Inclusión de lenguajes de autómatas finitos no deterministas [ 9 ]
- Síntesis y fiabilidad de sistemas distribuidos [ 9 ]
Extensiones
El problema de satisfacibilidad estocástica (conocido como SSAT) es una extensión de TQBF que agrega un cuantificador R aleatorio, considera la cuantificación universal como minimización y la cuantificación existencial como maximización, y pregunta si la probabilidad representada por la fórmula excede un umbral dado. [ 17 ]
QBF también puede extenderse para tener cuantificadores de Henkin . [ 8 ]
Completitud de PSPACE
El lenguaje TQBF sirve en la teoría de la complejidad como el problema canónico PSPACE-completo . Ser PSPACE-completo significa que un lenguaje está en PSPACE y que el lenguaje también es PSPACE-difícil . El algoritmo anterior muestra que TQBF está en PSPACE. Demostrar que TQBF es PSPACE-difícil requiere demostrar que cualquier lenguaje en la clase de complejidad PSPACE puede reducirse a TQBF en tiempo polinomial. Es decir,
Esto significa que, para un lenguaje PSPACE L, se puede decidir si una entrada x está en L comprobando siestá en TQBF, para alguna función f que debe ejecutarse en tiempo polinomial (en relación con la longitud de la entrada). Simbólicamente,
Demostrar que TQBF es PSPACE-difícil requiere especificar f .
Supongamos entonces que L es un lenguaje PSPACE. Esto significa que L puede ser decidido por una máquina de Turing determinista de espacio polinomial (DTM). Esto es muy importante para la reducción de L a TQBF, porque las configuraciones de cualquier máquina de Turing de este tipo pueden representarse como fórmulas booleanas, con variables booleanas que representan el estado de la máquina, así como el contenido de cada celda en la cinta de la máquina de Turing, con la posición del cabezal de la máquina de Turing codificada en la fórmula mediante el orden de la fórmula. En particular, nuestra reducción utilizará las variablesy, que representan dos posibles configuraciones del DTM para L y un número natural t, en la construcción de un QBFlo cual es cierto si y solo si el DTM para L puede pasar de la configuración codificada ena la configuración codificada enen no más de t pasos. La función f , entonces, se construirá a partir del DTM para L a QBF, dóndees la configuración inicial del DTM,es la configuración de aceptación del DTM, y T es el número máximo de pasos que el DTM podría necesitar para pasar de una configuración a otra. Sabemos que T = O (exp( n k )) para algún k , donde n es la longitud de la entrada, porque esto limita el número total de configuraciones posibles del DTM relevante. Por supuesto, el DTM no puede tomar más pasos de los que hay configuraciones posibles para alcanzar.a menos que entre en un bucle, en cuyo caso nunca llegará.de todos modos.
En esta etapa de la demostración, ya hemos reducido la cuestión de si una fórmula de entrada w (codificada, por supuesto, en) está en L respecto a la cuestión de si el QBF, es decir,, está en TQBF. El resto de esta demostración prueba que f se puede calcular en tiempo polinomial.
Para, cálculo deEs sencillo: o una de las configuraciones cambia a la otra en un solo paso, o no. Dado que la máquina de Turing que representa nuestra fórmula es determinista, esto no supone ningún problema.
Para, cálculo deimplica una evaluación recursiva, buscando un llamado "punto medio".En este caso, reescribimos la fórmula de la siguiente manera:
Esto convierte la cuestión de sipuede alcanzaren pasos a la cuestión de sillega a un punto medioenescalones, que a su vez llegaenpasos. La respuesta a la segunda pregunta, por supuesto, da la respuesta a la primera.
Ahora, t solo está limitado por T, que es exponencial (y por lo tanto no polinomial) en la longitud de la entrada. Además, cada capa recursiva prácticamente duplica la longitud de la fórmula. (La variablees solo un punto medio; para valores mayores de t, hay más paradas en el camino, por así decirlo.) Entonces, el tiempo requerido para evaluar recursivamenteDe esta manera también podría ser exponencial, simplemente porque la fórmula podría volverse exponencialmente grande. Este problema se resuelve cuantificando universalmente usando variables.ysobre los pares de configuración (por ejemplo,), lo que impide que la longitud de la fórmula se expanda debido a capas recursivas. Esto produce la siguiente interpretación de:
Esta versión de la fórmula se puede calcular en tiempo polinomial, ya que cualquier instancia de ella se puede calcular en tiempo polinomial. El par ordenado cuantificado universalmente simplemente nos dice que cualquier elección deestá hecho,.
De este modo,Por lo tanto, TQBF es PSPACE-difícil. Junto con el resultado anterior de que TQBF está en PSPACE, esto completa la prueba de que TQBF es un lenguaje PSPACE-completo.
(Esta demostración sigue en lo esencial a Sipser 2006, págs. 310-313. Papadimitriou 1994 también incluye una demostración).
Esta construcción se puede ejecutar en el espacio logarítmico, lo que significa que TQBF es PSPACE-completo en el sentido de reducción muchos-uno en el espacio logarítmico . [ 18 ]
Miscelánea
- Un subproblema importante en TQBF es el problema de satisfacibilidad booleana . En este problema, se desea saber si una fórmula booleana dada es verdadera.puede hacerse verdadero con alguna asignación de variables. Esto es equivalente al TQBF usando solo cuantificadores existenciales:Este es también un ejemplo del resultado más amplio NP ⊆ PSPACE que se deriva directamente de la observación de que un verificador de tiempo polinomial para una prueba de un lenguaje aceptado por una NTM ( máquina de Turing no determinista ) requiere espacio polinomial para almacenar la prueba.
- Cualquier clase en la jerarquía polinomial ( PH ) tiene TQBF como un problema difícil. En otras palabras, para la clase que comprende todos los lenguajes L para los cuales existe una TM polinomial V, un verificador, tal que para toda entrada x y alguna constante i,que tiene una formulación QBF específica que se da como de tal manera quedonde elson vectores de variables booleanas.
- Es importante señalar que, si bien el lenguaje TQBF se define como el conjunto de fórmulas booleanas cuantificadas verdaderas, la abreviatura TQBF se usa con frecuencia (incluso en este artículo) para referirse a una fórmula booleana totalmente cuantificada, a menudo denominada simplemente QBF (fórmula booleana cuantificada, entendida como "totalmente" cuantificada). Es importante distinguir, en función del contexto, entre los dos usos de la abreviatura TQBF al consultar la bibliografía.
- Un TQBF puede considerarse un juego entre dos jugadores, con turnos alternos. Las variables cuantificadas existencialmente equivalen a la noción de que un jugador tiene un movimiento disponible en su turno. Las variables cuantificadas universalmente implican que el resultado del juego no depende del movimiento que realice un jugador en ese turno. Asimismo, un TQBF cuyo primer cuantificador es existencial corresponde a un juego de fórmula en el que el primer jugador posee una estrategia ganadora.
- Un TQBF cuya fórmula cuantificada está en 2-CNF puede resolverse en tiempo lineal mediante un algoritmo que implica un análisis de conectividad fuerte de su grafo de implicación . El problema de 2-satisfacibilidad es un caso especial de TQBF para estas fórmulas, en el que cada cuantificador es existencial. [ 19 ] [ 20 ]
- En un artículo divulgativo de Hubie Chen se ofrece un tratamiento sistemático de las versiones restringidas de fórmulas booleanas cuantificadas (que dan lugar a clasificaciones de tipo Schaefer). [ 21 ]
- Planar TQBF, que generaliza Planar SAT , fue demostrado PSPACE-completo por D. Lichtenstein. [ 22 ]
Notas y referencias
- ↑ M. Garey y D. Johnson (1979). Computadoras e intratabilidad: Una guía a la teoría de la NP-completitud . WH Freeman, San Francisco, California. ISBN 0-7167-1045-5.
- ↑ A. Chandra, D. Kozen y L. Stockmeyer (1981). "Alternancia" . Journal of the ACM . 28 (1): 114– 133. doi : 10.1145/322234.322243 . S2CID 238863413 .
{{cite journal}}: CS1 maint: varios nombres: lista de autores ( enlace ) - ↑ Adi Shamir (1992). "Ip = Pspace" . Journal of the ACM . 39 (4): 869– 877. doi : 10.1145/146585.146609 . S2CID 315182 .
- ↑ Arora, Sanjeev; Barak, Boaz (2009), "Complejidad espacial" , Complejidad computacional , Cambridge: Cambridge University Press, pp. 78–94 , doi : 10.1017/cbo9780511804090.007 , ISBN 978-0-511-80409-0, S2CID 262800930 , consultado el 26-05-2021
{{citation}}: CS1 mantenimiento: parámetro de trabajo con ISBN ( enlace ) - 1 2 3 "Página principal de QBFEVAL" . www.qbflib.org . Consultado el 13 de febrero de 2021 .
- 1 2 3 "QBF Solvers | Beyond NP" . beyondnp.org . Consultado el 13 de febrero de 2021 .
- 1 2 Balabanov, Valeriy; Roland Jiang, Jie-Hong; Scholl, Christoph; Mishchenko, Alan; K. Brayton, Robert (2016). "2QBF: Desafíos y soluciones" (PDF) . Conferencia internacional sobre teoría y aplicaciones de pruebas de satisfacibilidad : 453–459 . Archivado (PDF) del original el 13 de febrero de 2021 – vía SpringerLink.
- 1 2 "QBFEVAL'20" . www.qbflib.org . Consultado el 29 de mayo de 2021 .
- 1 2 3 4 5 6 7 8 9 Lonsing, Florian (diciembre de 2017). "Una introducción a la resolución de QBF" (PDF) . www.florianlonsing.com . Recuperado el 29 de mayo de 2021 .
- ^ Rabe, Markus N. (15 de abril de 2021), MarkusRabe/cadete , consultado el 6 de mayo de 2021
- ^ Tentrup, Leander (06 de mayo de 2021), ltentrup/caqe , consultado el 6 de mayo de 2021
- ↑ "DepQBF Solver" . lonsing.github.io . Consultado el 6 de mayo de 2021 .
- ↑ "sKizzo - un solucionador QBF" . www.skizzo.site . Consultado el 6 de mayo de 2021 .
- 1 2 3 4 Shukla, Ankit; Biere, Armin; Seidl, Martina; Pulina, Luca (2019). Un estudio sobre aplicaciones de fórmulas booleanas cuantificadas (PDF) . 2019 IEEE 31.ª Conferencia Internacional sobre Herramientas para la Inteligencia Artificial. págs. 78–84 . doi : 10.1109/ICTAI.2019.00020 . Recuperado el 29 de mayo de 2021 .
- ↑ Shen, Zhihe. Uso de solucionadores QBF para resolver juegos y rompecabezas (PDF) (Tesis). Boston College.
- 1 2 Janota, Mikoláš; Marques-Silva, Joao (2011). Sobre la decisión de pertenencia a MUS con QBF . Principios y práctica de la programación con restricciones – CP 2011. Vol. 6876. pp. 414– 428. doi : 10.1007/978-3-642-23786-7_32 . ISBN 978-3-642-23786-7.
- ↑ Christor Papadimitriou. Juegos contra la naturaleza, Journal for Computer and System Sciences 31, páginas 288-301, 1985.
- ↑ "CS 221: Complejidad Computacional" (PDF) . Archivado del original (PDF) el 20 de julio de 2010.
- ^ Krom, Melven R. (1967). "El problema de decisión para una clase de fórmulas de primer orden en las que todas las disyunciones son binarias". Zeitschrift für Mathematische Logik und Grundlagen der Mathematik . 13 ( 1– 2): 15– 20. doi : 10.1002/malq.19670130104 ..
- ↑ Aspvall, Bengt; Plass, Michael F.; Tarjan, Robert E. (1979). "Un algoritmo de tiempo lineal para probar la veracidad de ciertas fórmulas booleanas cuantificadas" (PDF) . Information Processing Letters . 8 (3): 121– 123. doi : 10.1016/0020-0190(79)90002-4 ..
- ↑ Chen, Hubie (diciembre de 2009). "Un encuentro de lógica, complejidad y álgebra". ACM Computing Surveys . 42 (1). ACM: 1– 32. arXiv : cs/0611018 . doi : 10.1145/1592451.1592453 . S2CID 11975818 .
- ↑ Lichtenstein, David (1982-05-01). "Planar Formulae and Their Uses" . SIAM Journal on Computing . 11 (2): 329– 343. doi : 10.1137/0211025 . ISSN 0097-5397 . S2CID 207051487 .
- Fortnow y Homer (2003) proporcionan algunos antecedentes históricos sobre PSPACE y TQBF.
- Zhang (2003) proporciona algunos antecedentes históricos de las fórmulas booleanas.
- Arora, Sanjeev. (2001). COS 522: Complejidad Computacional . Apuntes de clase, Universidad de Princeton. Recuperado el 10 de octubre de 2005.
- Fortnow, Lance y Steve Homer. (2003, junio). Una breve historia de la complejidad computacional . Boletín de la Asociación Europea de Ciencias de la Computación Teórica , Columna de Complejidad Computacional, 80. Recuperado el 14 de mayo de 2024.
- Papadimitriou, CH (1994). Complejidad computacional. Reading: Addison-Wesley.
- Sipser, Michael. (2006). Introducción a la teoría de la computación. Boston: Thomson Course Technology.
- Zhang, Lintao. (2003). En busca de la verdad: Técnicas para la satisfacibilidad de fórmulas booleanas . Recuperado el 10 de octubre de 2005.
Véase también
- Teorema de Cook-Levin , que establece que SAT es NP-completo.
- Geografía generalizada
Enlaces externos
- La biblioteca de fórmulas booleanas cuantificadas (QBFLIB)
- Taller internacional sobre fórmulas booleanas cuantificadas
- Problemas de satisfacibilidad
- Álgebra booleana
- Problemas completos de PSPACE