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.