Vous êtes sur la page 1sur 27

Cours d'intelligence arti cielle Systemes experts

Francois Denis

1 Introduction

1.1 Qu'est-ce qu'un systeme expert

Un systeme expert est un logiciel qui reproduit le comportement d'un expert humain accomplissant une t^che intellectuelle dans un domaine precis. On peut a souligner les points suivants : { les systemes experts sont generalement concus pour resoudre des problemes de classi cation ou de decision (diagnostic medical, prescription therapeutique, regulation d'echanges boursiers, : : : ) { les systemes experts sont des outils de l'intelligence arti cielle, c'est-a-dire qu'on ne les utilise que lorsqu'aucune methode algorithmique exacte n'est disponible ou praticable { un systeme 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 a sa langue maternelle. Un systeme expert est compose de deux parties independantes : { une base de connaissances elle-m^me composee d'une base de regles e qui modelise la connaissance du domaine considere et d'une base de faits qui contient les informations concernant le cas que l'on est en train de traiter { un moteur d'inferences capable de raisonner a partir des informations contenues dans la base de connaissance, de faire des deductions, etc. Le r^le du cogniticien est de soutirer leurs connaissances aux experts du o domaine et de traduire ces connaissances dans un formalisme se pr^tant a un traie tement automatique, c'est-a-dire en regles. Ces deux t^ches sont aussi delicates a l'une que l'autre. En e et, un expert est la plupart du temps inconscient de la majeure partie de son savoir ; et s'il arrive a en exprimer une partie, c'est souvent sous une forme qui ne se laisse pas facilement formaliser. De plus l'extraction 1

EXPERT

Cogniticien

Base de regles Moteur dinferences Base de faits Utilisateur

Base de connaissances
Fig.

1 { Structure d'un systeme expert

de connaissances peut avoir un e et perturbant sur l'expert : il est bien connu que si l'on demande a un ma^tre aux echecs de re echir a sa maniere de jouer, on observera une baisse de ses performances dans les jours ou les semaines qui suivent cet e ort d'introspection. L'independance entre la base de connaissances et le moteur d'inferences est un element essentiel des systemes experts. Elle permet une representation des connaissances sous forme purement declarative, c'est-a-dire sans lien avec la maniere dont ces connaissances sont utilisees. L'avantage de ce type d'architecture est qu'il est possible de faire evoluer les connaissances du systeme sans avoir a agir sur le mecanisme de raisonnement. Il en est de m^me pour nous : un accroissement e ou une modi cation de nos connaissances n'entra^ne pas necessairement une restructuration en profondeur de nos mecanismes de fonctionnement. Dans la realite, les choses se passent de maniere un peu moins ideale et il est souvent necessaire d'organiser la base de connaissances, de re echir sur les strategies d'utilisation des regles, etc. Le systeme expert est souvent complete par des interfaces plus ou moins riches permettant un dialogue avec les utilisateurs, l'ideal etant une interface en langage naturel.

MYCIN est un systeme expert qui a ete concu entre 1972 et 1974 a n d'aider des medecins a diagnostiquer et soigner des maladies infectieuses du sang. Cette version de base contenait environ 200 regles. Elle a ete completee entre 1975 et 1978 par 300 regles supplementaires concernant principalement les meningites. Ce systeme expert a ete abondamment etudie et commente en raison de l'importance du domaine concerne et surtout, de la grande qualite de ses diagnostics et propositions therapeuthiques. M^me en se limitant a la version de base existant en 1974, les e resultats sont satisfaisants. Ainsi, en 1974, 15 cas representatifs d'infections bacteriennes furent soumis a MYCIN d'une part et a 5 experts d'autre part. Les 5 experts approuverent les recommandations therapeuthiques de MYCIN dans 11 cas sur 15 (soit 55 accords pour 75 comparaisons). Dans les autres cas, les 5 experts etaient en desaccord entre eux )) 3]
( (

1.2 Un systeme expert celebre : MYCIN

Ce logiciel etait d'autant plus seduisant qu'une interface en langage (( quasinaturel )) permettait une communication confortable (et un peu blu ante) avec les utilisateurs. Voir ci-dessous un exemple de conversation entre MYCIN et un medecin 1 1) Please enter information about the patient. { { { { Name : Sally Age : 42 years Sex : Female Race : Caucasian

2) Are there are any positive cultures obtained from SALLY? No 3) Are there any pending cultures of SALLY? YES 4) { site : CSF { date collected : 3-Jun-75 { stain examinated : Yes
1. obtenu a l'adresse http://www.cs.mun.ca/ rhewitt/makenote/node11.html

{ method of collection (urine, sputum only) : N/A 5) Stain of smear (type NONE if no organism was seen on the smear) NONE 13) Has SALLY recently has symptoms of persistent headache or other abnormal neurologic symptoms (dizziness, lethargy, etc)? Yes 14) Has SALLY recently had objective evidence of abnormal neurologic signs (nuchal rigidity, coma, seizures, etc.) documented by physician observation or examination? Yes The CSF cultures will be considered to be associated with MENINGITIS. 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 coccidiomycoses? Unknown 38) Is SALLY a burn patient? Why? i.e. WHY is it important to determine whether SALLY has been seriously 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 4

Therefore, if 4.4] SALLY has been seriously burned then there is suggestive 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 bacterial. My therapy recommendations will be designed to treat for organisms that either are very likely or, although less likely, would have a signicant e ect on therapy selection if they were present. It is important to cover for the following probably infection(s) and associated organism(s): INFECTION-1 is MENINGITIS + <ITEM-1>MYCOBACTERIUM-TB from clinical evidence only] + <Picture>COCCIDIOIDES from clinical evidence only] + <Picture>CRYPTOCOCCUS from clinical evidence only] On remarque dans le dialogue ci-dessus (cf l'item 38), que MYCIN est capable d'expliquer son raisonnement mais aussi d'expliquer pourquoi il pose une question, c'est-a-dire en quoi les reponses que fournira l'utilisateur interviendront dans son raisonnement. Cette aptitude est essentielle. Nous avons naturellement deja beaucoup de reticences a 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 medecin n'acceptera le diagnostic d'un systeme expert que si celui-ci arrive a le convaincre de la justesse de ses conclusions, c'est-a-dire de la correction de son raisonnement. Independamment de leur qualite dans leur domaine d'expertise, les sytemes experts ne s'integreront dans une societe humaine qu'a mesure qu'ils seront capables de nouer un veritable dialogue avec leurs utilisateurs. On trouvera dans 3] une etude assez detaillee de MYCIN.

1.3 Quelques systemes experts classiques

{ DENDRAL, 1969, chimie, recherche la formule developpee d'un corps organique a partir de la formule brute et du spectrogramme de masse du corps considere. { CRYSALIS, 1979, chimie, recherche la structure de proteines a partir de resultats d'analyse cristallographique. { MOLGEN, 1977, biologie, engendre un plan de manipulations genetiques en vue de construire une entite biologique donnee. { PROSPECTOR, 1978, geologie, aide le geologue a evaluer l'inter^t d'un site e en vue d'une prospection miniere. (1600 regles) { AM, 1977, mathematiques, proposition de conjecture, de concepts interessants. (500 regles) { MUSCADET, 1984, mathematiques, demonstration de theoremes (EVT). { MYCIN, 1974, medecine, systeme d'aide au diagnostique et au traitement de maladies bacteriennes du sang.

On trouvera dans 11] de nombreuses applications economiques et nancieres des systemes experts et dans 4] une application a l'archeologie.

1.4 Systemes experts et generateurs de systemes experts

Un systeme expert concerne un domaine precis d'application. Un systeme expert general (ou generateur de systemes experts) est un outil de developpement de systemes experts particuliers. Un systeme expert general contient un moteur d'inferences et un systeme de representation des connaissances (par exemple, s'il s'agit d'un generateur d'ordre 0, la possibilite de de nir et de manipuler des faits booleens). Quelques exemples de systemes experts generaux : { { { { { VP-Expert (pour des applications peu complexes) SNARK (beaucoup plus complet, mais date un peu) GURU (idem) PROLOG (c'est plus un langage de programmation qu'un generateur) SMECI (un generateur contemporain)

2 La base de connaissances
La base de connaissances est composee de faits et de regles.

2.1 La base de faits

variable au cours de l'execution et videe lorsque l'execution se termine. Au debut de la session, elle contient ce que l'on sait du cas examine avant toute intervention du moteur d'inferences. Puis elle est completee par les faits deduits par le moteur ou demandes a l'utilisateur. Par exemple, dans le domaine medical, la base de faits pourra contenir une liste de sympt^mes en debut de session et un diagnostic lorsque celle-ci se termio nera.

2.1.1 Memoire de travail La base de faits est la memoire de travail du systeme expert. Elle est

2.1.2 Le type d'un fait

Les faits peuvent prendre des formes plus ou moins complexes. Nous n'envisagerons que des faits elementaires dont les valeurs possibles sont { booleennes : vrai, faux { symboliques : c'est-a-dire appartenant a un domaine ni de symboles { reelles : pour representer les faits continus. Par exemple, actif est un fait booleen, profession est un fait symbolique et remuneration est un fait reel. Un systeme expert qui n'utilise que des faits booleens est dit d'ordre 0. Un systeme expert qui utilise des faits symboliques ou reels, sans utiliser de variables, est d'ordre 0+. Un systeme utilisant toute la puissance de la logique du premier ordre est d'ordre 1.

2.1.3 Les formules ou conditions

Dans un systeme expert d'ordre 0, on pourra par exemple ecrire des formules de la forme : actif ou :actif Dans un systeme d'ordre 0+, on pourra trouver les formules :

actif et (profession 6= medecin ou remuneration 20000) Dans un systeme d'ordre 1, on pourra trouver :
Ces formules sont appelees conditions lorsqu'elles servent a declencher des regles. On remarque que les faits booleens peuvent ^tre interpretes comme des e formules puisqu'ils possedent une valeur de verite. 7

9Xmaladie(X ) et X 6= grippe et symptome(X ) = forteFievre

2.1.4 Metafaits et metavaleurs


Pour qu'un systeme expert puisse modeliser un raisonnement humain, il est indispensable qu'il puisse raisonner sur ses propres raisonnements, re echir aux faits qu'il manipule, aux formules qu'il peut construire, etc. Autrement dit, il n'est pas su sant que le systeme ait des connaissances, il faut aussi qu'il ait des metaconnaissances. Il faut par exemple qu'un systeme expert puisse savoir si une valeur a ete attribuee a un fait. Dans la negative, cette valeur pourra ^tre demandee a l'utilie sateur. Mais si l'utilisateur ne peut pas repondre, il faudra que le systeme puisse le savoir a n de ne pas poser eternellement la m^me question. La seule maniere e d'attribuer une valeur a un tel fait sera alors de la deduire d'autres faits. On dira que la valeur d'un fait est : { connue si une valeur lui a ete attribuee { inconnue si aucune valeur ne lui a ete attribuee et si aucune question a son sujet n'a ete posee a l'utilisateur { indeterminee si le systeme ne lui a attribue aucune valeur et et si l'utilisateur a repondu (( je ne sais pas )) a une question concernant sa valeur. Ainsi, valeur(profession) est un metafait symbolique et valeur(profession) = connue est une metacondition. De maniere analogue, tous les faits ne doivent pas faire l'objet d'une question a la personne concernee. Il n'est pas envisageable qu'un medecin demande a son patient ( quelle maladie avez-vous? ) ( ) ni qu'un juge demande a la personne comparaissant devant lui ( a quelle peine dois-je vous condamner? ) ( ) Un systeme expert doit donc savoir si un fait est demandable ou non. Donc, demandable(diagnostic) est un metafait booleen (et une metacondition).

2.2 La base de regles

Elle rassemble la connaissance et le savoir-faire de l'expert. Elle n'evolue donc pas au cours d'une session de travail. Une regle est de la forme Si <conjonction de conditions>alors <conclusion> ou les conclusions sont de la forme <Fait>= <valeur>. 8

tantImpot=vrai Le dernier exemple montre comment un systeme expert peut ^tre utilise en e association avec des programmes classiques. On peut supposer que le passage a la valeur vrai du fait booleen calculerMontantImpot declenche une procedure calculant le montant de l'imp^t en question et l'attribuant au fait reel MontantImp^t. o o Une base de regles est un ensemble de regles et sa signi cation logique est la conjonction de la signi cation logique de chacune des regles. En particulier, on peut aisement coder dans le formalisme precedent des regles de la forme si A ou B alors C ou si A alors B et C Il n'en est par contre pas de m^me de e si A alors B ou C

Exemple : si population >200000 et ville-universitaire alors cinemaArtEtEssai=vrai si revenu-imposable = connu et quotient-familial = connu alors calculerMon-

2.3 Les metaregles et la metaconnaissance

De m^me que dans un systeme expert, la connaissance est traduite en regles, e la metaconnaissance s'exprime par des metaregles (c'est-a-dire des regles sur la maniere d'utiliser les regles). On trouve par exemple dans MYCIN les metaregles suivantes (voir 6]) : 1. si on recherche une therapie alors considerer dans cet ordre les regles qui permettent de : { acquerir les informations cliniques sur le patient { trouver quels organismes, s'il en existe, sont causes de l'infection { identi er les organismes les plus vraisemblables { trouver tous les medicaments potentiellement utiles { choisir les plus adaptes en plus petit nombre 2. si le patient est un h^te a risque et s'il existe des regles mentionnant des o pseudo-monias dans une premisse et s'il existe des regles mentionnant des klebsiellas dans une premisse alors il est probable qu'il faille utiliser les premieres avant les secondes 3. si le site de la culture est non sterile et il existe des regles mentionnant dans leurs premisses un organisme deja rencontre auparavant chez le patient et qui peut ^tre le m^me que celui dont on recherche l'identite alors il est s^r e e u qu'aucune d'entre elles ne peut servir

L'organisation d'une base de connaissances au moyen de meta-regles reste essentiellement declarative, contrairement a toute organisation basee sur une structuration a priori de l'ensemble des regles (ecrire les regles dans un ordre donne, : : : ). Un des plus grand problemes 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 tres peu d'outils pour rendre compte de cette capacite. Un medecin par exemple n'est jamais totalement s^r que tel sympt^me est u o signe de tel maladie, que tel medicament sera supporte par le malade, que le malade guerira, etc. On peut reconna^tre globalement un objet sans ^tre capable d'identi er a 100 e pour cent chacun de ses details. 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 theorie des probabilites pour de nir le degre de vraisemblance d'un fait. De nombreux generateurs de systemes experts o rent la possibilite aux utilisateurs de nuancer leur certitude concernant un fait en leur associant un degre de vraisemblance.
( ( ( Reconnaissez-vous votre agresseur sur cette photo? ) ( ) Oui, en n c'est-a-dire, non. En fait, je le reconnais a 72 % ))

2.4 La representation des connaissances incertaines

Cette technique permet aussi de graduer une sensation.


( ( ( Avez-vous tres mal a la t^te? Ou seulement, un peu mal ) ( e ) Sur une echelle qui associerait 0 au fait de ne pas avoir mal a la t^te et 1 au e fait de ne pas pouvoir le supporter, je dirai que j'ai mal a la t^te avec un e coe cient 0,45 ))

Les exemples qui precedent revelent une des principales di cultes de cette methode : il n'est pas raisonnable d'attendre d'un ^tre humain, expert ou non, e qu'il puisse de nir avec precision de tels degres de vraisemblance. Un autre probleme concerne la combinaison des coe cients de vraisemblance. Si les faits A et B sont connus respectivement avec les coe cients de vraisemblance p et q et si la regle si A et B alors C gure dans la base de regles, que peut-on deduire pour le fait C ? Qu'il est vrai avec le degre de vraisemblance pq ? Mais ceci exige que les faits A et B soient independants. Comment s'en assurer? Et si ils ne le sont pas? 10

Et comment rendre compte par une regle d'une connaissance du type le fait que A soit vrai rend B plus vraisemblable? De nombreux travaux en Intelligence Arti cielle sont consacres a ces questions. On les regroupe generalement sous le vocable \recherche sur la logique naturelle" puisqu'il s'agit de comprendre en quoi nos raisonnements courants peuvent ^tre e decrits et formalises par des regles logiques. On peut citer { la logique oue qui explore la voie esquissee plus haut consistant a associer des coe cients de vraisemblances a des faits { les logiques modales qui introduisent des operateurs modaux comme \il est possible que" ou \il est necessaire que" { les logiques non monotones qui etudient la possibilite de reviser un raisonnement (si on me dit que TITI est un oiseau, j'en deduis qu'il vole mais si l'on ajoute que TITI est une autruche, je revise mon inference).

3 Les moteurs d'inferences


Un moteur d'inferences est un mecanisme qui permet d'inferer des connaissances nouvelles a partir de la base de connaissances du systeme. On distingue essentiellement trois modes principaux de fonctionnement des moteurs d'inferences : { le cha^nage avant { le cha^nage arriere { et le cha^nage mixte On remarquera que les moteurs d'inference decrits ci-dessous le sont independamment de tout domaine d'application. Cette separation entre connaissance et raisonnement est essentielle pour les systemes experts. Le mecanisme du cha^nage avant est tres simple : pour deduire un fait particulier, on declenche les regles dont les premisses sont connues jusqu'a ce que le fait a deduire soit egalement connu ou qu'aucune regle ne soit plus declenchable. Plus precisement, soit BF une base de faits, BR une base de regles (ne comportant que des faits booleens positifs ) et Fait le fait que l'on cherche a etablir, l'algorithme suivant calcule si Fait peut ^tre deduit ou non de la base de connaise sances.
ALGORITHME DU CHAINAGE AVANT ENTREE : BF, BR, F

3.1 Le cha^nage avant

11

DEBUT TANT QUE F n'est pas dans BF ET QU'il existe dans BR une regle applicable FAIRE choisir une regle applicable R (etape de resolution de conflits, utilisation d'heuristiques, de metaregles) BR = BR - R (desactivation de R) BF = BF union concl(R) (declenchement de la regle R, sa conclusion est rajoutee a la base de faits) FIN DU TANT QUE SI F appartient a BF ALORS F est etabli SINON F n'est pas etabli

On remarque que l'algorithme precedent n'indique pas comment choisir une regle applicable. C'est a ce niveau que la metaconnaissance du domaine intervient et permet de de nir une strategie de choix. Voir par exemple les metaregles implantees dans MYCIN au paragraphe 2.3.

L'algorithme precedent applique a ces parametres prouve que H se deduit de la base de connaissances.

Exemple : Soit BF = fB; C g, Fait = H et BR composee des regles : Si B et D et E alors F Si G et D alors A Si C et F alors A Si B alors X Si D alors E Si X et A alors H Si C alors D Si X et C alors A Si X et B alors D

Remarques :

{ cet algorithme peut ^tre tres penalisant pour certaines bases e { l'algorithme de cha^nage avant s'arr^te toujours e { si l'on utilise des regles dont les conclusions peuvent ^tre des faits negatifs, e pour tout fait F , il peut se produire 4 situations : { F 2 BF : le fait est etabli. { :F 2 BF : la negation du fait est etablie. 12

{ ni F , ni :F ne sont dans BF : le systeme ne deduit rien a propos du fait. C'est une troisieme valeur de verite qui appara^t naturellement et dont l'interpretation peut ^tre diverse selon les cas. e { F et :F 2 BF : la base est incoherente. On peut prevoir un fait Base incoherente et une meta-regle de la forme : si il existe un fait qui appartient, ainsi que sa negation, a BF alors Base incoherente. { le fait a etablir peut ne pas ^tre connu. Une etape de saturation de la base e de connaissances consiste alors a deduire tous les faits deductibles

3.2 Cha^nage arriere

Le mecanisme de cha^nage arriere consiste a partir du fait que l'on souhaite etablir, a rechercher toutes les regles qui concluent sur ce fait, a etablir la liste des faits qu'il su t de prouver pour qu'elles puissent se declencher puis a appliquer recursivement le m^me mecanisme aux faits contenus dans ces listes. e L'algorithme de cha^nage arriere est nettement plus complique que le precedent et nous nous contenterons d'etudier un exemple. L'execution de l'algorithme de cha^nage arriere peut ^tre decrit par un arbre e dont les noeuds sont etiquetes soit par un fait, soit par un des deux mots et, ou. On parle d'arbre et-ou. Sur l'exemple precedent, on obtient l'arbre de la gure 2. Si les faits deja examines ne peuvent pas ^tre memorises (par exemple parce e qu'ils sont trop nombreux), l'algorithme de cha^nage arriere peut boucler. On peut enrichir l'algorithme ce cha^nage arriere en tenant compte du caractere demandable ou non d'un fait. Dans ce cas, lorsqu'un fait demandable n'a pas encore ete etabli, le systeme le demandera a l'utilisateur avant d'essayer de le deduire d'autres faits connus. Mais pour que ce mecanisme soit e cace (ce qui implique entre autres qu'il n'agace pas l'utilisateur en posant des questions stupides), il faut que le moteur d'inferences soit capable de determiner quelles sont les questions pertinentes. Et ce probleme est loin d'^tre simple. e Considerons par exemple la base de regles 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 memoire de travail est initialisee avec l'information J est vrai. La question posee au systeme est : A est-il vrai? Quelles sont les questions pertinentes a poser a l'utilisateur? { \B est-il vrai" n'est pas un question pertinente. En e et, aucune regle ne conclut sur le fait C qui n'est pas non plus demandable. Comme le fait B ne 13

H et

A ou

B
dans BF

et

et

inutile

G
echec

inutile C dans BF

F et

B
dans BF

D ou

D
dans BF

C
dans BF
Fig.

inutile

2 { Cha^nage arriere : un arbre et-ou

14

peut ^tre utilise que conjointement a C , la valeur de verite de B n'apportera e aucune information sur celle de A { la question \D est-il vrai" n'est pas non plus pertinente. En e et, comme on sait que J est vrai, que cela implique que E est faux et que D n'est utilise que conjointement a E , la valeur de verite de D est inutile pour conna^tre celle de A { la question \F est-il vrai" est pertinente. En e et, le fait G est encore deductible. Mais si la reponse a cette question est NON, la question \I est-il vrai" n'est plus pertinente car la valeur de G ne sert plus a rien.

3.3 Cha^nage mixte

L'algorithme de cha^nage mixte combine, comme son nom l'indique, les algorithmes de cha^nage avant et de cha^nage arriere. Son principe est le suivant :
Algorithme du cha^nage mixte ENTREE : F (a deduire) DEBUT TANT QUE F n'est pas deduit mais peut encore l'^tre FAIRE e Saturer la base de faits par cha^nage AVANT (c'est-a-dire, deduire tout ce qui peut ^tre deduit) e Chercher quels sont les faits encore eventuellement deductibles Determiner une question pertinente a poser a l'utilisateur et ajouter sa reponse a la base de faits FIN DU TANT QUE FIN

Bien entendu, les trois items gurant dans l'iteration ci-dessus necessiteraient d'^tre developpes et precises pour transformer ce qui precede en un veritable e algorithme. On trouvera dans les exercices une application du cha^nage mixte.

4 Conclusion
Les systemes experts sont une des applications de l'intelligence arti cielle qui ont quitte les laboratoires de recherche pour ^tre utilisees dans le monde de e l'entreprise. De nombreux systemes experts ont ete implantes avec succes pour resoudre des problemes concrets. On les a m^me accuse d'avoir provoque le crach e boursier de 1986, ce qui est plut^t bon signe du point de vue de l'IA ! o Mais les grandes di cultes que l'on rencontre lorsqu'on cherche a extraire des experts leur connaissance, puis lorsqu'on tente de formaliser ces connaissances degagees a grand peine, sont peut ^tre signes d'une faiblesse intrinseque e des systemes experts. La possibilite de concevoir des systemes experts repose en 15

e et sur une hypothese psychologique dont il n'a pas ete question ci-dessus : la structuration de nos aptitudes en regles symboliques parfaitement identi ables. Majoritaire chez les psychologues et chercheurs en intelligence arti cielle dans les annees 70, cette hypothese est de plus en plus battue en breche et l'on envisage maintenant des modeles de savoir qui n'y ont plus recours (modeles connexionistes, systemes adaptatifs, etc.). Il n'est par ailleurs pas exclu que les techniques a venir utilisent a la fois des systemes experts et d'autres techniques comme les reseaux de neurones basees sur des hypotheses plus adaptatives que symboliques (systemes hybrides).

5 Exercices

Commentaires sur les exercices L'exercice 5.1 montre que l'on n'est pas

toujours conscient de ce que l'on sait et que le travail consistant a soutirer ses connaissances a un expert n'est pas facile. Dans cet exercice, vous ^tes a la fois e l'expert et le cogniticien. Dans l'exercice 5.2, la connaissance est deja extraite et elle est decrite en francais dans une forme qui semble tres proche de la forme des regles dans un systeme expert. On voit pourtant que passer de la logique d'une langue naturelle a la logique propositionnelle n'est pas si simple qu'il y para^t. On voit egalement qu'il est essentiel dans certaines applications qu'un moteur d'inferences soit logiquement complet, c'est-a-dire qu'il permette d'inferer tout ce que l'on peut logiquement deduire. L'exercice 5.5 illustre la notion des questions pertinentes. L'exercice 5.6 donne un exemple grandeur nature de (petit) systeme expert.

5.1 Extraction des connaissances

Un polyn^me de degre inferieur ou egal a 2, a coe cients entiers relatifs se o decrit en mathematiques de la maniere suivante :

ax2 + bx + c ou a; b; c 2 Z: Mais l'ecriture usuelle de ces polyn^mes est parfois tres eloignee de cette o description. Par exemple, si a = 1; b = 1 et c = 0, on ecrira : x2 x et non 1x2 + 1x + 0 ! Nous appliquons donc tous (au moins ceux d'entre nous ayant suivi quelques annees de formation dans le secondaire) des regles identiques (ou plut^t ayant des o e ets identiques) de maniere plus ou moins consciente (plut^t moins que plus : o qui a jamais re echi a ce probleme?). Il y a donc la un savoir-faire atteste et non analyse, bref matiere a un systeme expert.
16

Formalisons ce probleme a n qu'il puisse ^tre traite par un generateur de e systeme expert simple (faits booleens, reels ou symboliques, pas de metaregles, etc). Les donnees en entree sont des variables a valeurs dans Z : Les sorties sont des variables :

a; b et c:

sg2; coef 2; var2; expo2; sg1; coef 1; var1; sg0 et coef 0 prenant comme valeurs : { '+', '-' ou 'vide' pour sg2; sg1 et sg0 { 'x' ou 'vide' pour var2 et var1 { '2' ou 'vide' pour expo2 { un entier 0 ou 'vide' pour coef 2; coef 1 et coef 0. La valeur 'vide' d'une variable de sortie signi e que celle-ci ne doit pas ^tre e ecrite. Dans l'exemple precedent (a = 1; b = 1 et c = 0), on a : sg2 = vide, coef 2 = vide, var2 = x, expo2 = 2, sg1 = -, coef 1 = vide, var1 = x, sg0 = vide et coef 0 = vide. Une fois obtenues les valeurs des variables de sortie, il est tres facile (a la notation en exposant pres) d'ecrire un algorithme ou un programme (en Pascal par exemple) qui a che correctement le polyn^me. La partie di cile, qui necessite o un expert humain, est donc celle qui consiste a passer des valeurs de a; b et c aux valeurs de sg2; coef 2; etc. C'est evidemment la seule qui nous interesse dans ce projet.

Question Ecrire ce systeme expert. Les regles doivent ^tre de la forme : e Si a = 0 alors sg2=vide et coef 2=vide et var2=vide et expo2=vide.
Tous les cas de gure doivent ^tre pris en compte. e

5.2 Construire la base de regles

Lewis Caroll demande dans 1] de dire ce que l'on peut deduire des propositions suivantes si l'on enonce cet animal est un raton-laveur 1. Les animaux sont toujours mortellement o enses si je ne fais pas attention a eux 2. Les seuls animaux qui m'appartiennent se trouvent dans ce pre 17

3. Aucun animal ne peut resoudre une devinette s'il n'a recu une formation convenable dans une ecole 4. Aucun des animaux qui se trouvent dans ce pre n'est un raton-laveur 5. Quand un animal est mortellement o ense, il se met toujours a courir en tout sens et a hurler 6. Je ne fais jamais attention a un animal qui ne m'appartient pas 7. Aucun animal qui a recu dans une ecole une formation convenable ne se met a courir en tout sens et a hurler Si l'on voulait construire un systeme expert pour resoudre ce probleme, comment devrait ^tre constituee la base de connaissances? e intervenir que des faits booleens. On de nit les abreviations : { o : il est mortellement o ense { a : je fais attention a lui { ap : il m'appartient { p : il est dans ce pre { d : il peut resoudre une devinette { f : il a recu une formation convenable dans une ecole { r : c'est un raton-laveur { c : il se met a courir en tout sens et a hurler La base de faits est alors initialisee a BF = fr g et la base de regles est constituee de : 1. si non a alors o 2. si non p alors non ap 3. si non f alors non d 4. si r alors non p 5. si o alors c 6. si a alors ap 7. si c alors non f Par cha^nage avant, de r on peut deduire non p, de non p on peut deduire non ap : : : et c'est termine ! Il est pourtant possible de deduire logiquement plus de choses que cela. Pour le voir, il su t de remarquer que

Solution On peut coder les propositions precedentes par des regles ne faisant

a ) ap
18

est logiquement equivalent a sa contraposee

Cet animal est donc incapable de resoudre une devinette. Pour pouvoir le deduire par cha^nage avant, il aurait fallu { soit enrichir le mecanisme du cha^nage avant de facon qu'il puisse deduire toutes les consequences logiques de la base de connaissances { soit pour chacune des regles, faire gurer dans la base la regle et sa contraposee Cet exemple pourtant elementaire montre a la fois qu'il n'est pas si facile de formaliser une phrase en \bon francais" et aussi qu'il faut veiller a la \completude logique" du mecanisme de deduction automatique que l'on souhaite utiliser.

:ap ) :a On peut donc logiquement conclure que :a est vrai, puis que o est vrai, que c est vrai, que :f est vrai et nalement que :d est vrai.

5.3 Arbres de decision et systemes experts

Dans le calendrier gregorien, une annee dont le millesime n'est pas divisible par 4 n'est pas bissextile. Si par contre, son millesime est divisible par 4 mais pas par 100, elle est bissextile. Mais si son millesime est divisible par 400, elle est egalement bissextile. si une annee est bissextile ou non. Mettez en evidence les rapports entre ces deux modes de representation.

Question Ecrivez un arbre de decision et un systeme expert capables de decider

5.4 Cha^nage avant - Cha^nage arriere

1. Ecrire un algorithme de cha^nage avant lorsque les regles ne contiennent que des faits booleens mais pouvant ^tre positifs ou negatifs. e 2. Ecrire un algorithme de cha^nage avant pour un systeme expert d'ordre 0+ 3. Ecrire l'algorithme de cha^nage arriere pour un systeme d'ordre 0

Cet exercice est tire de 2]. Le systeme expert ci-dessous est concu pour deduire d'informations disponibles dans des guides touristiques si une ville merite le voyage ou non. Les faits, tous booleens, sont : { ville meritant le voyage (non demandable) 19

5.5 Cha^nage mixte - les questions intelligentes

{ { { { { { { { { { { { { { { {

ville historique (non demandable) ville artistique (non demandable) nombreuses animations (non demandable) ville agreable (non demandable) tradition gastronomique (non demandable) belle ville (non demandable) nombreux monuments (demandable) ville ancienne (demandable) nombreux concerts (demandable) nombreux theatres (demandable) activites sportives (demandable) traditions folkloriques (demandable) espaces verts (demandable) climat agreable (demandable) nombreux restaurants (demandable) bons restaurants (demandable)

Les regles sont : si ville historique alors ville meritant le voyage si ville artistique alors ville meritant le voyage si nombreuses animations alors ville meritant le voyage si ville agreable et tradition gastronomique alors ville meritant le voyage si belle ville et nombreux monuments alors ville artistique si ville ancienne et nombreux monuments alors ville historique si nombreux concerts et nombreux theatres alors nombreuses animations si activites sportives et traditions folkloriques alors nombreuses animations si espaces verts et climat agreable alors ville agreable si espaces verts et nombreux monuments alors belle ville si nombreux restaurants et bons restaurants alors tradition gastronomique Les solutions suivent immediatement les questions posees. Pour faire l'exercice, il est recommande de cacher l'enonce et de le decouvrir petit a petit. L'utilisateur pose au systeme la question : Utilisateur>est-ce une ville meritant le voyage? Tous les faits sont encore deductibles. On suppose que le systeme choisit la premiere 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 20

Question Quels sont les faits qui ne sont plus deductibles? La question y a
t-il de nombreux monuments est elle encore pertinente? Quelle est la question suivante posee par le SE?

Reponse Le fait ville historique n'est plus deductible mais nombreux monuments? reste une question pertinente SE - y a t-il des espaces verts? Utilisateur - NON Question Quels sont les faits qui ne sont plus deductibles? Quelles questions
ne sont-elles plus pertinentes? Quelle est la question suivante posee par le SE? deductibles. Les questions concernant les faits nombreux monuments, climat agreable, nombreux restaurants et bons restaurants deviennent des questions non pertinentes. SE - y a t-il de nombreux concerts Utilisateur - JE NE SAIS PAS

Reponse Les faits ville agreable, belle ville et ville artistique ne sont plus

Question Quels sont les faits qui ne sont plus deductibles? Quelles questions
ne sont-elles plus pertinentes?

Reponse Le fait nombreuses animations reste encore deductible mais la question Y a t-il de nombreux theatres? devient non pertinente.

La liste ci-dessous decrit la classi cation des champignons a lamelles. Elle est tiree de 12] qui contient bien d'autres choses interessantes pour qui s'interesse aux champignons. Nous allons supposer que l'on souhaite ecrire un systeme expert permettant de classi er correctement les champignons a lamelles a partir d'une description. L'expert du domaine est l'auteur de ce livre et l'on suppose que les de nitions ci-dessous correspondent a une premiere extraction de connaissances de son savoir. 1. Amanita : un champignon a lamelles, a spores blanches et possedant une volve. 2. Armillaria : un champignon a lamelles possedant un anneau et dont le pied ne peut se separer du chapeau sans entra^ner une dechirure de la chair. 3. Cantharellus : champignon a lamelles qui sont plut^t des plis epais et rao mi es que de veritables lamelles, spores blanches. 21

5.6 Formalisation des connaissances

4. Clitocybe : champignon a lamelles decurrentes, a pied central (ce qui les distingue des Pleurotus) et a spores blanches. 5. Clitopilus : champignon a lamelles decurrentes et a spores roses. 6. Collybia : champignon a lamelles, a spores blanches et a pied cartilagineux. 7. Coprinus : champignon a lamelles deliquescentes. 8. Cortinarius : champignon a lamelles, a spores ocracees et a pied muni d'une cortine. 9. Entoloma : champignon a lamelles echancrees et a spores roses. 10. Gomphidius : champignon a lamelles ecartees, fortement decurrentes, colorees en gris plus ou moins fonce selon l'^ge, et a spores noires. a 11. Hebeloma : champignon a lamelles echancrees et a spores ocracees. 12. Hygrophorus : champignon a lamelles decurrentes, ecartees et epaisses, spores blanches. 13. Hypholoma : champignon possedant une cortine et des spores noires. 14. Inocybe : champignon a lamelles adherentes, a spores ocracees, a chapeau possedant des brilles rayonnantes a partir du sommet et souvent fendu radialement, c'est-a-dire dans le sens des brilles. 15. Laccaria : champignon a lamelles ecartees, de couleur rose ou violette, decurrentes par une dent. 16. Lactarius : champignon a chair grenue et cassante et ayant du lait. 17. Lepiota : champignon a lamelles libres, a pied muni d'un anneau et pouvant aisement se separer du chapeau sans provoquer de dechirure ; chapeau plus ou moins ecailleux, spores blanches. 18. Marasmius : champignon se dessechant sans pourrir, pied ne cassant pas a la torsion, spores blanches. 19. Mycena : champignon fragile, a chapeau c^nique avant d'^tre etale et a pied o e tubuleux. 20. Paxillus : champignon a lamelles longuement decurrentes et aisement separables du pied, spores ocracees. 21. Pholiota : champignon a lamelles possedant un anneau, a spores ocracees. 22. Pleurotus : champignon a lamelles decurrentes, a pied excentrique et a spores blanches. 23. Pluteus : champignon a lamelles libres et a spores roses poussant generalement sur les arbres. 24. Psalliota : champignon a pied muni d'un anneau aisement separable du chapeau et a spores noires. 25. Russula : champignon a chair grenue et cassante, pas de lait. 26. Stropharia : champignon a pied muni d'un anneau (souvent disparu ou mal venu - ressemblant a une cortine) et a spores noires. 27. Tricholoma : champignon a lamelles echancrees et a spores blanches. 28. Volvaria : champignon ayant une volve et les spores roses. 22

etapes :

Question Realiser ce systeme expert. Ce travail sera decompose en plusieurs


1. De nir les faits pertinents. Decrire pour chacun d'eux leur type, eventuellement leur domaine, etc. 2. Veri er que les faits degages sont su sants pour classer chacun des genres. On peut pour cela representer les genres et les faits associes sous forme d'arbre. 3. Ecrire les regles du systeme expert. 4. On supposera que le moteur utilise fonctionne en cha^nage arriere et que chaque fois qu'il selectionne un but de la forme : F = <valeur> dans lequel F est un fait demandable qui n'a pas encore recu de valeur, il pose a l'utilisateur la question : ( Connaissez-vous la valeur du fait F? ) ( ) Choisissez un exemple (pas trop simple) et decrivez dans le detail ce que fait le systeme que vous avez ecrit sur cet exemple.

23

Ma^trise M.A.S.S. Informatique

Le 25 novembre 96

Devoir surveille 1 (2 heures) Extrait du premier entretien entre le Professeur Numericus et Alex Pertise de la societe Xpert et ls.
- Professeur, vous ^tes le specialiste mondial de la numeration. e - En francais, seulement ! J'ai bien entendu quelques connaissances sur la numeration dans certaines langues etrangeres vivantes ou mortes mais mon domaine d'expertise se limite au francais. C'est deja un domaine tellement vaste ::: - Pourriez-vous m'expliquer en deux mots en quoi consiste cette specialite? - En deux mots, comme vous y allez ! Il s'agit d'un domaine tres complexe qui necessite de tres nombreuses annees de travail avant d'esperer en saisir les subtilites. Plut^t que vous in iger un compte-rendu que vous trouveriez tres obso cur, je vais vous decrire les deux principaux cas de gure a propos desquels je suis consulte : il s'agit de ce que dans notre jargon nous appelons l'ecriture et le decodage. La t^che d'ecriture consiste a ecrire en francais un nombre ecrit en a notation decimale. Il s'agit par exemple d'ecrire le nombre 1 732 496 en toutes lettres, soit : un million sept cent trente deux mille quatre cent quatre vingt seize. Je suis consulte quotidiennement par un grand nombre de notaires qui demandent une assistance dans la redaction de leurs actes. La t^che de decodage est l'operation a inverse. Elle est indispensable lorsqu'il s'agit de traduire du francais vers une autre langue : on me fournit le nombre en toutes lettres, je le decode puis je transmet cette version decimale a mon collegue specialiste de la langue cible qui se charge de l'operation inverse. - Ce secteur est en pleine expansion et je ne vous apprendrai pas que des inter^ts considerables sont en jeu. C'est la raison pour laquelle ma societe a ete e chargee de realiser un systeme expert capable de realiser les t^ches que vous venez a de decrire. - L'initiative est sympathique mais, a mon humble avis, vouee a l'echec. Et c'est la raison pour laquelle, bien que vos objectifs soient contraires a mes inter^ts, e j'ai accepte de vous rencontrer. - Nous nous sommes xe un objectif limite dans un premier temps : nous souhaitons construire un systeme expert capable de decider si une ecriture litterale code correctement un nombre ou non. J'ai ete charge par ma societe d'etablir formellement les connaissances qui font de vous un expert du domaine. - Pretendez-vous qu'il vous su ra de quelques seances d'entretien pour comprendre ce qui m'a demande des annees d'etudes et d'e orts? 24

- Non, bien entendu. Je souhaite seulement conna^tre les raisonnements que vous vous tenez lorsque vous resolvez tel et tel cas particulier. Ces connaissances partielles ne feront pas de moi un expert du domaine. Par contre, convenablement formalisees et agencees dans une base de connaissances, elles permettront a un systeme expert de raisonner comme vous le faites. - Je n'y crois pas. Pourquoi ne vous contentez-vous pas de realiser un grand dictionnaire qui contiendrait, pour chaque nombre, son codage en francais. Je suppose que l'informatique rend possible la realisation de documents in niment plus volumineux que les ouvrages en papier. Je vous propose de realiser avec vous ce dictionnaire. Nous pouvons prevoir des seances de travail regulieres au cours desquelles je vous livrerai a chaque fois la traduction d'une centaine de nombres. - Vous vous meprenez sur le systeme que nous souhaitons realiser. Nous ne voulons pas creer un systeme qui sache compter jusqu'a mille ou m^me un million. e Nous voulons realiser un systeme qui n'ait pas plus de limite que vous m^me n'en e avez. Je ne veux pas seulement savoir quelle est le codage en francais de tel ou tel nombre. Je veux conna^tre les regles que vous utilisez lorsque vous dites : (( telle ecriture est correcte, telle autre ne l'est pas )). - Je crois comprendre ce que vous souhaitez obtenir de moi. Malheureusement, quelque soit ma bonne volonte, cela n'est pas possible et ceci pour la raison suivante : je n'applique aucune regle ! Je vois une expression, je la regarde, je la lis et je suis instantanement capable de decider si elle est correcte ou non. Rappelez-vous que je suis un expert ! Il m'a fallu des annees de travail et au depart, un don indiscutable, pour arriver a ce resultat. Je ne peux rien vous dire de plus. Je ne peux pas vous communiquer mon savoir parce que je suis, tout entier, ce savoir ! - Mais vous ^tes capable de decider de la correction d'une expression, m^me e e si vous ne l'avez jamais vue? - Bien s^r. u - Comment expliquez-vous cette capacite si vous dites que vous n'appliquez pas de regles? Si ce n'est pas vous qui les appliquez, quelque chose en vous les applique : : : ou alors il faut croire aux miracles ! - Je ne crois pas aux miracles, m^me en ce qui me concerne : : : Maintenant e que vous me le dites : : : Peut-^tre : : : mais je ne sais pas si c'est ce que vous e voulez : : : les mots deux et trois sont interchangeables dans certains contextes. Par exemple, si trente deux est correct alors trente trois l'est aussi. Et de m^me e pour quatre, cinq etc. jusqu'a neuf. - Et pourquoi ne commencez vous pas a un ? - Parce que dans le contexte que je viens de vous decrire, ce n'est pas le cas. L'expression trente un est incorrecte. Par contre, il est vrai que les mots de un a neuf sont interchangeables dans le contexte quatre vingt : : : Est-ce cela que vous souhaitez savoir? - Tout a fait. Je pense que notre collaboration sera fructueuse. 25

Questions

1. Realisez un systeme expert d'ordre 0+ capable de decider si l'ecriture litterale d'un nombre en francais est correcte ou non. Pour simpli er, on ne s'interessera qu'aux nombres ordinaux 2 compris entre un et quatre vingt dix neuf. On suppose ces expressions ecrites a l'aide de 4 mots appartenant a l'ensemble fun, deux, trois, quatre, cinq, six, sept, huit, neuf, dix, onze, douze, treize, quatorze, quinze, seize, vingt, trente, quarante, cinquante, soixante, et, vide g. On supposera que l'absence d'un mot est represente par le mot vide et que les nombres sont \cales a gauche". C'est-a-dire que un vide vide vide est une expression correcte alors que vide un vide vide ne l'est pas. On suppose que le systeme doit contenir les faits symboliques X1 , X2 , X3 et X4 qui ont pour domaine l'ensemble de mots de ni plus haut. Par de nition, X designe le mot present a la position i. Par exemple, soixante dix neuf est represente par la base de faits fX1 = soixante; X2 = dix; X3 = neuf; X4 = videg. On utilisera le fait booleen correct dont la presence dans la base de faits (c'es-a-dire la verite) signi era que l'ecriture litterale est correcte. Les autres faits pourront ^tre symboliques ou booleens (j'ai ecrit une version e de ce systeme dans laquelle tous les faits autres que les X sont booleens). Il pourra ^tre utile d'identi er les ensembles de mots interchangeables dans e au moins un contexte. 2. Une fois que vous aurez ecrit ce systeme, detaillez le raisonnement (par cha^nage avant ou arriere) qui lui permet de decider de la correction eventuelle des expressions (a) cinquante sept (b) quatre vingt dix sept (c) sept vingt dix huit 3. Donnez une evaluation grossiere du nombre de regles necessaires a la realisation d'un systeme expert capable de decider de la correction des nombres de un a (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
i i

2. c'est-a-dire que l'on ecrit quatre vingt et non quatre vingts

26

Est-il envisageable d'ecrire un systeme expert qui n'ait, dans ce domaine pas plus de limite qu'un expert humain?

References
1] CAROLL, Lewis, La logique sans peine, Hermann, 1982 (premiere edition : 1896). 2] DELAHAYE, Jean-Paul, Systemes experts : organisation et programmation des bases de connaissances en calcul propositionnel, Eyrolles, 1987. 3] FARRENY, Henri, Les systemes experts : principes et exemples, Cepadues editions, 1989. 4] GARDIN, J.-C. et al., Systemes experts et sciences humaines : le cas de l'archeologie, Eyrolles, 1987. Un cas interessant d'application des systemes experts aux sciences humaines. 5] J. GIARRATANO, G. RILEY, Expert systems Principles and Practice, PWS Publishing, Boston, 1993. 6] GONDRAN, M., Introduction aux systemes experts, Eyrolles, 1984. 7] HART, A., Acquisition du savoir pour les systemes experts, Masson, 1988. Sur le travail du cogniticien. 8] J.-P. IGNIZIO, Introduction to expert systems : the developement and implementation of rule-based expert systems, Mc Graw-Hill, 1991. 9] LAURIERE, J.-L., Intelligence arti cielle, tome 2, Representation des connaissances, Eyrolles, 1988. On y trouve entre autres une description de SNARK. 10] LEVINE, P., POMEROL, J.-C., Systemes interactifs d'aide a la decision et systemes experts, Hermes, 1989. 11] LIEBOWITZ, J., (Editor), Expert systems for business & management, Yourdon Press, Prentice Hall, 1990. Un panorama de systemes experts concus pour le monde economique. 12] MONTARNAL, Pierre, Le petit livre des champignons, Hachette. 13] VOYER, R., Moteurs de systemes experts, Editions Eyrolles, 1987.

27

Vous aimerez peut-être aussi