stringtranslate.com

Problema de satisfacibilidad del circuito

El circuito de la izquierda es satisfactorio pero el de la derecha no.

En informática teórica , el problema de satisfacibilidad de circuito (también conocido como CIRCUIT-SAT , CircuitSAT , CSAT , etc.) es el problema de decisión de determinar si un circuito booleano determinado tiene una asignación de sus entradas que hace que la salida sea verdadera. [1] En otras palabras, pregunta si las entradas a un circuito booleano determinado se pueden establecer consistentemente en 1 o 0 de manera que el circuito genere 1 . Si ese es el caso, el circuito se llama satisfactible . De lo contrario, el circuito se llama insatisfactorio. En la figura de la derecha, el circuito izquierdo se puede satisfacer configurando ambas entradas en 1 , pero el circuito derecho no es satisfactorio.

CircuitSAT está estrechamente relacionado con el problema de satisfacibilidad booleana (SAT) y, además, se ha demostrado que es NP completo . [2] Es un problema prototípico de NP-completo; El teorema de Cook-Levin a veces se demuestra en CircuitSAT en lugar de en el SAT, y luego CircuitSAT se puede reducir a otros problemas de satisfacibilidad para demostrar su integridad NP. [1] [3] La satisfacibilidad de un circuito que contiene puertas binarias arbitrarias se puede decidir a tiempo . [4]

Prueba de integridad NP

Dado un circuito y un conjunto satisfactorio de entradas, se puede calcular la salida de cada puerta en tiempo constante. Por tanto, la salida del circuito es verificable en tiempo polinomial. Por tanto, el circuito SAT pertenece a la clase de complejidad NP. Para mostrar la dureza NP , es posible construir una reducción de 3SAT al Circuito SAT.

Supongamos que la fórmula original de 3SAT tiene variables y operadores (Y, O, NO) . Diseñe un circuito tal que tenga una entrada correspondiente a cada variable y una puerta correspondiente a cada operador. Conecte las puertas según la fórmula 3SAT. Por ejemplo, si la fórmula 3SAT es el circuito tendrá 3 entradas, una puerta Y, una O y una NO. La entrada correspondiente a se invertirá antes de enviar a una puerta AND con y la salida de la puerta AND se enviará a una puerta OR con

Tenga en cuenta que la fórmula 3SAT es equivalente al circuito diseñado anteriormente, por lo tanto, su salida es la misma para la misma entrada. Por lo tanto, si la fórmula 3SAT tiene una asignación satisfactoria, entonces el circuito correspondiente generará 1 y viceversa. Entonces, esta es una reducción válida y el Circuit SAT es NP-duro.

Esto completa la prueba de que el Circuito SAT es NP-Completo.

Variantes restringidas y problemas relacionados.

Circuito Planar SAT

Supongamos que tenemos un circuito booleano plano (es decir, un circuito booleano cuyo gráfico subyacente es plano ) que contiene sólo puertas NAND con exactamente dos entradas. Planar Circuit SAT es el problema de decisión de determinar si este circuito tiene una asignación de sus entradas que hace que la salida sea verdadera. Este problema es NP-completo. Además, si se cambian las restricciones de modo que cualquier puerta del circuito sea una puerta NOR , el problema resultante sigue siendo NP-completo. [5]

Circuito UNSAT

El circuito UNSAT es el problema de decisión de determinar si un circuito booleano dado genera resultados falsos para todas las asignaciones posibles de sus entradas. Este es el complemento del problema del Circuito SAT y, por lo tanto, es Co-NP-completo .

Reducción de CircuitSAT

La reducción de CircuitSAT o sus variantes se puede utilizar para mostrar la dureza NP de ciertos problemas y nos proporciona una alternativa a las reducciones de lógica binaria y de doble carril. Los elementos que dicho recorte debe construir son:

Problema de inferencia del buscaminas

Este problema pregunta si es posible localizar todas las bombas con un tablero Buscaminas . Se ha demostrado que es CoNP completo mediante una reducción del problema del circuito UNSAT. [6] Los dispositivos construidos para esta reducción son: alambre, división, puertas Y y NO y terminador. [7] Hay tres observaciones cruciales con respecto a estos dispositivos. En primer lugar, el dispositivo dividido también se puede utilizar como dispositivo NO y como dispositivo de giro. En segundo lugar, basta con construir dispositivos Y y NO, porque juntos pueden simular la puerta NAND universal. Finalmente, dado que se pueden componer tres NAND sin intersecciones para implementar un XOR, y dado que XOR es suficiente para construir un cruce, [8] esto nos proporciona el dispositivo de cruce necesario.

La transformación de Tseytin

La transformación de Tseytin es una reducción sencilla de Circuit-SAT a SAT . La transformación es fácil de describir si el circuito está construido completamente con puertas NAND de 2 entradas (un conjunto funcionalmente completo de operadores booleanos): asigne a cada red del circuito una variable, luego, para cada puerta NAND, construya la forma normal conjuntiva cláusulas ( v 1v 3 ) ∧ ( v 2v 3 ) ∧ (¬ v 1 ∨ ¬ v 2 ∨ ¬ v 3 ), donde v 1 y v 2 son las entradas a la puerta NAND y v 3 es la salida . Estas cláusulas describen completamente la relación entre las tres variables. Combinar las cláusulas de todas las compuertas con una cláusula adicional que restrinja la variable de salida del circuito para que sea verdadera completa la reducción; existe una asignación de las variables que satisfacen todas las restricciones si y sólo si el circuito original es satisfactorio, y cualquier solución es una solución al problema original de encontrar entradas que hagan que el circuito produzca 1. [1] [9] Lo contrario: que SAT es reducible a Circuit-SAT: sigue trivialmente reescribiendo la fórmula booleana como un circuito y resolviéndola.

Ver también

Referencias

  1. ^ abc David Mix Barrington y Alexis Maciel (5 de julio de 2000). "Conferencia 7: Problemas NP-Complete" (PDF) .
  2. ^ Luca Trevisan (29 de noviembre de 2001). "Notas para la lección 23: NP-integridad del Circuito-SAT" (PDF) . Archivado desde el original (PDF) el 26 de diciembre de 2011 . Consultado el 4 de febrero de 2012 .
  3. ^ Véase también, por ejemplo, la prueba informal proporcionada en las notas de la conferencia de Scott Aaronson de su curso Computación cuántica desde Demócrito .
  4. ^ Sergey Nurk (1 de diciembre de 2009). "Un límite superior O (2 ^ {0,4058 m}) para el circuito SAT".
  5. ^ "Límites inferiores algorítmicos: diversión con pruebas de dureza en el MIT" (PDF) .
  6. ^ Scott, Allan; Stege, Ulrike; van Rooij, Iris (1 de diciembre de 2011). "El Buscaminas puede no ser NP completo, pero de todos modos es difícil". El inteligente matemático . 33 (4): 5-17. doi :10.1007/s00283-011-9256-x. ISSN  1866-7414. S2CID  122506352.
  7. ^ Kaye, Richard (marzo de 2000). "Buscaminas es NP completo" (PDF) . El inteligente matemático . 22 (2): 9-15. doi :10.1007/BF03025367. S2CID  122435790.
  8. ^ ver Archivo:Crossover xor.gif y Archivo:Crossover nand.pdf
  9. ^ Marques-Silva, João P. y Luís Guerra e Silva (1999). "Algoritmos de satisfacción en circuitos combinacionales basados ​​en búsqueda retrospectiva y aprendizaje recursivo" (PDF) . Archivado desde el original (PDF) el 2 de julio de 2022.