Académique Documents
Professionnel Documents
Culture Documents
Représentation Des Connaissances3 2 (ANSEWEH)
Représentation Des Connaissances3 2 (ANSEWEH)
Université de Sousse
Séance de Cours
Chap. :
Preuve par réfutation en utilisant le
principe de résolution
2
1. Processus d’inférence
Les algorithmes d’inférence sont des algorithmes qui permettent de déduire des formules
qui sont des conséquences logiques d’autres formules
On note classiquement ├ la notion de dérivation par un système d'inférence.
toute formule déduite d’un ensemble de formules doit être une conséquence
logique de ces formules
3
2. Règles d'inférence
Une règle d'inférence permet de produire une formule à partir d'une ou de plusieurs formules
Les règles d'inférence fournissent un moyen de faire des démonstrations ou des déductions
logiques.
Le problème est le suivant : étant donné un ensemble d'énoncés {s1, s2, ...sn} les prémices,
prouver la vérité des ( conclusion).
4
2. Règles d'inférence
Règles clés utilisées dans les démonstrateurs :
Modus ponens : De P et P → Q, on déduit Q, qui s'exprime
P
P→Q
---------Modus Ponens
Q
5
3. Principe de résolution
Résolvante de deux clauses :
soit deux clauses, s1 et s2, telles que le littéral L figure dans l'une et le littéral ¬ L
figure dans l'autre (on écrira par exemple L s1, ¬ L s2),
on appelle résolvante de s1 et s2 la clause obtenu en supprimant le littéral L de l'une
et le littéral ¬ L de l'autre et en réunissant tout ce qui reste en une seules clause.
Exemple:
si s1 = ¬p ˅ q ˅ r et s2 = p q s, alors Res(s1, s2) = q r s
(on supprimera aussi en même temps les littéraux redondants).
s2 = p q s
S1 = ¬p ˅ q ˅ r
Res(s1, s2) = q r s
6
3. Principe de résolution
C’est une règle d’inférence qui s’applique aux clauses
Principe sur des clauses concrètes :
◦ G = G1 G2 … Gn
◦ H = G1 H2 … Hm
◦ K = G2 … Gn H2 … Hm
K est le résolvant de G et H
G1 et G1 sont des littéraux complémentaires
La virgule signifie
7
3. Principe de résolution
Cas particuliers
Le principe de résolution est une règle d’inférence saine, i.e. tout résolvant est une
conséquence logique des deux clauses parentes
8
4.Preuve par réfutation en utilisant le principe de résolution (Robinson 1965)
Cas de la logique des propositions
Principe :
Pour montrer qu'une formule F est inconsistante, il faut et il suffit de produire la clause
vide par résolution à partir de l'ensemble des clauses issues de F mise sous forme
causale.
9
Preuve par réfutation en utilisant le principe de résolution
(Robinson 1965)
Cas de la logique des propositions
10
Preuve par réfutation en utilisant le principe de résolution
(Robinson 1965)
Cas de la logique des propositions
…..
11
Preuve par réfutation en utilisant le principe de résolution
Cas de la logique de prédicats
Comme en logique des propositions mais en passant par l'unification
Unification
Deux termes t1 et t2 sont unifiables s’il existe une substitution s des variables de
t1 et t2 telle que s(t1) = s(t2)
Exemples :
12
Preuve par réfutation en utilisant le principe de résolution
Cas de la logique de prédicats
Exemple
Clauses parents : L = chien(x) animal(x), M = animal(y) mourir(y)
Clause résolvante : chien(x) mourir(x) (UPG = {y = x})
y animal(y) mourir(y)
chien (Fido)
mourir(Fido)
14
Exemple 1
Formules Forme normale conjonctive
1. x chien(x) animal (x) 1. chien(x) animal (x)
2. y animal (y) mourir (y) 2. animal (y) v mourir (y)
3. Chien (Fido) 3. Chien (Fido)
4. mourir(Fido)
15
Preuve par réfutation cas de la logique de prédicats: exemple 2 énoncé
2. pompeien(Marcus)
3. pompeien(x1) v romain(x1)
4. dirigeant(Cesar)
5. loyal(x2,f1(x2))
8. assassiner(Marcus,Cesar)
Etape 2 :Ajouter les clauses de la
négation de l'expression à prouver
9. hait (Marcus,Cesar)
17
Preuve par réfutation cas de la logique de prédicats: exemple 2
Etape 3 : Appliquer la résolution itérativement jusqu'à la clause vide
1. personne(Marcus) 10. romain(Marcus)
2. pompeien(Marcus) 2,3 {x1 = Marcus}
On peut aussi exploiter les traces du processus de preuve pour trouver des valeurs des
variables qui permettent de déduire que f2 est une conséquence logique de f1 :
On ajoute Rep(x1, …, xn) à chaque clause de f2, où les xi sont les variables
apparaissant dans la clause
19
Exemple 3: Répondre à la question : qui hait César ?
1. personne(Marcus)
7. personne(x5) v dirigeant(x6) v
assassiner(x5,x6) v loyal(x5,x6)
8. assassiner(Marcus,Cesar)
2. pompeien(Marcus)
11. loyal(Marcus, Cesar) hait(Marcus,Cesar)