Vous êtes sur la page 1sur 21

Intelligence Artificielle

Logique
Alain Boucher
Institut de la Francophonie pour lInformatique (IFI, Vietnam) alain.boucher(arobas)auf.org Cours prpar pour l'Institut de Technologie du Cambodge (ITC)

Logique des propositions

Cours d'intelligence artificielle

Introduction
La logique des propositions s'intresse des noncs (les propositions) qui peuvent tre soit vrais soit faux, ainsi qu'aux rapports entre ces noncs. Les lments de base de la logique des propositions sont les propositions atomiques (galement appeles atomes). Propositions atomiques : Phnom Penh est au Cambodge Le Cambodge est en Europe

Interprter une proposition consiste lui attribuer une valeur logique V (pour vrai) ou F (pour faux).
Cours d'intelligence artificielle 3

Connecteurs
Connecteurs :
^ : ET, v : OU, : NON,

: IMPLIQUE, : EQUIVALENT

Une proposition gnrale correspond des propositions atomiques connectes suivant des rgles :
(A^B) v C v D A^B : Phnom Penh est au Cambodge et le Cambodge est en Asie

Pour pouvoir interprter une proposition il est ncessaire d'avoir une interprtation de chaque proposition atomique qui la compose.
Cours d'intelligence artificielle 4

Table de vrit des formules de base


Table de vrit (interprtation des formules de base) :

A B F F F V V F V V

(A) V V F F

(A ^ B) F F F V

(A v B) F V V V

(A B) (A B) V V F V V F F V

Cours d'intelligence artificielle

Interprtation (exercice)
Soit l'interprtation I dfinie comme :
I(A) = V ; I(B) = F ; I(C) = V

Alors, interprtez les formules composes de A, B et C :


A^B A ^ (C v B) A v A

Soit une nouvelle interprtation J :


J(A) = V ; J(B) = V ; J(C) = F

Dans ce cas, l'interprtation des formules change.


Cours d'intelligence artificielle 6

Interprtation (rponse - 1)
Soit l'interprtation I dfinie comme :
I(A) = V ; I(B) = F ; I(C) = V

Alors l'interprtation des formules est la suivante :


A^B =V^F=F A ^ (C v B) = V ^ (V v F) = V ^ (F v F) = V ^ F = F A v A = V v V = V v F = V

Cours d'intelligence artificielle

Interprtation (rponse - 2)
Soit l'interprtation J dfinie comme :
J(A) = V ; J(B) = V ; J(C) = F

Alors l'interprtation des formules est la suivante :


A^B A ^ (C v B) A v A =V^V =V = V ^ (F v V) = V ^ (V v V) = V ^ V = V = V v V = V v F = V

Cours d'intelligence artificielle

Table de vrit de formules complexes


On peut aussi construire la table de vrit d'une formule plus complexe, en la dcomposant en partie : Par exemple : A ^ (C v B) A B C F F F F F V F V F F V V V F F V F V V V F V V V (C) V F V F V F V F (C v B) V F V V V F V V A ^ (C v B) F F F F V F V V
9

Cours d'intelligence artificielle

Modles (dfinitions)
On se demande, pour une formule donne, s'il existe une interprtation dans laquelle cette formule est vraie.
Un tel tat est appel un modle. Un modle d'une formule f est une interprtation I telle que I(f) = V. Il peut exister zro, un ou plusieurs modles pour une formule donne.

Un modle d'une ensemble F = {f1, f2, ..., fk} de formules est une interprtation qui rend vraie chaque formule f1, f2, ..., fk de F. S'il existe au moins un modle de F on dit que F est satisfaisable, sinon il est inconsistant.
Cours d'intelligence artificielle 10

Modles (exercice)
1. Vrifier que l'ensemble F de formules ci dessous est satisfaisable :
F = {P ^ Q , Q v R} Combien de modles diffrents de F existe-t-il ?

2. Mme question si on ajoute F la formule P ?

Cours d'intelligence artificielle

11

Modles (rponse - 1)
Trouver les modles de F = {P ^ Q , Q v R}.
P ^ Q est Vrai si P est Vrai et Q est Vrai Q v R est Vrai si Q est Vrai ou si R est Vrai Rsultat : Il existe deux modles pour F : 1) P=Vrai, Q=Vrai, R=Vrai 2) P=Vrai, Q=Vrai, R=Faux Il existe au moins un modle pour F, donc F est satisfaisable.

Cours d'intelligence artificielle

12

Modles (rponse - 2)
Trouver les modles de F = {P ^ Q , Q v R, P}.
P ^ Q est Vrai si P est Vrai et Q est Vrai Q v R est Vrai si Q est Vrai ou si R est Vrai P est Vrai si P est Faux Rsultat : Il n'existe aucun modle pour F : P ne peut pas tre Vrai et Faux en mme temps Donc F est inconsistant.

Cours d'intelligence artificielle

13

Tautologies
Les tautologies sont des formules vraies quelle que soit l'interprtation. Par exemple :
P ou (non P) ((P => Q) ^ P) => Q

En d'autres termes, les tautologies sont des vrits universelles qui ne dpendent pas de l'tat du monde. Une tautologie a la valeur vraie pour toutes les lignes de sa table de vrit.
Cours d'intelligence artificielle 14

Equivalences (1)
Deux formules sont quivalentes si pour toute interprtation elles prennent les mmes valeurs de vrit. Les quivalences sont utiles pour simplifier les formules logiques, quelques soient les valeurs (vrai ou faux) des propositions. A ^ A quivaut faux A v A quivaut vrai Double ngation
(A) quivaut A
Cours d'intelligence artificielle 15

Equivalences (2)
Idempotence
A ^ A quivaut A A v A quivaut A

Associativit
A ^ (B ^ C) quivaut (A ^ B) ^ C A v (B v C) quivaut (A v B) v C

Commutativit
A ^ B quivaut B ^ A A v B quivaut B v A
Cours d'intelligence artificielle 16

Equivalences (3)
Distributivit
OU : (A ^ B) v C quivaut (A v C) ^ (B v C) ET : (A v B) ^ C quivaut (A ^ C) v (B ^ C)

Lois de De Morgan
(A ^ B) quivaut A v B (A v B) quivaut A ^ B

Implication
A B quivaut A v B

Double Implication
A B quivaut (A B) ^ (B A)
Cours d'intelligence artificielle 17

Formes quivalentes
Ces quivalences permettent deffectuer toutes sortes doprations sur les propositions. On voit, par exemple, que pour une proposition P donne on peut toujours trouver une proposition P' quivalente qui ne contient ni ni .
on applique les quivalences implication et double implication.

Cours d'intelligence artificielle

18

Avantages de la logique propositionnelle


Elle est dclarative : les connaissances et le processus dinfrence sont spars linfrence est indpendante du domaine. Permet davoir des informations partielles, disjointes et ngatives. Elle est compositionnelle : la signification dune phrase dpend de la signification de ses parties. La signification dune phrase est indpendante du contexte.

Cours d'intelligence artificielle

19

Dsavantages de la logique propositionnelle


Elle a un pouvoir de reprsentation trs limit Ex: On ne peut pas dire que tous les pays sont jolis ou que Jules mange un fruit

Cours d'intelligence artificielle

20

10

Logique des prdicats ou Logique du premier ordre

Cours d'intelligence artificielle

21

Vers la logique des prdicats (1)


Mise en vidence des prdicats Regardons de plus prs les propositions atomiques. En gnral elles sont composes d'objets (ce dont on parle) et d'un prdicat (ce qu'on en dit). Exemple:
Jules est grand, le prdicat est grand sapplique lobjet Jules. Jules mange une pomme, le prdicat mange s'applique aux objets Jules et pomme.

On pourrait rcrire les propositions ci-dessus sous une forme qui met en vidence le prdicat et les objets, soit :
est_grand(Jules) et mange(Jules, pomme).
Cours d'intelligence artificielle 22

11

Vers la logique des prdicats (2)


La forme habituelle est : nom_prdicat(objet1, objet2, ...). Dans certains domaines comme les mathmatiques des notations particulires ont t inventes pour exprimer certains prdicats. On crit par exemple 3 < 56 plutt que infrieur (3, 56), ou 1/2 = 3/6 plutt que gal(1/2, 3/6).

Cours d'intelligence artificielle

23

Les variables (1)


L'introduction de variables permet de formuler deux types d'noncs. D'une part des noncs universels dans lesquels les variables reprsentent tous les objets d'un domaine. Par exemple, dans le domaine des nombres entiers: X < X+1 Ici X reprsente n'importe quel nombre entier. De mme, dans lnonc italien(X) europen(X), X reprsente nimporte quelle personne ayant la proprit dtre italien. On utilise toutes les notions de la logique des propositions et on introduit de nouveaux concepts pour la logique du premier ordre.
Cours d'intelligence artificielle 24

12

Les variables (2)


D'autre part une variable peut servir exprimer l'existence de quelque chose, sans qu'on connaisse encore prcisment cette chose. Par exemple, dans l'quation
3X 8 = 22 X reprsente un nombre, encore inconnu, qui existe et qui a la proprit que si on le multiplie par trois et qu'on lui soustrait huit on obtient 22.

De mme, dans pre(Joe, X), X reprsente la personne qui est le pre de Joe. En logique des prdicats ces deux usages sont prcis l'aide des

quantificateurs
(pour tout) et (il existe).
Cours d'intelligence artificielle 25

Quantificateur universel
Vrai si et seulement si toutes les phrases sont vraies. x P est vrai si P est vrai pour tous les objets x dans lunivers. Do le nom de quantificateur universel. Tous les chats sont des mammifres: x Chat(x) Mammifre (x) Tous dans la classe sont intelligents: x Dans(x,Classe) Intelligent (x) Erreur courante :
x Dans(x,Classe) ^ Intelligent (x) Tous sont dans la classe et tous sont intelligents
Cours d'intelligence artificielle 26

13

Quantificateur existentiel
Vrai si certains des noncs sont vrais. x P est vrai si P est vrai pour certains des objets dans lunivers. Spot a une sur qui est un chat:
x Soeur(x,Spot) ^ Chat(x)

Quelquun dans la classe est intelligent: x Dans(x,Classe) ^ Intelligent(x) Erreur courante:


x Dans(x,Classe) Intelligent(x) Est vraie si quelquun nest pas dans la classe, ce qui ne dit pas grand chose.
Cours d'intelligence artificielle 27

Exemples des quantificateurs


Tous les italiens sont gentils x Pays(x,Italie) Gentil (x) Attention : x Pays(x,Italie) ^ Gentil(x) Tout le monde est italien et tout le monde est gentil On limine le quantificateur en donnant une valeur x {x/Alberto} : Pays(Alberto,Italie) Gentil (Alberto) Un espagnol est gentil x Pays(x,Espagne) ^ Gentil(x) Attention : x Pays(x,Espagne) Gentil(x) vrai si il existe quelqu'un qui n'est pas espagnol (qu'il soit gentil ou non) Une mre est un parent de sexe fminin x,y Mre (x, y) Fminin (x) ^ Parent (x, y)
Cours d'intelligence artificielle 28

14

Proprits des quantificateurs


x y quivaut y x x y quivaut y x x y n'quivaut pas y x

x y Aime(x,y) : Il existe quelqu'un qui aime tout le monde y x Aime(x,y) : Tout le monde est aim au moins par une personne

Dualit : (1) x Aime(x,riz)

vs (2) x Aime(x,riz)

(1) Tout le monde aime le riz (2) Il n'existe personne qui n'aime pas le riz (1) x Aime(x,orange) vs (2) x Aime(x,orange) (1) Il existe quelqu'un qui aime les oranges (2) Ce n'est pas tout le monde qui n'aime pas les oranges
Cours d'intelligence artificielle 29

Proprits des quantificateurs


Un quantificateur peut tre exprim en utilisant lautre. x P x P x P x P Exemples : x Aime(x,Fruit) x Aime(x,Fruit) x Aime(x,Viande) x Aime(x,Viande)

Cours d'intelligence artificielle

30

15

Egalit
Vrai si lnonc fait rfrence au mme objet. Exemples: Le pre de Jean est Henry Pre(Jean) = Henry Richard a au moins deux frres x,y Frre(x,Richard) ^ Frre(y,Richard) ^ (x=y) On peut aussi utiliser la notation xy comme abrviation de (x=y)
Cours d'intelligence artificielle 31

Autre logique : Logique floue

Cours d'intelligence artificielle

32

16

La logique floue
Jusqu' prsent, une proposition tait soit vraie, soit fausse
deux choix possibles par exemple, l'eau est froide ou l'eau est chaude

Avec la logique floue, la valeur d'une proposition est un nombre rel de l'intervalle [0,1].
Une proposition peut tre en partie vraie et en partie fausse. L'eau est froide (0), chaude (1) ou l'eau est tide (0.5)

Donc, nous ne manipulons plus des valeurs Vrai ou Faux, mais des valeurs numriques entre 0 et 1.
Cours d'intelligence artificielle 33

Rgles de la logique floue


A ^ B = min (A,B) (le plus petit des deux)
A^B = A si A<B A^B = B si B<A AvB = A si A>B AvB = B si B>A

A v B = max (A,B) (le plus grand des deux)

A = 1-A (inverse de A) Si A et B valent 0 ou 1, alors on revient la logique des propositions. Exemples :


1 ET 0.3 0.67 ET 0 0.12 OU 0.98 NON 0.54 donne 0.3 donne 0 donne 0.98 donne 0.46
Cours d'intelligence artificielle 34

17

Autre logique : Logique temporelle

Cours d'intelligence artificielle

35

Logique temporelle de Allen


Les buts du systme:
Exprimer la connaissance relative et imprcise. Permettre l'incertitude (expression des contraintes). Supporter le raisonnement dans des chelles variables Supporter la persistance (raisonnement par dfaut).

Exemple : si j'ai gar ce matin ma voiture dans le parking, elle doit toujours tre l (mme si on ne peut le prouver). Dans le systme d'Allen le temps est reprsent par des intervalles :
Intervalle : Un ensemble T = {t} ordonn de points tel que ( t- ) ( t T ) ( t- < t) et ( t+) ( t T ) ( t+ > t)

La paire t-, t+ forme les points limites de l'intervalle.


Cours d'intelligence artificielle 36

18

Les 13 relations entre intervalles


Relation t avant s t rencontre s t recouvre s t commence s t gale s t pendant s t termine s Symbole < m o s = d f Inverse > mi oi si = di fi Dfinition t- < st+ = s(t- < s-) ^ (t+ > s-) ^ (t+ < s+) (t- = s-) ^ (t+ < s+) (t- = s-) ^ (t+ = s+) (t- > s-) ^ (t+ < s+) (t- > s-) ^ (t+ = s+) Graphique sssssss ttttt sssssss ttttt sssssss tttttttttttt sssssssss ttttttt sssss tttttt ssssssssss ttttt ssssssssss ttttt

Cours d'intelligence artificielle

37

Gestion de l'incertitude (1)


L'utilisation d'une liste permet de grer l'incertitude par des contraintes. Exemples :
t1 d t2 (t1 d t2) ou (t2 d t1) ou (t1 < t2) (t1 < t2) ou (t2 < t1) ou (t1 m t2) t1 --(d)--> t2 t1 --(d, di, <)--> t2 t1 --(<, >, m)--> t2

Cours d'intelligence artificielle

38

19

Gestion de l'incertitude (2)


Lorsqu'un nouvel intervalle est introduit dans le rseau, toutes ses consquences sont calcules par propagation des contraintes. Exemple :
B ---(<, m)---> C A ------(d)----> B D ------(d)----> C donne : A -----(<)-----> D B ---(<, m)---> C (d) (d) | | A D
Cours d'intelligence artificielle 39

graphiquement :

Propagation de contraintes
La propagation est dfinie par un tableau 12 x 12 des relations de transitivit.
Oprateur T de relation de transitivit (selon le tableau) La relation = est omise.

Le tableau de transitivit est utilis afin de dvelopper les relations possible de chaque paire d'intervalles. Quand une nouvelle relation est affirme, il faut propager les contraintes sur les autres relations.
Cours d'intelligence artificielle 40

20

Relations de transitivit
B?C A<B A<B B<C B>C BdC B di C BoC B oi C BmC B mi C BsC B si C BfC B fi C Contraintes sur (A ? C) (< )

aucune information
(< o m d s) (< ) (< ) (< o m d s) (< ) (< o m d s) (< ) (< ) (< o m d s) (< )
41

Exemple (A < B) et (B ? C)

A<B A<B A<B A<B A<B A<B A<B A<B A<B A<B

(une ligne du tableau 12x12)

Cours d'intelligence artificielle

Exemple de propagation
Soient les relations suivantes dans une logique de relations temporelles :
Evnement Evnement Evnement Evnement A rencontre vnement B B rencontre vnement C D est aprs vnement A D est avant vnement C (A m B) (B m C) (D > A) (D < C)

Quelles sont les relations possibles entre D et B (transitivit avec A) ?


T( D > A, A m B ) = ( d, f, oi, mi, >)

Quelles sont les relations possibles entre D et B (transitivit avec C) ?


T( D < C, C mi B ) = (<, o, m, d, s)

Quelles sont les relations possibles entre D et B aprs une propagation de contraintes?
(D d B)
Cours d'intelligence artificielle 42

21