Académique Documents
Professionnel Documents
Culture Documents
ENSSAT Lannion
LSI 2
INTELLIGENCE ARTIFICIELLE :
LES SYSTEMES EXPERTS
François Denis
Laboratoire d’Informatique fondamentale, Marseille
Laurent Miclet
ENSSAT-IRISA, Lannion
Janvier 2006
Première version mars 2002
2
Table des matières
1 Introduction 3
1.1 Qu’est-ce qu’un système expert? . . . . . . . . . . . . . . . . 3
1.2 Un système expert célèbre : MYCIN . . . . . . . . . . . . . . 5
1.3 Le cycle de vie d’un système expert . . . . . . . . . . . . . . . 8
1.4 Systèmes experts et générateurs de systèmes experts . . . . . 8
1.5 Un exemple introductif . . . . . . . . . . . . . . . . . . . . . . 8
2 La base de connaissances 10
2.1 La base de faits . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1 Mémoire de travail . . . . . . . . . . . . . . . . . . . . 10
2.1.2 Le type d’un fait . . . . . . . . . . . . . . . . . . . . . 10
2.1.3 La valeur d’un fait . . . . . . . . . . . . . . . . . . . . 10
2.1.4 Les formules ou conditions . . . . . . . . . . . . . . . . 11
2.1.5 Métafaits et métavaleurs . . . . . . . . . . . . . . . . . 11
2.2 La base de règles . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Les métarègles et la métaconnaissance . . . . . . . . . . . . . 13
1
4.2 Comment raisonner? . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Une introduction aux réseaux bayésiens . . . . . . . . . . . . 28
4.3.1 Représentation des connaissances . . . . . . . . . . . . 29
4.3.2 Le raisonnement . . . . . . . . . . . . . . . . . . . . . 33
6 Conclusion 38
7 Exercices 39
7.1 Extraction des connaissances . . . . . . . . . . . . . . . . . . 39
7.2 Saturer la base de règles . . . . . . . . . . . . . . . . . . . . . 41
7.3 Arbres de décision et systèmes experts . . . . . . . . . . . . . 43
7.4 Chaînage avant - Chaînage arrière . . . . . . . . . . . . . . . 43
7.5 Chaînage mixte - les questions pertinentes . . . . . . . . . . . 43
7.6 Formalisation des connaissances . . . . . . . . . . . . . . . . . 45
7.7 Un système expert . . . . . . . . . . . . . . . . . . . . . . . . 47
7.8 Un système expert au zoo (DS 99-00) . . . . . . . . . . . . . . 48
7.9 Un système expert bancaire (DS 98-99) . . . . . . . . . . . . . 49
7.10 Implication et probabilité conditionnelle . . . . . . . . . . . . 51
2
1 Introduction
1.1 Qu’est-ce qu’un système expert ?
Un système expert est un logiciel qui reproduit le comportement d’un
expert humain accomplissant une tâche intellectuelle dans un domaine précis.
On peut souligner les points suivants :
– les systèmes experts sont généralement conçus pour résoudre des pro-
blèmes de raisonnement, de classification ou de décision (diagnostic
médical, prescription thérapeutique, régulation d’échanges boursiers...
)
– les systèmes experts sont des outils de l’intelligence artificielle, c’est-
à-dire qu’on ne les utilise que lorsqu’aucune méthode algorithmique
exacte n’est disponible ou praticable
– un système expert n’est concevable que pour les domaines dans lesquels
il existe des experts humains. Un expert est quelqu’un qui connaît un
domaine et qui est plus ou moins capable de transmettre ce qu’il sait :
ce n’est par exemple pas le cas d’un enfant par rapport à sa langue
maternelle.
Un système expert est composé de deux parties indépendantes :
– une base de connaissances elle-même composée d’une base de règles
qui modélise la connaissance du domaine considéré et d’une base de
faits qui contient les informations concernant le cas que l’on est en
train de traiter
– un moteur d’inférences capable de raisonner à partir des informa-
tions contenues dans la base de connaissance, de faire des déductions,
etc.
Le rôle du cogniticien est de soutirer leurs connaissances aux experts
du domaine et de traduire ces connaissances dans un formalisme se prêtant
à un traitement automatique, c’est-à-dire en règles. Ces deux tâches sont
aussi délicates l’une que l’autre. En effet, un expert est la plupart du temps
inconscient de la majeure partie de son savoir ; et s’il arrive à en exprimer une
partie, c’est souvent sous une forme qui ne se laisse pas facilement formaliser.
De plus l’extraction de connaissances peut avoir un effet perturbant sur
l’expert : il est bien connu que si l’on demande à un maître aux échecs de
réfléchir à sa manière de jouer, on observera une baisse de ses performances
dans les jours ou les semaines qui suivent cet effort d’introspection.
L’indépendance entre la base de connaissances et le moteur d’inférences
est un élément essentiel des systèmes experts. Elle permet une représentation
3
Interface cogniticien
Base de règles
Interface utilisateur
Moteur
d’inférences
Base de faits
Base de connaissances
des connaissances sous forme purement déclarative, c’est-à-dire sans lien avec
la manière dont ces connaissances sont utilisées. L’avantage de ce type d’ar-
chitecture est qu’il est possible de faire évoluer les connaissances du système
sans avoir à agir sur le mécanisme de raisonnement 1 .
Dans la réalité, les choses se passent de manière un peu moins idéale et il
est souvent nécessaire d’organiser la base de connaissances, de réfléchir sur
les stratégies d’utilisation des règles, etc.
1. Il en est de même pour nous : un accroissement ou une modification de nos connais-
sances n’entraîne pas nécessairement une restructuration en profondeur de nos mécanismes
de fonctionnement.
4
Le système expert est souvent complété par des interfaces plus ou moins
riches permettant un dialogue avec les utilisateurs, l’idéal étant une interface
en langage naturel.
.............................................................
1) Please enter information about the patient.
- Name : Sally
- Age : 42 years
- Sex : Female
- Race : Caucasian
2)
Are there any positive cultures obtained from SALLY?
YES
3)
Please enter information
- site : CSF
- date collected : 3-Jun-75
5
- stain 2 examinated : Yes
- method of collection (urine, sputum 3 , smear 4 ) :
URINE AND SMEAR
4)
Stain of smear (type NONE if no organism was seen on the smear)
NONE
.............................................................
... N.B. Ici, une série de questions et de réponses sur les "positive
cultures"
.............................................................
13)
Has SALLY recently has symptoms of persistent headache or other ab-
normal neurologic symptoms (dizziness, lethargy, etc)?
Yes
14)
Has SALLY recently had objective evidence of abnormal neurologic si-
gns (nuchal rigidity, coma, seizures, etc.) documented by physician ob-
servation or examination?
Yes
The CSF cultures will be considered to be associated with MENINGI-
TIS.
.............................................................
...
.............................................................
34)
Is the meningitis a hospital-acquired infection?
No
35)
Is SALLY’s clinical history consistent with EPIGLOTTITIS?
No
36)
Is SALLY’s clinical history consistent with OTITIS-MEDIA?
No
37) Has the patient ever been to an area that is endemic for coccidio-
mycoses?
Unknown
38) Is SALLY a burn patient?
Why?
.............................................................
2. tache
3. salive
4. frottis
6
[i.e. WHY is it important to determine whether SALLY has been se-
riously burned?]
.............................................................
[4.0] This will aid in determining the organisms (other than those seen
on cultures or smears) which might be causing the infection. It has
already been established that
[4.1] the infection which requires therapy is meningitis, and
[4.2] organisms were not seen on the stain of the pending csf culture
(CULTURE-1), and
[4.3] the type of the infection may be bacterial
Therefore, if [4.4] SALLY has been seriously burned then there is sug-
gestive evidence that Pseudomanas-aeruginosa is one of the organisms
(other than those seen on cultures or smears) which might be causing
the infection [RULES578]
[back to question 38 ...]
How 4.3?
.............................................................
[i.e. HOW was it established that the type of the infection may be
bacterial?]
.............................................................
The following rules concluded about: the likelihood that the type of the
infection may be bacterial.
[4.5] RULE500 (0.4)
[4.6] RULE501 (0.17)
[4.7] RULE502 (0.1)
[4.8] RULE503 (0.42)
[4.9] RULE504 (0.28)
Thus, it has been established that the type of the infection may be bac-
terial.
My therapy recommendations will be designed to treat for organisms
that either are very likely or, although less likely, would have a signi-
ficant effect on therapy selection if they were present. It is important
to cover for the following probably infection(s) and associated orga-
nism(s):
INFECTION-1 is MENINGITIS +
ITEM-1 : MYCOBACTERIUM-TB [from clinical evidence only]
ITEM-2 : COCCIDIOIDES [from clinical evidence only]
ITEM-3 : CRYPTOCOCCUS [from clinical evidence only]
.............................................................
On remarque dans le dialogue ci-dessus (cf l’item 38), que MYCIN est ca-
pable d’expliquer son raisonnement mais aussi d’expliquer pourquoi il pose
7
une question, c’est-à-dire en quoi les réponses que fournira l’utilisateur in-
terviendront dans son raisonnement. Cette aptitude est essentielle. Nous
avons naturellement déjà beaucoup de réticences à accepter un avis ou un
conseil provenant d’autres personnes, lorsque ces interventions se font dans
nos propres domaines de connaissances. C’est a fortiori le cas lorsqu’il s’agit
d’une machine. Un médecin n’acceptera le diagnostic d’un système expert
que si celui-ci arrive à le convaincre de la justesse de ses conclusions, c’est-à-
dire de la correction de son raisonnement. Indépendamment de leur qualité
dans leur domaine déxpertise, les sytèmes experts ne s’intégreront dans une
société humaine qu’à mesure qu’ils seront capables de nouer un véritable
dialogue avec leurs utilisateurs.
On trouvera dans [3] une étude assez détaillée de MYCIN.
8
partie droite de cette règle. Si BF contient alors à la fois un fait établi et le
même non établi, on ne garde que le fait établi.
Si plusieurs règles sont ainsi applicables, on on choisit une (par exemple
la première). On se donne aussi une possibilité de retour en arrière en cas
d’impasse.
Enoncé
BF = {H,B,X,C}
Cette BF vient par exemple de ce que l’utilisateur a demandé d’établir
si H est V RAI ou F AU X alors que les connaissances courantes sont que B,
X et C sont établis (sont connus comme étant V RAI ou F AU X).
BR
1. P ⊢ B,E,D
2. A,B ⊢ D,G
3. A ⊢ C,P ,K
4. D,L ⊢ C,Y
5. E ⊢ D,M
6. H ⊢ A,L
7. H,W ⊢ Z
8. P ,L ⊢ W
Il est à noter qu’un fait peut avoir à être établi dans une règle et pas
dans une autre. Le fait C est dans ce cas dans les règles 3 et 4. La règle 3
signifie : "pour établir la valeur de vérité de l’hypothèse A, il suffit que C et
K soient des faits établis dans la base de faits BF et que P soit un fait non
établi dans BF .
Une solution
1. Règles applicables : 6. Règle choisie : 6. BF = {B,X,C,L,A}
2. Règles applicables : 2,3. Règle choisie : 2. BF = {B,X,C,L,D,G}
3. Règles applicables : 4. Règle choisie : 4. BF = {B,X,C,L,Y,G}
4. Règles applicables : aucune. Retour au dernier choix. BF = {B,X,C,L,D,G}
5. Règles applicables : aucune. Retour au dernier choix. BF = {B,X,C,L,A}
6. Règles applicables : 3. Règle choisie : 3. BF = {B,X,C,L,K,P }
7. Règles applicables : 1,8. Règle choisie : 1. BF = {B,X,C,L,K,D,E}
8. Règles applicables : 4,5. Règle choisie : 4. BF = {B,X,C,L,K,Y,E}
9. Règles applicables : 5. Règle choisie : 5. BF = {B,X,C,L,K,Y,M,D}
10. Règles applicables : 4. Règle choisie : 4. BF = {B,X,C,L,K,Y,M }
Commentaire : Si on applique les règles dans la priorité inverse, la résolution
est directe par la séquence : 6, 3, 8. Ce genre de choix ne peut être aidé que
par des métarègles (voir 2.3).
9
2 La base de connaissances
La base de connaissances est composée de faits et de règles.
10
- inconnue si aucune valeur ne lui a été attribuée et si aucune question à
son sujet n’a été posée à l’utilisateur
- indéterminée si le système ne lui a attribué aucune valeur et si l’utili-
sateur a répondu "je ne sais pas" à une question concernant sa valeur.
On parle aussi de fait établi pour un fait dont la valeur est connue, et de
fait à établir pour un fait dont la valeur est inconnue (donc, de valeur soit
inconnue, soit indéterminée).
11
peuvent pas faire l’objet de cette question directe. Il n’est pas envisageable
par exemple qu’un médecin demande à son patient
"quelle maladie avez-vous?"
ni qu’un juge demande à la personne comparaissant devant lui
"à quelle peine dois-je vous condamner?
Un système expert doit donc savoir si un fait est demandable ou non.
Donc,
demandable(diagnostic)
est un métafait booléen.
F ait = valeur
ou
[F ait = valeur] ⊢ C1 , · · · ,Cn
Déclencher une règle consiste à remplacer ses prémisses par sa conclusion (en
chaînage avant, voir 3.4.1), ou sa conclusion par ses prémisses (en chaînage
arrière, voir 3.4.2).
Exemple :
Si [population ≥ 200000] et [ville-universitaire]
Alors [cinémaArtEtEssai=VRAI]
12
Si [revenu-imposable = connu] et [quotient-familial = connu]
Alors [calculerMontantImpot=VRAI]
13
3. Si le site de la culture est non stérile et Si il existe des règles men-
tionnant dans leurs prémisses un organisme déjà rencontré auparavant
chez le patient et qui peut être le même que celui dont on recherche
l’identité Alors il est sûr qu’aucune d’entre elles ne peut servir
L’organisation d’une base de connaissances au moyen de méta-règles reste
essentiellement déclarative, par opposition à une organisation basée sur une
structuration a priori de l’ensemble des règles (écrire les règles dans un ordre
donné). D’un point de vue algorithmique, on remarquera que l’utilisation
d’un ordre fixe sur les règles autorise la programmation récursive en essais
successifs. Par contre, si on veut choisir à tout moment quelle règle appli-
quer parmi les règles applicables, il vaut mieux programmer itérativement
en PSEP.
3.2 L’évaluation
3.2.1 La sélection (ou restriction)
On est dans un état BF de la base de faits. Etant donnés BF et BR, la
base de règles, on cherche à déterminer un sous-ensemble F1 de BF et un
sous-ensemble R1 de BR qui méritent a priori d’être mis en présence lors de
l’étape de filtrage.
C’est entre autres à ce stade que les métarègles sont utilisées, en particu-
lier celles qui sont liées au problème. Par exemple on peut regrouper en blocs
les règles qui sont fréquemment utilisées ensemble et parcourir BR bloc par
bloc.
14
3.2.2 Le filtrage ou pattern-matching
En chaînage avant (voir 3.4.1), on compare la partie prémisses des règles
de R1 avec l’ensemble des faits.
En chaînage arrière (voir 3.4.2), on compare la partie conclusion des règles
de R1 avec le sous-but à atteindre.
Dans les deux cas, on détermine un ensemble R2 de règles qu’il est pos-
sible de déclencher, appelé ensemble de conflit.
15
– le chaînage mixte
On remarquera que les moteurs d’inférence décrits ci-dessous le sont indépen-
damment de tout domaine d’application. Cette séparation entre connaissance
et raisonnement est essentielle pour les systèmes experts.
16
implantées dans MYCIN au paragraphe 2.3.
Exemple :
Soit BF = {B,C} et soit H le fait à établir 6
Soit BR composée des règles :
1. Si B et D et E Alors F
2. Si G et D Alors A
3. Si C et F Alors A
4. Si B Alors X
5. Si D Alors E
6. Si X et A Alors H
7. Si C Alors D
8. Si X et C Alors A
9. Si X et B Alors D
L’algorithme précédent appliqué à ces paramètres prouve que H se déduit de
la base de connaissances. En effet :
17
Remarques :
18
A A
\
\
ET
ET
\
ET B C
\
\
\
B C
Enrichissement de l’algorithme
On peut enrichir l’algorithme de chaînage arrière en tenant compte du
caractère demandable ou non d’un fait. Dans ce cas, lorsqu’un fait deman-
dable n’a pas encore été établi, le système le demandera à l’utilisateur avant
d’essayer de le déduire d’autres faits connus. Mais pour que ce mécanisme
soit efficace (ce qui implique entre autres qu’il n’agace pas l’utilisateur en
posant des questions stupides), il faut que le moteur d’inférences soit capable
de déterminer quelles sont les questions pertinentes. Et ce problème est loin
d’être simple.
Considérons par exemple la base de règles suivante :
Si B et C Alors A
Si D et E Alors A
Si F et G Alors A
Si I et J Alors G
Si J Alors ¬ E
On suppose que les faits B, D, F et I sont les seuls faits demandables.
La mémoire de travail est initialisée avec l’information J est vrai.
La question posée au système est : A est-il V RAI ?
Quelles sont les questions pertinentes à poser à l’utilisateur?
– B est-il V RAI ? n’est pas une question pertinente. En effet, aucune
règle ne conclut sur le fait C qui n’est pas non plus demandable. Comme
le fait B ne peut être utilisé que conjointement à C, la valeur de vérité
de B n’apportera aucune information sur celle de A
– D est-il V RAI ? n’est pas non plus pertinente. En effet, comme on
sait que J est vrai, que cela implique que E est faux et que D n’est
utilisé que conjointement à E, la valeur de vérité de D est inutile pour
connaître celle de A
19
H
(
ET
((((((( Z
(( Z
(((( Z
(((( Z
X A
B ∈ BF OU
``
ZZ`````
Z ```
Z ```
``
Z
ET ET inutile
Z Z
Z Z
Z Z
Z
Z Z
G (échec) inutile C ∈ BF F
ET...
Fig. 3 – Une visualisation du raisonnement en chaînage arrière par un arbre
ET-OU (début)
– F est-il V RAI est par contre pertinente. En effet, le fait G est encore
déductible. Mais si la réponse à cette question est NON, la question I
est-il V RAI ? n’est plus pertinente car la valeur de G ne sert plus à
rien.
20
...ET
XXXXX
XXX
XXX
X
B ∈ BF D E
OU D ∈ BF
Z
Z
Z
Z
C ∈ BF inutile
21
Quand on travaille en ordre 1, les règles peuvent comporter des variables
quantifiées. Le chaînage avant s’appuie sur l’existence d’une règle dont la
prémisse est de la forme P (x) et la conclusion de la forme Q(x) (x est une
variable). S’il existe un fait établi P (a) dans la base de faits, on peut alors y
ajouter Q(a). Il s’agit d’une combinaison du modus ponens et de la spécia-
lisation universelle, qui énonce : "Si R(x) est VRAI quelque soit x, Alors
R(a) est VRAI". C’est un cas particulier de la résolution par unification.
L’inférence logique utilisée en chaînage arrière est fondamentalement la
même ; c’est l’organisation des enchainements des raisonnements élémen-
taires qui est différente.
22
dans un moteur d’inférence d’ordre 0 (logique des propositions). Ici, on s’in-
téresse au fait que ces structures sont aussi adaptées à la logique du premier
ordre. Les raisonnements correspondants au déclenchement des règles (es-
sentiellement à base d’unification) peuvent se traduire par des modifications
dans ces graphes.
Voyons sur des exemples la notion d’unification 8 et les deux modes de
raisonnement dans ce formalisme.
Unification
La règle R : ∀x,A(x) ⇒ B(x) et le fait F se résolvent en B(F ) par
l’unification représentée graphiquement sur la Figure 5 (à lire de haut
en bas).
A(F )
Unification (F/x)
A(x)
Application de R
B(F )
BR
23
La règle R2 est logiquement équivalente à R1 . Elle a été rajoutée pour
la facilité de la construction. D’une manière générale, savoir comment
compléter ainsi la base de règles n’est pas un problème simple. La figure
6 donne l’arbre ET/OU correspondant.
Unification (F/z)
BRU Y AN T (z)
24
BR
Règle R5 R2
M IAU LE(x) suite...
Unification (M/x)
M IAU LE(M )
25
...suite
a aa
aa
ET aa ET
a
¬ABOIE(y) SY M P A(y)
3.7 La monotonie
Un fonctionnement monotone signifie que :
– aucune connaissance ne peut être retirée de la base de faits BF ni de
la base de faits BR
– l’ajout d’une connaisance à BF n’y introduit pas de contradiction lo-
gique
En principe, un système expert est monotone puisque son raisonnement est
fondé sur une résolution logique. En pratique, beaucoup de réalisations en-
richissent le fonctionnement à une non-monotonie contrôlée. Il est courant
que certaines règles puissent être inhibées durant certaines phases en suivant
des métarègles. Par exemple, si la stratégie de résolution est basée sur la
planification, des faits provisoires peuvent être ajoutés à BF .
26
4 La représentation des connaissances incertaines
et le raisonnement sur l’incertain
4.1 Comment représenter des connaissances incertaines?
Un des plus grand problèmes que rencontre le cogniticien lorsqu’il tente
de formaliser le savoir d’un expert, c’est que celui-ci est capable de raisonner
sur des connaissances incertaines et qu’on ne dispose que de très peu d’outils
pour rendre compte de cette capacité.
Un médecin par exemple n’est jamais totalement sûr que tel symptôme
est signe de tel maladie, que tel médicament sera supporté par le malade,
que le malade guérira, etc.
On peut reconnaître globalement un objet sans être capable d’identifier
à 100 pour cent chacun de ses détails.
L’observation du temps qu’il fait ne permet pas de savoir avec certitude
s’il pleuvra ou non une heure plus tard.
On peut utiliser la théorie des probabilités pour définir la vraisemblance
d’un fait. De nombreux générateurs de systèmes experts offrent la possibilité
aux utilisateurs de nuancer leur certitude concernant un fait en leur associant
un degré de vraisemblance.
"Reconnaissez-vous votre agresseur sur cette photo? "
"Oui, enfin c’est-à-dire, non. En fait, je le reconnais à 72 %"
Cette technique permet aussi de graduer une sensation.
"Avez-vous très mal à la tête? Ou seulement, un peu mal "
"Sur une échelle qui associerait 0 au fait de ne pas avoir mal à la
tête et 1 au fait de ne pas pouvoir le supporter, je dirai que j’ai
mal à la tête avec un coefficient 0,45 "
Les exemples qui précèdent révèlent une des principales difficultés de
cette méthode : il n’est pas raisonnable d’attendre d’un être humain, expert
ou non, qu’il puisse définir avec précision de tels degrés de vraisemblance.
27
et, dans ce cadre, de supposer que les faits A et B sont indépendants. Voilà
qui pose quelques questions :
– Comment définir un cadre probabiliste rigoureux?
– Comment s’assurer que deux faits sont indépendants?
– Comment faire s’ils ne le sont pas?
– Comment rendre compte par une règle d’une connaissance du type
le fait que A soit vrai rend B plus vraisemblable?
De nombreux travaux en Intelligence Artificielle sont consacrés à ces ques-
tions. Ils utilisent des techniques variées parmi lesquelles on peut citer :
– la logique floue qui explore la voie esquissée plus haut consistant à
associer des coefficients de vraisemblances à des faits
– les logiques modales qui introduisent des opérateurs comme "il est pos-
sible que" ou "il est nécessaire que"
– les logiques non monotones qui étudient la possibilité de réviser un
raisonnement (si on me dit que TITI est un oiseau, j’en déduis qu’il vole
mais si l’on ajoute que TITI est une autruche, je révise mon inférence)
– les raisonnements probabilistes : par exemple les réseaux bayésiens que
nous abordons plus en détail au paragraphe suivant.
28
On peut isoler quatre faits dans cet univers, associés à une probabilité
d’être V RAI : ma pelouse est mouillée, celle de mon voisin aussi, il a plu
cette nuit, j’ai oublié de fermer mon arroseur. Clairement, les données de
départ sont que ma pelouse est certainement mouillée et que celle de mon
voisin l’est avec une forte probabilité. D’autre part, je connais les relations
de cause à effet suivantes :
Si il a plu cette nuit Alors ma pelouse est mouillée
Si il a plu cette nuit Alors la pelouse de mon voisin est mouillée
Si j’ai oublié de fermer mon arroseur Alors ma pelouse est mouillée
Ma pelouse est humide soit à cause d’une averse nocturne, soit du fait
de mon oubli (ou des deux). Les deux causes sont a priori plausibles. Mais
observer la pelouse de mon voisin me dit qu’il a très probablement plu cette
nuit. Donc, cette averse devient beaucoup plus vraisemblable comme cause
de l’humidité de ma pelouse. Je peux partir avec la quasi-certitude de ne pas
gaspiller d’eau. Les réseaux d’inférences bayésiens sont des modèles qui per-
29
système expert en logique des propositions sur lequel un calcul probabiliste
aurait été ajouté. Disons qu’ils sont un compromis entre les méthodes bayé-
siennes naïves et des systèmes experts probabilisés. Des seconds, ils héritent
d’une description de l’univers sous forme de raisonnement ; des premiers, ils
conservent la cohérence mathématique et la capacité d’apprentissage.
Structure
Un réseau d’inférence bayésien, ou réseau bayésien, est construit sur un
graphe orienté sans cycle 10 . Nous emploierons donc ici le vocabulaire clas-
sique de la théorie des graphes : par exemple, un noeud V sera dit descen-
dant d’un noeud W s’il existe un chemin (une suite d’arcs, ici orientés) entre
V et W . Les termes de parent, descendant direct ou fils, descendant, non-
descendant et ancêtre seront utilisés (des exemples sont donnés sur la Figure
10). Chaque noeud d’un réseau bayésien porte une étiquette qui est un des
A B C
D E
F G
attributs du problème. Ces attributs sont binaires, pouvant prendre avec une
certaine probabilité la valeur V RAI ou F AU X, ce qui signifie qu’une va-
riable aléatoire est associée à chaque attribut. Comme à chaque noeud est
associée un attribut, donc une variable aléatoire différente, nous pouvons
confondre par la suite un noeud, un attribut et la variable aléatoire associée.
Nous noterons la probabilité que la variable X soit vraie par p(X =
V RAI), ou, en raccourci : p(X). On a évidemment : p(X = F AU X) = 1 −
p(X = V RAI), ce que nous notons : p(¬X) = 1 − p(X).
Contraintes et propriétés
Pour rendre le modèle opérationnel, il faut imposer une contrainte sup-
plémentaire. La règle de fonctionnement est que chaque noeud V est indé-
10. On dit souvent : un DAG, de l’anglais directed acyclic graph
30
pendant de tout autre noeud qui n’est pas son descendant, mais indépendant
sachant les parents de V . Ou encore :
Dans un réseau bayésien, tout noeud est conditionnellement indépendant
de ses non-descendants, sachant ses parents.
En termes plus formels, notons A(V ) n’importe quel ensemble de noeuds
qui sont pas des descendants de V et P(V ) l’ensemble des parents de V . Ceci
s’écrit :
p(V | A(V ),P(V )) = p(V | P(V )) (1)
Autrement dit, l’ensemble des valeurs p(V | P(V )), avec V parcourant l’en-
semble des noeuds du graphe, suffit à déterminer complètement l’ensemble
de toutes les probabilités conditionnelles d’un réseau bayésien.
Si on tient compte de la structure du graphe, on démontre que cette
condition peut se mettre sous la forme équivalente :
Soit V = {V1 , . . . ,Vk } l’ensemble des noeuds du graphe :
Y
k
p(V1 , . . . ,Vk ) = p(Vi | P(Vi )) (2)
i=1
Exemple
Nous empruntons à [Nil98] l’exemple dont le graphe est donné à la Fi-
gure 11. Ce réseau traduit le comportement d’un robot dont l’univers est
B L
G M
31
Par conséquent, B et L ont une influence directe sur M ; ce sont donc ses
noeuds parents. De même, B a une influence directe sur G. Ce dernier cas
signifie simplement que, selon que la batterie est plus ou moins chargée, la
jauge est plus ou moins haute.
La spécification complète d’un réseau bayésien doit affecter à chaque
variable toutes les probabilités conditionnelles significatives. Compte tenu
des dépendances de notre exemple, il faut donc d’abord spécifier les valeurs
p(B) et p(L) qui sont non conditionnelles, puisque les noeuds correspon-
dants sont tous les deux sans ancêtres. Notons que les variables B et L sont
indépendantes pour la même raison. Il nous faut, pour le noeud G, don-
ner p(G | B) et p(G | ¬B) et pour le noeud M , donner quatre valeurs :
p(M | B,L),p(M | B,¬L), p(M | ¬B,L) et p(M | ¬B,¬L)
Notre exemple sera donc complet si nous lui ajoutons par exemple le
tableau :
p(B) 0.95
p(L) 0.7
p(G | B) 0.95
p(G | ¬B) 0.1
p(M | B,L) 0.9
p(M | B,¬L) 0.05
p(M | ¬B,L) 0
p(M | ¬B,¬L) 0
Ces valeurs sont données arbitrairement pour spécifier notre exemple. Par
exemple, p(G | B) = 0.95 signifie que nous posons qu’il y a 95% de chances
que la jauge soit sur "complet" quand on sait que la batterie est chargée, et
p(G | ¬B) = 0.1 qu’il y a 10% de chances que la jauge soit sur "complet"
quand on est sait que la batterie est déchargée.
Définition formelle
Compte tenu de ce qui a été dit, nous pouvons maintenant donner une
définition complète d’un réseau bayésien.
Un réseau bayésien est un couple (G,P ), avec :
– G est un graphe orienté sans cycle
– A chaque noeud de G est associée une variable aléatoire et une seule.
– Soit {V1 , . . . ,Vn } l’ensemble de ces variables aléatoires. La propriété
suivante est vérifiée :
Y
k
p(V1 , . . . ,Vk ) = p(Vi | P(Vi ))
i=1
32
avec P(Vi ) l’ensemble des variables associées aux parents du noeud
associé à Vi .
Un réseau bayésien sera donc complètement spécifié quand son graphe aura
été décrit et quand, pour chaque noeud de ce graphe, les probabilités condi-
tionnelles de ce noeud sachant chacun de ces parents auront été données.
4.3.2 Le raisonnement
Nous cherchons maintenant à calculer d’autres probabilités condition-
nelles pour exprimer l’influence des variables les unes sur les autres. Par
exemple, comment le réseau donné en exemple peut-il répondre aux ques-
tions :
– Quelle est la probabilité pour que le bras du robot se déplace sachant
que le bloc est libre?
– Quelle est la probabilité que le bloc ne soit pas libre sachant que le
bras ne se déplace pas?
– Quelle est la probabilité que le bloc ne soit pas libre sachant que la
batterie est vide et que le bras ne bouge pas?
En termes formels, il s’agit ici de calculer les probabilités conditionnelles
p(M | L), p(¬L | ¬M ) et p(¬L | ¬B¬M ). Le premier cas s’appelle une
inférence causale ou descendante : en effet, le noeud L est un ancêtre du
noeud M . On peut donc considérer L comme une cause de M . Mais cela
ne veut pas dire qu’il n’y ait pas de dépendance inverse. Le second calcul
s’appelle une inférence ascendante ou un diagnostic : il s’agit de comprendre
une variable par ses conséquences. Le troisième cas est une combinaison des
deux premiers, appelée une explication.
D’une manière générale, le calcul de ces probabilités conditionnelles se
base sur la formule de Bayes :
p(X1 , . . . ,Xn ) = p(Xn | Xn−1 , . . . ,X1 )p(Xn−1 | Xn−2 , . . . ,X1 ) . . . p(X2 | X1 )p(X1 )
soit :
Y
n
p(X1 , . . . ,Xn ) = p(Xi | Xi−1 , . . . ,X1 )
i=1
33
Pour trois variables :
P (X,Y,Z) = P (Z | X,Y )P (X,Y )
= P (Z | X,Y )P (Y | X)P (X) (3)
= P (Z | Y,X)P (Y,X)P (X)
Un calcul d’inférence causale
Pour calculer p(M | L), il nous faut d’abord faire intervenir l’autre parent
de M :
p(M | L) = p(M,B | L) + p(M,¬B | L)
puis "conditionner" ce parent par rapport à L :
Nous savons, puisque B n’a pas de parent, que p(B | L) = p(B) et que de
même p(¬B | L) = p(¬B).
D’où :
D’où :
0.9525 × p(¬L) 0.9525 × 0.3 0.28575
p(¬L,¬M ) = = = (4)
p(¬M ) p(¬M ) p(¬M )
34
Nous ne connaissons pas p(¬M ), mais nous contournons la difficulté en le
traitant comme un facteur de normalisation en calculant, sans donner encore
une fois le détail :
p(¬M | L)p(L) 0.0595 × 0.7 0.03665
p(L | ¬M ) = = = (5)
p(¬M ) p(¬M ) p(¬M )
p(¬L | ¬M ) = 0.88632
p(¬M |¬B,¬L)p(¬B|¬L)p(¬L)
= p(¬B,¬M ) par définition
des probabilités conditionnelles
p(¬M |¬B,¬L)p(¬B)p(¬L)
= p(¬B,¬M ) car B et L sont indépendants
Tous les termes de cette expressions sont définies avec le réseau, sauf p(¬B,¬M ),
que l’on peut calculer par diagnostic. On trouve finalement :
On peut remarquer que cette valeur est inférieure à p(¬L,¬M ), ce qui est
consistant avec l’intuition : savoir en plus que la batterie du robot n’est pas
chargée doir réduire la probabilité que le bloc n’est pas libre sachant que le
bras ne bouge pas.
La généralisation de ce calcul à tout réseau bayésien est encore pos-
sible, mais l’organisation des calculs demande évidemment un algorithme
plus complexe.
Complexité des calculs
Comme on l’a vu ci-dessus, il est donc possible, en organisant proprement
les calculs, de dériver (à partir de la structure et des probabilités données au
départ) toutes les probabilités conditionnelles du type p(V | W), où V et W
sont des ensembles de noeuds.
35
Malheureusement, il a été démontré que ce calcul est NP-complet, c’est
à dire qu’il n’existe vraisemblablement pas, si V et W sont quelconques,
d’algorithme dont le temps de calcul soit polynomial en fonction du nombre
total de noeuds du réseau. Il faut donc chercher à réduire ce temps de calcul
en tenant compte le mieux possible de la structure, ce qui peut se faire de
deux manières. La première technique consiste à trouver une relation entre
la géométrie du graphe du réseau et l’indépendance conditionnelle de sous-
ensembles de ses noeuds. La seconde consiste à contraindre la structure pour
que les calculs se développent facilement.
36
Tâche Description Système
Interprétation
Planification Décider d’une DART
séquence d’actions employé par le gouvernement
des USA pour la logistique
du transports des troupes
durant la guerre du Golfe
Diagnostic MYCIN
maladies infectieuses
TRACKER
Utilisé par British Telecom
pour détecter les anomalies
dans les alimentations
en énergie électrique
Design Configurer XCON
sous contraintes Employé par DEC
pour configurer ses machines
en fonction du client
Prédiction Inférer PROSPECTOR
une conclusion Détection de minerais
plausible
Surveillance Suivre FRAUDWATCH
en temps réel La Barclay’s Bank s’en sert pour
détecter les fraudes
à la carte bancaire
Enseignement Aider à GUIDON
l’apprentissage Sert à apprendre
à utiliser MYCIN
Commande VM
Surveille les patients
dans une unité de soins intensifs
et suggère des interventions
Réparation TQMSTUNE
Réglage d’un
spectrogramme de masse
Déboguage ONCOCIN
surveille le traitement
de malades
sous chimiothérapie
37
– GURU (idem)
– PROLOG (c’est plus un langage de programmation qu’un générateur)
– SMECI (un générateur contemporain)
6 Conclusion
Les systèmes experts sont une des applications de l’intelligence artificielle
qui ont quitté les laboratoires de recherche pour être utilisées dans le monde
de léntreprise. De nombreux systèmes experts ont été implantés avec succès
pour résoudre des problèmes concrets. On les a même accusé d’avoir provoqué
le crach boursier de 1986, ce qui est plutôt bon signe du point de vue de l’IA !
Mais les grandes difficultés que l’on rencontre lorsqu’on cherche à ex-
traire des experts leur connaissance, puis lorsqu’on tente de formaliser ces
connaissances dégagées à grand peine, sont peut être signes d’une faiblesse
intrinsèque des systèmes experts. La possibilité de concevoir des systèmes
experts repose en effet sur une hypothèse psychologique dont il n’a pas été
question ci-dessus : la structuration de nos aptitudes en règles symboliques
parfaitement identifiables. Majoritaire chez les psychologues et chercheurs en
intelligence artificielle dans les années 70, cette hypothèse est de plus en plus
battue en brèche et l’on envisage maintenant des modèles de savoir qui n’y
ont plus recours (modèles connexionistes, systèmes adaptatifs, etc.). Il n’est
par ailleurs pas exclu que les techniques à venir utilisent à la fois des sys-
tèmes experts et d’autres techniques comme les réseaux de neurones basées
sur des hypothèses plus adaptatives que symboliques (systèmes hybrides).
38
7 Exercices
Commentaires préliminaires
L’exercice 7.1 montre que l’on n’est pas toujours conscient de ce que l’on
sait et que le travail consistant à soutirer ses connaissances à un expert n’est
pas facile. Dans cet exercice, vous êtes à la fois l’expert et le cogniticien.
Dans l’exercice 7.2, la connaissance est déjà extraite et elle est décrite en
français dans une forme qui semble très proche de la forme des règles dans
un système expert. On voit pourtant que passer de la logique d’une langue
naturelle à la logique propositionnelle n’est pas si simple qu’il y paraît. On
voit également qu’il est essentiel dans certaines applications qu’un moteur
d’inférences soit logiquement complet, c’est à dire qu’il permette d’inférer
tout ce que l’on peut logiquement déduire. L’exercice 7.5 illustre la notion
de question pertinente.
L’exercice 7.6 donne un exemple grandeur nature de (petit) système ex-
pert.
ax2 + bx + c
où a,b,c ∈ Z
Mais l’écriture usuelle de ces polynômes est parfois très éloignée de cette
description. Par exemple, si a = 1, b = −1 et c = 0, on écrira :
x2 − x
et non
1x2 + −1x + 0
Nous appliquons donc des règles identiques (ou plutôt ayant des effets iden-
tiques) de manière plus ou moins consciente (plutôt moins que plus : qui a
jamais réfléchi à ce problème?).
Il y a donc là un savoir-faire attesté et non analysé, bref matière à un
système expert.
Formalisons ce problème afin qu’il puisse être traité par un générateur
de système expert simple (faits booléens, réels ou symboliques, pas de mé-
tarègles, etc).
39
Les données en entrée sont des variables à valeurs dans Z : a, b et c.
Les sorties sont des variables :
40
9. Si (b > 1 et a = 0) Alors (sg1 = V ide, coef1 = b, var1 = x)
10. Si (b > 1 et a 6= 0) Alors (sg1 = +, coef1 = b, var1 = x)
11. Si b = −1 Alors (sg1 = −, coef1 = V ide, var1 = x)
12. Si b < −1 Alors (sg1 = −, coef1 = |b|, var1 = x)
13. Si (c = 0 et |a| + |b| = 0) Alors (sg0 = V ide, coef0 = 0)
14. Si (c = 0 et |a| + |b| =
6 0) Alors (sg0 = V ide, coef0 = V ide)
15. Si (c > 0 et |a| + |b| = 0) Alors (sg0 = V ide, coef0 = c)
16. Si (c > 0 et |a| + |b| =6 0) Alors (sg0 = +, coef0 = c)
17. Si c < 0 Alors (sg0 = −, coef0 = |c|)
Question 2 Oui, par exemple en écrivant d’abord le terme de degré 0, puis
celui de degré 1, ainsi de suite jusqu’à n. Chacun d’entre eux ne dépend que
d’informations disponibles.
41
– d : il peut résoudre une devinette
– f : il a reçu une formation convenable dans une école
– r : c’est un raton-laveur
– c : il se met à courir en tout sens et à hurler
La base de faits est alors initialisée à
BF = {r}
a ⇒ ap
¬ap ⇒ ¬a
On peut donc logiquement conclure(règle 6bis) que ¬a est vrai, puis que o est
vrai (règle 1), que c est vrai (règle 5), que ¬f est vrai (règle 7) et finalement
que ¬d est vrai.
Cet animal est donc incapable de résoudre une devinette. Pour pouvoir
le déduire par chaînage avant, il aurait fallu
– soit enrichir le mécanisme du chaînage avant de façon qu’il puisse dé-
duire toutes les conséquences logiques de la base de connaissances
– soit pour chacune des règles, faire figurer dans la base la règle et sa
contraposée
Cet exemple pourtant élémentaire montre à la fois qu’il n’est pas si facile de
formaliser une phrase en "bon français" et aussi qu’il faut veiller à la "com-
plétude logique" du mécanisme de déduction automatique que l’on souhaite
utiliser.
42
7.3 Arbres de décision et systèmes experts
Dans le calendrier grégorien, une année dont le millésime n’est pas divi-
sible par 4 n’est pas bissextile. Si par contre, son millésime est divisible par
4 mais pas par 100, elle est bissextile. Mais si son millésime est divisible par
400, elle est également bissextile.
Question
Ecrivez un arbre de décision et un système expert capables de décider si
une année est bissextile ou non. Mettez en évidence les rapports entre ces
deux modes de représentation.
43
– climat agréable (demandable)
– nombreux restaurants (demandable)
– bons restaurants (demandable)
Les règles sont :
1. Si ville historique Alors ville méritant le voyage
2. Si ville artistique Alors ville méritant le voyage
3. Si nombreuses animations Alors ville méritant le voyage
4. Si ville agréable et tradition gastronomique Alors ville méritant le
voyage
5. Si belle ville et nombreux monuments Alors ville artistique
6. Si ville ancienne et nombreux monuments Alors ville historique
7. Si nombreux concerts et nombreux théatres Alors nombreuses anima-
tions
8. Si activités sportives et traditions folkloriques Alors nombreuses ani-
mations
9. Si espaces verts et climat agréable Alors ville agréable
10. Si espaces verts et nombreux monuments Alors belle ville
11. Si nombreux restaurants et bons restaurants Alors tradition gastro-
nomique
Les solutions suivent immédiatement les questions posées.
Pour faire l’exercice, il est recommandé de cacher l’énoncé et
de le découvrir petit à petit.
L’utilisateur pose au système la question :
Utilisateur - est-ce une ville méritant le voyage?
Tous les faits sont encore déductibles. On suppose que le système choisit
la première question pertinente (dans l’ordre induit par une exploration en
profondeur d’abord de l’arbre et-ou). Laquelle est-ce?
SE - est-ce une ville ancienne?
Utilisateur - NON
Question
Quels sont les faits qui ne sont plus déductibles?
La question y a t-il de nombreux monuments est elle encore pertinente?
Quelle est la question suivante posée par le SE?
Réponse
Le fait ville historique n’est plus déductible mais nombreux monuments?
reste une question pertinente
SE - y a t-il des espaces verts?
Utilisateur - NON
44
Question
Quels sont les faits qui ne sont plus déductibles?
Quelles questions ne sont-elles plus pertinentes?
Quelle est la question suivante posée par le SE?
Réponse
Les faits ville agréable, belle ville et ville artistique ne sont plus dé-
ductibles. Les questions concernant les faits nombreux monuments, climat
agréable, nombreux restaurants et bons restaurants deviennent des questions
non pertinentes.
SE - y a t-il de nombreux concerts?
Utilisateur - JE NE SAIS PAS
Question
Quels sont les faits qui ne sont plus déductibles?
Quelles questions ne sont-elles plus pertinentes?
Réponse
Le fait nombreuses animations reste encore déductible mais la question
Y a t-il de nombreux théatres? devient non pertinente.
45
7. Coprinus : champignon à lamelles déliquescentes.
8. Cortinarius : champignon à lamelles, à spores ocracées et à pied muni
d’une cortine.
9. Entoloma : champignon à lamelles échancrées et à spores roses.
10. Gomphidius : champignon à lamelles écartées, fortement décurrentes,
colorées en gris plus ou moins foncé selon l’âge, et à spores noires.
11. Hebeloma : champignon à lamelles échancrées et à spores ocracées.
12. Hygrophorus : champignon à lamelles décurrentes, écartées et épaisses,
spores blanches.
13. Hypholoma : champignon possédant une cortine et des spores noires.
14. Inocybe : champignon à lamelles adhérentes, à spores ocracées, à cha-
peau possédant des fibrilles rayonnantes à partir du sommet et souvent
fendu radialement, cést-à-dire dans le sens des fibrilles.
15. Laccaria : champignon à lamelles écartées, de couleur rose ou violette,
décurrentes par une dent.
16. Lactarius : champignon à chair grenue et cassante et ayant du lait.
17. Lepiota : champignon à lamelles libres, à pied muni d’un anneau et
pouvant aisément se séparer du chapeau sans provoquer de déchirure ;
chapeau plus ou moins écailleux, spores blanches.
18. Marasmius : champignon se déssèchant sans pourrir, pied ne cassant
pas à la torsion, spores blanches.
19. Mycena : champignon fragile, à chapeau cônique avant d’être étalé et
à pied tubuleux.
20. Paxillus : champignon à lamelles longuement décurrentes et aisément
séparables du pied, spores ocracées.
21. Pholiota : champignon à lamelles possédant un anneau, à spores ocra-
cées.
22. Pleurotus : champignon à lamelles décurrentes, à pied excentrique et à
spores blanches.
23. Pluteus : champignon à lamelles libres et à spores roses poussant géné-
ralement sur les arbres.
24. Psalliota : champignon à pied muni d’un anneau aisément séparable du
chapeau et à spores noires.
25. Russula : champignon à chair grenue et cassante, pas de lait.
26. Stropharia : champignon à pied muni d’un anneau (souvent disparu ou
mal venu - ressemblant à une cortine) et à spores noires.
27. Tricholoma : champignon à lamelles échancrées et à spores blanches.
46
28. Volvaria : champignon ayant une volve et les spores roses.
Question
Réaliser ce système expert. Ce travail sera décomposé en plusieurs étapes :
1. Définir les faits pertinents. Décrire pour chacun déux leur type, éven-
tuellement leur domaine, etc.
2. Vérifier que les faits dégagés sont suffisants pour classer chacun des
genres. On peut pour celà représenter les genres et les faits associés sous
forme d’arbre.
3. Ecrire les règles du système expert.
4. On supposera que le moteur utilisé fonctionne en chaînage arrière et
que chaque fois qu’il sélectionne un but de la forme :
F = valeur
dans lequel F est un fait demandable qui n’a pas encore reçu de valeur, il
pose à l’utilisateur la question :
"Connaissez-vous la valeur du fait F? "
Choisissez un exemple (pas trop simple) et décrivez dans le détail ce que fait
le système que vous avez écrit sur cet exemple.
47
On utilisera le fait booléen correct dont la présence dans la base de
faits (c’es-à-dire la vérité) signifiera que l’écriture littérale est correcte.
Les autres faits pourront être symboliques ou booléens (on peut écrire
une version de ce système dans laquelle tous les faits autres que les Xi
sont booléens). Il pourra être utile d’identifier les ensembles de mots
interchangeables dans au moins un contexte.
2. Une fois que vous aurez écrit ce système, détaillez le raisonnement (par
chaînage avant ou arrière) qui lui permet de décider de la correction
éventuelle des expressions
(a) cinquante sept
(b) quatre vingt dix sept
(c) sept vingt dix huit
3. Donnez une évaluation grossière du nombre de règles nécessaires à la
réalisation d’un système expert capable de décider de la correction des
nombres de un à
(a) neuf cent quatre vingt dix neuf
(b) neuf cent quatre vingt dix neuf mille neuf cent quatre vingt dix neuf
(c) neuf cent quatre vingt dix neuf million neuf cent quatre vingt neuf
mille neuf cent quatre vingt dix neuf
Est-il envisageable d’écrire un système expert qui n’ait, dans ce do-
maine pas plus de limite qu’un expert humain?
48
9. Si un animal est un carnivore et Si il est de couleur fauve avec des
taches noires Alors c’est une panthère
10. Si un animal est un carnivore et Si il est de couleur fauve avec des
rayures noires Alors c’est un tigre
11. Si un animal est un ongulé et Si il a un long cou et Si il est de couleur
fauve avec des taches noires Alors c’est une girafe
12. Si un animal est un ongulé et Si il est de couleur blanche avec des
rayures noires Alors c’est un zèbre
13. Si un animal est un oiseau et Si il ne vole pas et Si il a un long cou
Alors c’est une autruche
14. Si un animal est un oiseau et Si il ne vole pas et Si il nage Alors c’est
un manchot
15. Si un animal est un oiseau et Si il vole bien Alors c’est un albatros
16. ...
Soudain, vous observez un animal de couleur fauve avec des taches noires
qui, tout en ruminant, plie son long cou pour regarder le petit qu’il allaite.
Question 1.
Vous choisissez de raisonner en chaînage arrière.
Quelle question allez-vous poser au gardien du zoo avant de conclure que
c’est une girafe?
NB : Quand il y a des choix à faire, choisissez une stratégie en l’expliquant.
Question 2.
Vous choisissez de raisonner en chaînage avant. Que déduisez-vous?
Solution. On peut considérer "ongulé avec un nombre pair de doigts"
comme une variable unique, et choisir (ou non) de la lier à "ongulé" en
ajoutant la règle
Si un animal est un ongulé avec un nombre pair de doigts Alors c’est
un ongulé.
On peut aussi considérer que "ongulé avec un nombre pair de doigts" se
décompose en deux variables "ongulé" et "avec un nombre pair de doigts".
Dans ce cas, la règle 8 prend une forme non clausale.
Si on considère "ongulé avec un nombre pair de doigts" comme une va-
riable unique et qu’on n’ajoute pas là règle ci-dessus, il faut poser la question :
l’animal a-t’il des sabots ?
Dans les autres cas, il n’y a pas de question à poser.
Une autre manière de faire est d’affaiblir la règle 8 en :
Si un animal est un mammifère et Si il rumine Alors c’est un ongulé
ce qui permet de conclure.
49
En chaînage avant : les règles 2, 8 (affaiblie) et 11 mènent à la solution.
Si 8 n’est pas affaiblie, on ne peut pas conclure, sauf en ajoutant la variable
"ongulé" et la règle précédente.
1 Si MB Alors CO 0.8
2 Si AP Alors CO 0.7
3 Si RA Alors RE 0.8
4 Si IN Alors PA 0.8
5 Si BA,RE Alors OK 0.9
6 Si CO,PA,RE Alors OK 1
50
La propagation de la certitude dans le moteur d’inférence se fait ainsi :
– Lorsqu’une règle de certitude CA est déclenchée par des prémisses
de certitudes (CF1 ,...,CFn ), sa conclusion prend la certitude CA ∗
M ini=n
i=1 (CFi )
– Si un fait a déjà une certitude CF1 et qu’il est inféré à nouveau avec
la certitude CF2 , on lui attribue la certitude : CF1 + CF2 − CF1 ∗ CF2
Quel est la certitude d’attribuer un prêt au client décrit par la base de
faits initiale suivante ? Pour que cette certitude vale environ 0.9, il suffirait
de faire passer à 1 un seul coefficient de certitude de cette base... lequel?
BA RA MB AP IN
0.9 0.4 0.9 0.2 0.8
Solution.
Le nœud du haut est étiqueté OK. Valeur : 0.288 + 0.32 − 0.288 × 0.32 =
0.516
Il a deux fils OU : étiquetés par OK de valeurs
min(0.9,0.32) × 0.9 = 0.288 et min(0.76,0.64,0.32) × 1 = 0.32
Celui de gauche a deux fils ET : BA et RE, de valeurs 0.9 et 0.4 × 0.8 =
0.32 (cette dernière valeur venant du fils de RE, qui est RA, de valeur 0.4.
Celui de droite a trois fils ET : 1) CO (0.76) qui a deux fils OU MB et
AP. 2) PA (0.64) qui a un fils IN (0.8). 3) RE (0.32) qui a un fils RA (0.4)
Faire passer la valeur de RA à 1
51
2. Quand a-t’on P (A ⇒ B) = P (B|A)?
Quand P (A) = 1 ou quand P (B|A) = 1
3. Supposons qu’au lieu de P (B|A) et P (B|¬A) on connaisse P (A ⇒ B).
Que peut-on dire de P (B)?
P (B) = P (A ∧ B) + P (¬A ∧ B) = P (B|A)P (A) + P (B|¬A)P (¬A)
Or P (B|A) = P (A⇒B)−P
P (A)
(¬A)
Références
[BN99] A. Becker and P. Naïm. Les réseaux bayésiens. Eyrolles, 1999.
[Car82] L. Caroll. La logique sans peine. Hermann (première édition : 1896),
1982.
[Dar00] K. Darlington. The essence of expert systems. Prentice-Hall, 2000.
[DEL87] J.-P. DELAHAYE. Systèmes experts : organisation et programma-
tion des bases de connaissances en calcul propositionnel. Eyrolles,
1987.
[ea87] J.-C. Gardin et al. Systèmes experts et sciences humaines : le cas
de l’archéologie. Eyrolles, 1987.
[Far89] H. Farreny. Les systèmes experts : principes et exemples. Cepadues
éditions, 1989.
[Gon84] M. Gondran. Introduction aux systemes experts. Eyrolles, 1984.
[GR93] J. Giarratano and G. Riley. Expert systems Principles and Practice.
PWS Publishing, Boston, 1993.
[Har84] A. Hart. Acquisition du savoir pour les systèmes experts. Eyrolles,
1984.
[Lau88] J.-L. Laurière. Intelligence artificielle, tome 2, Représentation des
connaissances. Eyrolles, 1988.
[Lie90] J. Liebowitz. Expert systems for business and management. Your-
don Press, Prentice Hall, 1990.
[LP89] P. Levine and J.-C. Pomerol. Systèmes interactifs d’aide à la déci-
sion et systèmes experts. Hermes, 1989.
[Mon82] P. Montarnal. Le petit livre des champignons. Hachatte, 1982.
[Nil80] N. Nilsson. Principles of Artificial Intelligence. Tioga Press, 1980.
[Nil98] N. Nilsson. Artificial Intelligence, a new synthesis. Morgan-
Kaufmann, 1998.
52
[Voy87] R. Voyer. Moteurs de systèmes experts. Eyrolles, 1987.
53