Académique Documents
Professionnel Documents
Culture Documents
S. E. OUATIK
s_ouatik@yahoo.com
ouatikelalaoui.said@uit.ac.ma
Intelligence Artificielle
Chapitre 2:
Logique des prédicats
Plan du chapitre
Motivations
Syntaxe
Sémantique
Formes normales
Système formel
Intelligence Artificielle 3
Logique des prédicats
Motivations
●Peut-on modéliser, en logique des propositions, les
connaissances des exemples suivants?
● Exemple 1
●Les machines à laver sont faites pour laver le linge
●Quelques machines à laver lavent très mal
●Quelques machines qui sont faits pour laver le font très mal
● Exemple 2
●Si X est un parent de Y alors X est plus agé que Y
●Si X est la mère de Y alors X est un parent de Y
Intelligence Artificielle 4
Logique des prédicats
Motivations
● La réponse est Non, parce que:
La logique des propositions ne permet de représenter
●
Intelligence Artificielle 5
Logique des prédicats
Motivations : Modélisation par la Logique des Prédicats
● Exemple 1
● Les prédicats:
●machine_a_laver(x): x est une machine à laver
●laver(x): x permet de laver le linge
Quelques objets qui sont faits pour laver le font très mal:
●
Intelligence Artificielle 6
Logique des prédicats
Motivations : Modélisation par la Logique des Prédicats
●Exemple 2
● Les prédicats:
●Parent(X,Y) : X est un parent de Y
●Plus_agé(X,Y): X est plus agé que Y
Intelligence Artificielle 7
Logique des Prédicats
Vocabulaire
● Univers
●Ensemble d’objets décrivant le domaine d’application considéré
●L’univers sera noté D
● Prédicats
●Fonction propositionnelle définie de Dn {V,F}
●Pour x donnée, P(X) devient une proposition
● Exemples
●D = IN : les Entiers, Premier(X), divise(X,Y) sont des prédicats
●D = Individus, père (X,Y), frère(X,Y) sont des prédicats
Intelligence Artificielle 8
Logique des Prédicats
Syntaxe
● Alphabet
● Constantes et variables
●Tous les objets de l’Univers D
●Notations
●Exemples
●Constantes : 2, driss, ali
●Variables : X, Y, etc.
Intelligence Artificielle 9
Logique des Prédicats
Syntaxe
● Alphabet
● Connecteurs
, , , ,
●
● Quantificateurs
●: quantificateur universel
●: quantificateur existentiel
● Séparateurs
(, ), [, ], {, }
●
Intelligence Artificielle 10
Logique des Prédicats
Syntaxe
● Alphabet
● Symboles de Fonctions
● ƒ: Dn D
●Le nombre de variables dans ƒ est appelé l’arité de ƒ
●Exemple
●ƒ :IN IN
● p p2
Intelligence Artificielle 11
Logique des Prédicats
Syntaxe
● Alphabet
● Symboles de Prédicats
●C’est une fonction propositionnelle P: Dn {V,F}
●Pour un x D, P(x) est une proposition qui peut prendre l’une des
valeurs V, F
●Exemples:
●Machine_a_laver(X): X est une machine à laver
Intelligence Artificielle 12
Logique des Prédicats
Syntaxe
● Termes
● Une variable est un terme
● Une constante est un terme
● ƒ(t1, …, tn), est un terme, avec
● Les ti sont des termes
● ƒ est un symbole de fonction d’arité n
● Un terme n’a pas de valeur de vérité
Exemples:
● X, a, 2, etc
● ƒ(X,Y)
Intelligence Artificielle 13
Logique des Prédicats
Syntaxe
● Atomes,
● Un prédicat d’arité 0 est un atome
● P(t1, …, tn)=prédicat , est un atome, avec
● Les ti sont des termes
● P est un symbole de prédicats d’arité n
● Un atome ne contient pas de quantificateurs
● Exemples
● Homme(X)
● Correct(Travail(e))
● p
● R(X, f(a, Y))
Intelligence Artificielle 14
Logique des Prédicats
Syntaxe
●Formules
●Un atome est une formule
● Exemple
● x y (R(X, f(a, Y), Z) T(g(b),Z))
Intelligence Artificielle 15
Logique des Prédicats
Formules
● La zone d’influence d’un quantificateur est appelée Portée
● Exemples
●Dans F1 = x P(…), P est la portée de
●Dans F2 = x Q(…), Q est la portée de
Intelligence Artificielle 16
Logique des Prédicats
Formules
● Une variable est dite liée dans une formule F si elle
figure dans la portée d’un quantificateur
Intelligence Artificielle 17
Logique des Prédicats
Formules
Soit F une formule, pour déterminer les variables libres I(F) et liés
●
● Si F un atome alors
●B(F) = {}
●I(F)= toutes les variables sont libres
Intelligence Artificielle 18
Logique des Prédicats
Exemples
- F1=p(ƒ(X,Y)) Z R(a,Z, T)
●Variables: X,Y,Z, T
● Libre(F1)={X, Y, T}
● liée(F1)={Z}
B
C
●Libre(F2)={Y, Z}
● liée(F2)={X, Z}
Intelligence Artificielle
19
Logique des Prédicats
Formules
●Une Formule est dite fermée (close) si et seulement si
elle ne contient aucune variable libre.
● Exemple
● F3 = x y (P(X,Y) z R(X,Y,Z))
●Variables : {X,Y,Z}
●B(F3) = {X,Y,Z}
●I (F3) = {}
Intelligence Artificielle 20
Logique des Prédicats
Syntaxe
● Représentation de connaissances
●Etape1: Identification des
●Prédicats
●Constantes
●Fonctions
Intelligence Artificielle 21
Logique des Prédicats
Syntaxe -Représentation des connaissances
en logique des prédicats
Exercice:
● Socrate était un homme.
Intelligence Artificielle 22
Logique des Prédicats
Sémantique
●Une interprétation d’une formule F est définie par les
étapes suivantes:
●Définir un ensemble D non vide contenant les valeurs possibles des
termes
● Remarque
Il existe un nombre infini d’interprétations
Intelligence Artificielle 23
Logique des Prédicats
Sémantique
●On peut calculer la valeur de tout terme; c’est un
élément de D
Intelligence Artificielle 24
Logique des Prédicats
Interprétation
● Exemple 1
● G = X (P(X) Q(ƒ(X),a))
●ƒ(1) = 2, ƒ(2) = 1
●P(1) = V, P(2) = F
Intelligence Artificielle 25
Logique des Prédicats
Interprétation
● Exemple 1
Valeur de vérité de G par l’interprétation I
●
Intelligence Artificielle 26
Logique des Prédicats
Interprétation
● Exemple 2
● G = X (P(X, ƒ(X)) P(ƒ(X),X))
●P(e1,e2) = V, P(e2,e1) = V,
Intelligence Artificielle 27
Logique des Prédicats
Interprétation
● Exemple 2
●Valeur de vérité de G par l’interprétation I
●G est toujours vraie dans I
Intelligence Artificielle 28
Logique des Prédicats
Interprétation
● Exemple 3
● G = xyz (P(x,y) Q(y,z) R(x,z)) M(a,b) P(c, b) P(d,a)
P(e,c)
●P = père de;
●Q = parent de;
●R= grand-père de
Intelligence Artificielle 29
Logique des Prédicats
Sémantique
● Notion de Modèle
● Soit I une interprétation d’une formule close G
●I est un modèle de F si et seulement si la valeur de vérité de G dans I est
égale à V
Intelligence Artificielle 30
Logique des Prédicats
Système formel
● Objectifs:
● Comment prouver la validité d’une formule?
● Prouver qu’elle est vraie
passer en revue toutes les interprétations !
●
Intelligence Artificielle 31
Logique des Prédicats
Système formel
● Substitution
Soit F une formule, X une variable et t un terme.
●
dans F donne :
G = y(P(f(x)) R(y))
Intelligence Artificielle 32
Logique des Prédicats
Système formel
● Composition de deux substitutions
●Soient les substitutions
●s1= {t1/X1, ..., tn/Xn}
Intelligence Artificielle 33
Logique des Prédicats
Système formel
● Composition de deux substitutions
Exemple: soient les substitutions suivantes:
●
s1 = {f(T)/X, Z/Y}
s2 = {a/X,b/T, Y/Z}
Intelligence Artificielle 34
Logique des Prédicats
Système formel
● Unification
Procédé par lequel on essaie de rendre deux formules identiques
●
Intelligence Artificielle 35
Logique des Prédicats
Système formel
●Unification
●Exemple 1
Intelligence Artificielle 36
Logique des Prédicats
Système formel
●Unification
●Exemple 2
pere(ali, driss),
pere(ali, moussa),
pere(ali,Y)
{driss|Y}
Intelligence Artificielle 37
Logique des Prédicats
Système formel
s1 = s2 o s
Intelligence Artificielle 38
Logique des Prédicats
Système formel
● Unificateur le plus général (mgu)
●Exemple
●soient les formules F1 = P(X,Y) et F2 = P(f(T),Z)
s1 = s2 o s
Intelligence Artificielle 39
Logique des Prédicats
Système formel
● Algorithme d'unification
Développé par Robinson
●
deux termes,
Intelligence Artificielle 40
Logique des Prédicats
Système formel: Algorithme de Robinson
Unifier(t1, t2)
cas 1: t1 et t2 sont des Ctes
Si t1 = t2 alors
retourner substitution vide
sinon
retourner echec
finsi
Intelligence Artificielle 42
Logique des Prédicats
Système formel: Algorithme de Robinson
cas 4: t1 et t2 ne sont pas des variables
tt1 = premier de t1
tt2 = premier de t2
s = Unifier(tt1, tt2)
Si s == echec alors retourner echec
sinon
Appliquer la subtitution s sur le reste ss= Unifier(s(t1), s(t2))
si ss = echec alors retourner echec
Sinon
retourner composition de s et ss
finsi
Intelligence Artificielle 43
Logique des Prédicats
Système formel: Algorithme de Robinson
● Exemple 1:
● Unifier F1 = P(X,g(c,Z)) et F2 = P(f(Y), g(Y,k(X))
termes substitutions
Intelligence Artificielle 44
Logique des Prédicats
Système formel: Algorithme de Robinson
● Exemple 2:
● Unifier F1 = P(a,X,f(g(Y))) et F2= P(Z,f(Z),f(U))
termes substitutions
Intelligence Artificielle 45
Logique des Prédicats
Système formel: Algorithme de Robinson
● Exemple 3:
Unifier F1 = P(X,f(X)) et F2= P(f(Y),Y)
●
termes substitutions
Intelligence Artificielle 46
Logique des Prédicats
Système formel
●Formes normales
●Formes particulières plus simple à manipuler
●Forme clausale
Intelligence Artificielle 47
Logique des Prédicats
Formes normales
● Forme normale Prénexe
●Une formule est sous la forme prénexe si tous les quantificateurs
sont en tête
● Exemple
F = (x) ( y) ( z) (P(x,y))
●
Intelligence Artificielle 48
Logique des Prédicats
Formes normales
● Mise sous forme normale Prénexe
Intelligence Artificielle 49
Logique des Prédicats
Formes normales
● Mise sous forme normale Prénexe
●Standardisation des variables; donner des noms
différents à des variables ayant
●Des portées distincts
Intelligence Artificielle 50
Logique des Prédicats
Formes normales
●Mise sous forme normale Prénexe
●Transport des quantificateurs en tête de la formule
Intelligence Artificielle 51
Logique des Prédicats
Formes normales
●Mise sous forme normale Prénexe
●Transport des quantificateurs en tête de la formule
Intelligence Artificielle 52
Logique des Prédicats
Formes normales
● Mise sous forme normale Prénexe
●Transport des quantificateurs en tête de la formule
●Si F ne contient aucune occurrence de X
X F F
XF F
XH(X) F X(H(X) F)
XH(X) F X(H(X) F)
XH(X) F X(H(X) F)
XH(X) F X(H(X) F)
– Intelligence Artificielle 53
Logique des Prédicats
Formes normales
● Mise sous forme normale Prénexe
● Exemple
Intelligence Artificielle 55
Logique des Prédicats
Formes normales
● Forme standard de Skolem
Soit F une formule sous forme Prénexe
●
F = y1… yn M
Intelligence Artificielle 56
Logique des Prédicats
Formes normales
● Comment obtenir la forme Skolem:
Skolemisation
Élimination des quantificateurs existentiels:
●
Intelligence Artificielle 57
•Système de preuve
• Forme normale de Skolem
– Comment obtenir la forme normale de Skolem?
• Exemple 1:
– G1 = X Y (p(X,Y) q(X,Y))
Intelligence Artificielle 58
•Système de preuve
• Forme normale de Skolem
– Comment obtenir la forme normale de Skolem?
• Exemple 2:
– G = X U Y Z (p(X,U) (q(U,Y) r(Y,Z)))
Intelligence Artificielle 59
Logique des Prédicats
Formes normales
●Forme clausale
●Un littéral est un atome ou la négation d’un atome
Intelligence Artificielle 60
Logique des Prédicats
Formes normales
● Mise sous forme clausale
y1… yn M
Intelligence Artificielle 61
•Système de preuve
• Forme clausale
– Comment obtenir la forme clausale?
Forme de • Exemple
Prenexe – G = X Y ((p(X,Y) q(X)) Z r(X,Z))
– G = X Y Z ((p(X,Y) q(X)) r(X,Z))
Forme de – G = X Y ((p(X,Y) q(X)) r(X,f(X,Y)))
Skolem
– G = X Y (p(X,Y) q(X)) r(X,f(X,Y)))
Forme – = X Y (p(X,Y) r(X,f(X,Y))) ( q(X)
Normale r(X,f(X,Y)))
Intelligence Artificielle 63
•Système de preuve
• Résolution
– La réponse est NON
– En appliquant S1 à C1 et à C2 on obtient :
• C01 = P(f(a)) Q(f(a))
• C02 = ¬P(f(a)) Q(a)
C1 = P(X) Q(X)
C2 = P(a)
On a donc
●
Intelligence Artificielle 66
•Système de preuve
• Résolution
– Exemple 2: Soient les formules
– C1 = P(f(X),Y) Q(X,Y)
– C2 =P(X,f(Y)) R(X,Y)
Réécriture de C2 en
C2 =P(X’,f(Y’)) R(X’,Y’)
Intelligence Artificielle 67
•Système de preuve
• Résolution
– Exemple 2 (suite)
• s= {X’/f(X), Y/f(Y’)} unificateur général de P(f(X),Y) avec
P(X’,f(Y’))
• En appliquant s on obtient:
– C01 = P(f(X),f(Y’))Q(X,f(Y’))
– C02 =P(f(X),f(Y’))R(f(X),Y’)
Intelligence Artificielle 68
•Système de preuve
• Preuve par réfutation (Validité d’une formule)
– Une réfutation d’une formule F est une preuve
qui:
Intelligence Artificielle 69
Logique des Prédicats
Système formel
● Preuve par réfutation
Exemple
●F = x ((A(X) B(X)) (B(X) C(X)) (A(X) C(X))
●F est prenexe
●(3) A(X),
●(4) C(X)
Intelligence Artificielle 70
Logique des Prédicats
Système formel
● Preuve par réfutation
● Exercice:
●==============================
●=====================================
●Fin.
Intelligence Artificielle 71
Logique des Prédicats
Système formel
● Preuve par réfutation
Soient F1, F2, …, Fn un ensemble de formules,
●
Intelligence Artificielle 72
Système de preuve
• Réfutation (Conséquence logique)
– Exemple 1
• Soient les formules :
– F1= X p(X,f(X))
– F2= X Y Z ((p(X,Z) p(Z,Y)) q(X,Y))
– C= X Y q(X,Y)
Intelligence Artificielle 73
•Système de preuve
• Réfutation (Conséquence logique)
– Exemple 1
• Forme clausale de {F1, F2, C}:
– (1) P(X,f(X))
– (2) P(X,Z) P(Z,Y) Q(X,Y)
– (3) Q(a,Y)
Intelligence Artificielle 74
•Système de preuve
• Réfutation (Conséquence logique)
– Exemple 1
• Forme clausale de {F1, F2, C}:
– (1) P(X,f(X))
– (2) P(X,Z) P(Z,Y) Q(X,Y)
– (3) Q(a,Y)
● Forme clausale:
●(1) pere(X1, Y1) parent(Y1, Z1) grand-pere(X1,Z1)
●(2) mere(X2, Y2) parent(X2, Y2)
●(3) pere(X3, Y3) parent(X3, Y3)
●(4) mere(a,b) (5) pere(c,b) (6) pere(d,a) (7) pere(e,c)
substitution:
(8) pere(X1, Y1) parent(Y1, b) grand-pere(X1,b) par la
substitution {b/Z1} dans (1)
(9) pere(X1, Y1) parent(Y1, b) par F et (8)
(10) pere(Y1, b) parent(Y1, b) par la substitution {Y1/X3, b/Y3}
dans (3)
(11) pere(X1, Y1) pere(Y1, b) par (9) et (10)
(12) pere(X1, c) pere(c, b) par la substitution {c/Y1} dans (11)
(13) pere(X1, c) par (12) et (5)
(14) pere(e, c) par la substitution {e/X1} dans (13)
(11) par (13) et (7) Intelligence Artificielle 77