Articulo de referencia

2-satisfacibilidad

En informática , la 2-satisfacibilidad , 2-SAT o simplemente 2SAT, es un problema computacional que consiste en asignar valores a variables, cada una con dos posibles valores, p...

Este es un buen artículo. Haz clic aquí para obtener más información.

En informática , la 2-satisfacibilidad , 2-SAT o simplemente 2SAT, es un problema computacional que consiste en asignar valores a variables, cada una con dos posibles valores, para satisfacer un sistema de restricciones sobre pares de variables. Es un caso particular del problema general de satisfacibilidad booleana , que puede implicar restricciones sobre más de dos variables, y de los problemas de satisfacción de restricciones , que permiten más de dos opciones para el valor de cada variable. Sin embargo, a diferencia de estos problemas más generales, que son NP-completos , la 2-satisfacibilidad se puede resolver en tiempo polinomial .

Las instancias del problema de 2-satisfacibilidad se expresan típicamente como fórmulas booleanas de un tipo especial, llamadas forma normal conjuntiva (2-CNF) o fórmulas de Krom . Alternativamente, pueden expresarse como un tipo especial de grafo dirigido , el grafo de implicación , que expresa las variables de una instancia y sus negaciones como vértices en un grafo, y las restricciones sobre pares de variables como aristas dirigidas. Ambos tipos de entradas pueden resolverse en tiempo lineal , ya sea mediante un método basado en retroceso o utilizando los componentes fuertemente conexos del grafo de implicación. La resolución , un método para combinar pares de restricciones para hacer restricciones válidas adicionales, también conduce a una solución en tiempo polinomial. Los problemas de 2-satisfacibilidad proporcionan una de las dos subclases principales de las fórmulas de forma normal conjuntiva que pueden resolverse en tiempo polinomial; la otra de las dos subclases es la satisfacibilidad de Horn .

La 2-satisfacibilidad puede aplicarse a problemas de geometría y visualización en los que un conjunto de objetos tiene dos posibles ubicaciones, y el objetivo es encontrar una posición para cada objeto que evite la superposición con otros objetos. Otras aplicaciones incluyen la agrupación de datos para minimizar la suma de los diámetros de los grupos, la planificación de horarios en aulas y actividades deportivas, y la reconstrucción de formas a partir de información sobre sus secciones transversales.

En la teoría de la complejidad computacional , la 2-satisfacibilidad proporciona un ejemplo de un problema NL-completo , uno que puede resolverse de forma no determinista utilizando una cantidad logarítmica de almacenamiento y que se encuentra entre los problemas más difíciles de resolver dentro de este límite de recursos. El conjunto de todas las soluciones a una instancia de 2-satisfacibilidad puede representarse mediante la estructura de un grafo mediano , pero contar estas soluciones es #P-completo y, por lo tanto, no se espera que tenga una solución en tiempo polinomial. Las instancias aleatorias experimentan una transición de fase abrupta de instancias resolubles a irresolubles a medida que la relación entre restricciones y variables aumenta más allá de 1, un fenómeno conjeturado pero no probado para formas más complejas del problema de satisfacibilidad. Una variación computacionalmente difícil de la 2-satisfacibilidad, encontrar una asignación de verdad que maximice el número de restricciones satisfechas, tiene un algoritmo de aproximación cuya optimalidad depende de la conjetura de juegos únicos , y otra variación difícil, encontrar una asignación satisfactoria que minimice el número de variables verdaderas, es un caso de prueba importante para la complejidad parametrizada .

Representaciones de problemas

El gráfico de implicaciones para el ejemplo de instancia de 2-satisfacibilidad que se muestra en esta sección.

Un problema de 2-satisfacibilidad puede describirse mediante una expresión booleana con una forma restringida especial. Se trata de una conjunción (una operación booleana AND ) de cláusulas , donde cada cláusula es una disyunción (una operación booleana OR ) de dos variables o variables negadas. Las variables o sus negaciones que aparecen en esta fórmula se conocen como literales . [ 1 ] Por ejemplo, la siguiente fórmula está en forma normal conjuntiva, con siete variables, once cláusulas y 22 literales: (incógnita0incógnita2)(incógnita0¬incógnita3)(incógnita1¬incógnita3)(incógnita1¬incógnita4)(incógnita2¬incógnita4)(incógnita0¬incógnita5)(incógnita1¬incógnita5)(incógnita2¬incógnita5)(incógnita3incógnita6)(incógnita4incógnita6)(incógnita5incógnita6).{\displaystyle {\begin{aligned}&(x_{0}\lor x_{2})\land (x_{0}\lor \lnot x_{3})\land (x_{1}\lor \lnot x_{3})\land (x_{1}\lor \lnot x_{4})\land {}\\&(x_{2}\lor \lnot x_{4})\land {}(x_{0}\lor \lnot x_{5})\land (x_{1}\lor \lnot x_{5})\land (x_{2}\lor \lnot x_{5})\land {}\\&(x_{3}\lor x_{6})\land (x_{4}\lor x_{6})\land (x_{5}\lor x_{6}).\end{aligned}}}

El problema de 2-satisfacibilidad consiste en encontrar una asignación de valores de verdad para las variables de una fórmula de esta forma que haga que toda la fórmula sea verdadera. Dicha asignación decide si cada variable es verdadera o falsa, de modo que al menos un literal en cada cláusula sea verdadero. [ 2 ] Para la expresión mostrada arriba, una posible asignación satisfactoria es aquella que establece las siete variables como verdaderas. Cada cláusula tiene al menos una variable no negada, por lo que esta asignación satisface todas las cláusulas. También hay otras 15 formas de establecer todas las variables de modo que la fórmula sea verdadera. Por lo tanto, la instancia de 2-satisfacibilidad representada por esta expresión es satisfacible.

Las fórmulas de esta forma se conocen como fórmulas 2-CNF. El "2" en este nombre representa el número de literales por cláusula, y "CNF" significa forma normal conjuntiva , un tipo de expresión booleana en forma de conjunción de disyunciones. [ 1 ] También se las llama fórmulas de Krom, en honor al trabajo del matemático de UC Davis Melven R. Krom, cuyo artículo de 1967 fue uno de los primeros trabajos sobre el problema de la 2-satisfacibilidad. [ 3 ]

Cada cláusula en una fórmula 2-CNF es lógicamente equivalente a una implicación de una variable o variable negada a la otra. Por ejemplo, la segunda cláusula del ejemplo puede escribirse de cualquiera de las tres formas equivalentes: (incógnita0¬incógnita3)(¬incógnita0¬incógnita3)(incógnita3incógnita0).{\displaystyle (x_{0}\lor \lnot x_{3})\;\equiv \;(\lnot x_{0}\Rightarrow \lnot x_{3})\;\equiv \;(x_{3}\Rightarrow x_{0}).} Debido a esta equivalencia entre estos diferentes tipos de operación, una instancia de 2-satisfacibilidad también puede escribirse en forma normal implicativa , en la que reemplazamos cada cláusula " o " en la forma normal conjuntiva por las dos implicaciones a las que es equivalente. [ 4 ]

Una tercera forma, más gráfica, de describir una instancia de 2-satisfacibilidad es mediante un grafo de implicación . Un grafo de implicación es un grafo dirigido en el que hay un vértice por variable o variable negada, y una arista que conecta un vértice con otro siempre que las variables correspondientes estén relacionadas por una implicación en la forma normal implicativa de la instancia. Un grafo de implicación debe ser un grafo antisimétrico , lo que significa que tiene una simetría que lleva cada variable a su negación e invierte las orientaciones de todas las aristas. [ 5 ] [ 2 ]

Algoritmos

Se conocen varios algoritmos para resolver el problema de 2-satisfacibilidad. Los más eficientes de ellos requieren tiempo lineal . [ 3 ] [ 5 ] [ 6 ]

Resolución y cierre transitivo

Krom (1967) describió el siguiente procedimiento de decisión en tiempo polinomial para resolver instancias de 2-satisfacibilidad. [ 3 ]

Supongamos que una instancia de 2-satisfacibilidad contiene dos cláusulas que usan la misma variable x , pero que x se niega en una cláusula y no en la otra. Entonces, las dos cláusulas se pueden combinar para producir una tercera cláusula, que tiene los otros dos literales en las dos cláusulas; esta tercera cláusula también debe satisfacerse siempre que las dos primeras cláusulas se satisfagan. Esto se llama resolución . Por ejemplo, podemos combinar las cláusulas(ab){\displaystyle (a\lor b)}y(¬b¬do){\displaystyle (\lnot b\lor \lnot c)}de esta manera producir la cláusula(a¬do){\displaystyle (a\lor \lno c)}En términos de la forma implicativa de una fórmula 2-CNF, esta regla equivale a encontrar dos implicaciones.¬ab{\displaystyle \lnot a\Rightarrow b}yb¬do{\displaystyle b\Rightarrow \lnot c}y deduciendo por transitividad una tercera implicación¬a¬do{\displaystyle \lnot a\Rightarrow \lnot c}. [ 3 ]

Krom escribe que una fórmula es consistente si la aplicación repetida de esta regla de inferencia no puede generar ambas cláusulas.(incógnitaincógnita){\displaystyle (x\lor x)}y(¬incógnita¬incógnita){\displaystyle (\lnot x\lor \lnot x)}, para cualquier variableincógnita{\displaystyle x}Como demuestra, una fórmula 2-CNF es satisfacible si y solo si es consistente. Porque, si una fórmula no es consistente, no es posible satisfacer ambas cláusulas.(incógnitaincógnita){\displaystyle (x\lor x)}y(¬incógnita¬incógnita){\displaystyle (\lnot x\lor \lnot x)}simultáneamente. Y, si es consistente, entonces la fórmula puede extenderse agregando repetidamente una cláusula de la forma(incógnitaincógnita){\displaystyle (x\lor x)}o(¬incógnita¬incógnita){\displaystyle (\lnot x\lor \lnot x)}de una en una, preservando la consistencia en cada paso, hasta que incluya dicha cláusula para cada variable. En cada uno de estos pasos de extensión, siempre se puede agregar una de estas dos cláusulas preservando la consistencia, ya que de lo contrario la otra cláusula podría generarse utilizando la regla de inferencia. Una vez que todas las variables tienen una cláusula de esta forma en la fórmula, se puede generar una asignación satisfactoria de todas las variables estableciendo una variable.incógnita{\displaystyle x}verdadero si la fórmula contiene la cláusula(incógnitaincógnita){\displaystyle (x\lor x)}y estableciéndolo en falso si la fórmula contiene la cláusula(¬incógnita¬incógnita){\displaystyle (\lnot x\lor \lnot x)}. [ 3 ]

Krom se centró principalmente en la completitud de los sistemas de reglas de inferencia, más que en la eficiencia de los algoritmos. Sin embargo, su método conduce a una cota de tiempo polinomial para resolver problemas de 2-satisfacibilidad. Al agrupar todas las cláusulas que usan la misma variable y aplicar la regla de inferencia a cada par de cláusulas, es posible encontrar todas las inferencias posibles a partir de una instancia 2-CNF dada y comprobar si es consistente, en un tiempo total O ( ) , donde n es el número de variables en la instancia. Esta fórmula proviene de multiplicar el número de variables por el número O( ) de pares de cláusulas que involucran una variable dada, a las que se puede aplicar la regla de inferencia. Por lo tanto, es posible determinar si una instancia 2-CNF dada es satisfacible en un tiempo O ( ) . Dado que encontrar una asignación satisfactoria usando el método de Krom implica una secuencia de O( n ) comprobaciones de consistencia, tomaría un tiempo O( n⁴ ) . Even, Itai y Shamir (1976) citan un límite de tiempo más rápido de O ( ) para este algoritmo, basado en un ordenamiento más cuidadoso de sus operaciones. [ 7 ] Sin embargo, incluso este límite de tiempo menor fue mejorado notablemente por los algoritmos de tiempo lineal posteriores de Even, Itai y Shamir (1976) y Aspvall, Plass y Tarjan (1979) . [ 8 ]

En términos del grafo de implicación de la instancia de 2-satisfacibilidad, la regla de inferencia de Krom puede interpretarse como la construcción del cierre transitivo del grafo. Como observa Cook (1971) , también puede verse como una instancia del algoritmo de Davis-Putnam para resolver problemas de satisfacibilidad utilizando el principio de resolución . Su corrección se deriva de la corrección más general del algoritmo de Davis-Putnam. Su límite de tiempo polinomial se deriva del hecho de que cada paso de resolución aumenta el número de cláusulas en la instancia, que está acotado superiormente por una función cuadrática del número de variables. [ 9 ]

Retroceso limitado

Even, Itai y Shamir (1976) describen una técnica que implica retroceso limitado para resolver problemas de satisfacción de restricciones con variables binarias y restricciones por pares. Aplican esta técnica a un problema de programación de aulas, pero también observan que se aplica a otros problemas, incluido el 2-SAT. [ 6 ]

La idea básica de su enfoque es construir una asignación de verdad parcial, una variable a la vez. Ciertos pasos de los algoritmos son "puntos de decisión", puntos en los que a una variable se le puede asignar cualquiera de dos valores de verdad diferentes, y los pasos posteriores del algoritmo pueden hacer que retroceda a uno de estos puntos de decisión. Sin embargo, solo se puede retroceder a la decisión más reciente. Todas las decisiones tomadas antes de la más reciente son permanentes. [ 6 ]

Inicialmente, no hay ningún punto de decisión y todas las variables están sin asignar. En cada paso, el algoritmo elige la variable cuyo valor establecer, como sigue: [ 6 ]

  • Si existe una cláusula cuyas variables ya están definidas de forma que la invalida, el algoritmo retrocede hasta su punto de elección más reciente, deshaciendo las asignaciones realizadas desde entonces, y revierte la decisión tomada en ese punto. Si no hay ningún punto de elección, o si el algoritmo ya ha retrocedido hasta el punto de elección más reciente, aborta la búsqueda e informa que la fórmula 2-CNF de entrada es insatisfacible. [ 6 ]
  • Si existe una cláusula en la que una de las dos variables ya ha sido definida, y la cláusula aún podría ser verdadera o falsa, entonces la otra variable se define de manera que la cláusula se convierta en verdadera. [ 6 ]
  • En el caso restante, se garantiza que cada cláusula se vuelva verdadera independientemente de cómo se asignen las variables restantes, o bien ninguna de sus dos variables ha sido asignada todavía. En este caso, el algoritmo crea un nuevo punto de decisión y asigna un valor arbitrario a cualquiera de las variables no asignadas. [ 6 ]

Intuitivamente, el algoritmo sigue todas las cadenas de inferencia después de cada una de sus elecciones. Esto conduce a una contradicción y a un paso de retroceso, o, si no se deriva ninguna contradicción, se deduce que la elección fue correcta y que conduce a una asignación satisfactoria. Por lo tanto, el algoritmo encuentra correctamente una asignación satisfactoria o determina correctamente que la entrada es insatisfacible. [ 6 ]

Even et al. no describieron en detalle cómo implementar este algoritmo de manera eficiente. Solo afirman que, al "utilizar estructuras de datos apropiadas para encontrar las implicaciones de cada decisión", cada paso del algoritmo (excepto el retroceso) se puede realizar rápidamente. Sin embargo, algunas entradas pueden provocar que el algoritmo retroceda muchas veces, realizando cada vez muchos pasos antes de retroceder, por lo que su complejidad general puede ser no lineal. Para evitar este problema, modifican el algoritmo de manera que, después de llegar a cada punto de decisión, comience a probar simultáneamente ambas asignaciones para el conjunto de variables en dicho punto, dedicando el mismo número de pasos a cada una. Tan pronto como la prueba para una de estas dos asignaciones crearía otro punto de decisión, la otra prueba se detiene, de modo que en cualquier etapa del algoritmo solo hay dos ramas del árbol de retroceso que aún se están probando. De esta manera, el tiempo total empleado en realizar las dos pruebas para cualquier variable es proporcional al número de variables y cláusulas de la fórmula de entrada cuyos valores están asignados permanentemente. Como resultado, el algoritmo tiene un tiempo total lineal . [ 6 ] En comparaciones experimentales en instancias generadas aleatoriamente, una versión de este algoritmo de retroceso fue más rápida que otros algoritmos de tiempo lineal. [ 2 ]

Componentes fuertemente conectados

Aspvall, Plass y Tarjan (1979) encontraron un procedimiento de tiempo lineal más simple para resolver instancias de 2-satisfacibilidad, basado en la noción de componentes fuertemente conectadas de la teoría de grafos . [ 5 ]

Se dice que dos vértices de un grafo dirigido están fuertemente conectados entre sí si existe un camino dirigido de uno al otro y viceversa. Esta es una relación de equivalencia , y los vértices del grafo pueden particionarse en componentes fuertemente conectadas, subconjuntos dentro de los cuales cada par de vértices está fuertemente conectado. Existen varios algoritmos eficientes de tiempo lineal para encontrar las componentes fuertemente conectadas de un grafo, basados ​​en la búsqueda en profundidad : el algoritmo de componentes fuertemente conectadas de Tarjan [ 10 ] y el algoritmo de componentes fuertes basado en caminos [ 11 ] realizan cada uno una única búsqueda en profundidad. El algoritmo de Kosaraju realiza dos búsquedas en profundidad, pero es muy simple. [ 12 ]

En términos del grafo de implicación, dos literales pertenecen al mismo componente fuertemente conexo siempre que existan cadenas de implicaciones de un literal al otro y viceversa. Por lo tanto, los dos literales deben tener el mismo valor en cualquier asignación que satisfaga la instancia de 2-satisfacibilidad dada. En particular, si una variable y su negación pertenecen al mismo componente fuertemente conexo, la instancia no puede ser satisfecha, porque es imposible asignar el mismo valor a ambos literales. Como demostraron Aspvall et al., esta es una condición necesaria y suficiente : una fórmula 2-CNF es satisfacible si y solo si no hay ninguna variable que pertenezca al mismo componente fuertemente conexo que su negación. [ 5 ]

Esto conduce inmediatamente a un algoritmo de tiempo lineal para probar la satisfacibilidad de fórmulas 2-CNF: simplemente se realiza un análisis de conectividad fuerte en el grafo de implicación y se comprueba que cada variable y su negación pertenecen a componentes diferentes. Sin embargo, como también demostraron Aspvall et al., también conduce a un algoritmo de tiempo lineal para encontrar una asignación satisfactoria, cuando existe. Su algoritmo realiza los siguientes pasos: [ 5 ]

  • Construya el grafo de implicación de la instancia y encuentre sus componentes fuertemente conexas utilizando cualquiera de los algoritmos conocidos de tiempo lineal para el análisis de conectividad fuerte. [ 5 ]
  • Comprueba si algún componente fuertemente conectado contiene tanto una variable como su negación. Si es así, informa que la instancia no es satisfacible y detente. [ 5 ]
  • Construye la condensación del grafo de implicación, un grafo más pequeño que tiene un vértice por cada componente fuertemente conexa, y una arista del componente i al componente j siempre que el grafo de implicación contenga una arista uv tal que u pertenece al componente i y v pertenece al componente j . La condensación es automáticamente un grafo dirigido acíclico y, al igual que el grafo de implicación del que se formó, es antisimétrico . [ 5 ]
  • Ordenar topológicamente los vértices de la condensación. [ 5 ] En la práctica, esto puede lograrse eficientemente como un efecto secundario del paso anterior, ya que los componentes se generan mediante el algoritmo de Kosaraju en orden topológico y mediante el algoritmo de Tarjan en orden topológico inverso. [ 12 ] [ 13 ]
  • Para cada componente en el orden topológico inverso, si sus variables no tienen ya asignaciones de verdad, establezca todos los literales del componente como verdaderos. Esto también hace que todos los literales del componente complementario se establezcan como falsos. [ 5 ]

Debido al orden topológico inverso y a la antisimetría, cuando un literal se establece como verdadero, todos los literales que se pueden alcanzar desde él a través de una cadena de implicaciones ya se habrán establecido como verdaderos. De forma simétrica, cuando un literal x se establece como falso, todos los literales que conducen a él a través de una cadena de implicaciones ya se habrán establecido como falsos. Por lo tanto, la asignación de verdad construida mediante este procedimiento satisface la fórmula dada, lo que también completa la prueba de corrección de la condición necesaria y suficiente identificada por Aspvall et al. [ 5 ].

Como muestran Aspvall et al., un procedimiento similar que implica el ordenamiento topológico de los componentes fuertemente conectados del grafo de implicación también puede utilizarse para evaluar fórmulas booleanas totalmente cuantificadas en las que la fórmula que se cuantifica es una fórmula 2-CNF. [ 5 ]

Aplicaciones

Colocación sin conflictos de objetos geométricos

Varios algoritmos exactos y aproximados para el problema de la colocación automática de etiquetas se basan en la 2-satisfacibilidad. Este problema consiste en colocar etiquetas de texto en las características de un diagrama o mapa. Normalmente, el conjunto de ubicaciones posibles para cada etiqueta está muy restringido, no solo por el mapa en sí (cada etiqueta debe estar cerca de la característica que etiqueta y no debe ocultar otras), sino también entre sí: cada par de etiquetas debe evitar superponerse, ya que de lo contrario se volverían ilegibles. En general, encontrar una ubicación de etiquetas que cumpla con estas restricciones es un problema NP-difícil . Sin embargo, si cada característica tiene solo dos ubicaciones posibles para su etiqueta (por ejemplo, extendiéndose a la izquierda y a la derecha de la característica), entonces la colocación de etiquetas puede resolverse en tiempo polinomial. En este caso, se puede crear una instancia de 2-satisfacibilidad que tenga una variable para cada etiqueta y una cláusula para cada par de etiquetas que podrían superponerse, impidiendo que se les asignen posiciones superpuestas. Si todas las etiquetas son rectángulos congruentes, se puede demostrar que la instancia de 2-satisfacibilidad correspondiente tiene solo una cantidad lineal de restricciones, lo que lleva a algoritmos de tiempo casi lineal para encontrar un etiquetado. [ 14 ] Poon, Zhu y Chin (1998) describen un problema de etiquetado de mapas en el que cada etiqueta es un rectángulo que puede colocarse en una de tres posiciones con respecto a un segmento de línea que etiqueta: puede tener el segmento como uno de sus lados, o puede estar centrado en el segmento. Representan estas tres posiciones usando dos variables binarias de tal manera que, nuevamente, probar la existencia de un etiquetado válido se convierte en un problema de 2-satisfacibilidad. [ 15 ]

Formann y Wagner (1991) utilizan la 2-satisfacibilidad como parte de un algoritmo de aproximación para el problema de encontrar etiquetas cuadradas del mayor tamaño posible para un conjunto dado de puntos, con la restricción de que cada etiqueta tenga una de sus esquinas sobre el punto que etiqueta. Para encontrar un etiquetado con un tamaño dado, eliminan los cuadrados que, si se duplicaran, se superpondrían con otro punto, y eliminan los puntos que pueden etiquetarse de forma que no puedan superponerse con la etiqueta de otro punto. Demuestran que estas reglas de eliminación hacen que los puntos restantes tengan solo dos posibles ubicaciones de etiquetas por punto, lo que permite encontrar una ubicación de etiqueta válida (si existe) como solución a una instancia de 2-satisfacibilidad. Al buscar el mayor tamaño de etiqueta que conduce a una instancia de 2-satisfacibilidad resoluble, encuentran una ubicación de etiqueta válida cuyas etiquetas son al menos la mitad de grandes que la solución óptima. Es decir, la razón de aproximación de su algoritmo es como máximo dos. [ 14 ] [ 16 ] De manera similar, si cada etiqueta es rectangular y debe colocarse de tal forma que el punto que etiqueta esté en algún lugar de su borde inferior, entonces usar la 2-satisfacibilidad para encontrar el tamaño de etiqueta más grande para el cual existe una solución en la que cada etiqueta tiene el punto en una esquina inferior conduce a una razón de aproximación de como máximo dos. [ 17 ]

Se han realizado aplicaciones similares de la 2-satisfacibilidad para otros problemas de colocación geométrica. En el dibujo de grafos , si las ubicaciones de los vértices son fijas y cada arista debe dibujarse como un arco circular con una de dos ubicaciones posibles (por ejemplo, como un diagrama de arcos ), entonces el problema de elegir qué arco usar para cada arista para evitar cruces es un problema de 2-satisfacibilidad con una variable para cada arista y una restricción para cada par de colocaciones que conducirían a un cruce. Sin embargo, en este caso es posible acelerar la solución, en comparación con un algoritmo que construye y luego busca una representación explícita del grafo de implicación, buscando en el grafo implícitamente . [ 18 ] En el diseño de circuitos integrados VLSI , si un conjunto de módulos debe conectarse mediante cables que pueden doblarse como máximo una vez, entonces nuevamente hay dos rutas posibles para los cables, y el problema de elegir cuál de estas dos rutas usar, de manera que todos los cables puedan enrutarse en una sola capa del circuito, puede resolverse como una instancia de 2-satisfacibilidad. [ 19 ]

Boros et al. (1999) consideran otro problema de diseño VLSI: la cuestión de si invertir o no la simetría de cada módulo en un diseño de circuito. Esta inversión simétrica no altera las operaciones del módulo, pero cambia el orden de los puntos en los que las señales de entrada y salida del módulo se conectan a él, lo que podría modificar su integración en el resto del diseño. Boros et al. consideran una versión simplificada del problema en la que los módulos ya se han colocado a lo largo de un único canal lineal, en el que se deben enrutar los cables entre los módulos, y existe un límite fijo en la densidad del canal (el número máximo de señales que deben pasar por cualquier sección transversal del canal). Observan que esta versión del problema puede resolverse como una instancia de 2-satisfacibilidad, en la que las restricciones relacionan las orientaciones de pares de módulos que se encuentran directamente uno frente al otro en el canal. En consecuencia, la densidad óptima también puede calcularse de forma eficiente, realizando una búsqueda binaria en la que cada paso implica la solución de una instancia de 2-satisfacibilidad. [ 20 ]

Agrupación de datos

Una forma de agrupar un conjunto de puntos de datos en un espacio métrico en dos clústeres es elegirlos de manera que se minimice la suma de sus diámetros , donde el diámetro de cualquier clúster es la mayor distancia entre dos de sus puntos. Esto es preferible a minimizar el tamaño máximo del clúster, lo que podría resultar en la asignación de puntos muy similares a clústeres diferentes. Si se conocen los diámetros objetivo de los dos clústeres, se puede encontrar una agrupación que cumpla con dichos objetivos resolviendo una instancia de 2-satisfacibilidad. La instancia tiene una variable por punto, que indica si ese punto pertenece al primer o al segundo clúster. Si dos puntos están demasiado alejados entre sí como para pertenecer ambos al mismo clúster, se agrega una cláusula a la instancia que impide esta asignación. [ 21 ]

El mismo método también puede utilizarse como subrutina cuando se desconocen los diámetros de los clústeres individuales. Para comprobar si se puede alcanzar una suma de diámetros determinada sin conocer los diámetros de los clústeres individuales, se pueden probar todos los pares máximos de diámetros objetivo que sumen como máximo la suma dada, representando cada par de diámetros como una instancia de 2-satisfacibilidad y utilizando un algoritmo de 2-satisfacibilidad para determinar si dicho par puede realizarse mediante una agrupación. Para hallar la suma óptima de diámetros, se puede realizar una búsqueda binaria en la que cada paso sea una prueba de viabilidad de este tipo. El mismo enfoque también funciona para encontrar agrupaciones que optimicen otras combinaciones distintas a las sumas de los diámetros de los clústeres, y que utilicen números de disimilitud arbitrarios (en lugar de distancias en un espacio métrico) para medir el tamaño de un clúster. [ 21 ] El límite de tiempo para este algoritmo está dominado por el tiempo para resolver una secuencia de instancias de 2-satisfacibilidad que están estrechamente relacionadas entre sí, y Ramnath (2004) muestra cómo resolver estas instancias relacionadas más rápidamente que si se resolvieran independientemente unas de otras, lo que lleva a un límite de tiempo total de O ( n 3 ) para el problema de agrupamiento de suma de diámetros. [ 22 ]

Programación

Incluso, Itai y Shamir (1976) consideran un modelo de programación de aulas en el que un conjunto de n profesores deben ser programados para enseñar a cada uno de los m grupos de estudiantes. El número de horas por semana que el profesori{\displaystyle i}gasta con el grupoj{\displaystyle j}se describe mediante entradaRij{\displaystyle R_{ij}}de una matrizR{\displaystyle R}Se proporciona como entrada al problema, y ​​cada profesor también tiene un conjunto de horas durante las cuales está disponible para ser programado. Como muestran, el problema es NP-completo , incluso cuando cada profesor tiene como máximo tres horas disponibles, pero se puede resolver como una instancia de 2-satisfacibilidad cuando cada profesor solo tiene dos horas disponibles. (Los profesores con solo una hora disponible pueden eliminarse fácilmente del problema). En este problema, cada variablevij{\displaystyle v_{ij}}corresponde a una hora que el profesori{\displaystyle i}debe pasar con el grupoj{\displaystyle j}La asignación a la variable especifica si esa hora es la primera o la segunda de las horas disponibles del profesor, y hay una cláusula de satisfacibilidad 2 que impide cualquier conflicto de dos tipos: dos cohortes asignadas a un profesor al mismo tiempo, o una cohorte asignada a dos profesores al mismo tiempo. [ 6 ]

Miyashiro y Matsui (2005) aplican la 2-satisfacibilidad a un problema de programación deportiva, en el que los emparejamientos de un torneo de todos contra todos ya han sido elegidos y los partidos deben asignarse a los estadios de los equipos. En este problema, es deseable alternar partidos de local y visitante en la medida de lo posible, evitando "descansos" en los que un equipo juegue dos partidos de local seguidos o dos partidos de visitante seguidos. Como máximo, dos equipos pueden evitar los descansos por completo, alternando entre partidos de local y visitante; ningún otro equipo puede tener el mismo calendario de local y visitante que estos dos, porque entonces no podría jugar contra el equipo con el que tuviera el mismo calendario. Por lo tanto, un calendario óptimo tiene dos equipos sin descansos y un solo descanso para cada uno de los demás equipos. Una vez elegido uno de los equipos sin descanso, se puede plantear un problema de 2-satisfacibilidad en el que cada variable representa la asignación de local-visitante para un solo equipo en un solo partido, y las restricciones imponen las propiedades de que cualesquiera dos equipos tengan una asignación consistente para sus partidos, que cada equipo tenga como máximo un descanso antes y como máximo un descanso después del partido con el equipo sin descanso, y que ningún equipo tenga dos descansos. Por lo tanto, se puede comprobar si un calendario admite una solución con el número óptimo de descansos resolviendo un número lineal de problemas de 2-satisfacibilidad, uno para cada elección del equipo sin descanso. Una técnica similar también permite encontrar calendarios en los que cada equipo tenga un solo descanso, y maximizar en lugar de minimizar el número de descansos (para reducir el kilometraje total recorrido por los equipos). [ 23 ]

Tomografía discreta

Ejemplo de un rompecabezas nonograma.

La tomografía es el proceso de recuperar formas a partir de sus secciones transversales. En la tomografía discreta , una versión simplificada del problema que se ha estudiado con frecuencia, la forma a recuperar es un poliomino (un subconjunto de los cuadrados en la red cuadrada bidimensional ), y las secciones transversales proporcionan información agregada sobre los conjuntos de cuadrados en filas y columnas individuales de la red. [ 24 ] Por ejemplo, en los populares rompecabezas nonogramas , también conocidos como pintar por números o cuadrículas, el conjunto de cuadrados a determinar representa los píxeles oscuros en una imagen binaria , y la entrada que se le da al que resuelve el rompecabezas le dice cuántos bloques consecutivos de píxeles oscuros debe incluir en cada fila o columna de la imagen, y qué tan largo debe ser cada uno de esos bloques. [ 25 ] En otras formas de tomografía digital, se da incluso menos información sobre cada fila o columna: solo el número total de cuadrados, en lugar del número y la longitud de los bloques de cuadrados. Una versión equivalente del problema es que debemos recuperar una matriz binaria dada a partir únicamente de las sumas de los valores en cada fila y en cada columna de la matriz. [ 24 ]

Aunque existen algoritmos de tiempo polinomial para encontrar una matriz con sumas de filas y columnas dadas, [ 26 ] la solución puede estar lejos de ser única: cualquier submatriz en forma de una matriz identidad de  2 ×  2 puede ser complementada sin afectar la corrección de la solución. Por lo tanto, los investigadores han buscado restricciones en la forma a reconstruir que puedan usarse para restringir el espacio de soluciones. Por ejemplo, se podría suponer que la forma es conexa; sin embargo, probar si existe una solución conexa es NP-completo. [ 27 ] Una versión aún más restringida y más fácil de resolver es que la forma sea ortogonalmente convexa : tener un único bloque contiguo de cuadrados en cada fila y columna. Mejorando varias soluciones anteriores, Chrobak y Dürr (1999) mostraron cómo reconstruir formas conexas ortogonales conexas de manera eficiente, usando 2-SAT. [ 24 ] La idea de su solución es adivinar los índices de las filas que contienen las celdas más a la izquierda y más a la derecha de la forma a reconstruir, y luego establecer un problema de 2-satisfacibilidad que prueba si existe una forma consistente con estas adivinaciones y con las sumas de filas y columnas dadas. Utilizan cuatro variables de 2-satisfacibilidad para cada cuadrado que podría ser parte de la forma dada, una para indicar si pertenece a cada una de las cuatro posibles "regiones de esquina" de la forma, y ​​utilizan restricciones que obligan a que estas regiones sean disjuntas, tengan las formas deseadas, formen una forma general con filas y columnas contiguas, y tengan las sumas de filas y columnas deseadas. Su algoritmo toma un tiempo O( m 3 n ) donde m es la menor de las dos dimensiones de la forma de entrada y n es la mayor de las dos dimensiones. El mismo método se extendió posteriormente a formas ortogonalmente convexas que podrían estar conectadas solo diagonalmente en lugar de requerir conectividad ortogonal. [ 28 ]

Como parte de un solucionador de puzles de nonogramas completos, Batenburg y Kosters ( 2008 , 2009 ) utilizaron la 2-satisfacibilidad para combinar información obtenida de varias heurísticas . Dada una solución parcial del puzle, emplean programación dinámica dentro de cada fila o columna para determinar si las restricciones de dicha fila o columna obligan a que alguno de sus cuadrados sea blanco o negro, y si dos cuadrados cualesquiera de la misma fila o columna pueden conectarse mediante una relación de implicación. También transforman el nonograma en un problema de tomografía digital reemplazando la secuencia de longitudes de bloques en cada fila y columna por su suma, y ​​utilizan una formulación de flujo máximo para determinar si este problema de tomografía digital, que combina todas las filas y columnas, tiene cuadrados cuyo estado puede determinarse o pares de cuadrados que pueden conectarse mediante una relación de implicación. Si alguna de estas dos heurísticas determina el valor de uno de los cuadrados, este se incluye en la solución parcial y se repiten los mismos cálculos. Sin embargo, si ambas heurísticas no logran establecer ningún cuadrado, las implicaciones encontradas por ambas se combinan en un problema de 2-satisfacibilidad y se utiliza un solucionador de 2-satisfacibilidad para encontrar cuadrados cuyo valor está fijado por el problema, después de lo cual el procedimiento se repite. Este procedimiento puede o no tener éxito en encontrar una solución, pero se garantiza que se ejecutará en tiempo polinomial. Batenburg y Kosters informan que, aunque la mayoría de los rompecabezas de periódicos no necesitan toda su potencia, tanto este procedimiento como un procedimiento más potente pero más lento que combina este enfoque de 2-satisfacibilidad con el retroceso limitado de Even, Itai y Shamir (1976) [ 6 ] son ​​significativamente más efectivos que la programación dinámica y las heurísticas de flujo sin 2-satisfacibilidad cuando se aplican a nonogramas generados aleatoriamente más difíciles. [ 25 ] 

Satisfacción de cuerno renombrable

Además de la 2-satisfacibilidad, la otra subclase principal de problemas de satisfacibilidad que se pueden resolver en tiempo polinomial es la satisfacibilidad de Horn . En esta clase de problemas de satisfacibilidad, la entrada es nuevamente una fórmula en forma normal conjuntiva. Puede tener arbitrariamente muchos literales por cláusula, pero como máximo un literal positivo. Lewis (1978) encontró una generalización de esta clase, la satisfacibilidad de Horn renombrable , que aún se puede resolver en tiempo polinomial mediante una instancia auxiliar de 2-satisfacibilidad. Una fórmula es de Horn renombrable cuando es posible ponerla en forma de Horn reemplazando algunas variables por sus negaciones. Para ello, Lewis establece una instancia de 2-satisfacibilidad con una variable por cada variable de la instancia de Horn renombrable, donde las variables de 2-satisfacibilidad indican si se deben negar o no las variables de Horn renombrables correspondientes. Para producir una instancia de Horn, no debe haber dos variables que aparezcan en la misma cláusula de la instancia de Horn renombrable que aparezcan positivamente en esa cláusula; Esta restricción sobre un par de variables es una restricción de 2-satisfacibilidad. Al encontrar una asignación satisfactoria para la instancia de 2-satisfacibilidad resultante, Lewis muestra cómo convertir cualquier instancia de Horn renombrable en una instancia de Horn en tiempo polinomial. [ 29 ] Al dividir cláusulas largas en múltiples cláusulas más pequeñas y aplicar un algoritmo de 2-satisfacibilidad de tiempo lineal, es posible reducir esto a tiempo lineal. [ 30 ]

Otras aplicaciones

La 2-satisfacibilidad también se ha aplicado a problemas de reconocimiento de grafos no dirigidos que pueden particionarse en un conjunto independiente y un pequeño número de subgrafos bipartitos completos , [ 31 ] inferir relaciones comerciales entre subsistemas autónomos de Internet, [ 32 ] y reconstrucción de árboles evolutivos . [ 33 ]

Complejidad y extensiones

Completitud NL

Un algoritmo no determinista para determinar si una instancia de 2-satisfacibilidad no es satisfacible, utilizando solo una cantidad logarítmica de memoria escribible, es fácil de describir: simplemente se elige (de forma no determinista) una variable v y se busca (de forma no determinista) una cadena de implicaciones que conduzca de v a su negación y luego de vuelta a v . Si se encuentra dicha cadena, la instancia no puede ser satisfacible. [ 34 ] Por el teorema de Immerman-Szelepcsényi , también es posible en el espacio logarítmico no determinista verificar que una instancia de 2-satisfacibilidad satisfacible es satisfacible. [ 35 ]

La 2-satisfacibilidad es NL-completa , [ 34 ] lo que significa que es uno de los problemas "más difíciles" o "más expresivos" en la clase de complejidad NL de problemas resolubles de forma no determinista en espacio logarítmico. La completitud aquí significa que una máquina de Turing determinista que utilice solo espacio logarítmico puede transformar cualquier otro problema en NL en un problema de 2-satisfacibilidad equivalente. De forma análoga a resultados similares para la clase de complejidad más conocida NP , esta transformación junto con el teorema de Immerman-Szelepcsényi permite que cualquier problema en NL se represente como una fórmula de lógica de segundo orden con un único predicado cuantificado existencialmente con cláusulas limitadas a longitud 2. Dichas fórmulas se conocen como SO-Krom. [ 36 ] De manera similar, la forma normal implicativa se puede expresar en lógica de primer orden con la adición de un operador para el cierre transitivo . [ 36 ]

El conjunto de todas las soluciones

El gráfico mediano que representa todas las soluciones para el ejemplo de instancia de 2-satisfacibilidad cuyo gráfico de implicación se muestra arriba.

El conjunto de todas las soluciones a una instancia de 2-satisfacibilidad tiene la estructura de un grafo mediano , en el que una arista corresponde a la operación de invertir los valores de un conjunto de variables que están restringidas a ser iguales o diferentes entre sí. En particular, siguiendo las aristas de esta manera se puede pasar de cualquier solución a cualquier otra. A la inversa, cualquier grafo mediano puede representarse como el conjunto de soluciones a una instancia de 2-satisfacibilidad de esta forma. La mediana de tres soluciones cualesquiera se forma al establecer cada variable al valor que tiene en la mayoría de las tres soluciones. Esta mediana siempre forma otra solución a la instancia. [ 37 ]

Feder (1994) describe un algoritmo para listar eficientemente todas las soluciones a una instancia dada de 2-satisfacibilidad y para resolver varios problemas relacionados. [ 38 ] También existen algoritmos para encontrar dos asignaciones satisfactorias que tengan la máxima distancia de Hamming entre sí. [ 39 ]

Contar el número de asignaciones satisfactorias

#2SAT es el problema de contar el número de asignaciones satisfactorias a una fórmula 2-CNF dada. Este problema de conteo es #P-completo , [ 40 ] lo que implica que no es resoluble en tiempo polinomial a menos que P  =  NP . Además, no existe un esquema de aproximación aleatoria totalmente polinomial para #2SAT a menos que NP = RP , e incluso esto se cumple cuando la entrada se restringe a fórmulas 2-CNF monótonas, es decir, fórmulas 2-CNF en las que cada literal es una ocurrencia positiva de una variable. [ 41 ]

El algoritmo más rápido conocido para calcular el número exacto de asignaciones satisfactorias a una fórmula 2SAT se ejecuta en tiempoO(1.2377norte){\displaystyle O(1.2377^{n})}. [ 42 ] [ 43 ] [ 44 ]

Instancias aleatorias de 2-satisfacibilidad

Se puede formar una instancia de 2-satisfacibilidad al azar, para un número dado n de variables y m de cláusulas, eligiendo cada cláusula uniformemente al azar del conjunto de todas las posibles cláusulas de dos variables. Cuando m es pequeño en relación con n , es probable que dicha instancia sea satisfacible, pero valores mayores de m tienen menores probabilidades de serlo. Más precisamente, si m / n se fija como una constante α ≠ 1, la probabilidad de satisfacibilidad tiende a un límite cuando n tiende a infinito: si α  <  1, el límite es uno, mientras que si α  >  1, el límite es cero. Por lo tanto, el problema presenta una transición de fase en α  =  1. [ 45 ]

Satisfacción máxima de 2

En el problema de máxima satisfacibilidad 2 ( MAX-2-SAT ), la entrada es una fórmula en forma normal conjuntiva con dos literales por cláusula, y la tarea consiste en determinar el número máximo de cláusulas que pueden ser satisfechas simultáneamente por una asignación. Al igual que el problema de máxima satisfacibilidad más general , MAX-2-SAT es NP-difícil . La demostración se realiza mediante reducción a partir de 3SAT . [ 46 ]

Al formular MAX-2-SAT como un problema de encontrar un corte (es decir, una partición de los vértices en dos subconjuntos) que maximice el número de aristas que tienen un extremo en el primer subconjunto y un extremo en el segundo, en un grafo relacionado con el grafo de implicación, y aplicando métodos de programación semidefinida a este problema de corte, es posible encontrar en tiempo polinomial una solución aproximada que satisfaga al menos 0,940... veces el número óptimo de cláusulas. [ 47 ] Una instancia de MAX 2-SAT balanceada es una instancia de MAX 2-SAT donde cada variable aparece positiva y negativamente con igual peso. Para este problema, Austrin ha mejorado la razón de aproximación amin{(3porqueθ)1(2+(2/π)θ):π/2θπ}=0,943...{\displaystyle \min \left\{(3-\cos \theta )^{-1}(2+(2/\pi )\theta )\,:\,\pi /2\leq \theta \leq \pi \right\}=0.943...}. [ 48 ]

Si la conjetura de juegos únicos es cierta, entonces es imposible aproximar MAX 2-SAT, balanceado o no, con una constante de aproximación mejor que 0,943... en tiempo polinomial. [ 49 ] Bajo la suposición más débil de que P   NP , se sabe que el problema solo es inaproximable dentro de una constante mejor que 21/22 = 0,95454... [ 50 ]

Varios autores también han explorado límites de tiempo exponenciales en el peor de los casos para la solución exacta de instancias MAX-2-SAT. [ 51 ]

Satisfacibilidad ponderada de nivel 2

En el problema de 2-satisfacibilidad ponderada ( W2SAT ), la entrada es unnorte{\displaystyle n}-instancia 2SAT de variables y un entero k , y el problema consiste en decidir si existe una asignación satisfactoria en la que exactamente k de las variables sean verdaderas. [ 52 ]

El problema W2SAT incluye como caso especial el problema de cobertura de vértices , que consiste en encontrar un conjunto de k vértices que, en conjunto, toquen todas las aristas de un grafo no dirigido dado. Para cualquier instancia dada del problema de cobertura de vértices, se puede construir un problema W2SAT equivalente con una variable para cada vértice del grafo. Cada arista uv del grafo puede representarse mediante una cláusula 2SAT uv que solo puede satisfacerse incluyendo u o v entre las variables verdaderas de la solución. Entonces, las instancias que satisfacen la fórmula 2SAT resultante codifican soluciones al problema de cobertura de vértices, y existe una asignación satisfactoria con k variables verdaderas si y solo si existe una cobertura de vértices con k vértices. Por lo tanto, al igual que la cobertura de vértices, W2SAT es NP-completo . [ 53 ]

Además, en complejidad parametrizada, W2SAT proporciona un problema W[1]-completo natural , [ 52 ] lo que implica que W2SAT no es tratable con parámetros fijos a menos que esto se cumpla para todos los problemas en W[1] . Es decir, es improbable que exista un algoritmo para W2SAT cuyo tiempo de ejecución tome la forma f ( kn O (1) . Más aún, W2SAT no puede resolverse en tiempo n o ( k ) a menos que falle la hipótesis del tiempo exponencial . [ 54 ]

Fórmulas booleanas cuantificadas

Además de encontrar el primer algoritmo de tiempo polinomial para la 2-satisfacibilidad, Krom (1967) también formuló el problema de evaluar fórmulas booleanas totalmente cuantificadas en las que la fórmula que se cuantifica es una fórmula 2-CNF. El problema de la 2-satisfacibilidad es el caso especial de este problema 2-CNF cuantificado, en el que todos los cuantificadores son existenciales . Krom también desarrolló un procedimiento de decisión eficaz para estas fórmulas. Aspvall, Plass y Tarjan (1979) demostraron que puede resolverse en tiempo lineal, mediante una extensión de su técnica de componentes fuertemente conexas y ordenamiento topológico. [ 3 ] [ 5 ]

Lógicas multivaluadas

El problema de 2-satisfacibilidad también puede plantearse para lógicas multivaluadas proposicionales . Los algoritmos no suelen ser lineales, y para algunas lógicas el problema es incluso NP-completo. Véase Hähnle ( 2001 , 2003 ) para revisiones. [ 55 ] 

Referencias

  1. ^ Prestwich , Steven (2009), "2. Codificaciones CNF" , en Biere, Armin; Heule, Marijn ; van Maaren, Hans; Walsh, Toby (eds.), Manual de satisfacción , Fronteras en inteligencia artificial y aplicaciones, vol.  185, IOS Press, págs. 75 a 98, doi : 10.3233/978-1-58603-929-5-75 , ISBN  978-1-58603-929-5, S2CID 31666330 .
  2. 1 2 3 Petreschi, Rossella; Simeone, Bruno (1991), "Comparación experimental de algoritmos de 2 satisfacibilidad", RAIRO Recherche Opérationnelle , 25 (3): 241– 264, doi : 10.1051/ro/1991250302411 , MR 1128467 
  3. 1 2 3 4 5 6 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.
  4. Russell, Stuart Jonathan; Norvig, Peter (2010), Inteligencia artificial: un enfoque moderno , serie Prentice Hall en inteligencia artificial, Prentice Hall, pág. 282, ISBN  978-0-13-604259-4.
  5. 1 2 3 4 5 6 7 8 9 10 11 12 13 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.
  6. 1 2 3 4 5 6 7 8 9 10 11 Even, S .; Itai, A.; Shamir, A. (1976), "Sobre la complejidad de los problemas de flujo de horarios y multicommodity", SIAM Journal on Computing , 5 (4): 691–703 , doi : 10.1137/0205048.
  7. Incluso, Itai & Shamir (1976) .
  8. ^ Incluso, Itai y Shamir (1976) y Aspvall, Plass y Tarjan (1979)
  9. Cook, Stephen A. (1971), "La complejidad de los procedimientos de demostración de teoremas", Actas del 3er Simposio ACM sobre Teoría de la Computación (STOC) , págs. 151–158 , doi : 10.1145/800157.805047 , S2CID 7573663  .
  10. Tarjan, Robert E. (1972), "Búsqueda en profundidad y algoritmos de grafos lineales", SIAM Journal on Computing , 1 (2): 146– 160, doi : 10.1137/0201010 , S2CID 16467262 .
  11. Publicado originalmente por Cheriyan, J.; Mehlhorn, K. (1996), "Algoritmos para grafos densos y redes en la computadora de acceso aleatorio", Algorithmica , 15 (6): 521– 549, doi : 10.1007/BF01940880 , S2CID 8930091 Redescubierto en 1999 por Harold N. Gabow y publicado en Gabow, Harold N. (2003), "Searching (Ch 10.1)", en Gross, JL; Yellen, J. (eds.), Discrete Math. and its Applications: Handbook of Graph Theory , vol. 25, CRC Press, pp. 953–984 .  .
  12. 1 2 Cormen, Thomas H.; Leiserson, Charles Eric; Rivest, Ronald Linn; Stein, Clifford (2009), "Sección 22.5: Componentes fuertemente conectados", Introducción a los algoritmos (3.ª ed.), Cambridge, Massachusetts Londres, Inglaterra: MIT Press, págs. 615–620 , ISBN   978-0-262-03384-8Véase también las notas del capítulo, pág. 623.
  13. Harrison, Paul, Ordenación topológica robusta y algoritmo de Tarjan en Python , consultado el 9 de febrero de 2011.
  14. 1 2 Formann, M.; Wagner, F. (1991), "Un problema de empaquetamiento con aplicaciones al rotulado de mapas", Actas del 7.º Simposio ACM sobre Geometría Computacional , págs. 281–288 , doi : 10.1145/109648.109680 , ISBN  978-0-89791-426-0, S2CID 15740667 .
  15. Poon, Chung Keung; Zhu, Binhai; Chin, Francis (1998), "Una solución en tiempo polinomial para etiquetar un mapa rectilíneo", Information Processing Letters , 65 (4): 201–207 , doi : 10.1016/S0020-0190(98)00002-7.
  16. Wagner, Frank; Wolff, Alexander (1997), "Un algoritmo práctico para el etiquetado de mapas", Geometría Computacional: Teoría y Aplicaciones , 7 ( 5– 6): 387– 404, doi : 10.1016/S0925-7721(96)00007-7.
  17. Doddi, Srinivas; Marathe, Madhav V.; Mirzaian, Andy; Moret, Bernard ME; Zhu, Binhai (1997), "Map labeling and its generalizations" , Proc. 8th ACM-SIAM Symp. Discrete Algorithms (SODA) , Soda '97, pp. 148–157 , ISBN  978-0-89871-390-9.
  18. Efrat, Alon; Erten, Cesim; Kobourov, Stephen G. (2007), "Dibujo de arco circular de ubicación fija de grafos planares" (PDF) , Journal of Graph Algorithms and Applications , 11 (1): 145–164 , doi : 10.7155/jgaa.00140.
  19. ^ Raghavan, Raghunath; Cohoon, James; Sahni, Sartaj (1986), "Cableado de curva única", Journal of Algorithms , 7 (2): 232– 237, doi : 10.1016/0196-6774(86)90006-4.
  20. Boros, Endre; Hammer, Peter Ladislaw ; Minoux, Michel; Rader, David J. Jr. (1999), "Optimal cell flipping to minimize channel density in VLSI design and pseudo-Boolean optimization", Discrete Applied Mathematics , 90 ( 1–3 ): 69–88 , doi : 10.1016/S0166-218X(98)00114-0.
  21. 1 2 Hansen, P.; Jaumard, B. (1987), "Agrupamiento por suma mínima de diámetros", Journal of Classification , 4 (2): 215– 226, doi : 10.1007/BF01896987 , S2CID 120583429 .
  22. Ramnath, Sarnath (2004), "La conectividad dinámica de digrafos acelera la agrupación por suma mínima de diámetros", SIAM Journal on Discrete Mathematics , 18 (2): 272– 286, doi : 10.1137/S0895480102396099.
  23. Miyashiro, Ryuhei; Matsui, Tomomi (2005), "Un algoritmo de tiempo polinomial para encontrar una asignación equitativa entre casa y fuera", Operations Research Letters , 33 (3): 235– 241, CiteSeerX 10.1.1.64.240 , doi : 10.1016/j.orl.2004.06.004 .
  24. 1 2 3 Chrobak, Marek; Dürr, Christoph (1999), "Reconstrucción de poliominós hv-convexos a partir de proyecciones ortogonales", Information Processing Letters , 69 (6): 283– 289, arXiv : cs/9906021 , Bibcode : 1999cs........6021D , doi : 10.1016/S0020-0190(99)00025-3 , S2CID 6799509 .
  25. 1 2 Batenburg, K. Joost; Kosters, Walter A. (2008), "Un marco de razonamiento para resolver nonogramas", Análisis combinatorio de imágenes, 12.º Taller internacional, IWCIA 2008, Buffalo, NY, EE. UU., 7-9 de abril de 2008, Actas , Lecture Notes in Computer Science, vol. 4958, Springer-Verlag, pp. 372-383 , doi : 10.1007/978-3-540-78275-9_33 , ISBN   978-3-540-78274-2; Batenburg, K. Joost; Kosters, Walter A. (2009), "Resolver nonogramas combinando relajaciones", Reconocimiento de patrones , 42 (8): 1672– 1683, Bibcode : 2009PatRe..42.1672B , CiteSeerX 10.1.1.177.76 , doi : 10.1016/j.patcog.2008.12.003 .
  26. Brualdi, RA (1980), "Matrices de ceros y unos con vectores de suma de filas y columnas fijos", Linear Algebra Appl. , 33 : 159– 231, doi : 10.1016/0024-3795(80)90105-6.
  27. Woeginger, GJ (1996), La reconstrucción de poliominós a partir de sus proyecciones ortogonales , Informe técnico SFB-65, Graz, Austria: TU Graz.
  28. Kuba, Attila; Balogh, Emese (2002), "Reconstrucción de conjuntos discretos convexos 2D en tiempo polinomial", Theoretical Computer Science , 283 (1): 223–242 , doi : 10.1016/S0304-3975(01)00080-9Brunetti , Sara; Daurat, Alain (2003), "Un algoritmo para reconstruir conjuntos reticulares convexos" (PDF) , Theoretical Computer Science , 304 ( 1–3 ): 35–57 , doi : 10.1016/S0304-3975(03)00050-1 , S2CID 2803842 .
  29. Lewis, Harry R. (1978), "Renombrar un conjunto de cláusulas como un conjunto de Horn", Journal of the ACM , 25 (1): 134– 135, doi : 10.1145/322047.322059 , MR 0468315 , S2CID 3071958  .
  30. Aspvall, Bengt (1980), "Reconocimiento de instancias NR(1) disfrazadas del problema de satisfacibilidad", Journal of Algorithms , 1 (1): 97– 103, doi : 10.1016/0196-6774(80)90007-3 , MR 0578079 .
  31. Brandstädt, Andreas ; Hammer, Peter Ladislaw ; Le, Van Bang; Lozin, Vadim V. (2005), "Bisplit graphs", Discrete Mathematics , 299 ( 1–3 ): 11–32 , doi : 10.1016/j.disc.2004.08.046.
  32. Wang, Hao; Xie, Haiyong; Yang, Yang Richard; Silberschatz, Avi; Li, Li Erran; Liu, Yanbin (2005), "Selección de ruta de salida estable para ingeniería de tráfico entre dominios: modelo y análisis", 13.ª Conferencia Internacional IEEE sobre Protocolos de Red (ICNP'05) , págs. 16-29 , CiteSeerX 10.1.1.106.7345 , doi : 10.1109/ICNP.2005.39 , ISBN   978-0-7695-2437-5, S2CID 4332805 .
  33. Eskin, Eleazar; Halperin, Eran; Karp, Richard M. (2003), "Reconstrucción eficiente de la estructura de haplotipos mediante filogenia perfecta", Journal of Bioinformatics and Computational Biology , 1 (1): 1– 20, doi : 10.1142/S0219720003000174 , PMID 15290779 .
  34. 1 2 Papadimitriou, Christos H. (1994), "Teorema 16.3", Complejidad computacional , Addison-Wesley, pág. 398, ISBN  978-0-201-53082-7
  35. Immerman, Neil (1988), "El espacio no determinista es cerrado bajo complementación" (PDF) , SIAM Journal on Computing , 17 (5): 935–938 , doi : 10.1137/0217058 , MR 0961049 ; Szelepcsényi, Róbert (1987), "El método de forzado para autómatas no deterministas", Boletín de la EATCS , 33 : 96– 100
  36. 1 2 Cook, Stephen ; Kolokolova, Antonina (2004), "Una teoría de segundo orden para NL", 19.º Simposio Anual IEEE sobre Lógica en Ciencias de la Computación (LICS'04) , págs. 398–407 , doi : 10.1109/LICS.2004.1319634 , ISBN  978-0-7695-2192-3, S2CID 9936442 .
  37. Bandelt, Hans-Jürgen; Chepoi, Victor (2008), "Teoría de grafos métricos y geometría: una revisión", Surveys on discrete and computational geometry , Contemporary Mathematics, vol. 453, Providence, RI: American Mathematical Society, pp. 49–86 , doi : 10.1090/conm/453/08795 , ISBN   978-0-8218-4239-3, MR 2405677 Chung , FRK ; Graham, RL ; Saks, ME (1989), "Un problema de localización dinámica para grafos" (PDF) , Combinatorica , 9 (2): 111–132 , doi : 10.1007/BF02124674 , S2CID 5419897 Feder, T. (1995), Redes estables y grafos de producto , Memorias de la Sociedad Matemática Americana, vol. 555 .
  38. Feder, Tomás (1994), "Network flow and 2-satisfiability", Algorithmica , 11 (3): 291– 319, doi : 10.1007/BF01240738 , S2CID 34194118 .
  39. Angelsmark, Ola; Thapper, Johan (2005), "Algoritmos para el problema de la distancia máxima de Hamming", Avances recientes en restricciones , Notas de clase en ciencias de la computación, vol. 3419, Springer-Verlag, pp. 128–141 , doi : 10.1007/11402763_10 , ISBN   978-3-540-25176-7.
  40. Valiant, Leslie G. (1979), "La complejidad de los problemas de enumeración y fiabilidad", SIAM Journal on Computing , 8 (3): 410– 421, doi : 10.1137/0208032
  41. Welsh, Dominic ; Gale, Amy (2001), "La complejidad de los problemas de conteo", Aspectos de la complejidad: minicursos de algoritmia, complejidad y álgebra computacional: taller de matemáticas, Kaikoura, 7-15 de enero de 2000 , págs. 115 y siguientes. , Teorema 57.
  42. Dahllöf, Vilhelm; Jonsson, Peter; Wahlström, Magnus (2005), "Modelos de conteo para fórmulas 2SAT y 3SAT", Ciencias de la Computación Teórica , 332 ( 1– 3): 265– 291, doi : 10.1016/j.tcs.2004.10.037
  43. Fürer, Martin; Kasiviswanathan, Shiva Prasad (2007), "Algoritmos para contar soluciones 2-SAT y coloraciones con aplicaciones", Aspectos algorítmicos en información y gestión , Notas de clase en ciencias de la computación, vol. 4508, Springer-Verlag, pp. 47–57 , CiteSeerX 10.1.1.634.4498 , doi : 10.1007/978-3-540-72870-2_5 , ISBN    978-3-540-72868-9.
  44. Wahlström, Magnus (2008), "Una cota más ajustada para contar soluciones de peso máximo para instancias 2sat", Taller internacional sobre computación parametrizada y exacta , Lecture Notes in Computer Science, vol. 5018, pp. 202–213 , CiteSeerX 10.1.1.129.9232 , doi : 10.1007/978-3-540-79723-4_19 , ISBN    978-3-540-79722-7
  45. Bollobás, Béla ; Borgs, Christian; Chayes, Jennifer T.; Kim, Jeong Han; Wilson, David B. (2001), "The scaling window of the 2-SAT transition", Random Structures and Algorithms , 18 (3): 201–256 , arXiv : math/9909031 , doi : 10.1002/rsa.1006 , S2CID 9954684 ; Chvátal, V. ; Reed, B. (1992), "Mick consigue algo (las probabilidades están de su lado)", Actas del 33.º Simposio Anual sobre Fundamentos de la Informática , pp. 620–627 , doi : 10.1109/SFCS.1992.267789 , ISBN  978-0-8186-2900-6, S2CID 5575389 ; Goerdt, A. (1996), "Un umbral para la insatisfacibilidad", Journal of Computer and System Sciences , 53 (3): 469– 486, doi : 10.1006/jcss.1996.0081.
  46. MR Garey; DS Johnson; LJ Stockmeyer (1976), "Algunos problemas de grafos NP-completos simplificados", Theoretical Computer Science , 1 (3): 237– 267, doi : 10.1016/0304-3975(76)90059-1 , ISSN 0304-3975 ; véase págs. 4–6
  47. Lewin, Michael; Livnar, Dror; Zwick, Uri (2002), "Improved Rounding Techniques for the MAX 2-SAT and MAX DI-CUT Problems", Proceedings of the 9th International IPCO Conference on Integer Programming and Combinatorial Optimization , Springer-Verlag, pp. 67– 82, ISBN  978-3-540-43676-8
  48. Austrin, Per (2007), "Balanced Max 2-sat Might Not Be the Hardest", Actas del Trigésimo Noveno Simposio Anual de la ACM sobre Teoría de la Computación (STOC '07) , Nueva York, NY, EE. UU.: ACM, págs. 189–197 , doi : 10.1145/1250790.1250818 , ISBN  978-1-59593-631-8, S2CID 2353625 .
  49. Khot, Subhash ; Kindler, Guy; Mossel, Elchanan; O'Donnell, Ryan (2004), "Resultados óptimos de inaproximabilidad para MAX-CUT y otros CSP de 2 variables?", FOCS '04: Actas del 45.º Simposio Anual IEEE sobre Fundamentos de la Informática , IEEE, pp. 146–154 , CiteSeerX 10.1.1.126.2295 , doi : 10.1109/FOCS.2004.49 , ISBN   978-0-7695-2228-9, S2CID 2090495 
  50. Håstad, Johan (2001), "Algunos resultados óptimos de inaproximabilidad", Journal of the ACM , 48 (4): 798–859 , CiteSeerX 10.1.1.638.2808 , doi : 10.1145/502090.502098 , S2CID 5120748  .
  51. Bansal, N.; Raman, V. (1999), "Límites superiores para MaxSat: mejoras adicionales", en Aggarwal, A.; Pandu Rangan, C. (eds.), Actas de la 10.ª Conferencia sobre Algoritmos y Computación, ISAAC'99 , Lecture Notes in Computer Science, vol. 1741, Springer-Verlag, pp . 247–258  Gramm , Jens; Hirsch, Edward A.; Niedermeier, Rolf ; Rossmanith, Peter (2003), "Límites superiores en el peor caso para MAX-2-SAT con una aplicación a MAX-CUT", Discrete Applied Mathematics , 130 (2): 139–155 , doi : 10.1016/S0166-218X(02)00402-XKojevnikov, Arist ; Kulikov, Alexander S. (2006), "Un nuevo enfoque para demostrar cotas superiores para MAX-2-SAT", Actas del 17.º Simposio ACM-SIAM sobre Algoritmos Discretos , págs. 11-17 , doi : 10.1145/1109557.1109559 , ISBN  978-0-89871-605-4, S2CID 10194873 
  52. 1 2 Flum, Jörg; Grohe, Martin (2006), Parameterized Complexity Theory , Springer, pp. 69–70 , doi : 10.1007/3-540-29953-X , ISBN  978-3-540-29952-3
  53. Porschen, Stefan; Speckenmeyer, Ewald (2007), "Algoritmos para problemas duales y 2-SAT con ponderación variable", en Marques-Silva, João; Sakallah, Karem A. (eds.), Teoría y aplicaciones de las pruebas de satisfacibilidad - SAT 2007, 10.ª Conferencia Internacional, Lisboa, Portugal, 28-31 de mayo de 2007, Actas , Lecture Notes in Computer Science, vol. 4501, Springer, pp. 173–186 , doi : 10.1007/978-3-540-72788-0_19  
  54. Chen, Jianer; Huang, Xiuzhen; Kanj, Iyad A.; Xia, Ge (2006), "Límites inferiores computacionales robustos mediante complejidad parametrizada", Journal of Computer and System Sciences , 72 (8): 1346–1367 , doi : 10.1016/j.jcss.2006.04.007
  55. Hähnle, Reiner (2001), «Advanced many-valued logics», en Gabbay, Dov M.; Günthner, Franz (eds.), Handbook of Philosophical Logic , vol. 2, Springer, pp. 297–395 , doi : 10.1007/978-94-017-0452-6_5 , ISBN   978-94-017-0452-6(véase en particular la pág.  373 ); Hähnle, Reiner (2003), «Complejidad de las lógicas multivaluadas», en Fitting, Melvin; Orlowska, Ewa (eds.), Más allá de dos: teoría y aplicaciones de la lógica multivaluada , Estudios en lógica difusa y computación blanda, vol. 114, Springer, págs. 211–233 , doi : 10.1007/978-3-7908-1769-0_9 , ISBN   978-3-7908-1541-2
Obtenido de " https://en.wikipedia.org/w/index.php?title=2-satisfiability&oldid=1341126965 "