Sys Expert
Sys Expert
Editions : 2008
Maria Malek
Table des matières
3 Le raisonnement incertain 17
3.1 La théorie de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1 Le moteur d’inférence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Les facteurs de certitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Les ensembles flous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 La théorie de Dempster -Shafer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 Représentation de connaissances 30
4.1 Les langages de représentation de connaissances . . . . . . . . . . . . . . . . . . . . . 30
4.2 Aspects de la représentation de connaissances . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Les réseaux sémantiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.1 Limitations de la représentation logique par rapport à l’expression des humains 32
4.3.2 Théorie d’associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.3 Besoin de standardisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4 Les graphes conceptuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5 Types, individus et noms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.1 Hiérarchie de types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1
TABLE DES MATIÈRES Page 2
La notion de systèmes experts est une notion assez ancienne qui a apparu dans les années 70 avec
l’apparition du système expert célèbre MYCIN dont le but était d’aider les médecins à effectuer le diag-
nostic est le soin des maladies infectieuses du sang. La version de base contenait 200 règles ensuite 300
règles concernant les méningites ont été ajoutées.
Aujourd’hui, les systèmes experts constituent une technologie bien définie faisant partie des systèmes à
base de connaissances. Les systèmes experts ont comme finalité la modélisation de la connaissance et
de raisonnement d’un expert (ou d’un ensemble d’experts) dans un domaine donné fixe.
Pour cela, trois acteurs principaux doivent contribuer à l’élaboration d’un système expert à savoir : l’uti-
lisateur final, l’expert du domaine et l’ingénieur de connaissances. L’interaction entre ces trois acteurs
amènera à l’élaboration d’une première version de systèmes experts contenant une base de connais-
sances, une base de faits et un moteur d’inférence effectuant une forme définie de raisonnement.
Dans la première partie du poly, l’architecture générale d’un système expert est présentée ainsi que
le processus d’acquisition de connaissances. Dans un premier temps, nous étudions les systèmes experts
à base de règles de production, en utilisant de notions de la logique de première ordre. Les algorithmes
d’inférence appelés chaînage avant et chaînage arrière sont présentés et détaillés. Nous les comparons
en terme de complexité, d’efficacité et de transparence de raisonnement. les différentes stratégies de
résolution que peut utiliser un moteur d’inférence sont aussi présentées.
Dans un deuxième temps, le raisonnement incertain est présenté. Les approches probabilistiques
classiques comme celle de Bayes est étudiée dans le cadre d’un moteur d’inférence incertain. Une ap-
proche plus évoluée est l’approche de Dempster-shafer car elle a beaucoup moins de contraintes que
l’approche probabilistique. Ensuite, la théorie des facteurs de certitude et celle des ensembles flous qui
s’intègrent plus naturellement avec les règles de productions sont présentées.
Dans la troisième partie du poly, d’autre types de représentation de connaissances sont présentés
comme les réseaux sémantiques, les graphes conceptuels et les frames. Nous montrons les avantages
qu’ils peuvent offrir et notamment du côté de la modélisation de la complexité du monde réel.
Dans la dernière partie du poly, le raisonnement à partir de cas est présenté par opposition aux
systèmes classiques utilisant les règles. Nous montrons la souplesse que peut avoir un système de rai-
sonnement à partir de cas, sa capacité d’évoluer et d’enrichir sa mémoire ainsi que sa complémentarité
naturelle avec un système à base de règles.
Notons bien que la partie de travaux pratiques associés à ce cours concerne l’apprentissage d’un
générateur de système expert appelé CLIPS. Ce générateur est fondé sur une inférence utilisant princi-
palement le chaînage avant. Cet apprentissage vient compléter les notions acquises en deuxième année
en PROLOG qui fonctionne principalement en chaînage arrière. De plus, CLIPS permet d’illustrer
certaines notions du raisonnement incertain et notamment les facteurs de certitudes et la théorie des
ensembles flous.
1.1 Introduction
Les experts humains sont capables d’effectuer un niveau élevé de raisonnement à cause de leur
grande expérience et connaissance sur leurs domaines d’expertise. Un système expert utilise la connais-
sance correspondante à un domaine spécifique afin de fournir une performance comparable à l’expert
humain. En général, les concepteurs de systèmes experts effectuent l’acquisition de connaissance grâce
à un ou plusieurs interviews avec l’expert ou les experts du domaine. Les humains qui enrichissent le
système avec leurs connaissances ne fournissent pas seulement leur connaissance théorique ou acadé-
mique mais aussi des heuristiques qu’ils ont acquises grâce à l’utilisation de leurs connaissances.
Contrairement à la modélisation cognitive, les systèmes experts n’ont pas comme finalité de s’ins-
pirer des théories du fonctionnement du cerveau humain mais ce sont des programmes qui utilisent des
stratégies heuristiques pour la résolution des problèmes spécifiques.
Le raisonnement effectué par un système expert doit être objet à l’inspection, et ceci en fournissant
d’information sur l’état de la résolution du problème et des explications sur les choix et les décisions
du système.
D’un autre côté, la solution fournie par le système doit être évaluée par un expert humain et ceci dans
le but de modifier l’information contenue dans la base de connaissances.
Le but de ce chapitre est de définir la technologie systèmes experts en présentant l’architecture d’un
système expert type ainsi que le processus de son élaboration.
L’interface utilisateur sert à simplifier la communication, elle peut utiliser la forme question-réponse,
4
1.3. DOMAINES D’APPLICATION Page 5
Interface Editeur
Question
Base de
Utilisateur Menu Moteur connaissances
d'inférence
Langage naturel Données
spécifiques
Interface Explication
graphique
Il est très important de remarquer la séparation faite entre les connaissances et l’inférence.
– Cette séparation permet d’utiliser un codage différent, cela nous permet par exemple d’utiliser le
langage naturel pour représenter les connaissances (sous forme Si .. ALORS.. par exemple).
– Cette séparation permet au programmeur de se focaliser au codage des connaissances sans se
soucier trop de la façon du codage du moteur d’inférence.
– Cette séparation permet aussi de modifier les connaissances sans avoir un effet sur le codage du
moteur d’inférence.
– Cette séparation permet également de pouvoir tester plusieurs types d’inférence sur la même base
de connaissances.
Les systèmes à base de règles de production "emmagasinent" la connaissance sous forme de règles :
SI ... ALORS ... afin d’être le plus proche de la façon naturelle de la représentation des connaissances. La
partie entre le SI et le ALORS s’appelle la partie prémisses de la règle. Elle correspond à une conjonc-
tion d’expressions qui doivent être vérifiées pour que la règle se déclenche. La partie qui suit le ALORS
s’appelle la partie conclusion. Elle correspond à une conjonction d’actions.
En logique de propositions ou de premier ordre, les règles sont décrites via des clauses contenant
des proposition ou des prédicats. Rappelons nous que PROLOG supporte bien ces deux types de modé-
lisation et applique la stratégie de raisonnement SLD pour résoudre un but donné, nous allons voir dans
la suite que cette stratégie constitue une inférence en chaînage arrière.
;R1
peutAimer(X,bach)<- aime(X,musiqueC), aime(X, maths).
;R2
peutAimer(X,schubert)<- aime(X,musiqueC),romantique(X).
;R3
peutAimer(X,cabrel)<- romantique(X).
8
2.2. RÈGLES ET MOTEUR D’INFÉRENCE Page 9
;R4
romantique(X) <- ecritPoeme(X).
Remarques Nous avons vu en cours de logique qu’en utilisant la notation en clauses de Horn, nous
pouvons construire le modèle minimal de Herbrand ainsi que la résolution SLD. Nous rappelons ces
deux mécanismes via l’exemple, en vue de faire la comparaison avec le chaînage avant et arrière ulté-
rieurement.
Supposons qu’on ajoute aux programme précédent les deux clauses suivantes :
aime(toto,muiqueC).
ecritPoeme(toto).
Resolution SLD La résolution SLD nous permet de calculer toutes les réponses à une question don-
née, en explorant toutes les dérivations possibles, l’arbre obtenu s’appelle l’arbre de dérivation.
Les feuilles correspondent à des fins de chemins de parcours correspondant à un échec ou à un
succès. Dans le cas d’un succès, la substitution correspondant à la composition des substituions
élémentaires trouvées est une solution calculée. Par exemple, une solution possible à la question
peutAimer(toto,Y) est la substitution θ = (Y, schubert).
Le modèle minimal d’Herbrand nous rappelons que le modèle permet grâce à l’opérateur consé-
quence immédiate de retrouver le modèle minimal de Herbrand qui constitue l’ensemble des
réponses correctes du programme. Par exemple, pour le programme précédent, nous obtenons le
modèle minimal de Herbrand IE suivant :
T 0 = {aime(toto,musiqueC), ecritPoeme(toto)}
T 1 = {aime(toto,musiqueC), ecritPoeme(toto), romantique(toto)}
IE = T 2 = {aime(toto,musiqueC), ecritPoeme(toto), romantique(toto), peutAimer(toto, schubert),
peutAimer(toto,Cabrel)}
deviennent les sous-buts actuels à résoudre. Le système continue à travailler de cette façon jusqu’à ce
que tous les sous buts placés en mémoire soient vérifiés.
Les sous-buts peuvent être résolus en posant des questions à l’expert.
Nous verrons dans la suite que cela peut qualifier une telle inférence d’une capacité de transparence de
raisonnement et d’une capacité d’explication.
Ce graphe contient deux types de nøeuds à savoir les nøeuds ou et les nøeuds et. Les nøeuds ou corres-
pondent aux règles ayant une conclusion qui peut s’unifier avec le but cherché, chacune de ces règles est
le début d’un chemin potentiel de résolution. Les nøeuds et correspondent aux prémisses d’une règle
donnée qui tente de résoudre un but qui s’est unifiée avec sa conclusion. Ces prémisses deviendront à
leurs tours des sous-buts à résoudre. Par exemple, dans la figure 2.1), le nøeud PeutAimer() est un nøeud
ou et le nøeud R1 est un nøeud et.
PeutAimer(toto,X)
X=Bach X=Cabrel
X=Schubert
R1 R3
R2
Romantique(toto) Romantique(toto)
Aime(toto,MusiC)
Aime(toto,Maths) Aime(toto,MusiC)
R4 R4
EcritPoeme
(toto) EcritPoeme
(toto)
Nous avons montré comment un système basé sur l’inférence par chaînage arrière peut réagir. Pour
vérifier le succès ou l’échec d’un chemin de raisonnement, la base de faits est consulté. Une extension
de l’algorithme peut être de donner la capacité au système de poser des questions à l’utilisateur quand
une réponse positive ne soit pas affirmée par l’existence d’un fait donné dans la base de faits. Nous
montrons dans la suite un scénario de questions-réponses, et ceci en se basant toujours sur le exemple
cité au dessus, contenant les quatre règles mais en supposant que la base de faits est vide au début. Le
but à résoudre étant toujours peutAimer(toto,X) :
conclusion non plus. Au lieu de considérer cette branche comme échec, le système pose la question
à l’utilisateur 2 vérifiant si toto aime la musique classique. Supposons que la réponse est positive,
alors le fait aime(toto,musiqueC) est ajouté à la base de faits. Le système cherche maintenant à conti-
nuer la résolution du but peutAimer(toto,bach), il pose donc la question aime(toto,maths). En sup-
posant que la réponse est non, le système passe à la vérification de la deuxième règle. La question
aime(toto,musiqueC) n’est pas posée car le système connaît la réponse qui est codée sous forme de
fait. Le sous but suivant à vérifier est romantique(toto), donc la question ecritpoeme(toto) est posée ;
par conséquent, le système déduit que peutAimer(toto, schubert) est vrai. Enfin, le système vérifie
bien via le chemin de la règle R3 que toto puisse aimer également cabrel sans poser des questions car
il sait déjà que toto écrit des poèmes. 3
Remarquer bien que de fait que le système garde le trace du raisonnement sous forme du graphe
et/ou permet d’avoir une suite de questions qui ne paraît pas illogique aux yeux de l’utilisateur 4 . De
plus la séquence de questions est optimale dans le sens ou le système ne pose pas des questions inutiles
car son processus est toujours guidé par la résolution du but père immédiat.
L’utilisateur peut ensuite poser la question Comment a-t-il été établi que toto est romantique ? Le
système peut se placer sur le nøeud correspondant du graphe et présenter à l’utilisateur sa trace de
raisonnement.
Nous pouvons procéder de la même manière en supposant que la base de faits est vide au début et
que le système pose des questions à l’utilisateur5 . Dans ce cas l’ordre de questions posées à l’utilisateur
est le suivant : aime(toto,musiqueC), aime(toto,maths), ecritPoeme(toto).
Un autre algorithme basé sur la représentation sous forme de graphe dirigé est proposé dans la
littérature (rete algorithm). Le principe est de coder dans la base de connaissances les règles sous
forme de graphe. Les prédicats sont codés par des cercles, les flèches représentent le et logique entre les
différentes prémisses. Les actions sont codées par des rectangles. Les carrés représentent des contraintes
sur les prémisses.
A un cycle donné, un ensemble de faits est injecté dans le graphe. Le résultat de cette inférence serait
présenté par des informations qui étiquettent les arcs du graphe. Au cycle suivant, un ensemble de faits
resultants seraient injectés dans le graphe, et ainsi de suite.
D A=D AddE
A B
A(1),A(2)
B(2),B(3),B(4) A=B C AddD
A(5)
D(2)
A(2),
B(2)
E DeleteA
F IG . 2.2 – Le graphe du raisonnement en chaînage avant
L’avantage de cet algorithme par rapport à l’algorithme d’unification est sa capacité de tester en
même temps les prémisses communes des règles sans effectuer des unification plusieurs fois. De plus,
il donne une représentation graphique de l’ensemble des règles dans la base de connaissances.
questions sont posées selon l’ordre de présentation des règles dans la base de connaissances et peuvent
parfois refléter une incohérence.
En fait, dans l’exemple traité dans ce chapitre, nous avons constaté que l’ordre de questions posées
à l’utilisateur est le même. Par contre nous avons montré que le système peut poser des question inutiles
en chaînage avant, ce qui n’est pas le cas en chaînage arrière.
D’un autre côté, si nous nous plaçons dans un cadre de modélisation en logique premier ordre,
nous remarquons que chaque chemin réussi de résolution en chaînage arrière correspond à une réponse
calculée par la résolution SLD. De même, le contenu de la base de faits, après le chaînage avant,
correspond bien au modèle minimale de Herbrand.
En Clips, si l’utilisateur ne définit pas de priorité, les règles activées par les mêmes faits, sont égale-
ment déclenchées d’une façon aléatoire. Pourtant, il existe plusieurs stratégies de résolution de conflit.
Par exemple dans certains systèmes les règles les plus spécifiques (ayant les plus de prémisses) sont
choisies auparavant. Dans d’autres, les facteurs de certitudes affectés aux règles sont utilisés comme
mesures de tri. Certains systèmes privilégient les règles les plus utilisées en classant les règles selon
leurs utilités. Dans d’autres, les règles les plus récentes sont prises en priorités.
Nous développons dans la suite quatre stratégies utilisées en chaînage avant et plus particulièrement
en CLips qui sont : en profondeur d’abord, en largeur d’abord, complexité, simplicité.
La stratégie en profondeur d’abord La base de faits est considérée comme une pile, autrement dit
chaque fois qu’un nouveau fait est inféré il est placé au sommet.
Revenons à notre exemple, le dernier fait inséré au premier cycle est ecritPoeme(toto), ce fait dé-
clenche la règle R4 et le fait romantique(toto) est ajouté à la base de fait. Ce fait s’unifie avec la
deuxième prémisse de la règle R2 , ainsi qu’avec la prémisse de la règle R3 . La règle R2 étant à tester, le
système cherche un fait qui peut s’unifier avec la première prémisse, et réussit avec aime(toto,musiqueC).
Le fait aime(toto,shubert) est empilé dans la base de faits, elle ne déclenche aucune règle. Maintenant,
la règle R3 étant en attente de déclenchement, elle est déclenchée et le fait aime(toto,cabrel) est empilé
dans la base de faits.
La stratégie en largeur d’abord La base de faits est considérée comme une file, autrement dit chaque
fois qu’un nouveau fait est inféré il placé à la fin de la file.
La stratégie de simplicité Tout d’abord il faut savoir que les deux stratégies simplicité et complexité
sont orthogonales avec les stratégies en largeur et en profondeur. Autrement dit, on se place avant dans
un contexte donné (profondeur ou largeur) et on peut ensuite appliquer la stratégie simplicité, com-
plexité ou aucune ou bien vice versa 7 .
Une règle Rs est dite plus simple qu’une règle Rc ssi la partie prémisse de la règle Rs a moins
d’éléments que la règle Rc. Un élément peut correspondre à un prédicat mais aussi à un test donné
exprimé sous la forme d’une contrainte sur les données ou les prédicats.
Le choix de la stratégie simplicité signifie que si un fait déclenche plusieurs règles en même temps,
la règle la plus simple est choisie avant indépendamment de son ordre. Par exemple le fait roman-
tique(toto) déclencherait la règle R3 avant la règle R2 .
7
on se place avant dans un contexte donné (simplicité ou complexité) et on peut ensuite appliquer la stratégie profondeur
ou largeur.
Le raisonnement incertain
Nous avons vu dans le chapitre précédent comment effectuer une inférence en utilisant le chaînage
avant ou arrière, et ceci à partir d’une base de faits et d’une base de connaissances. Il se trouve que
dans une grande majorité d’applications réelles, l’information codée dans le système expert n’est pas
toujours certaine autrement dit elle peut avoir un degré de véracité.
Un fait peut être incertain dans le sens où on n’est pas sûr de sa valeur de vérité. Une règle peut
être incertaine dans le sens suivant : si les prémisses sont vrais on n’est pas sur d’aboutir toujours à la
conclusion.
Nous présentons dans ce chapitre deux grandes approches du traitement de l’incertitude dans les
systèmes experts. La première catégorie comprend les approches statistiques comme la théorie baye-
sienne, les facteurs de certitudes et la théorie de Dempster-Shafer. La deuxième catégorie comprend
les approches liées aux ensembles floues.
17
3.1. LA THÉORIE DE BAYES Page 18
Exemple Supposons que la probabilité qu’un patient ait la grippe est à priori P (H). Maintenant
supposons qu’on a la preuve E que ce patient ait de la fièvre. Nous cherchons à calculer la probabilité
à posteriori que ce patient ait la grippe sachant qu’il a de la fièvre.
Nous devons calculer P (E) la probabilité d’avoir la fièvre en général. Pour connaître P (E), on cherche
à estimer les probabilités d’avoir la fièvre sachant qu’on a la grippe P (E|H) et d’avoir la fièvre sachant
qu’on n’a pas la grippe P (E|notH). Nous pouvons signaler deux inconvénients liés à la théorie de
Bayes :
1. Le calcul de P (E) n’est pas toujours évident, sachant que si on ne connaît pas P (E|notH), il
faut arriver à connaître toutes les hypothèses
P qui peuvent influencer E : P (E|Hi ). Dans ce cas,
on appliquera la formule P (E) = ni=1 P (E|Hi ) ∗ P (Hi)
2. Une contrainte forte que exige cette approche est l’indépendance des variables utilisées. Souvent,
dans les applications réelles, il existe une corrélation cachée entre les différentes variables 2 .
Dans la suite, nous fixerons un seuil supérieur M 1 et un seuil inférieur M 2 pour chaque hypothèse
Hi tels que M 1 et M 2 ne dépassent pas les limites théoriques que peut prendre la probabilité à pos-
teriori à savoir Pmax (Hi ) = P (H|E1 , .., En ) ,Pmin (Hi ) = P (H|notE1 , .., notEn ) respectivement, où
E1 , .., En sont toutes les preuves possibles qui peuvent supporter l’hypothèse H.
Remarquons bien que tant qu’on a des réponses concernant certaine preuves, Pmax (Hi ) et Pmin (Hi )
changent de valeurs car ils seront calculés en fonction des preuves non renseignées.
Si à un moment Pmin (Hi ) devient supérieur à M 1 alors l’hypothèse Hi est confirmée, sans tester les
preuves qui restent. De même si Pmax (Hi ) à un moment, devient inférieur à M 2 alors l’hypothèse H
est rejetée, sans tester les preuves qui restent.
Dans la suite, nous montrons comment intégrer cette approche dans un moteur d’inférence donné.
Les preuves sont demandées à l’utilisateur une par une et selon sa réponse, une nouvelle probabilité à
posteriori est associée à Hi , ainsi qu’une nouvelles Pmax (Hi ) et Pmin (Hi ) sont calculée en fonctions des
preuves restantes. Nous pouvons supposer que l’utilisateur donne une réponse plus au moins subjective,
avec une certitude donnée. Pour cela, nous pouvons calculer la probabilité à posteriori de H après la
réponse R de l’utilisateur par :
où P (E|R) est une mesure de la certitude que donne l’utilisateur à la preuve E. De même,P (notE|R)
est une mesure de la certitude que donne l’utilisateur à notE.
Ces valeurs ne sont pas inchangeables car ils modifient leurs valeurs selon la probabilité à posteriori de
l’Hypothèse H. La preuve ayant la valeur maximale obtenue va constituer la première question à poser
à l’utilisateur.
L’algorithme Nous présentons dans ce chapitre l’algorithme nous permettant d’activer l’inférence
qu’on appelle chaînage lateral 5 .
1. Pour chaque hypothèse, affecter une probabilité à priori p(Hi ).
2. Pour chaque preuve calculer la valeur val(Ej ).
3. Trouver la preuve ayant la valeur maximale : Emax .
4. Interroger l’utilisateur sur cette preuve en lui donnant un intervalle de confiance [-5,+5], la ré-
ponse étant R.
5. Étant donné R, recalculer P (Hi |R) pour toutes les hypothèses dépendantes de Emax .
6. Recalculer aussi les valeurs associées aux preuves différentes restantes.
7. Pour chaque hypothèse Recalculer le min et le max que peut avoir la probabilité à posteriori de
Hi .
8. Trouver l’hypothèse ayant le minimum le plus élevé : Hmaxmin
9. Chercher une hypothèse dont Pmax (Hk ) dépasse la valeur trouvée dans l’étape suivante.
10. En cas d’existence de cette hypothèse, retourner à l’étape 3 sinon arrêter et l’hypothèse Hmaxmin
est confirmée.
Les mesures de croyance varient dans l’intervalle [0,1] et par conséquence : −1 ≤ CF (H|E) ≤ 1.
Nous pouvons associer un facteur de certitude à un fait donné ou à une règle donnée. Nous donnons
dans la suite les règles qui permettent la propagation des facteurs de certitudes pendant l’inférence.
Supposons que nous associons aux deux faits F1 et F2 les mesures de certitudes suivantes : CF (F1 ) et
CF (F2 ). Supposons maintenant que nous avons les deux règles suivantes :
R1 : SI P1 ET P2 ALORS C1
R2 : SI P1 OU P2 ALORS C2
En supposant que le fait F1 s’unifie avec P1 et F2 avec P2, la certitude associée à la partie prémisse
de R1 est donnée par
CF (P 1ET P 2) = min (CF (F1 ), CF (F2 ))
de même, la certitude associée à la partir prémisse de R2 est donnée par
Maintenant, en supposant qu’un facteur de certitude est associé à la règle R : CF (R) , nous calcu-
lons le facteur de certitude associé à la conclusion résultante par CF (C) = CF (R) ∗ CF (P ), où CF(P)
est le facteur de certitude associé à la partie prémisses de la règle R.
Considérons maintenant le cas où deux règles R1 et R2 (ou plus) aboutissent à la même conclu-
sion C. Nous appelons CFR1 (C), le facteur de certitude calculé par la première règle et CFR2 (C), le
facteur de certitude calculé par la deuxième règle ; dans ce cas le facteur de certitude final est donné par :
CF (C) = CFR1 (C) + CFR2 (C) − CFR1 (C) ∗ CFR2 (C) si les deux facteurs de certitudes initiaux
sont positives et par : CF (C) = CFR1 (C) + CFR2 (C) + CFR1 (C) ∗ CFR2 (C) si les deux facteurs de
certitude sont négatifs
CFR1 (C) + CFR2 (C)
et par : CF (C) = sinon
1 − min (kCFR1 (C)k, kCFR2 (C)k)
Remarquer bien que grâce à ces formules, les facteurs de certitude résultants sont toujours dans
l’intervalle [-1,1].
Remarquer également que les affectations des facteurs de certitude aux règles et aux faits sont
subjectives et dépendent de l’humain. Par contre les calculs qui permettent la propagation de ces facteurs
de certitude obéissent aux règles précédentes.
Mathématiquement parlant un ensemble flou A défini sur un univers de discours U est caractérisé
par la fonction d’appartenance :
µA : U → [0, 1]
Par exemple, le terme flou jeune est caractérisé par :
{(25, 1.00), (30, 0.8), (35, 0.6), (40, 0.4), (45, 0.2), (50, 0.00)}
Les variables linguistiques Une variable linguistique est décrite par l’ensemble de termes flous
qu’elle pourrait prendre. Par exemple la variable age est décrite par l’ensemble des termes flous :
{jeune,vieux}, chaque terme étant un ensemble flou. D’un autre côté, nous appelons fait flou un fait
contenant le couple : {variable linguistique, valeur floue} (voir figures 3.1 et 3.2).
F IG . 3.2 – Les deux ensembles flous (age jeune) & (age vieux)
Règles de type CRISP-CRISP Les règles de type CRISP-CRISP sont des règles qui ne contiennent
pas de termes flous dans leurs parties prémisses ni dans leurs parties conclusions. Par contre, elle
peuvent avoir des facteurs de certitude. Les règles de propagation de certitudes vues dans la section
précédente sont applicables à ce type de règles.
Règles simples de type FUZZY-CRISP En général, les règles de type FUZZY-CRISP sont des règles
dont la partie prémisses contient un test sur un fait composé d’une variable linguistique avec une valeur
floue. La conclusion ne contient pas de terme flou. Nous définissons une règle simple de type FUZZY-
CRISP comme étant une règle qui comporte un seul test flou dans sa partie prémisses. Supposons que FA
représente l’ensemble flou du fait flou A, et que FB représente un test sur la même variable linguistique
contenue dans A dans une règle donnée.
Nous calculons la similarité entre le fait et la règle selon :
S = P (FB |FA )
si N (FB |FA ) > 0.5 et par
S = (N (FB |FA ) + 0.5) ∗ P (FB |FA )
sinon.
N ,et P étant les mesures de nécessité et de possibilité respectivement calculées par (voir figures 3.6
& 3.7) :
P (FB |FA ) = max(min(µFB (u), µFA (u))
Et
N (FB |FA ) = 1 − P (COM P (FB )|FA )
F IG . 3.3 – Intersection des deux ensembles flous (age jeune) & (age vieux)
Une fois l’inférence est effectuée le facteur de certitude propagé à la conclusion : CF (C) de la règle
sera multiplié par la mesure de similarité précédente.
Règles simples de type FUZZY-FUZZY En général, les règles de type FUZZY-FUZZY sont des
règles qui contiennent dans leurs parties premisses des tests sur des faits flous et dans leurs parties
conclusions des manipulations sur de faits floues 6 . De même, une règle simple de type FUZZY-FUZZY
est une règle dont la partie prémisse est composée d’un seul test flou, et la partie conclusion contient
une manipulation sur un seul fait flou. En fait, la règle est vue comme une relation entre les deux faits
(fait prémisse et fait conclusion).
Soit FA l’ensemble flou représentant un fait existant dans la base de faits sur le quel est effectué un
test dans la partie prémisse de la règle R. Soit FC le fait dans la conclusion de la règle floue R. La
règle représente une relation floue R = FA ∗ FC . On peut par exemple, représenter cette relation par la
fonction d’appartenance suivant :
Soit maintenant FB le test sur la valeur de la variable linguistique contenu dans le fait FA alors la
fonction d’appartenance µFC 0 de la conclusion résultante C 0 sera donné par :
F IG . 3.4 – Union des deux ensembles flous (age jeune) & (age vieux)
Combinaison de résultats Supposons que nous avons une règle de type FUZZY-FUZZY et dont une
partie de la conclusion : C1 concerne l’ajout d’un fait flou dans la base de faits. Supposons qu’avant le
déclenchement de cette règle, il existe déjà dans la base de fait un fait F1 qui porte sur la même variable
linguistique que C1. Dans ce cas, le déclenchement de la règle précédente implique l’ajout du fait C2
dans la base de fait qui remplacera F1, et ceci selon :
FC2 = FC1 ∪ FF 1
Autrement dit :
µFC2 (u) = max(µFC1 (u), µFF 1 (u))
La notion de defuzzification Dans certaines applications, comme les applications de contrôle il est
nécessaire et intéressant de représenter l’ensemble flou par un seul point qui sera considéré comme le
point le plus représentatif de l’ensemble. Nous appelons cette opération defuzzification. Une méthode
est la méthode du centre de gravité, elle est effectuée par le calcul du centre de gravité de tous les
points, en pondérant chaque point par son degré flou. Une deuxième méthode qui peut être utilisée est
la méthode du maximum, elle suppose que le point le plus représentatif est celui ayant le degré flou
maximal. Dans le cas de l’existence de plusieurs points, la moyenne est calculée. Noter bien que les
définitions données ici correspondent bien à des ensemble flous définis dans des univers de discours
finis. Il est possible d’étendre ces définitions bien sur les univers infinis et ceci en utilisant la notion de
l’intégrale mathématique.
quantité d’information disponibles. Supposons que nous ayons trois hypothèses A,B et C . Si aucune
information n’est disponible on associe à chacune l’intervalle [0,1]. Noter bien que cela est différente
de l’approche bayesienne qui aurait affecté à chaque hypothèse la valeur 0.33.
Contrairement à la théorie des probabilités, qui affecte à l’absence d’une hypothèse H la valeur :
1 − P (H), la théorie de Dempster-Shafer n’oblige pas que la croyance en une hypothèse soit assignée à
l’ignorance d’une autre hypothèse. Elle demande que l’assignation soit effectuée uniquement au niveau
des sous-ensembles de l’environnement.
7
car m(V ) n’est pas nécessairement égale à 1
Dempster a proposé une formule de combinaison de différentes masses pour produire une masse
résultante représentant un certain consensus. Ce résultat tend à favoriser l’acceptation en incluant les
masses se retrouvant dans les intersections :
X
m1 + m2 (Z) = m1 (X) ∗ m2 (Y )
X∩Y =Z
Par exemple, si on suppose qu’on dispose d’un autre capteur pour la détection des avions avec :
m2 ({B}) = 0.9 et m2 (V ) = 0.1 nous avons :
A partir de ces trois résultats, nous pouvons donner l’intervalle de confiance suivant : [0.9, 1] à l’élé-
ment B car la somme des confiances des trois sous ensembles est égale à 1 et les trois sous ensembles
incluent B.
F IG . 3.8 – Règle de type FUZZY-FUZZY : SI B Alors C, A étant un fait flou défini sur le même domaine
que B. C’ serait le résultat de l’activation de cette règle par A
B,C est conf30 ({B, C}) = m03 ({B, C}) + m03 ({B}) + m03 ({C}) = 0.07 + 0.9 + 0 = 0.97
De même la plausibilité associée à un sous ensemble donnée est pl(X) = 1 − conf (X 0 ), X 0 étant
le complément de X. Par exemple, pl({B, C}) = 1 − conf ({A} = 1 − m03 ({A}) = 1. Par conséquent,
l’intervalle de confiance associée à {B, C} est I({B, C}) = [0.97, 1].
Nous pouvons voir la plausibilité en X comme étant le degré avec lequel l’évidence ne parvient pas
à réfuter X. Ainsi, nous définissons l’ignorance de X par igr(X) = pl(X) − conf (X), et le doute de
X par : dbt(X) = conf (X 0 ) = 1 − pl(X).
Normalisation de la confiance Supposons dans l’exemple suivant, que nous ayons un troisième cap-
teur avec les masses suivantes : m3 ({A}) = 0.95 et m3 (V ) = 0.05. La combinaisons des trois évidences
nous donnent les résultats suivants :
m1 + m2 + m3 ({A}) = 0.0285
m1 + m2 + m3 ({B}) = 0.045
m1 + m2 + m3 ({B, C}) = 0.0015
m1 + m2 + m3 ({V }) = 0.0015
m1 + m2 + m3 ({φ}) = 0
Nous remarquons que la somme de toutes les masses est inférieure
P à 1. Pour résoudre ce problème
nous divisons chaque combinaisons élémentaire par 1 − k avec k = X∩Y =φ m1 (X) ∗ m2 (X).
Dans l’exemple k = 0.855 + 0.0665 = 0.9215 ; et les nouveaux résultas sont :
m1 + m2 + m3 ({A}) = 0.363
m1 + m2 + m3 ({B}) = 0.573
m1 + m2 + m3 ({B, C}) = 0.045
m1 + m2 + m3 ({V }) = 0.019
Par conséquence, la confiance associée à {B} est conf ({B}) = 0.573 la plausibilité est pl({B}) =
1 − conf ({A, C}) avec conf ({A, C}) = m1 + m2 + m3 ({A, C}) + m1 + m2 + m3 ({A}) + m1 + m2 +
m3 ({C}) = 0 + 0.363 + 0 = 0.363.
Et donc, l’intervalle de confiance associé à B est I({B}) = [0.573, 0.637].
Retenons bien que la formule générale de la règle de Dempster de combinaison est :
P
m1 (X) ∗ m2 (Y )
m1 + m2 (Z) = X∩Y =Z
1−k
.
X
k= m1 (X) ∗ m2 (X)
X∩Y =φ
.
Représentation de connaissances
Dans la littérature, plusieurs schémas de représentation de connaissances ont été proposés et implé-
mentés. Nous pouvons les classer en quatre catégories :
les schémas de représentations logiques La logique est utilisée pour représenter la base de connais-
sances. Les règles d’inférence appliquent cette connaissance aux éléments du problèmes. La lo-
gique du premier ordre (le calcul des prédicats) est un exemple de cette catégorie. Prolog est un
langage idéal pour l’implémentation de ces représentations.
les schémas de représentations procédurales Les connaissances sont représentées par un ensemble
d’instructions pour la résolution d’un problème. Par exemple dans les systèmes à base de connais-
sances chaque règle de la forme si .. alors est une procédure qui permet de résoudre un sous but
du problème.
les schémas de représentations en réseaux sémantiques Les réseaux sémantiques représentent les
connaissances comme étant un graphe. Les nøeuds correspondent aux objets (concepts dans le
30
4.2. ASPECTS DE LA REPRÉSENTATION DE CONNAISSANCES Page 31
domaine). Les arcs représentent les relations ou les associations. On parle des réseaux séman-
tiques et de graphes conceptuels.
les schémas de représentations en objets structurés Ces schémas de représentation peuvent être consi-
dérés comme une extension des réseaux sémantiques, en admettant que le nøeud peut corres-
pondre à une structure complexe qui représente un objet encapsulant des attributs, des valeurs et
encore des procédures pour effectuer des tâches données. On parlera des Scripts, des Frames et
des objets.
peut respirer
Animal a peau
Est un
voler
peut
oiseau a ailes
Est un
Ne peut pas
voler
Autruche est grande
F IG . 4.1 – Théorie d’association : exemple
– réduction de la taille de la base de connaissances en " factorisant " les connaissances communes.
– Maintenance et consistance de la base de connaissances surtout quand on ajoute des nouvelles
concepts ou objets.
Les modifications apportées aux relations sont libellées par : passé(p), futur(f) et conditionnelles (c)
et ceci dans le but de leur associer un temps d’action.
commun minimal et un sous-type commun maximal. Dans le treillis, > indique le type universel qui est
supérieur à tous les types. Et ⊥ indique le sous type de tous les types.
toto) correspond à la formule ∃X∃Y (chien(X) ∧ coleur(X, Y ) ∧ noir(Y )). Il existe un algorithme
nous permettant d’extraire la formule en logique de prédicats correspondante à un graphe conceptuel :
1. Attribuer à chaque concept générique une variable unique.
2. Attribuer une constante unique à chaque concept individuel. Cette constante peut être le nom ou
l’identificateur.
3. Représenter chaque concept par un prédicat unaire ayant comme nom le type du nøeud et comme
arguments les variables ou les constantes attribuées à ce nøeud.
4. Représenter chaque relation entre concepts d’arité n par un prédicat d’arité n, qui a également le
même nom. Un argument du prédicat doit correspondre à la variable ou la constante attribuée au
concept lié à cette relation.
5. Prendre la conjonction des expressions atomiques obtenues. Les variables seront quantifiées par
des quantificateurs existentiels.
objet
Pizza objet
neg
Par exemple le graphe conceptuel donné par la figure 4.2 donne lieu à l’expression logique :
[1] R. Forsyth. Expert Systems : Principles and Case Studies. Chapman and Hall, 1984.
[2] P. Jackson. Introduction to Expert Systems. Addition-wesley, 1986.
[3] G.F. Luger and W.A. Stubblefield. Artificial Intelligence : Structures and Strategies for Complex
Problem Solving. Addition-wesley, 1999.
[4] S. Russel and P. Norvig. Artificial Intelligence : A Modern Approach. Prentice-Hall International,
Inc., 1995.
38