Ch2 logique des prédicats 1

41
LOGIQUE INFORMATIQUE OLFA MOUELHI MOHAMED HENY SELMI E COLE S UPÉRIEURE PR IVÉE D' I NGÉNIERIE ET DE T ECHNOLOGIES [email protected] [email protected]

Transcript of Ch2 logique des prédicats 1

Page 1: Ch2 logique des prédicats 1

LOGIQUE

INFORMATIQUE

OLFA MOUELHI

MOHAMED HENY SELMI

ECOLE SUPÉRIEURE PR IVÉE D'INGÉNIERIE ET DE TECHNOLOGIES

[email protected]

[email protected]

Page 2: Ch2 logique des prédicats 1

1. LOGIQUE DES PROPOSITIONS

(LOGIQUE D’ORDRE 0)

2. LOGIQUE DES PREDICATS

(LOGIQUE D’ORDRE 1)

Page 3: Ch2 logique des prédicats 1

OBJECTIFS

Comment écrire les formules ?

Aspects syntaxiques

Comment déterminer la valeur de vérité d’une formule ?

Aspects sémantiques

Comment démontrer de nouveaux résultats ?

Aspects déductifs

modéliser

interpréter

Raisonner

Olfa MOUELHI - Mohamed Heny SELMI

Page 4: Ch2 logique des prédicats 1

LIMITES DE LA LOGIQUE

DES PROPOSITIONS

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

LP0

A B

Olfa MOUELHI - Mohamed Heny SELMI

Page 5: Ch2 logique des prédicats 1

LIMITES DE LA LOGIQUE

DES PROPOSITIONS

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

LP0

A B

LP1

Peut-on faire mieux ?

Olfa MOUELHI - Mohamed Heny SELMI

Page 6: Ch2 logique des prédicats 1

LIMITES DE LA LOGIQUE

DES PROPOSITIONS

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

A B

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

Variables Universelles

Olfa MOUELHI - Mohamed Heny SELMI

Page 7: Ch2 logique des prédicats 1

LIMITES DE LA LOGIQUE

DES PROPOSITIONS

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

A B

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

Relation: prédicat

Olfa MOUELHI - Mohamed Heny SELMI

Page 8: Ch2 logique des prédicats 1

LIMITES DE LA LOGIQUE

DES PROPOSITIONS

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

A B

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

constantes

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

Olfa MOUELHI - Mohamed Heny SELMI

Page 9: Ch2 logique des prédicats 1

LIMITES DE LA LOGIQUE

DES PROPOSITIONS

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

A B

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

quantificateur universel :

certains étudiants habitent à Tunis

tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax tous les étudiants n’habitent pas à Tunis tous les étudiants n’habitent pas à Sfax

quantificateur existentiel :

Olfa MOUELHI - Mohamed Heny SELMI

Page 10: Ch2 logique des prédicats 1

EXEMPLE DE

MODÉLISATION

Les chandelles sont faites pour éclairer

Quelques chandelles éclairent très mal

Quelques objets qui sont faits pour éclairer le font très mal

)()(, xéclaireMalxchandellex

)()(, xéclairexchandellex

)()(, xéclaireMalxéclairex

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 11: Ch2 logique des prédicats 1

SYNTAXE

des connecteurs (, , , et )

des quantificateurs ( et )

des variables (x,y, …)

des relations (prédicats) (R, S, éclaire, …)

Les prédicats d’arité 0 sont les PROPOSITIONS

des symboles de fonctions (f, g, …)

les fonctions d’arité 0 sont des constantes

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 12: Ch2 logique des prédicats 1

VOCABULAIRE

Les termes

les variables et les constantes sont des termes

f(t1, …, tn) est un terme si

les ti sont des termes

f est un symbole de fonction d’arité n

Exemple: a, X, f(a,X) mais pas P(X).

Les atomes

R(t1, …, tn) est un atome si

les ti sont des termes

R est un symbole de prédicat d’arité n

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Pas de valeur de vérité

valeur de vérité

Page 13: Ch2 logique des prédicats 1

FORMULES

Un atome est une formule bien formée

Si F et G sont des formules bien formées et X une variable, alors

les expressions suivantes sont des formules bien formées :

(F)

(F) (G) et (F) (G)

(F) (G) et (F) (G)

x (F) et x (G)

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 14: Ch2 logique des prédicats 1

EXERCICE

En début d'année se pose l‘éternel problème de la gestion

des emplois du temps, des salles et du matériel

d'enseignement.

On utilise les prédicats suivants :

retro(x) : x est un rétroprojecteur.

video(x) : x est un vidéoprojecteur.

amphi(x) : x est un amphi.

salleTD(x) : x est une salle de TD.

estDans(x,y) : x est dans y.

Olfa MOUELHI - Mohamed Heny SELMI

Page 15: Ch2 logique des prédicats 1

TRADUCTION

1. On trouve toujours un retroprojecteur dans une salle de TD.

2. La salle A3 est une salle de TD.

3. Il n'y a pas de videoprojecteur dans la salle A3.

4. Tous les videoprojecteurs sont dans des amphis.

Olfa MOUELHI - Mohamed Heny SELMI

Page 16: Ch2 logique des prédicats 1

CORRECTION

Olfa MOUELHI - Mohamed Heny SELMI

Page 17: Ch2 logique des prédicats 1

CARACTÉRISTIQUES DES

VARIABLES

Une variable X est dite liée dans une formule F ssi toutes les

occurrences de X sont dans la portée de son quantificateur sinon

elle est dite libre.

Exemple:

La portée de ∀ est

Une formule n’ayant pas de variable libre est dite close

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

)()),(),,(( XRZXQZYXPYX

Q(Z) ZR(Y))(P(X) Y X

)),(),,(( ZXQZYXPY

Page 18: Ch2 logique des prédicats 1

EXERCICE

Olfa MOUELHI - Mohamed Heny SELMI

Tous les professeurs sont intelligents.

Il existe un professeur intelligent.

Si un professeur enseigne l'IA, il est intelligent.

Tout le monde aime tout le monde.

Tout le monde aime quelqu'un.

Quelqu'un aime tout le monde.

Quelqu'un aime quelqu'un.

Page 19: Ch2 logique des prédicats 1

Quelqu'un aime tous les professeurs de IA.

Tous les brésiliens parlent la même langue

Les brésiliens ne dansent pas tous la samba.

Un politicien peut tromper tout le monde une fois, peut aussi

tromper quelqu'un tout le temps, mais ne peut pas tromper

tout le monde tout le temps.

Olfa MOUELHI - Mohamed Heny SELMI

Page 20: Ch2 logique des prédicats 1

ASPECTS

SÉMANTIQUES

Calcul des prédicats

Page 21: Ch2 logique des prédicats 1

EXEMPLE

D’INTERPRÉTATION

xyz (P(x,y) Q(y,z) R(x,z))

xy ( (M(x,y) P(x,y) Q(x,y))

M(a,b) P(c,b) P(d,a) P(e,c)

a= Anne, b= Bernard c= Charles d=didier e= éric

P= est père de M= est la mère de Q= est un parent de R = est le grand-père de

D = { anne, bernard, charles, éric, didier, …}

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 22: Ch2 logique des prédicats 1

MODÈLE

Une interprétation I est dite modèle d’une formule ssi F est

évaluée à « V » selon I.

Soit F(x1, …, xk) une formule quelconque:

F est dite universellement valide ssi x1…xk F(x1, …, xk) est

valide dans toutes les interprétations

F est dite insatisfaisable(consistante) ssi il existe une interprétation pour laquelle x1…xk F(x1, …, xk) est valide

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 23: Ch2 logique des prédicats 1

PREUVE ET

DÉMONSTRATION

Comment prouver une formule du calcul des prédicats ?

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

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 24: Ch2 logique des prédicats 1

TOUTES LES

INTERPRÉTATIONS ?

Une représentation utile des formules

forme clausale

Principe de résolution pour le calcul des prédicats

vers une automatisation des démonstrations

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 25: Ch2 logique des prédicats 1

TRANSFORMATION DE

FORMULE

Forme normale prénexe

quantificateurs en tête de la formule

formule sous forme normale conjonctive

Forme standard de Skolem

formule sous forme normale prénexe

quantificateurs existentiels précédant quantificateurs

universels

Toute formule du calcul des prédicats est équivalente à une formule sous forme standard de Skolem

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 26: Ch2 logique des prédicats 1

FORME NORMALE

PRENEX D’UNE FBF

Olfa MOUELHI - Mohamed Heny SELMI

Page 27: Ch2 logique des prédicats 1

SKOLEMISATION

Olfa MOUELHI - Mohamed Heny SELMI

Page 28: Ch2 logique des prédicats 1

EXERCICE

Donner la FNP des formules suivantes puis les mettre sous

la forme de Skolem:

1. (∀X)(P(X) R(X) → (∃Y)Q(X,Y))

2. (∀X)(Q(X) ^¬P(X)) →(∀Y)(∃Z)R(Y,Z)

Olfa MOUELHI - Mohamed Heny SELMI

Page 29: Ch2 logique des prédicats 1

TRANSPORT DES

QUANTIFICATEURS

FxFx

Fx Fx

HFxHxFx

HFxHxFx

FxyFyx

FxyFyx

si H ne contient aucune occurrence de x

HFxHFx

HFxHFx

HHx

HHx

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 30: Ch2 logique des prédicats 1

A QUOI ÇA SERT ?

VALIDATION DE RAISONNEMENT

On cherche à valider le raisonnement suivant

Un dragon est heureux si tous ses enfants peuvent voler

Les dragons verts peuvent voler

Un dragon est vert s’il a au moins un parent vert ou rose

Donc les dragons verts sont heureux

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 31: Ch2 logique des prédicats 1

RÉSOLUTION DU

PROBLÈME

Démarche générale

Modéliser le problème (les faits et la conclusion)

Démonstration par l’absurde, on montre que

P1 P2 P3 C est inconsistante

mettre la formule sous forme clausale

Notations

h(x) : x est heureux

p(x,y) : x est parent de y

vo(x) : x vole (peut voler)

ve(x) : x est vert

r(x) : x est rose

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 32: Ch2 logique des prédicats 1

RÉSOLUTION DU

PROBLÈME (SUITE)

P1 un dragon est heureux si tous ses enfants peuvent voler

P2 les dragons verts peuvent voler

P3 un dragon est vert s’il a au moins un parent vert ou rose

C les dragons verts sont heureux

les A sont B A B

)()(, xhxvex

)()(, xvoxvex

h(x) x (y, p(x,y)vo(y))

)()()(),(,, xveyryvexypyx

)()(, xvoxvex

)()(),(,, xhyvoyxpyx )()(),(,, xhyvoyxpyx )()(),(,, xhyvoyxpyx )()(),(,, xhyvoyxpyx )()()(),(,, xhyvoxhyxpyx

)())(()())(,(, xhxfvoxhxfxpx

)()()(),(,, xveyryvexypyx )()()(),(,, xveyryvexypyx )()(),()(),(,, xveyrxypyvexypyx )()(),()()(),(,, xveyrxypxveyvexypyx

)()(, xhxvex négation

)()(, xhxvex )()( ahave

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 33: Ch2 logique des prédicats 1

FORME CLAUSALE

)())(()())(,(, xhxfvoxhxfxpx

)()(, xvoxvex

)()(),()()(),(,, xveyrxypxveyvexypyx

)()( ahave

)())(,( 111 xhxfxp )())(( 22 xhxfvo

)()( 33 xvoxve )()(),( 4141 xveyvexyp

)()(),( 5252 xveyrxyp )(ave )(ah

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 34: Ch2 logique des prédicats 1

VALIDATION DU

RAISONNEMENT

Trouver un ensemble d’instances de base insatisfaisable

intuition 1 : partir de la conclusion et essayer d’arriver à une

contradiction par déduction

intuition 2 : utiliser le principe de résolution

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 35: Ch2 logique des prédicats 1

)())(,( 111 xhxfxp

MISE EN ŒUVRE

)())(( 22 xhxfvo

)()( 33 xvoxve )()(),( 4141 xveyvexyp

)()(),( 5252 xveyrxyp )(ave )(ah

)(ah ))(()( afvoah ax 2

))(())(( afveafvo

)(3 afx

))(()())(,( 11 afveyveafyp

)(4 afx

))(,()( afapah ))(()())(,( afveaveafap 111 xyax

)(ave)(ah

)(3 afx

))(())(( afveafvo

ax 2

)())(( ahafvo

)(ah clause vide

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 36: Ch2 logique des prédicats 1

RÉSOLUTION

On a un ensemble d’instances de base insatisfaisables

La formule P1 P2 P3 C est donc insatisfaisable

Le raisonnement est donc valide

)(ah

))(()( afvoah

))(())(( afveafvo

))(,()( afapah ))(()())(,( afveaveafap

)(ave

)(ah

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 37: Ch2 logique des prédicats 1

unificateur axxy 111

ANALYSONS UN PEU

LES CHOSES

L’opération d’appariement de deux atomes s’appelle

l’unification

))(()())(,( 11 afveyveafyp

)())(,( 111 xhxfxp

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 38: Ch2 logique des prédicats 1

PROPRIÉTÉS DU CALCUL

DES PRÉDICATS

Le calcul des prédicats muni du principe de résolution et de

l’unification est complet

toute formule close est vraie ou fausse

MAIS le calcul des prédicats est indécidable

Il n’existe pas d’algorithme permettant de décider à tout coup

si une formule close est vraie ou fausse

En PROLOG, nous nous limiterons donc à un sous-ensemble

du calcul des prédicats

non restrictif en pratique

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 39: Ch2 logique des prédicats 1

PROGRAMMER EN

LOGIQUE ?

Un petit exemple

xyz (pere(x,y)parent(y,z) grand-pere(x,z)

xy ((mere(x,y) pere(x,y)) parent(x,y)

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

Forme clausale

pere(x1, y1) parent(y1, z1) grand-pere(x1,z1)

mere(x2, y2) parent(x2, y2)

pere(x3, y3) parent(x3, y3)

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

On veut prouver x, grand-pere(x,b)

négation sous forme clausale : grand-pere(x,b)

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 40: Ch2 logique des prédicats 1

PROGRAMMER EN

LOGIQUE ?

On part de grand-pere(x,b)

si x = x1 et z1=b unification avec

pere(x1, y1) parent(y1, z1) grand-pere(x1,z1)

on obtient pere(x, y1) parent(y1, b)

si y3 = b et y1=x3 unification avec

pere(x3, y3) parent(x3, y3)

on obtient pere(x, x3) pere(x3, b)

si x3 = c unification avec pere(c,b)

on obtient pere(x, c)

si x=e unification avec pere(e,c)

on obtient

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI

Page 41: Ch2 logique des prédicats 1

PROGRAMMER EN

LOGIQUE ?

On a réussi à prouver x, grand-pere(x,b)

On a réussi à calculer un x

Unification = calcul

on donne des valeurs aux variables

Calcul = programmation

on va pouvoir programmer avec la logique !!!

on automatise complètement le processus

PROLOG est un démonstrateur de théorème

Calcul des prédicats

Olfa MOUELHI - Mohamed Heny SELMI