2 votos

¿Puede reducirse "directamente" una cláusula de satisfacción booleana 3-SAT a un problema 2-SAT?

Definiciones:

SAT es el problema "Dado un enunciado de lógica proposicional, ¿tiene el enunciado una asignación de sus variables que resulte en que el enunciado sea verdadero?".

3-SAT es un problema SAT, escrito como cláusulas con 3 variables o menos. Por ejemplo ((A or B or C) and (not B or not C)) tiene 2 cláusulas. A , B y C son variables booleanas; " or " y " and "son los operadores lógicos estándar. Este problema tiene al menos una solución (A, B, C) = (true, false, true) .

2-SAT es un problema SAT, escrito como cláusulas con 2 variables o menos.

Podemos reducir 2-SAT al problema de encontrar un ciclo en un grafo dirigido : Podemos crear un vértice para cada variable (y su negación). Escribimos cada cláusula ((A) or (B)) en forma de implicación: ((A) or (B)) <=> ((not (not A)) or (B)) <=> ((not A) implies (B)) . Añadimos una arista dirigida para cada cláusula "implica". El problema 2-SAT se satisface si y sólo si para todas las variables X , vértices (X) y (not X) no están contenidos en un ciclo. (Equivalentemente, hay un camino desde (X) a (not X) y un camino desde (not X) a (X) si y sólo si hay una contradicción - es decir, si el problema 2-SAT no se satisface).


¿Se puede reducir una cláusula 3-SAT "directamente" (definida en [3]) a un problema 2-SAT?

[1] 2-SAT es equivalente a "para algún X, ¿contiene el gráfico de implicación ambos caminos desde (X) a (not X) y de (not X) a (X) ?

[2] En otras palabras, un problema 2-SAT se satisface si y sólo si 2 vértices de su grafo de implicación se contradicen (están en el mismo ciclo).

Entonces, ¿cómo puede haber una reducción "directa" de una cláusula 3-SAT a 2-SAT?

[3] Si hay una reducción "directa" de una cláusula 3-SAT a 2-SAT, entonces, para cada cláusula D = (A or B or C) existirán 3 vértices A , B , C en el grafo de implicación 2-SAT tal que la cláusula D se cumple si y sólo si (not ((not A) and (not B) and (not C))) (lo que falsea la cláusula).

[4] Hay 3 variables que intervienen allí ([3]) en la satisfacción.

[5] Un problema 2-SAT se satisface, o no, en función de 2 vértices ([2]).

[6] No se puede codificar "insatisface si y sólo si 3 variables se contradicen" en aristas dirigidas ("directamente"). (Un problema 2-SAT podría tener múltiples pares de vértices contradictorios; cada contradicción corresponde a un par de vértices. No se pueden "meter" 3 "en" un par).

[7] Según [6], si una cláusula 3-SAT se puede reducir "directamente" a 2-SAT, entonces, no debe ser uno-a-uno con las variables.

Por lo tanto, una cláusula 3-SAT no puede reducirse "directamente" a 2-SAT.

1voto

Kyle Jones Puntos 779

No, una cláusula 3-CNF no puede reducirse directamente a una cláusula 2-CNF.

Las soluciones de 2-SAT tienen todas la propiedad de la mediana: Se pueden tomar tres soluciones cualesquiera, tomar el valor mayoritario de cada variable y producir una cuarta solución. Si una fórmula booleana tiene tres asignaciones satisfactorias que juntas no tienen esta propiedad, entonces esa fórmula no puede representarse como una conjunción de cláusulas 2-CNF. A modo de ejemplo $(x_1 \lor x_2 \lor x_3)$ tiene entre sus asignaciones satisfactorias 100, 010 y 001. Tomando el valor mayoritario de cada variable se obtiene 000, que no es una asignación satisfactoria. Así que $(x_1 \lor x_2 \lor x_3)$ no puede representarse de forma equivalente como una cláusula 2-CNF.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X