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.