Articulo de referencia

SAT planar

Ejemplo de un problema SAT planar. Los bordes negros corresponden a variables no invertidas y los bordes rojos corresponden a variables invertidas. En informática , el problema ...

Gráfica de la fórmula (x_1 o no x_2) y (no x_1 o x_2 o no x_3)
Ejemplo de un problema SAT planar. Los bordes negros corresponden a variables no invertidas y los bordes rojos corresponden a variables invertidas.

En informática , el problema de 3-satisfacibilidad planar (abreviado PLANAR 3SAT o PL3SAT ) es una extensión del problema clásico de 3-satisfacibilidad booleana a un grafo de incidencia planar . En otras palabras, pregunta si las variables de una fórmula booleana dada —cuyo grafo de incidencia, compuesto por variables y cláusulas, puede incrustarse en un plano— pueden reemplazarse consistentemente por los valores VERDADERO o FALSO de tal manera que la fórmula se evalúe como VERDADERO . Si esto ocurre, la fórmula se denomina satisfacible . Por otro lado, si no existe tal asignación, la función expresada por la fórmula es FALSA para todas las posibles asignaciones de variables y la fórmula es insatisfacible . Por ejemplo, la fórmula " a AND NOT b " es satisfacible porque se pueden encontrar los valores a = VERDADERO y b = FALSO, que hacen que ( a AND NOT b ) = VERDADERO. En cambio, " a AND NOT a " es insatisfacible.      

Al igual que 3SAT , PLANAR-SAT es NP-completo y se usa comúnmente en reducciones .

Definición

Cada problema 3SAT se puede convertir en un gráfico de incidencia de la siguiente manera: Para cada variablevi{\displaystyle v_{i}}, el gráfico tiene un nodo correspondientevi{\displaystyle v_{i}}y para cada cláusuladoj{\displaystyle c_{j}}, el gráfico tiene un nodo correspondientedoj.{\displaystyle c_{j}.} Una ventaja(vi,doj){\displaystyle (v_{i},c_{j})}se crea entre variablesvi{\displaystyle v_{i}}cláusuladoj{\displaystyle c_{j}}cuando seavi{\displaystyle v_{i}}o¬vi{\displaystyle \lnot v_{i}}está endoj{\displaystyle c_{j}}Los literales positivos y negativos se distinguen mediante colores de borde .

La fórmula es satisfacible si y solo si existe una manera de asignar VERDADERO o FALSO a cada nodo variable de tal forma que cada nodo de cláusula esté conectado al menos a un VERDADERO mediante una arista positiva o a un FALSO mediante una arista negativa.

Un grafo planar es aquel que puede representarse en el plano de forma que ninguna de sus aristas se cruce. El 3SAT planar es un subconjunto del 3SAT en el que el grafo de incidencia de las variables y cláusulas de una fórmula booleana es planar. Es importante porque es una variante restringida y, aun así, es NP-completo. Muchos problemas (por ejemplo, juegos y rompecabezas) no pueden representarse mediante grafos no planares. Por lo tanto, el 3SAT planar proporciona una forma de demostrar que estos problemas son NP-difíciles.

Prueba de NP-completitud

Gráfico con bordes negros y rojos
A la izquierda se muestra un cruce; a la derecha, el dispositivo de cruce. Los puntos pequeños representan cláusulas. Los bordes negros y rojos corresponden a variables no invertidas e invertidas, respectivamente.

El siguiente esbozo de demostración sigue la demostración de D. Lichtenstein. [ 1 ]

Es trivial que PLANAR 3SAT esté en NP . Por lo tanto, basta con demostrar que es NP-difícil mediante una reducción desde 3SAT .

Esta prueba se basa en el hecho de que(¬a¬bdo)(a¬do)(b¬do){\displaystyle (\lnot a\lor \lnot b\lor c)\land (a\lor \lnot c)\land (b\lor \lnot c)}es equivalente a(ab)do{\displaystyle (a\land b)\leftrightarrow c}y eso(a¬b)(¬ab){\displaystyle (a\lor \lnot b)\land (\lnot a\lor b)}es equivalente aab{\displaystyle a\leftrightarrow b}.

Primero, dibuje el grafo de incidencia de la fórmula 3SAT. Dado que no hay dos variables o cláusulas conectadas, el grafo resultante será bipartito . Supongamos que el grafo resultante no es planar. Para cada cruce de aristas ( a , c1 ) y ( b , c2 ) , introduzca nueve nuevas variables a1 , b1 , α , β , γ , δ , ξ , a2 , b2 y reemplace cada cruce de aristas con un dispositivo de cruce que se muestra en el diagrama. Este consta de las siguientes nuevas cláusulas:

(¬a2¬b2α)(a2¬α)(b2¬α),es decir,a2b2α(¬a2b1β)(a2¬β)(¬b1¬β),es decir,a2¬b1β(a1b1γ)(¬a1¬γ)(¬b1¬γ),es decir,¬a1¬b1γ(a1¬b2δ)(¬a1¬δ)(b2¬δ),es decir,¬a1b2δ(αβξ)(γδ¬ξ),es decir,αβγδ(¬α¬β)(¬β¬γ)(¬γ¬δ)(¬δ¬α),(a2¬a)(a¬a2)(b2¬b)(b¬b2),es decir,aa2, bb2{\displaystyle {\begin{array}{ll}(\lnot a_{2}\lor \lnot b_{2}\lor \alpha )\land (a_{2}\lor \lnot \alpha )\land (b_{2}\lor \lnot \alpha ),&\quad {\text{es decir,}}\quad a_{2}\land b_{2}\leftrightarrow \alpha \\(\lnot a_{2}\lor b_{1}\lor \beta )\land (a_{2}\lor \lnot \beta )\land (\lnot b_{1}\lor \lnot \beta ),&\quad {\text{es decir,}}\quad a_{2}\land \lnot b_{1}\leftrightarrow \beta \\(a_{1}\lor b_{1}\lor \gamma )\land (\lnot a_{1}\lor \lnot \gamma )\land (\lnot b_{1}\lor \lnot \gamma ),&\quad {\text{es decir,}}\quad \lnot a_{1}\land \lnot b_{1}\leftrightarrow \gamma \\(a_{1}\lor \lnot b_{2}\lor \delta )\land (\lnot a_{1}\lor \lnot \delta )\land (b_{2}\lor \lnot \delta ),&\quad {\text{es decir,}}\quad \lnot a_{1}\land b_{2}\leftrightarrow \delta \\(\alpha \lor \beta \lor \xi )\land (\gamma \lor \delta \lor \lnot \xi ),&\quad {\text{es decir,}}\quad \alpha \lor \beta \lor \gamma \lor \delta \\(\lnot \alpha \lor \lnot \beta )\land (\lnot \beta \lor \lnot \gamma )\land (\lnot \gamma \lor \lnot \delta )\land (\lnot \delta \lor \lnot \alpha ),&\\(a_{2}\lor \lnot a)\land (a\lor \lnot a_{2})\land (b_{2}\lor \lnot b)\land (b\lor \lnot b_{2}),&\quad {\text{es decir,}}\quad a\leftrightarrow a_{2},~b\leftrightarrow b_{2}\\\end{array}}}

Si la arista ( a , c1 ) está invertida en el grafo original, ( a1 , c1 ) también debería estar invertida en el componente de cruce. De manera similar, si la arista ( b , c2 ) está invertida en el grafo original, ( b1 , c2 ) también debería estar invertida.

Se puede demostrar fácilmente que estas cláusulas son satisfacibles si y solo siaa1{\displaystyle a\leftrightarrow a_ {1}}ybb1{\ Displaystyle b \ leftrightarrow b_ {1}}.

Este algoritmo demuestra que es posible convertir cada cruce en su equivalente planar utilizando solo una cantidad constante de nuevas adiciones. Dado que el número de cruces es polinómico en términos del número de cláusulas y variables, la reducción es polinómica. [ 2 ]

  • 3SAT planar con un ciclo variable : Aquí, además del grafo de incidencia, el grafo también incluye un ciclo que recorre todas las variables, y cada cláusula se encuentra dentro o fuera de este ciclo. El grafo resultante debe seguir siendo planar. Este problema es NP-completo. [ 1 ]
    • Sin embargo, si el problema se restringe aún más de manera que todas las cláusulas estén dentro del ciclo de variables, o todas las cláusulas estén fuera de él, entonces el problema se puede resolver en tiempo polinomial utilizando programación dinámica .
  • 3SAT planar con literales : El grafo de incidencia bipartito de los literales y las cláusulas también es planar. Este problema es NP-completo. [ 1 ]
  • 3SAT rectilíneo planar : Los vértices del grafo se representan como segmentos horizontales. Cada variable se sitúa sobre el eje x , mientras que cada cláusula se sitúa por encima o por debajo del eje x . Cada conexión entre una variable y una cláusula debe ser un segmento vertical. Cada cláusula puede tener hasta 3 conexiones con variables, las cuales pueden ser todas positivas o todas negativas. Este problema es NP-completo. [ 3 ]
    • 3SAT rectilíneo planar : Esta es una variante del 3SAT rectilíneo planar donde las cláusulas por encima del eje x son todas positivas y las cláusulas por debajo del eje x son todas negativas. Este problema es NP-completo [ 4 ] y sigue siendo NP-completo cuando cada cláusula que contiene tres variables tiene dos variables vecinas que son adyacentes en el eje x (es decir, ninguna otra variable aparece horizontalmente entre las variables vecinas). [ 5 ]
  • Planar 1-en-3SAT : Este es el equivalente planar de 1-en-3SAT . Es NP-completo. [ 6 ]
  • NAE 3SAT planar : Este problema es el equivalente planar de NAE 3SAT . A diferencia de las otras variantes, este problema se puede resolver en tiempo polinomial . La demostración se realiza mediante reducción a corte máximo planar . [ 8 ]
  • SAT de circuito planar : Esta es una variante del SAT de circuito en la que el circuito que calcula la fórmula SAT es un grafo acíclico dirigido planar . Nótese que este es un grafo diferente del grafo de adyacencia de la fórmula. Este problema es NP-completo. [ 9 ]

Reducciones

Rompecabezas de lógica

La reducción a partir de SAT planar es un método comúnmente utilizado en pruebas de NP-completitud de rompecabezas lógicos. Ejemplos de estos incluyen Fillomino , [ 10 ] Nurikabe , [ 11 ] Shakashaka , [ 12 ] Tatamibari , [ 13 ] y Tentai Show . [ 14 ] Estas pruebas implican la construcción de dispositivos que pueden simular cables que transportan señales (valores booleanos), puertas de entrada y salida, divisores de señal, puertas NOT y puertas AND (u OR) para representar la incrustación planar de cualquier circuito booleano . Dado que los circuitos son planares, no es necesario considerar el cruce de cables.

Plegado plano de cadenas de ángulo fijo

Este es el problema de decidir si una cadena poligonal con longitudes y ángulos de arista fijos tiene una configuración planar sin cruces. Se ha demostrado que es fuertemente NP-difícil mediante una reducción a partir del problema 3SAT rectilíneo monótono planar. [ 15 ]

Partición de longitud de arista mínima

Este es el problema de dividir un polígono en polígonos más simples, de manera que la longitud total de todos los lados utilizados en la partición sea lo más pequeña posible.

Cuando la figura es un polígono rectilíneo y debe dividirse en rectángulos, y el polígono no tiene agujeros, el problema es polinomial. Pero si contiene agujeros (incluso agujeros degenerados, es decir, puntos únicos), el problema es NP-difícil, por reducción a SAT planar. Lo mismo ocurre si la figura es cualquier polígono y debe dividirse en figuras convexas. [ 16 ]

Un problema relacionado es la triangulación de peso mínimo : encontrar una triangulación con una longitud total de arista mínima. Se ha demostrado que la versión de decisión de este problema es NP-completa mediante una reducción a partir de una variante de Planar 1-en-3SAT. [ 17 ]

Referencias

  1. 1 2 3 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 . 
  2. ^ Demaine, Eric (2015). «7. SAT plano» . MIT Open CourseWare .
  3. Raghunathan, Arvind; Knuth, Donald E. (1992). "El problema de los representantes compatibles". SIAM J. Discrete Math . 5 (3): 422– 427. arXiv : cs/9301116 . Bibcode : 1993cs........1116K . doi : 10.1137/0405033 . S2CID 9974756 . 
  4. De Berg, Mark; Khosravi, Amirali (2010). "Particiones óptimas del espacio binario en el plano". Computing and Combinatorics . Lecture Notes in Computer Science. Vol. 6196. pp. 216–225 . doi : 10.1007/978-3-642-14031-0_25 . ISBN   978-3-642-14030-3.
  5. Agarwal, Pankaj K.; Aronov, Boris; Geft, Tzvika; Halperin, Dan (2021). "Sobre la partición de ensamblajes planares a dos manos con restricciones de conectividad". Actas del Simposio ACM-SIAM de 2021 sobre algoritmos discretos (SODA) . págs. 1740–1756 . arXiv : 2009.12369 . doi : 10.1137/1.9781611976465.105 . ISBN  978-1-61197-646-5.
  6. Dyer, ME; Frieze, AM (junio de 1986). "Planar 3DM es NP-completo". Journal of Algorithms . 7 (2): 174– 184. doi : 10.1016/0196-6774(86)90002-7 .
  7. Mulzer, Wolfgang; Rote, Günter (2008-05-15). "La triangulación de peso mínimo es NP-difícil" . Journal of the ACM . 55 (2): 11:1–11:29. arXiv : cs/0601002 . doi : 10.1145/1346330.1346336 . ISSN 0004-5411 . S2CID 1658062 .  
  8. Moret, BME (junio de 1988). "El NAE3SAT planar está en P" . SIGACT News . 19 (2): 51– 54. doi : 10.1145/49097.49099 . ISSN 0163-5700 . S2CID 17219595 .  
  9. ^ Demaine, Erik (2015). «6. Circuito SAT» . YouTube .
  10. Yato, Takauki (2003). Complejidad y completitud de encontrar otra solución y su aplicación a los rompecabezas . CiteSeerX 10.1.1.103.8380 . 
  11. Holzer, Markus; Klein, Andreas; Kutrib, Martin (2004). "Sobre la NP-completitud del rompecabezas del lápiz NURIKABE y sus variantes" (PDF) . Actas de la 3.ª Conferencia Internacional sobre Diversión con Algoritmos . S2CID 16082806. Archivado del original (PDF) el 11 de febrero de 2020. 
  12. Demaine, Erik D.; Okamoto, Yoshio; Uehara, Ryuhei; Uno, Yushi (2014), "Complejidad computacional y un modelo de programación entera de Shakashaka" (PDF) , IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences , E97-A (6): 1213–1219 , Bibcode : 2014IEITF..97.1213D , doi : 10.1587/transfun.E97.A.1213 , hdl : 10119/12147
  13. ^ Adler, Aviv; Bosboom, Jeffrey; Demaine, Erik D.; Demaine, Martín L.; Liu, Quanquan C.; Lynch, Jayson (7 de mayo de 2020). "Tatamibari es NP-completo". arXiv : 2003.08331 [ cs.CC ].
  14. Fertin, Guillaume; Jamshidi, Shahrad; Komusiewicz, Christian (junio de 2015). "Hacia una guía algorítmica para galaxias espirales" . Theoretical Computer Science . 586 : 26–39 . doi : 10.1016/j.tcs.2015.01.051 . S2CID 766372. Consultado el 18 de agosto de 2021 . 
  15. Demaine, Erik D.; Eisenstat, Sarah (2011). "Aplanar cadenas de ángulo fijo es fuertemente NP-difícil". En Dehne, Frank; Iacono, John; Sack, Jörg-Rüdiger (eds.). Algoritmos y estructuras de datos . Notas de clase en informática. Vol. 6844. Springer Berlin Heidelberg. pp. 314–325 . doi : 10.1007/978-3-642-22300-6_27 . hdl : 1721.1/73923 . ISBN   9783642223006.
  16. Lingas, Andrzej; Pinter, Ron Y.; Rivest, Ronald L.; Shamir, Adi (1982). "Particionamiento de longitud de borde mínima de polígonos rectilíneos" (PDF) . Actas de la 20.ª Conferencia Allerton sobre Control y Computación Comunitaria : 53–63 .
  17. Mulzer, Wolfgang; Rote, Günter (mayo de 2008). "La triangulación de peso mínimo es NP-difícil". Journal of the ACM . 55 (2): 11:1–11:29. arXiv : cs/0601002 . doi : 10.1145/1346330.1346336 . ISSN 0004-5411 . S2CID 1658062 .