Articulo de referencia

Problema de satisfacibilidad de circuitos

El circuito de la izquierda es satisfactorio, pero el de la derecha no lo es. En informática teórica , el problema de satisfacibilidad de circuitos (también conocido como CIRCUI...

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

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

CircuitSAT está estrechamente relacionado con el problema de satisfacibilidad booleana (SAT) y, asimismo, se ha demostrado que es NP-completo . [ 2 ] Es un problema NP-completo prototípico; el teorema de Cook-Levin a veces se demuestra en CircuitSAT en lugar de en el SAT, y entonces CircuitSAT puede reducirse a los otros problemas de satisfacibilidad para demostrar su NP-completitud. [ 1 ] [ 3 ] La satisfacibilidad de un circuito que contienemetro{\displaystyle m}Las compuertas binarias arbitrarias pueden decidirse en el tiempoO(20,4058metro){\displaystyle O(2^{0,4058m})}. [ 4 ]

Prueba de NP-completitud

Dado un circuito y un conjunto de entradas que satisfacen la condición, se puede calcular la salida de cada puerta en tiempo constante. Por lo tanto, la salida del circuito es verificable en tiempo polinomial. Así, Circuit SAT pertenece a la clase de complejidad NP. Para demostrar la NP-dificultad , es posible construir una reducción de 3SAT a Circuit SAT.

Supongamos que la fórmula 3SAT original tiene variablesincógnita1,incógnita2,,incógnitanorte{\displaystyle x_{1},x_{2},\dots ,x_{n}}y operadores (AND, OR, NOT)y1,y2,,yk{\displaystyle y_{1},y_{2},\dots,y_{k}}Diseña un circuito de tal manera que tenga una entrada correspondiente a cada variable y una compuerta correspondiente a cada operador. Conecta las compuertas según la fórmula 3SAT. Por ejemplo, si la fórmula 3SAT es(¬incógnita1incógnita2)incógnita3,{\displaystyle (\lnot x_{1}\land x_{2})\lor x_{3},}El circuito tendrá 3 entradas, una puerta AND, una puerta OR y una puerta NOT. La entrada correspondiente aincógnita1{\displaystyle x_{1}}se invertirá antes de enviarlo a una puerta AND conincógnita2,{\displaystyle x_{2},}y la salida de la puerta AND se enviará a una puerta OR conincógnita3.{\displaystyle x_{3}.}

Nótese que la fórmula 3SAT es equivalente al circuito diseñado anteriormente; por lo tanto, su salida es la misma para la misma entrada. En consecuencia, si la fórmula 3SAT tiene una asignación satisfactoria, el circuito correspondiente dará como resultado 1, y viceversa. Por lo tanto, se trata de una reducción válida, y el problema Circuit SAT es NP-difícil.

Esto completa la demostración de que el problema SAT de circuitos es NP-completo.

SAT de circuito planar

Supongamos que tenemos un circuito booleano planar (es decir, un circuito booleano cuyo grafo subyacente es planar ) que contiene únicamente compuertas NAND con exactamente dos entradas. El problema SAT de circuitos planares consiste en determinar si existe una asignación de entradas que haga que la salida sea verdadera. Este problema es NP-completo. Además, si se modifican las restricciones de modo que cualquier compuerta del circuito sea una compuerta NOR , el problema resultante sigue siendo NP-completo. [ 5 ]

Circuito insatisfactorio

El problema UNSAT de circuitos consiste en determinar si un circuito booleano dado produce una salida falsa para todas las posibles asignaciones de sus entradas. Este es el complemento del problema SAT de circuitos y, por lo tanto, es co-NP-completo .

Reducción de CircuitSAT

La reducción de CircuitSAT o sus variantes se puede utilizar para demostrar la NP-dificultad de ciertos problemas y nos proporciona una alternativa a las reducciones de lógica binaria y de doble riel. Los componentes que dicha reducción necesita construir son:

  • Un dispositivo de cableado. Este dispositivo simula los cables del circuito.
  • Un dispositivo divisor. Este dispositivo garantiza que todos los cables de salida tengan el mismo valor que el cable de entrada.
  • Dispositivos que simulan las compuertas del circuito.
  • Un auténtico dispositivo terminador. Este dispositivo se utiliza para forzar que la salida de todo el circuito sea verdadera.
  • Un dispositivo de giro. Este dispositivo nos permite redirigir los cables en la dirección correcta según sea necesario.
  • Un dispositivo de cruce. Este dispositivo nos permite cruzar dos cables sin que interactúen entre sí.

Problema de inferencia del Buscaminas

Este problema pregunta si es posible localizar todas las bombas dado un tablero de Buscaminas . Se ha demostrado que es co-NP-completo mediante una reducción del problema UNSAT de circuitos. [ 6 ] Los gadgets construidos para esta reducción son: cable, divisor, compuertas AND y NOT y terminador. [ 7 ] Hay tres observaciones cruciales con respecto a estos gadgets. Primero, el gadget divisor también puede usarse como el gadget NOT y el gadget de giro. Segundo, la construcción de gadgets AND y NOT es suficiente, porque juntos pueden simular la compuerta NAND universal. Finalmente, dado que tres NAND se pueden componer sin intersecciones para implementar una XOR, y dado que XOR es suficiente para construir un cruce, [ 8 ] esto nos da el gadget de cruce necesario.

La transformación de Tseytin

La transformación de Tseytin es una reducción directa de Circuit-SAT a SAT . La transformación es fácil de describir si el circuito está completamente construido a partir de puertas NAND de 2 entradas (un conjunto funcionalmente completo de operadores booleanos): se asigna a cada red en el circuito una variable, luego para cada puerta NAND, se construyen las cláusulas de forma normal conjuntiva ( 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. Uniendo las cláusulas de todas las puertas con una cláusula adicional que restringe que la variable de salida del circuito sea verdadera se completa la reducción; Existe una asignación de las variables que satisface todas las restricciones si y solo si el circuito original es satisfacible, y cualquier solución es una solución al problema original de encontrar entradas que hagan que la salida del circuito sea 1. [ 1 ] [ 9 ] Lo recíproco —que SAT es reducible a circuito-SAT— se deduce trivialmente reescribiendo la fórmula booleana como un circuito y resolviéndolo.

Véase también

Referencias

  1. 1 2 3 David Mix Barrington y Alexis Maciel (5 de julio de 2000). "Lección 7: Problemas NP-completos" (PDF) .
  2. Luca Trevisan (29 de noviembre de 2001). "Notas para la Lección 23: NP-completitud de Circuit-SAT" (PDF) . Archivado del original (PDF) el 26 de diciembre de 2011. Recuperado el 4 de febrero de 2012 .
  3. Véase también, por ejemplo, la demostración informal que se da en las notas de clase 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,4058m}) para Circuit SAT" .
  5. "Límites inferiores algorítmicos: Diversión con demostraciones de dificultad en el MIT" (PDF) .
  6. Scott, Allan; Stege, Ulrike; van Rooij, Iris (1 de diciembre de 2011). "El Buscaminas puede que no sea NP-completo, pero es difícil de todos modos". The Mathematical Intelligencer . 33 (4): 5–17 . doi : 10.1007/s00283-011-9256-x . ISSN 1866-7414 . S2CID 122506352 .  
  7. Kaye, Richard (marzo de 2000). "El Buscaminas es NP-completo" (PDF) . The Mathematical Intelligencer . 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 para la satisfacibilidad en circuitos combinacionales basados ​​en búsqueda con retroceso y aprendizaje recursivo" (PDF) . Archivado del original (PDF) el 2 de julio de 2022.