Académique Documents
Professionnel Documents
Culture Documents
Programmation Logique
Sup Galilée-INFO2
1 Ch. 1: Logique propositionnelle
Théorie de la preuve
Céline Rouveirol Résolution en logique propositionnelle
2020-2021
1/27 2/27
3/27 4/27
Théorie de la démonstration Axiomatisation de Hilbert du calcul propositionnel
(Schémas) Axiomes :
Une preuve du théorème A est une suite finie (A1 , . . . An ) où A1 :` A → (B → A)
chaque Ai est soit un axiome soit est obtenu par l’application A2 :` (A → (B → C )) → ((A → B) → (A → C ))
d’une règle d’inférence sur des théorèmes Aj et Ak ` (¬B → ¬A) → (A → B))
précédemment produits ` (A ∧ B) → A
` (A ∧ B) → B
Une déduction de A à partir des hypothèses B1 , . . . Bn (noté
` A → (B → (A ∧ B))
B1 , . . . Bn ` A) est une suite finie de (A1 , . . . An ) où chaque Ai ` A → (A ∨ B)
est soit un axiome, soit un des Bk , soit est obtenu par ` B → (A ∨ B)
l’application d’une règle d’inférence sur des théorèmes Ak et ` (A → B) → ((C → B) → ((A ∨ C ) → B))
Al précédemment produits ` (A → B) → ((A → ¬B) → ¬A)
` (¬¬A) → A)
5/27 6/27
∗
: preuve coupée en deux pour problème de lisibilité
7/27 8/27
Propriétés d’un système de preuve Propriétés du calcul des propositions
9/27 10/27
11/27 12/27
Exemple de mise sous FNC SAT
La formule F est-elle satisfiable (exhiber un modèle)?
Méthode des tables de vérité: si F contient n variables
(p → (q ↔ ¬r )) ∧ (r ↔ ¬s) ≡ propositionnelles, réclame la construction d’une table de 2n
¬p ∨ ((q → ¬r ) ∧ (¬r → q)) ∧ (r ↔ ¬s) ≡ éléments.
Une k-cnf est une formule FNC telle que chacune de ses
¬p ∨ ((q → ¬r ) ∧ (¬r → q)) ∧ (r → ¬s) ∧ (¬s → r ) ≡
clauses contient k littéraux. k-SAT: décider si une k-cnf est
¬p ∨ ((¬q ∨ ¬r ) ∧ (r ∨ q)) ∧ (r → ¬s) ∧ (¬s → r ) ≡ satisfiable.
¬p ∨ ((¬q ∧ r ) ∨ (¬r ∧ q)) ∧ (r → ¬s) ∧ (¬s → r ) ≡ Il existe des algorithmes polynomiaux pour résoudre 2-SAT,
mais 3-SAT est NP-complet. Soit n, m et l le nombre de
(¬p ∨ ¬q ∨ ¬r ) ∧ (¬p ∨ r ∨ q) ∧ (¬r ∨ ¬s) ∧ (s ∨ r ) clauses, variables et littéraux d’une formule E k-cnf avec
k ≥ 3, prouver que E est insatisfiable requiert un temps
exponentiel (O(2n ∗ l))
13/27 14/27
15/27 16/27
Procédure DPLL (suite) Procédure DPLL
1: Procédure DPLL(C ) . C formule en FNC
Après simplification, on peut en déduire que [Z ]I = t pour 2: Si C est vide Alors Retourner SAT
3: Fin Si . (SAT)
que la clause soit satisfiable... et ainsi de suite
4: Si ∈ C Alors Retourner UNSAT
Attention, à tout instant, si on découvre que I n’est pas un 5: Fin Si . (Contr)
modèle de F , on peut être amené à remettre en cause 6: Si clause unitaire ` ∈ C Alors DPLL(C[`/t])
l’assignation de X dans I 7: Fin Si . (Unit)
8: Si ` est un littéral pur de C Alors DPLL(C[`/t])
Un littéral pur est une variable propositionnelle qui apparaı̂t
9: Fin Si . (Pur)
dans toute la formule à résoudre avec la même polarité 10: Si DPLL(C[`/t]) = SAT Alors Retourner SAT . (Split)
Si l est un littéral pur, alors on peut assigner l à t et simplifier 11: Sinon
toutes les clauses dans lesquelles l apparaı̂t. 12: DPLL(C[`/f])
13: Fin Si
14: Fin Procédure
17/27 18/27
S = {s ∨ t; p ∨ q ∨ r ; ¬p ∨ q ∨ t; r ∨ ¬q; ¬r ∨ ¬q ∨ t; ¬t}
La règle PUR n’est pas nécessaire à la complétude de la
procédure [¬t]I = f . Simplifications:
S = {s; p ∨ q ∨ r ; ¬p ∨ q; r ∨ ¬q; ¬r ∨ ¬q}
Points de choix dans DPLL: quel littéral assigner ? Un bon
choix peut améliorer significativement les performances de la [s]I = t. Simplifications:
résolution. S = {p ∨ q ∨ r ; ¬p ∨ q; r ∨ ¬q; ¬r ∨ ¬q}
Heuristiques classiques: On assigne q (le plus fréquent dans les clauses de plus petite
MOM: la variable la plus fréquente dans des clauses de petite taille). Point de retour arrière: [q]I = t. Simplifications:
taille S = {r ¬r }. Insatisfiable ⇒ retour arrière.
Le littéral qui va permettre le plus de propagations unitaires [q]I = f . S = {p ∨ r ; ¬p}. On obtient donc un modèle pour
(déclenchements de Unit) [p]I = f et [r ]I = t
19/27 20/27
Résolution en calcul propositionnel Résolution en calcul propositionnel
21/27 22/27
23/27 24/27
Propriétés de la résolution propositionnelle Résolution et clause de Horn
Adéquation Soient A, B et C des clauses. Clauses de Horn une clause comprenant au plus un littéral positif.
{A ∨ C , B ∨ ¬C } |= A ∨ B Résolution unitaire au moins un des deux parents est unitaire (`):
Non complétude Il existe une théorie clausale F et une clause C ` L ∨ ¬`
L
telle que F |= C , mais il n’existe pas de dérivation
Stratégie de résolution 1 Si est dans F alors F est
par résolution de C à partir de F .
insatisfiable
Complétude pour la réfutation Un ensemble de formules F est 2 Sinon, choisir une clause C et p une clause
25/27 26/27
27/27