Articulo de referencia

Fórmula booleana cuantificada verdadera

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 (completam...

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:

incógnita y z ((incógnitaz)y){\displaystyle \forall x\ \exists y\ \exists z\ ((x\lor z)\land y)}

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ϕ{\displaystyle \displaystyle \phi }. Si haynorte{\displaystyle \displaystyle n}Variables booleanas, la fórmula completa se puede escribir como

incógnita1incógnita2incógnita3Qnorteincógnitanorteϕ(incógnita1,incógnita2,incógnita3,,incógnitanorte){\displaystyle \displaystyle \exists x_{1}\forall x_{2}\exists x_{3}\cdots Q_{n}x_{n}\phi (x_{1},x_{2},x_{3},\dots ,x_{n})}

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 ficticiay1{\displaystyle \displaystyle y_{1}},

incógnita1incógnita2ϕ(incógnita1,incógnita2)incógnita1y1incógnita2ϕ(incógnita1,incógnita2){\displaystyle \displaystyle \exists x_{1}\exists x_{2}\phi (x_{1},x_{2})\quad \mapsto \quad \exists x_{1}\forall y_{1}\exists x_{2}\phi (x_{1},x_{2})}

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

Q1incógnita1Q2incógnita2Qnorteincógnitanorteϕ(incógnita1,incógnita2,,incógnitanorte).{\displaystyle Q_{1}x_{1}Q_{2}x_{2}\cdots Q_{n}x_{n}\phi (x_{1},x_{2},\dots ,x_{n}).}

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:

A=Q2incógnita2Qnorteincógnitanorteϕ(0,incógnita2,,incógnitanorte),{\displaystyle A=Q_{2}x_{2}\cdots Q_{n}x_{n}\phi (0,x_{2},\dots ,x_{n}),}
B=Q2incógnita2Qnorteincógnitanorteϕ(1,incógnita2,,incógnitanorte).{\displaystyle B=Q_{2}x_{2}\cdots Q_{n}x_{n}\phi (1,x_{2},\dots ,x_{n}).}

SiQ1={\displaystyle Q_{1}=\exists }, luego regresarAB{\displaystyle A\lor B}. SiQ1={\displaystyle Q_{1}=\forall }, luego regresarAB{\displaystyle A\land B}. [ 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,

LPAGSPAGAdomi,LpagTQBF.{\displaystyle \forall L\in {\mathsf {PSPACE}},L\leq _{p}\mathrm {TQBF} .}

Esto significa que, para un lenguaje PSPACE L, se puede decidir si una entrada x está en L comprobando siF(incógnita){\displaystyle f(x)}está en TQBF, para alguna función f que debe ejecutarse en tiempo polinomial (en relación con la longitud de la entrada). Simbólicamente,

incógnitaLF(incógnita)TQBF.{\displaystyle x\in L\iff f(x)\in \mathrm {TQBF} .}

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 variablesdo1{\displaystyle c_{1}}ydo2{\displaystyle c_{2}}, que representan dos posibles configuraciones del DTM para L y un número natural t, en la construcción de un QBFϕdo1,do2,t{\displaystyle \phi _{c_{1},c_{2},t}}lo cual es cierto si y solo si el DTM para L puede pasar de la configuración codificada endo1{\displaystyle c_{1}}a la configuración codificada endo2{\displaystyle c_{2}}en no más de t pasos. La función f , entonces, se construirá a partir del DTM para L a QBFϕdocomenzar,doaceptar,T{\displaystyle \phi _{c_{\text{start}},c_{\text{accept}},T}}, dóndedostart{\displaystyle c_{start}}es la configuración inicial del DTM,doaceptar{\displaystyle c_{\text{accept}}}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.doadodomipagt{\displaystyle c_{\mathrm {accept} }}a menos que entre en un bucle, en cuyo caso nunca llegará.doadodomipagt{\displaystyle c_{\mathrm {accept} }}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, endocomenzar{\displaystyle c_{\text{start}}}) está en L respecto a la cuestión de si el QBFϕdocomenzar,doaceptar,T{\displaystyle \phi _{c_{\text{start}},c_{\text{accept}},T}}, es decir,F(w){\displaystyle f(w)}, está en TQBF. El resto de esta demostración prueba que f se puede calcular en tiempo polinomial.

Parat=1{\displaystyle t=1}, cálculo deϕdo1,do2,t{\displaystyle \phi _{c_{1},c_{2},t}}Es 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.

Parat>1{\displaystyle t>1}, cálculo deϕdo1,do2,t{\displaystyle \phi _{c_{1},c_{2},t}}implica una evaluación recursiva, buscando un llamado "punto medio".metro1{\displaystyle m_{1}}En este caso, reescribimos la fórmula de la siguiente manera:

ϕdo1,do2,t=metro1(ϕdo1,metro1,t/2ϕmetro1,do2,t/2).{\displaystyle \phi _{c_{1},c_{2},t}=\exists m_{1}(\phi _{c_{1},m_{1},\lceil t/2\rceil }\wedge \phi _{m_{1},c_{2},\lceil t/2\rceil }).}

Esto convierte la cuestión de sido1{\displaystyle c_{1}}puede alcanzardo2{\displaystyle c_{2}}en pasos a la cuestión de sido1{\displaystyle c_{1}}llega a un punto mediometro1{\displaystyle m_{1}}ent/2{\displaystyle t/2}escalones, que a su vez llegado2{\displaystyle c_{2}}ent/2{\displaystyle t/2}pasos. 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 variablemetro1{\displaystyle m_{1}}es 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 recursivamenteϕdo1,do2,t{\displaystyle \phi _{c_{1},c_{2},t}}De 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.do3{\displaystyle c_{3}}ydo4{\displaystyle c_{4}}sobre los pares de configuración (por ejemplo,{(do1,metro1),(metro1,do2)}{\displaystyle \{(c_{1},m_{1}),(m_{1},c_{2})\}}), lo que impide que la longitud de la fórmula se expanda debido a capas recursivas. Esto produce la siguiente interpretación deϕdo1,do2,t{\displaystyle \phi _{c_{1},c_{2},t}}:

ϕdo1,do2,t=metro1(do3,do4){(do1,metro1),(metro1,do2)}(ϕdo3,do4,t/2).{\displaystyle \phi _{c_{1},c_{2},t}=\exists m_{1}\forall (c_{3},c_{4})\in \{(c_{1},m_{1}),(m_{1},c_{2})\}(\phi _{c_{3},c_{4},\lceil t/2\rceil }).}

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 de(do3,do4){\displaystyle (c_{3},c_{4})}está hecho,ϕdo1,do2,tϕdo3,do4,t/2{\displaystyle \phi _{c_{1},c_{2},t}\iff \phi _{c_{3},c_{4},\lceil t/2\rceil }}.

De este modo,LPAGSPAGAdomi,LpagTQBF{\displaystyle \forall L\in {\mathsf {PSPACE}},L\leq _{p}\mathrm {TQBF} }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.ϕ{\displaystyle \phi }puede hacerse verdadero con alguna asignación de variables. Esto es equivalente al TQBF usando solo cuantificadores existenciales:incógnita1incógnitanorteϕ(incógnita1,,incógnitanorte){\displaystyle \exists x_{1}\cdots \exists x_{n}\phi (x_{1},\ldots ,x_{n})}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,incógnitaLy1y2Qiyi V(incógnita,y1,y2,,yi) = 1{\displaystyle x\in L\Leftrightarrow \exists y_{1}\forall y_{2}\cdots Q_{i}y_{i}\ V(x,y_{1},y_{2},\dots ,y_{i})\ =\ 1}que tiene una formulación QBF específica que se da comoϕ{\displaystyle \exists \phi } de tal manera queincógnita1incógnita2Qiincógnitai ϕ(incógnita1,incógnita2,,incógnitai) = 1{\displaystyle \exists {\vec {x_{1}}}\forall {\vec {x_{2}}}\cdots Q_{i}{\vec {x_{i}}}\ \phi ({\vec {x_{1}}},{\vec {x_{2}}},\dots ,{\vec {x_{i}}})\ =\ 1}donde elincógnitai{\displaystyle {\vec {x_{i}}}}son 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

  1. 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.
  2. 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 )
  3. Adi Shamir (1992). "Ip = Pspace" . Journal of the ACM . 39 (4): 869– 877. doi : 10.1145/146585.146609 . S2CID 315182 . 
  4. 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 )
  5. 1 2 3 "Página principal de QBFEVAL" . www.qbflib.org . Consultado el 13 de febrero de 2021 .
  6. 1 2 3 "QBF Solvers | Beyond NP" . beyondnp.org . Consultado el 13 de febrero de 2021 .
  7. 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.
  8. 1 2 "QBFEVAL'20" . www.qbflib.org . Consultado el 29 de mayo de 2021 .
  9. 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 .
  10. ^ Rabe, Markus N. (15 de abril de 2021), MarkusRabe/cadete , consultado el 6 de mayo de 2021
  11. ^ Tentrup, Leander (06 de mayo de 2021), ltentrup/caqe , consultado el 6 de mayo de 2021
  12. "DepQBF Solver" . lonsing.github.io . Consultado el 6 de mayo de 2021 .
  13. "sKizzo - un solucionador QBF" . www.skizzo.site . Consultado el 6 de mayo de 2021 .
  14. 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 . 
  15. Shen, Zhihe. Uso de solucionadores QBF para resolver juegos y rompecabezas (PDF) (Tesis). Boston College.
  16. 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.
  17. Christor Papadimitriou. Juegos contra la naturaleza, Journal for Computer and System Sciences 31, páginas 288-301, 1985.
  18. "CS 221: Complejidad Computacional" (PDF) . Archivado del original (PDF) el 20 de julio de 2010.
  19. ^ 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 ..
  20. 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 ..
  21. 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 . 
  22. 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

  • La biblioteca de fórmulas booleanas cuantificadas (QBFLIB)
  • Taller internacional sobre fórmulas booleanas cuantificadas