Vous êtes sur la page 1sur 77

Intelligence Artificielle

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

●Leila est la mère de Zohra

Intelligence Artificielle 4
Logique des prédicats
 Motivations
● La réponse est Non, parce que:
La logique des propositions ne permet de représenter

que des énoncés rigides et particuliers

●La logique des propositions ne permet pas de


formaliser des énoncés générales

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

●laverMal(x) : x lave mal le linge

● Représentation des connaissances


Les machines à laver sont faites pour laver le linge:

x, machine_a_laver(x)  laver(x)

Quelques machines à laver lavent très mal:


x, machine_a_laver(x)  laverMal(x)

Quelques objets qui sont faits pour laver le font très mal:

x, laver(x)  laverMal (x)

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

●Mère(X,Y) : X est la mère de Y

● Représentation des connaissances:


● Si X est un parent de Y alors X est plus agé que Y
xy Parent(X,Y)  Plus_agé(X,Y)

● Si X est la mère de Y alors X est un parent de Y


xy Mère(X,Y)  Parent(X,Y)

● Leila est la mère de Zohra


Mère(leila, zohra)

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

●D = les machines, machine_laver(X), laver(X) sont des prédicats

Intelligence Artificielle 8
Logique des Prédicats
 Syntaxe
● Alphabet
● Constantes et variables
●Tous les objets de l’Univers D
●Notations

●Constantes: minuscules et valeurs de D, a, b, etc.

●Variables: majuscules: X,Y, Z, etc.

●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 ƒ

●Une fonction d’arité 0 est une constante

●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

● Le nombre d’arguments de P est appelé arité de P

●Exemples:
●Machine_a_laver(X): X est une machine à laver

●Laver(X): X lave le linge

●Frère (X,Y): X est le frère de Y

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

● Un atome prend ses valeurs dans {V,F}

● 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

●Si F et G sont des formules et x une variable, alors les expressions

suivantes sont des formules


●(F)
●(F)  (G) et (F)  (G)
●(F)  (G) et (F)  (G)

●x (F) et x (G)

● 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

● Dans la formule: F = Qx f( ) Où Q un quantificateur, f est appelée la


portée du quantificateur

● 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

●Une variable est dite libre dans une formule F si et


seulement si elle ne figure pas dans la portée d’aucun
quantificateur

Intelligence Artificielle 17
Logique des Prédicats
 Formules
Soit F une formule, pour déterminer les variables libres I(F) et liés

B(F) on utilise les règles suivantes:

● Si F un atome alors
●B(F) = {}
●I(F)= toutes les variables sont libres

● Si F est de la forme: B alors:


●B(F) = B(B)
●I(F) = I(B)

● Si F est de la forme: B  C, B  C, B  C, B  C alors


●B(F) = B(B)  B(C)
●I(F) = I(B)  I(C)

● Si F est de la forme: x B(X…..) ou de la forme x B alors:


●B(F) = B(B)  {x}
●I(F) = I(B) \ {x}

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}

- F2 = X P(X,Y,Z)  Z (Q(Z)  R(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.

● Dans le cas contraire elle est dite ouverte.

● Exemple
● F3 = x y (P(X,Y)  z R(X,Y,Z))
●Variables : {X,Y,Z}
●B(F3) = {X,Y,Z}

●I (F3) = {}

F3 est une formule close


Intelligence Artificielle 20
Logique des Prédicats
 Syntaxe
● Représentation de connaissances
●Etape1: Identification des
●Prédicats

●Constantes

●Fonctions

●Étape 2: Représentation des énoncés à l'aide des


identifications précédentes

Intelligence Artificielle 21
Logique des Prédicats
 Syntaxe -Représentation des connaissances
en logique des prédicats
Exercice:
● Socrate était un homme.

●Tous les philosophes sont assis.

● Seuls les marocains sont généreux.


● Aucun matheux n’est un poète.
● Quelques salles sont grandes.
● Quelques étudiants ne sont pas présents.
● Malika est la seule étudiante absente.
● Chacun est fidèle à quelqu’un.
● Rien n’est parfait.

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

● Affecter à chaque constante un élément de D

● Affecter à chaque symbole de prédicat P d’arité n,


une application P’: Dn  {V,F}

● Affecter à chaque symbole de fonction ƒ d’arité n,


une application ƒ’ : Dn  D

● 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

● On peut associer une valeur de vérité à tout atome

● On peut aussi associer une valeur de vérité à toute


formule close

Intelligence Artificielle 24
Logique des Prédicats
 Interprétation
● Exemple 1
● G = X (P(X)  Q(ƒ(X),a))

● Une interprétation I de G peut être définie par:


●D= {1,2}
●a = 1

●ƒ(1) = 2, ƒ(2) = 1

●P(1) = V, P(2) = F

●Q(1,1) = V, Q(1,2) = V, Q(2,1) = F, Q(2,2) = F

Intelligence Artificielle 25
Logique des Prédicats
 Interprétation
● Exemple 1
Valeur de vérité de G par l’interprétation I

x ƒ(x) P(x) Q(ƒ(x),a) G


1 2 V F F
2 1 F V V

Intelligence Artificielle 26
Logique des Prédicats
 Interprétation
● Exemple 2
● G = X (P(X, ƒ(X))  P(ƒ(X),X))

● Une interprétation I de G peut être définie par:


●D= {e1,e2,e3}
●ƒ(e1) = e2, ƒ(e2) = e3, ƒ(e3) = e1

●P(e1,e2) = V, P(e2,e1) = V,

●P(X,Y)= F pour, (X,Y)  (e1,e2) et (X,Y)  (e2,e1)

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

x ƒ(x) P(X, ƒ(X) P(ƒ(X),X) G


e1 e2 V V V
e2 e3 F F V
e3 e1 F V V

Intelligence Artificielle 28
Logique des Prédicats
Interprétation

● Exemple 3
● G = xyz (P(x,y)  Q(y,z)  R(x,z))  M(a,b)  P(c, b)  P(d,a) 
P(e,c)

● Une interprétation de G peut être définie par:


● D = {ali, driss, aicha, halima,…}: Espace des noms marocains

●P = père de;
●Q = parent de;

●M= mère de;

●R= grand-père de

● a = aicha; b = driss; c= ali; d=mohamed; e = moussa

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

●Soit G(x1, …, xk) une formule quelconque, G est dite universellement


valide ssi x1…xk G(x1, …, xk) est vraie dans toutes les interprétations.

G est dite insatisfaisable sssi il existe une interprétation pour laquelle


x1…xk G(x1, …, xk) est valide

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 !

● Prouver qu’elle est fausse


trouver une interprétation qui invalide la formule

● Comment prouver la validité d’un raisonnement?


Montrer que H1, H2, …., Hn  C est valide revient à montrer que l’ensemble {H1,

H2, …,Hn, C} est invalide

Intelligence Artificielle 31
Logique des Prédicats
 Système formel
● Substitution
Soit F une formule, X une variable et t un terme.

●La substitution de t à X, est la formule obtenue en


remplaçant toutes les occurrences libres de X par t
● Notation: S={t/X}

Exemple: Soit F = y(P(z) R(y)). La substitution de f (x) à z


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}

●s2= {u1/Y1, ..., um/Ym}

●La composition de s1 et s2 est une substitution, notée


s1 o s2, obtenue à partir de: {t1.s2/X1, ..., tn.s2/Xn,
u1/Y1, ..., um/Ym} en éliminant:
1. ui/Yi si Yi est dans {X1, ..., Xn}
2. tj. s2/Xj si Xj = tj.s2

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}

s1 o s2 = {f(T).s2/X, Z.s2/Y, a/X,b/T, Y/Z }


= {f(b)/X,Y/Y, a/X,b/T, Y/Z }
= {f(b)/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

●Unifier c’est trouver une substitution rendant deux formules


identiques

●Un unificateur est une substitution rendant deux formules


identiques

●Le résultat de l'unification n’est pas forcément unique, mais


représente l’unificateur le plus général.

L’unification peut réussir ou échouer.


Intelligence Artificielle 35
Logique des Prédicats
 Système formel
●Unification
●Exemple 1

●Soient les formules:


F = P(x,y,z)  Q(f(x))
G = P(a,b,g(a))  Q(T)

F et G sont unifiables par l’unificateur:


s= {a|x, b|y, g(a)|z, f(x)|T}, on obtient:


Fs = P(a,b,z) Q(T)
Gs = P(a,b,z) Q(T)

Intelligence Artificielle 36
Logique des Prédicats
 Système formel
●Unification
●Exemple 2

Soient les prédicats :


pere(ali, driss),
pere(ali, moussa),
pere(ali,Y)

pere(ali, driss) et pere(ali,Y) sont unifiables par la substitution


{driss|Y}

●pere(ali, moussa) et pere(ali,Y) sont unifiables par la


substitution {moussa|Y}

pere(ali, rachid) et pere(ahmed,Y) ne sont pas unifiables


Intelligence Artificielle 37
Logique des Prédicats
 Système formel

● Unificateur le plus général (mgu)

●Un unificateur s d'un ensemble de formules E est le


plus général si et seulement si pour tout unificateur
s1 de de E il existe une substitution s2 telle que:

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)

●s = {f(T)/X, Z/Y,} est un mgu

●s1 = {f(a)/X, g(g(a))/Y,g(g(a))/Z, a/T} n'est pas un mgu car

pour la substitution s2 ={a/T, g(g(a)/Z} on a:

s1 = s2 o s

Intelligence Artificielle 39
Logique des Prédicats
 Système formel
● Algorithme d'unification
Développé par Robinson

Permet de calculer l’unificateur le plus général de


deux termes,

Retourne échec si les termes ne sont pas unifiables


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

●cas 2: t1 est une variable


Si t2 contient t1 alors
retourner échec
● Sinon

retourner la subst s= {t1|t2}


finsi
Intelligence Artificielle 41
Logique des Prédicats
Système formel: Algorithme de Robinson

cas 3: t2 est une variable


Si t1 contient t2 alors
retourner échec
● Sinon

retourner la subst s= {t2|t1}


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

●P(X,g(c,Z)) et P(f(Y), g(Y,k(X)) {X|f(Y)}


●P(f(Y),g(c,Z)) et P(f(Y), g(Y,k(f(Y))) {Y|c}
●P(f(c),g(c,Z)) et P(f(c), g(c,k(f(c))) {Z|k(f(c))}

●L’unificateur le plus général est la substitution


●{X|f(c), Y|c, Z|k(f(c))}

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

●P(a,X,f(g(Y))) et P(Z,f(Z),f(U)) {Z|a}


●P(a,X,f(g(Y))) et P(a,f(a),f(U)) {X|f(a)}
●P(a,f(a),f(g(Y))) et P(a,f(a),f(U)) {U|g(Y)}

●L’unificateur le plus général est la substitution


●{Z|a, X|f(a), U|g(Y)}

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

●P(X,f(X)) et P(f(Y),Y) {X|f(Y)}


●P(f(Y),f(f(Y))) et P(f(Y),Y) echec

Unifier F1 = P(f(X)) et F2= P(c) echec


Intelligence Artificielle 46
Logique des Prédicats
 Système formel
●Formes normales
●Formes particulières plus simple à manipuler

dans le système formel

● Trois formes sont disponibles

●Forme normale Prénexe


●Forme standard de Skolem

●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

● Une forme normale prénexe est de la forme


F = Q1X1…QnXn M, avec Qi =  ou 

● Exemple
F = (x) ( y) ( z) (P(x,y))

● Toute formule admet une forme normale Prénexe

Intelligence Artificielle 48
Logique des Prédicats
 Formes normales
● Mise sous forme normale Prénexe

Éliminer les connecteurs  et 


Transporter les  devant les atomes en utilisant


Les lois de Morgan:


 F(X)  F(X)
XF(X)  XF(X)
XF(X)  XF(X)

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

●La porté de l'une est incluse dans la portée de l'autre

XF(X)  XG(X)  XF(X)  YG(Y)


XF(X)  XG(X)  XF(X)  YG(Y)
XF(X)  XG(X)  XF(X)  YG(Y)
XF(X)  XG(X)  XF(X)  YG(Y)

Intelligence Artificielle 50
Logique des Prédicats
 Formes normales
●Mise sous forme normale Prénexe
●Transport des quantificateurs en tête de la formule

XF(X)  YG(Y)  XY(F(X)  G(Y))


XF(X)  YG(Y)  XY(F(X)  G(Y)
XF(X)  YG(Y)  XY(F(X)  G(Y))
XF(X)  YG(Y)  XY(F(X)  G(Y))

Intelligence Artificielle 51
Logique des Prédicats
 Formes normales
●Mise sous forme normale Prénexe
●Transport des quantificateurs en tête de la formule

XF(X)  XG(X)  X(F(X)  G(X))


XF(X)  XG(X)  X(F(X)  G(X)
XF(X)  XG(X)  X(F(X)  G(X))
XF(X)  XG(X)  X(F(X)  G(X))

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

G = xyt P(x,z,y)  xyt Q(x,z,t)


= (xyt P(x,z,y)) ( xyt Q(x,z,t))
= (xyt P(x,z,y)) (xyt Q(x,z,t))
= xyt P(x,z,y)  Q(x,z,t)
Logique des Prédicats
 Formes normales
● Mise sous forme normale Prénexe
Exemple 2:

X (p(X)  (X p(X)))


X (p(X)  (X p(X)) )
 X (p(X)  ( Y p(Y)) )
 X Y (p(X)  p(Y) )

Intelligence Artificielle 55
Logique des Prédicats
 Formes normales
● Forme standard de Skolem
Soit F une formule sous forme Prénexe

F est dite sous forme de Skolem si et seulement si F s’écrit :


F = y1…  yn M

avec, M une formule sans quantificateurs

●Toute formule du calcul des prédicats est équivalente à une


formule sous forme standard de Skolem

Intelligence Artificielle 56
Logique des Prédicats
 Formes normales
● Comment obtenir la forme Skolem:
Skolemisation
Élimination des quantificateurs existentiels:

xy : On remplace les occurrences de


X par une constante

xy : On remplace les occurrences de


Y par une fonction Y= f(X)

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))

– La forme de Skolem est obtenue en remplaçant X par


une constante a

– Skolem(G1) = Y (p(a, Y)  q(a,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)))

– La forme de Skolem est obtenue en remplaçant


U par f(X) et Z par g(X,Y)

– Skolem(G) =X Y (p(X, f(X))  (q(f(X),Y)  r(Y, g(X,Y))))

Intelligence Artificielle 59
Logique des Prédicats
 Formes normales
●Forme clausale
●Un littéral est un atome ou la négation d’un atome

Une clause est une disjonction finie de littéraux


Toute formule de calcul du prédicat est équivalente à


une forme clausale

Intelligence Artificielle 60
Logique des Prédicats
 Formes normales
● Mise sous forme clausale

On part de la forme standard de Skolem


y1…  yn M

On met M sous forme conjonctive


On Élimine les quantificateurs universels


- En associant une clause à chaque disjonction


- En renommant les variables libres

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)))

Forme – {p(X,Y)  r(X,f(X,Y)) , (  q(X)  r(X,f(X,Y))}


Clausale
Intelligence Artificielle 62
•Système de preuve
• Principe de résolution:
– Soient les clauses définies par:
• C1 = P(x1)  Q(x1)
• C2 = ¬P(f(a))  Q(a)

– Peut-on appliquer le principe de résolution


à ces deux clauses?

Intelligence Artificielle 63
•Système de preuve
• Résolution
– La réponse est NON

– Il faut rendre identique: P(x1) avec P(f(a)),


ensuite appliquer l’unificateur à Q(x1) et
Q(a)

– Utiliser l'algorithme d’Unification pour


trouver un unificateur le plus général
Intelligence Artificielle 64
•Système de preuve
• Résolution
– L’unificateur le plus général est:
• S1 = {f(a)/X}

– En appliquant S1 à C1 et à C2 on obtient :
• C01 = P(f(a))  Q(f(a))
• C02 = ¬P(f(a))  Q(a)

– Par le Principe de résolution on obtient la formule:


Q(f(a)) Q(a)
Intelligence Artificielle 65
Logique des Prédicats
 Système formel
● Principe de résolution
Exemple 1: Soient

C1 = P(X)  Q(X)
C2 = P(a)

s = {X|a}: unificateur général de P(X) avec P(a)


On a donc

C01 = P(a)  Q(a)


C02 = P(a)

En appliquant le principe de résolution à C01 et C02 on obtient Q(a)


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’)

• En appliquant le principe de résolution à C01 et C02 on


obtient: Q(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:

• Repose sur les règles d’inférences Substitution et Principe


de résolution

• Aboutit à une contradiction (clause vide)

– Pour montrer qu’une formule F est valide il suffit


de trouver une réfutation de sa négation F

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

●Forme clausale de F:


●(1) A(X) B(X),

●(2) B(X) C(X),

●(3) A(X),

●(4) C(X)

●En appliquant successivement le principe de résolution on a:

●(5) B(X) par (1) et (3)

●(6) C(X) par (2) et (5)

●(7)  par (4) et (6)

Intelligence Artificielle 70
Logique des Prédicats
 Système formel
● Preuve par réfutation

● Exercice:

F = x (A(X)  B(X))  x (B(X) C(X))  x (A(X)  C(X))


●Donner la Forme clausale de F


●En déduire que F est valide.

●==============================
●=====================================

●Fin.

Intelligence Artificielle 71
Logique des Prédicats
 Système formel
● Preuve par réfutation
Soient F1, F2, …, Fn un ensemble de formules,

Pour montrer que {F1, F2, …, Fn} ╞ C, il suffit de:


Mettre {F1, F2, …, Fn, C} sous forme clausale


soit {H1, H2, …, Hm}


Montrer que {H1, H2, …, Hm,} contient la clause vide


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)

• Montrons que F={F1, F2} ╞ C

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)

En appliquant les principes de résolution et de substitution, on a:


– (4)  P(X,f(X)) P(f(X), Y)  Q(X, Y) par la substitution
{f(X)/Z} dans (2)
– (5) P(f(X), Y)  Q(X,Y) par le PR entre (1) et (4)
– (6) P(f(a),Y)  Q(a,Y) par la substitution {a/X} dans (5)
– (7) P(f(a),Y) par le PR entre (3) et (6)
– (8) P(f(a),f(f(a))) par la substitution {f(a)/X} dans (1)
– (9) P(f(a),f(f(a))) par la substitution {f(f(a))/Y} dans (7)
– (10)  par le PR entre (8) et (9)
Intelligence Artificielle 75
Logique des Prédicats
Exemple 2
● Soient les hypothèses suivantes:
●XYZ (pere(X,Y)parent(Y,Z)  grand-pere(X,Z)
●xy ((mere(X,Y)  pere(X,Y))  parent(X,Y)

●mere(a,b) pere(c,b) pere(d,a) pere(e,c)

● 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)

● Question: On veut prouver la validité de :


F = X, grand-pere(X,b)
Intelligence Artificielle 76
Logique des Prédicats
 Exemple
●On part de la négation de F soit :
●F =grand_pere(X1,b)

●on obtient par application des principes de résolution et de

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

Vous aimerez peut-être aussi