Je suis actuellement intéressé à obtenir (ou construire) et à étudier des formules 3-CNF insatisfaisantes et de taille minimale. Autrement dit, elles doivent être constituées du moins de clauses (m = 8 de préférence) et de autant de variables distinctes (n = 4 ou plus) que possible, de sorte que la suppression d'au moins une clause rendra la formule satisfaisante.
Plus formellement, toute formule F 3-CNF éligible doit remplir les conditions suivantes:
- F est insatisfaisant
- F a un minimum (4+) de variables distinctes (ou leur négation)
- F a un nombre minimum de clauses (8+)
- chaque sous-ensemble approprié de F est satisfaisable (permettant la suppression de toute ou plusieurs clauses arbitraires).
- F n'a pas de 2 clauses réductibles à une clause 2-CNF, par exemple
(i, j, k) & (i, j, ~k)
n'est PAS autorisé (elles se réduisent à(i,j)
)
Par exemple, avec n = 4, il existe de nombreuses formules 3-CNF à 8 clauses minimales qui ne sont pas satisfaisantes. D'une part, en regardant l'hypercube 4 et en essayant de le recouvrir d'arêtes (2 faces), on peut construire la formule insatisfaisante suivante:
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)
Ceci est considéré comme une formule 3-CNF minimale insatisfaisante car:
C'est insatisfaisant:
- Les articles 1 à 3 sont équivalents à:
D or A=B=C
- Les articles 4-6 sont équivalents à:
~D or A=B=C
- Ils impliquent
A=B=C
, mais par les articles 7 et 8, c'est une contradiction.
- Les articles 1 à 3 sont équivalents à:
Il n'y a que 4 variables distinctes.
- Il n'y a que 8 clauses.
- La suppression d'une clause la rend satisfaisable.
- Aucune clause 2 n'est «réductible» en une clause 2-CNF.
Je suppose donc que mes questions générales ici sont, par ordre d'importance pour moi:
Quelles sont les autres petites formules minimales qui remplissent les conditions ci-dessus? (par exemple, 4,5,6 variables et 8,9,10 clauses)
Existe-t-il une sorte de base de données ou "atlas" de telles formules minimales?
Quels algorithmes non aléatoires existent pour les construire carrément, le cas échéant?
Quels sont les aperçus des caractéristiques de ces formules? Peuvent-ils être comptés ou estimés, étant donné n (# variables) et m (# clauses)?
Merci d'avance pour vos réponses. Je me réjouis de toute réponse ou commentaire.
Réponses:
la source
Je crois que la condition numéro 5 n'est pas vraiment remplie dans votre exemple et ne peut jamais l'être.
Que les clauses suivantes soient équivalentes:
Ce qui nous permettra de mapper les clauses de A, B, C et D avec de nouvelles variables p, q, r et s comme la table de vérité suivante:
Et maintenant, nous pouvons exprimer les clauses de A, B, C et D en termes de p, q, r et s:
Étant donné que toutes les clauses sont affichées et associées à des clauses A, B, C et D. On peut alors affirmer que les clauses p, q, r et s peuvent être réduites à:
Ce qui est évidemment violer la condition numéro 5.
Ce que je veux souligner, c'est que même l'exemple ne montre pas explicitement qu'il y a 2 clauses qui peuvent être réduites à 2-CNF, mais est implicitement a (par exemple (~ A, B, D) et (A, ~ B, ~ D)), vous ne pourrez peut-être pas exprimer le 2-CNF avec les variables données, mais lorsque vous introduirez un mappage différent pour le problème, vous pourrez les exprimer.
la source