Vous êtes sur la page 1sur 53

Chap.

Représentation des
connaissances
(Logiques des propositions & des prédicats)

3 IM (ISAMM)
2018/2019

1
Plan du chapitre

• Logique des propositions

• Logique des prédicats


I. Logique propositionnelle

3
Logique des propositions
• Syntaxe
On définit :
– Les propositions : a, b, c, …
– Les constantes : V et F
– Les connecteurs :
•  (conjonction)
•  (disjonction)
•  (négation)
•  (implication)
 (équivalence)
Construction d’une formule

• Une proposition est une formule

• Si a et b sont des formules, alors

a, a b, a  b, ab et a  b sont des


formules
Logique des propositions
Sémantique
• Les formules sont interprétées dans {V,F}

• On définit l’interprétation associée à chaque


connecteur grâce aux tables de vérité
Tables de vérité des
connecteurs
Propriétés des formules

• Une formule est valide si elle est toujours vraie (quelque soit
l’interprétation)
• Une formule est consistante s’il existe une interprétation dans
laquelle elle est vraie. Elle est inconsistante dans le cas
contraire
• Problème : étant donnée une formule, est-elle valide ?
consistante ?
• Exemple : que dire de la formule
(a  b) (b  a)
Règles de transformation (1)
• aa (loi du tiers exclu)
• ((ab)  a)  b (modus ponens)
• ((a  b)  b)  a (modus tollens)
• (a b)  (b  a) (contraposition)
• a  a (double négation)
• a  ba  b
• a  b  (a  b)  (b  a)
• aa  aa  a (idempotence)
Règles de transformation (2)
• Lois de Morgan :
– (ab)  a  b
– (ab)  a  b

• Commutativité et associativité de  et 
• Distributivité de  par rapport à  et de  par
rapport à 
Définitions
• Formule Bien Formée (FBF)
• Une interprétation i est une fonction qui associe à toute
proposition p une valeur de vérité.
• On étend cette notion à la formule. Une interprétation I
d’une formule G est l’affectation d’une valeur de vérité à
chacun des atomes de G
• Une formule G est dite vraie dans une interprétation ssi
G est évalué à T dans cette interprétation. Autrement, G
est dite fausse dans cette interprétation.
• Une interprétation qui rend vraie une formule est dite un
modèle de cette formule.
11
Définitions
• Une formule est dite valide ssi elle est vrai dans toutes
ses interprétations. Une formule est invalide si elle
n’est pas valide.
• Une formule est dite inconsistante (ou insatisfiable
ou contradictoire) ssi elle est fausse dans toutes ses
interprétations. Une formule est dite consistante ou
satisfiable ssi elle n’est pas inconsistante.
• On dit que B est une conséquence logique de F1, F2,
…, Fn ssi
- F1 ^ F2 ^ … ^ Fn  B est valide, ou bien
- F1 ^ F2 ^ … ^ Fn ^ 7B est inconsistante
12
Définitions
• Une formule normale conjonctive (FNC) est sous la
forme F1 ^ F2 ^ … ^ Fn où les Fi sont des disjonctions
de littéraux.
• Une formule normale disjonctive (FND) est sous la
forme F1 v F2 v …v Fn où les Fi sont des conjonctions
de littéraux.

13
Exercice
Compléter les assertions suivantes :
• Si une formule est valide alors elle est ……………………
L’inverse est faux.
• Si une formule est …………………….. alors elle est
invalide. L’inverse est faux.
• Une formule est valide ssi sa négation est
…………………….
• Une formule est inconsistante ssi sa négation est
…………………

14
Exercice 1
• Soit la formule propositionnelle A définie comme

((p⇒¬q)⇒¬p) ∧ r
• 1. Ecrire la formule A sous forme d’arbre.
• 2. Donner la table de vérité de la formule A.
• 3. Donner une forme normale conjonctive et une forme
normale disjonctive pour la formule A.
• 4. Cette formule est-elle valide ? justifier votre réponse.
• 5. Cette formule est-elle satisfiable ? si oui donner un
modèle

15
Exercice 2
• Un homme qui semble divaguer déclare à toute la
clientèle d’un café :
• 1. Le jour où je ne bois pas et où je dors, je ne suis pas
content.
• 2. Le jour où je bois, je ne suis pas content et je dors.
• 3. Le jour où je ne mange pas, ou bien je ne suis pas
content, ou bien je dors ou les deux.
• 4. Le jour où je mange, ou bien je suis content, ou bien
je bois ou les deux.
• 5. Aujourd’hui, je suis content.

16
Questions (ex2)
• 1. Introduire des variables propositionnelles pour
représenter les principales notions et donner les
formules correspondantes `a chacune des affirmations
précédentes.

• 2. On considère que toutes les affirmations précédentes


sont vraies.
Par raisonnement élémentaire à partir des affirmations,
montrer qu’il n’a pas bu.

17
Une énigme policière
• Un meurtre a été commis au laboratoire, le corps se trouve
dans la salle de conférences…
• On dispose des informations suivantes :
– La secrétaire déclare qu’elle a vu l’ingénieur dans le
couloir qui donne sur la salle de conférences
– Le coup de feu a été tiré dans la salle de conférences,
on l’a donc entendu de toutes les pièces voisines
– L’ingénieur affirme n’avoir rien entendu
• On souhaite démontrer que si la secrétaire dit vrai, alors
l’ingénieur ment
Formalisation en calcul des
propositions
• p : la secrétaire dit vrai
• q : l’ingénieur était dans le couloir au moment du crime
• r : l’ingénieur était dans une pièce voisine de la salle de
conférences
• s : l’ingénieur a entendu le coup de feu
• t : l’ingénieur dit vrai
• On souhaite démontrer que si la secrétaire dit vrai, alors
l’ingénieur ment?
Résolution de l’énigme
• Les informations de l’énoncé se traduisent par les
implications:

pq, q  r, r  s, t  s

• Il s’agit de prouver la validité de la formule :

(p  q  q  r  r  s  t  s)  (p  t)
Démonstration

(p  q  q  r  r  s  t  s)  (p  t)
• La formule ne peut être fausse que si
– (p  t) est faux, soit p et t vrais
– la prémisse est vraie, soit toutes les implications vraies
• Comme t doit être vrai, s doit être faux, donc r faux, donc q
faux, donc p faux, et il y a contradiction
II. Logique des prédicats

22
Logique des prédicats

• Syntaxe
On définit :
– Les constantes : V et F
– Les connecteurs : , , , 
– Les variables : x, y, z, …
– Les fonctions : f, g, h, …
– Les prédicats : p, q, r, … dont ceux d’arité 0 : a, b, c,

– Les quantificateurs : , 
Définitions

• Terme :
X
– Une variable est un terme
– Une constante est un terme tom

– Si t1, t2, …, tn sont des termes, alors f(t1,t2,…,tn)


mere(tom)
est un terme
• Atome :
– Si t1, t2, …, tn sont des termes, alors p(t1,t2,…,tn)
est un atome humain(socrate)
Plan
• Pourquoi utiliser la logique du premier
ordre (LPO)?
• Syntaxe et sémantique
• Utiliser la LPO

25
Logique propositionnelle:
pours et contres
 Logique propositionnelle est déclarative
 Logique propositionnelle permet d’exprimer des
informations conjonctives/disjonctives/négative.
 Logique propositionnelle est compositionnelle:
– Le sens du tout est composé des sens des parties
– Sens de B1,1  P1,2 est dérivé du sens de B1,1 et de P1,2
 Sens dans logique propositionnelle est hors-contexte
(context-independent)
– (différent de la langue naturelle où le sens est dépendant du
contexte)
 Logique propositionnelle est limitée en capacité
d’expression
– (pas comme en langue naturelle)

26
Logique du premier ordre
• Logique propositionnelle suppose que le
monde contient des faits,
• Logique du premier ordre suppose que le
monde contient:
– Objets (D): personnes, maisons, nombres,
couleurs, match de baseball, guerre, …
– Relations (Dn{vrai, faux}): rouge, rond,
nombre-premier, est plus grand que, est partie
de, …
– Fonctions (DnD): père de, meilleur ami de, un
de plus que, …
27
Fonction vs. prédicat
Jean Marie

Philippe

•Fonction: père_de(Philippe) = Jean


•Prédicat: est_père_de(Jean, Philippe) = vrai

•Les noms importent peu. C’est la définition qui est


importante.
28
Syntaxe de LPO: éléments de base
• Constantes KingJohn, 2,...
• Prédicats Brother, >,...
• Fonctions Sqrt, LeftLegOf,directorOf,...
• Variables x, y, a, b,... (minuscule)
• Connecteurs , , , , 
• Égalité =
• Quantificateurs , 

29
Phrases atomiques
Phrase atomique = prédicat (terme1,...,termen)
| terme1 = terme2

Terme = fonction (terme1,...,termen)


| constante
prédicat
| variable
phrase

• E.g., Brother(KingJohn,RichardTheLionheart)
> (Length(LeftLegOf(Richard)),
Length(LeftLegOf(KingJohn)))

fonction constante terme 30


Phrases complexes
• Les phrases complexes sont composées des
phrases atomiques avec des connecteurs

S, S1  S2, S1  S2, S1  S2, S1  S2,

E.g.
brother(KingJohn,Richard) brother(Richard,KingJohn)
>(1,2)  ≤ (1,2)
>(1,2)   >(1,2)

31
Valeur de vérité en LPO
• Les phrases sont vraies par rapport à un modèle et à
une interprétation
• Un modèle contient des objets (éléments du domaine) et
des relations entre eux
• Une interprétation spécifie les référés pour
Symboles de constante → objets (la personne John)

symboles de prédicat → relations (relation de père-fils)

symboles de fonction → relation fonctionnelle (père-de)

• Une phrase atomique prédicat(terme1,...,termen) est


vraie ssi les objets référés par terme1,...,termen
sont en relation référée par prédicat
32
Modèle de LPO: Exemple

• Prédicat: brother(Richard, John)


• Interprétation de symboles
• Évaluation de valeur de vérité: vraie parce que la relation
brother se vérifie
• Fonction: left_leg(John)
• Interprétation
• Évaluation: 33
Quantificateur Universel
• <variables> <phrase>
Everyone at UdeM is smart (Tout le monde dans UdeM est
intelligent):
x At(x,UdeM)  Smart(x)
• x P est vraie dans un modèle m ssi P est vraie avec
chaque objet qu’on peut assigner à x dans son domaine
• Grosso modo: équivalent à la conjonction des
instantiations de P
At(KingJohn,UdeM)  Smart(KingJohn)
 At(Richard,UdeM)  Smart(Richard)
 At(UdeM,UdeM)  Smart(UdeM)
 ...
34
Une erreur commune à éviter
• typiquement,  est le connecteur principal avec 
• Erreur commune: utiliser  comme connecteur
principal avec :
– Correct
Tout le monde dans UdeM est intelligent):
x At(x,UdeM)  Smart(x)
– Incorrect
x At(x,UdeM)  Smart(x)
signifie “Everyone is at UdeM and everyone is smart”(tout
le monde est à UdeM et tout le monde est intelligent)

35
Illustration
Person smart

UdeM

x At(x,UdeM)  Smart(x)
(Sous-ensemble)
Quantification existentielle
• <variables> <phrase>
• Someone at UdeM is smart (Quelqu’un à UdeM est
intelligent):
– x At(x,UdeM)  Smart(x)

• x P est vraie dans un modèle m ssi P est vraie avec x


associée à un certain objet possible dans le modèle
• Grosso modo: équivalent à la disjonction d’instanciations
de P
At(KingJohn,UdeM)  Smart(KingJohn)
 At(Richard,UdeM)  Smart(Richard)
 At(UdeM,UdeM)  Smart(UdeM)
 ...
37
Une autre erreur commune à éviter
• Typiquement,  est généralement utilisé avec 

• Erreur commune: utiliser  comme le


connecteur principal avec :
– Correct
x At(x,UdeM)  Smart(x)
– Incorrect
x At(x,UdeM)  Smart(x)
est vraie s’il existe quelqu’un qui n’est pas à
UdeM !
38
Illustration
Person smart

UdeM

x At(x,UdeM)  Smart(x)
(intersection non vide)

39
Exemples
• Prédicats utilisés : champignon(x), violet (x) et
empoisonnant (x).
• - Tous les champignons violets sont empoisonnants.
• "x (champignon(x) ^ violet(x))  empoisonnant(x)
• - Aucun champignon violet n'est empoisonnant.
• "x (champignon(x) ^ violet(x))  ~empoisonnant(x)
• - Tous les champignons violets sauf un sont
empoisonnants
• $x (violet(x) ^ champignon(x) ^ ~empoisonnant(x)) ^ ("y,
(violet(y) ^ champignon(y) ^ ~égal(x,y)) 
empoisonnant(y))
40
Non-unicité de la traduction

• Souvent, il y a plusieurs manières de traduire :


• Exemple :
• Chacun aime sa mère :
• 1."x "y mère(y,x) aime(x,y) ici, mère est prédicat
• 2."x aime(x, mère(x)) ici, mère est fonction
• Quelle est la bonne représentation? Les deux ! C'est
l'application qui pourrait en rendre
• une plus appropriée que l'autre.

41
Quelques exemples
• Toute personne est mortel. Socrate est une personne.
x Personne(x)  Mortel(x)
Personne(Socrate)
• Socrate est mortel.
Mortel(Socrate)
• IFT3335 est un cours à UdeM.
Cours(IFT3335)  Donné_à(IFT3335, UdeM)
ou Cours(IFT3335,UdeM)
• Tous ceux qui suivent le cours IFT3335 sont des étudiants à UdeM.
–Ceux qui suivent le cours IFT3335: x Suivre(x,IFT3335)  Cours(IFT3335)
–Étudiants à UdeM: Étudiant(x,UdeM)
–Toute la phrase: x Suivre(x,IFT3335)  Cours(IFT3335)  Étudiant(x,UdeM)
• Certains dans le cours IFT3335 sont des étudiants à UdeM.
x Suivre(x,IFT3335)  Cours(IFT3335)  Étudiant(x,UdeM)
• Propriété: Jean est un étudiant.
–Étudiant(Jean)
• Négation: Aucun est irremplaçable.
–x Personne(x)  Remplaçable(x) 42
Égalité
• terme1 = terme2 est vrai sous une interprétation
donnée ssi terme1 et terme2 réfèrent au même
objet (= est un prédicat spécial)

• E.g., définition de Sibling en terme de Parent:


x,y Sibling(x,y)  [(x = y)  m,f  (m = f) 
Parent(m,x)  Parent(f,x)  Parent(m,y)  Parent(f,y)]

43
Utiliser LPO
Le domaine de parenté:
• Brothers are siblings
x,y Brother(x,y) Sibling(x,y)
• One's mother is one's female parent
m,c Mother(c) = m  (Female(m)  Parent(m,c))
• “Sibling” is symmetric
x,y Sibling(x,y)  Sibling(y,x)

44
Exemple 1
• Les barbiers rasent tous ceux qui ne se rasent
pas eux-mêmes
• Aucun barbier ne rase quelqu’un qui se rase
lui-même
Formalisation

• barbier(X)  rase(Y,Y)  rase(X,Y)


i.e.  barbier(X) rase(Y,Y)  rase(X,Y)(1)
• barbier(X)  rase(Y,Y)  rase(X,Y)
i.e.  barbier(X)   rase(Y,Y)  
rase(X,Y)(2)
Propriétés des quantificateurs
• x y est équivalent à y x

• x y est équivalent à y x

• x y n’est pas équivalent às y x

• x y Loves(x,y)
– “There is a person who loves everyone in the world”

• y x Loves(x,y)
– “Everyone in the world is loved by at least one person”

• Dualité de quantificateurs:chacun peut être exprimé en utilisant


l’autre: x P = x P, x P = x P
– x Likes(x,IceCream) x Likes(x,IceCream)
– x Likes(x,Broccoli) x Likes(x,Broccoli)

47
Mise en forme sous la forme prénexe

48
Forme prénexe

49
Mise en forme sous la forme prénexe

50
Forme normale Skolem

51
Exercices
• 1) Tous les hommes sont méchants.
• 2) Seulement les hommes sont méchants.
• 3) Il existe des hommes méchants.
• 4) Il existe un homme qui n’est pas
méchant.
• 5) Il n’existe pas d’homme méchant.
• 6) Il existe un homme qui aime toutes les
femmes.
52
Exercices
• 7) Chaque chat connaıt un chien qui le
déteste.
• 8) Tous les poissons, sauf les requins,
sont gentils avec les enfants.
• 9) Tous les oiseaux ne peuvent pas voler.
• 10) Chaque personne aime quelqu’un et
personne n’aime tout le monde, ou bien
quelqu’un aime tout le monde et quelqu’un
n’aime personne.
53

Vous aimerez peut-être aussi