Actualmente estoy interesado en obtener (o construir) y estudiar fórmulas 3-CNF que son insatisfactorias y de tamaño mínimo. Es decir, deben consistir en la menor cantidad posible de cláusulas (m = 8 preferiblemente) y la menor cantidad posible de variables distintas (n = 4 o más), de modo que eliminar al menos una cláusula haga que la fórmula sea satisfactoria.
Más formalmente, cualquier fórmula F de 3-CNF elegible debe cumplir las siguientes condiciones:
- F es insatisfactorio
- F tiene una cantidad mínima (4+) de variables distintas (o su negación)
- F tiene una cantidad mínima de cláusulas (8+)
- cada subconjunto apropiado de F es satisfactoria (permitiendo la eliminación de cualquier cláusula o cláusulas arbitrarias).
- F no tiene 2 cláusulas que sean reducibles a una cláusula 2-CNF, por ejemplo,
(i, j, k) & (i, j, ~k)
NO está permitido (se reducen a(i,j)
)
Por ejemplo, con n = 4, existen muchas fórmulas mínimas de 8 cláusulas 3-CNF que son insatisfactorias. Por un lado, al mirar el 4 hipercubo e intentar cubrirlo con bordes (2 caras), se puede construir la siguiente fórmula insatisfactoria:
1. (~A, B, D)
2. (~B, C, D)
3. ( A, ~C D)
4. ( A, ~B, ~D)
5. ( B, ~C, ~D)
6. (~A, C, ~D)
7. ( A, B, C)
8. (~A, ~B, ~C)
Esto califica como una fórmula mínimamente insatisfactoria de 3-CNF porque:
Es insatisfactorio:
- Las cláusulas 1-3 son equivalentes a:
D or A=B=C
- Las cláusulas 4-6 son equivalentes a:
~D or A=B=C
- Implican
A=B=C
, pero según las cláusulas 7 y 8, esto es una contradicción.
- Las cláusulas 1-3 son equivalentes a:
Solo hay 4 variables distintas.
- Solo hay 8 cláusulas.
- Eliminar cualquier cláusula la hace satisfactoria.
- No hay 2 cláusulas 'reducibles' a una cláusula 2-CNF.
Entonces, creo que mis preguntas generales aquí son, en orden de importancia para mí:
¿Cuáles son algunas otras fórmulas mínimas pequeñas que cumplen con las condiciones anteriores? (es decir, por ejemplo, 4,5,6 variables y 8,9,10 cláusulas)
¿Existe algún tipo de base de datos o "atlas" de tales fórmulas mínimas?
¿Qué algoritmos no aleatorios existen para construirlos directamente, si los hay?
¿Cuáles son algunas ideas sobre las características de estas fórmulas? ¿Se pueden contar o estimar, dadas n (# variables) ym (# cláusulas)?
Gracias de antemano por sus respuestas. Agradezco cualquier respuesta o comentario.
Respuestas:
Tome la fórmula en su ejemplo, elimine la cláusula y agregue las siguientes cláusulas: 2¬ A ∨ ¬ B ∨ ¬ C 2
¬ B ∨ ¬ C ∨ E¬ A ∨ ¬ B ∨ ¬ E
¬ B ∨ ¬ C∨ E
Obtendrá una fórmula mínima insatisfactoria con , obedeciendo la condición 5. m = 9n = 5 m = 9
En general, puede elegir aleatoriamente una cláusula y dividirla en cláusulas: 2l1∨ l2∨ l3 2
donde es una nueva variable. Cada vez que lo hace, tanto como se incrementan en . La repetición de este proceso le permite "estirar" el núcleo inicial insatisfactorio y obtener fórmulas mínimas insatisfactorias (obedeciendo la condición 5) cuya tiende a medida que crece (lo cual es bastante raro, como fórmulas con son satisfactorios con alta probabilidad).v norte metro 1 r = mnorte 1 norte r = 1
fuente
Creo que la condición número 5 no se cumple realmente en su ejemplo y no se puede mantener nunca.
Que las siguientes cláusulas sean equivalentes:
Lo que nos permitirá asignar las cláusulas de A, B, C y D a las nuevas variables p, q, r y s como la siguiente tabla de verdad:
Y ahora podemos expresar las cláusulas de A, B, C y D en términos de p, q, r y s:
Dado que todas las cláusulas se muestran y se asocian con las cláusulas A, B, C y D. Entonces podemos afirmar que las cláusulas p, q, r y s pueden reducirse a:
Lo que obviamente viola la condición número 5.
Lo que quiero señalar es que incluso el ejemplo no muestra explícitamente que hay 2 cláusulas que pueden reducirse a 2-CNF, pero implícitamente es has (por ejemplo, (~ A, B, D) y (A, ~ B, ~ D)), es posible que no pueda expresar el 2-CNF con las variables dadas, pero cuando introduzca una asignación diferente para el problema podrá expresarlas.
fuente