Les
systèmes experts
les concepts de base
_______________________________________________________________________________________________
_______________________________________________________________________________________________
Le programme DENDRAL débute vers la fin des années 60 à l'université de Stanford sous la direction de B. Buchanan avec E. Feigenbaun et le prix Nobel de chimie J. Leberg. Ce programme détermine la structure d'une molécule à partir du spectre de masse établi par un spectogramme de masse.
Les formes que peut prendre un composé moléculaire furent apportées par Leberg, elles sont extrêmement nombreuses et succeptibles d'un enrichissement permanent au fur et à mesure que de nouveaux composés apparaissent. C'est pourquoi partant des idées de Newell et Simon et de jeunes chercheurs de Stanford (D. waterman entre autres), E. Feigenbaum eut l'idée de séparer les raisonnements et les connaissances de Ledeberg du reste de la machinerie informatique : le premier système expert était né. Nous y reconnaissons l'architecture particulière des systèmes basés sur la connaissance. C'est le premier programme auquel un non informaticien, le premier "expert", ait apporté sa connaissance identifiée et valorisée en tant que telle.
Le succès de DENDRAL devait conduire, dans les années 1975-80, aux systèmes experts. Le premier et le plus connu des systèmes de cette époque est MYCIN, conçu à l'université de Stanford par Shortliffe. C'est un système expert de diagnostic médical. Il est le premier à prendre en compte des connaissances incertaines. Il sera bientôt suivi sur ce point par PROSPECTOR (Duda et Hart, Nilsson et toute une équipe du SRI). Le succès de MYCIN qui travaille aussi bien que les experts, quant les experts sont d'accord, et le succès médiatique de PROSPECTOR, devaient conduire à un certain engouement.
Les différentes parties d'un système expert:
Le coeur d'un système en I.A. est composé de trois parties:
Une
base de connaissance est complètement indépendante du mécanisme
d'exploitation des connaissances. L'expert peut ajouter modifier ou supprimer
des connaissances sans s'occuper du mécanisme d'exploitaion.
Le
mécanisme d'exploitation de la base de connaissances :
La base de connaissances va exploiter la base des faits pour rechercher la ou les solutions (sinon échec). Le système essaie de simuler le raisonnement humain en utilisant certains concepts :
Le raisonnement peut être certain : aucune connaissance n'est pondérée.
Le raisonnement peut être incertain : à chaque connaissance est attaché un coefficient de plausibilité (ou de vraisemblance) permettant d'utiliser une logique dite floue ou de l'incertain par laquelle il existe un continuum de possibilités allant du vrai au faux (ou de zéro à un).
Les types des connaissances :
Une description des objets constituant le contexte du domaine du système en I.A., et ceci sous plusieurs formes :
Des connaissances opérationnelles sur les objets décrits précédemment ; elles indiquent :
La représentation des connaissances en I.A. :
La représentation des connaissances est liée au sujet traité.
C'est dans la base de connaissance que seront stockées les connaissances ou le savoir qui nous permettront par exemple :
La base des faits du problème à résoudre :
La base des faits, appelée aussi mémoire de travail, contient les hypothèses de départ à savoir les données propres au problème à résoudre.
Ces hypothèses peuvent être formalisées différemment suivant les systèmes.
Exemple
1.1 :
système
expert SPHINX.
FAITS
: (fièvre 40°, boutons, amaigrissement ).
Exemple
1.2 :
système expert EXPERT.
FAITS
: (ANIMAL a des plumes),
(ANIMAL
vole)
La
base des faits s'enrichira progressivement à la demande du système
expert pour qu'il puisse progresser vers la solution. Par exemple, avec les faits
initiaux de l'exemple 2, le système expert trouve le fait que ANIMAL est
oiseau. La base des faits contiendra :
(ANIMAL a des
plumes), (ANIMAL vole), (ANIMAL est oiseau).
Cette base des faits peut jouer le rôle de mémoire auxiliaire, en mémorisant tous les résultats intermédiaires. Ils permettent de conserver une trace des raisonnements effectués par le système. Ils peuvent expliquer l'origine des connaissances déduites par le système expert.
Nous faisons l'hypothèse selon laquelle les raisonnements sont formalisés sous forme de règles de production. Une règle se met sous la forme :
SI
Condition_1 et Condition_2 et Condition_3 ... et Condition_n |
Exemple
1.3:
SI
l'animal pond des oeufs et l'animal vole ALORS l'animal est un oiseau.
La partie gauche est une premisse. La partie droite est une conclusion. Une telle règle est aussi appelée inférence. La partie gauche exprime des conditions. Si toutes les conditions sont satisfaites l'autre partie devient vraie.
Ensemble
des règles = la base des règles = la base des connaissances,
Ensemble
des faits = la base des faits.
Comment fonctionne en pratique un système expert ?
Exemple 1.4 : Système expert ANIMAUX
Base des règles "ANIMAUX" : | Base des faits "ANIMAUX" : |
|
|
Le mécanisme d'exploitation ou moteur d'inférence prend une règle et regarde dans la base de faits si les faits stockés vont rendre la prémisse de la règle vraie.
Tirons
la première règle R1 : l''une des conditions n'est pas remplie.
En effet, on ne sait pas si l'animal est oiseau. Ce fait n'est pas dans la base
des faits.
Tirons la régle suivante R2 : les conditions sont
vraies. La base des faits contient les deux conditions animal vole et animal pond
des oeufs. La règle est éxécutée.
La base des faits
s'enrichit d'un fait supplémentaire : "l'animal
est oiseau".
Nouvelle base des faits "ANIMAUX" : |
|
Tirons maintenant de nouveau la règle R1 : les conditions sont vraies, la règle est éxécutée. Un fait nouveau est ajouté à la base des faits : "l'animal est colibri".
Exemple 1.5 : Système expert VILLE
la base de règles "ville" : | la base des faits "ville": |
|
|
Exemple 1.6 : Système expert ABC
Soit la base de connaissances suivante :
Base de faits initiale :
{H,K}
Base des règles :
La
règle R1 signifie SI A ALORS E
("De A on peut déduire
E")
Le démonstrateur de théorèmes se propose d'induire des faits nouveaux à partir de la base de connaissances et de la règle de modus ponens, c'est-à-dire de la règle : "Si p est vrai et si p --> q alors q est vrai".
Deux stratégies générales de démonstration sont alors possibles :
Le chaînage
avant : on part de la base de faits initiale ; on déclenche toutes
les règles dont les prémisses sont satisfaites ; on ajoute les faits
ainsi obtenus ; on poursuit jusqu'à "saturation".
Dans l'exemple précédent, on obtient la chaîne de dérivation suivante :
Le
chaînage arrière : supposons que l'on cherche à démontrer
si le fait D est vérifié ; c'est le but recherché. On regarde
toutes les règles qui ont le but dans leurs conséquences. Chacune
de ces règles est considérée : si toutes ses prémisses
sont satisfaites dans la base de faits initiale, le but est atteint, sinon on
enregistre les prémisses inconnus comme autant de nouveau buts et on recommence
le cycle sur chacun d'eux.
Dans l'exemple précédent :
Exemple 1.7 :
Dans
le domaine de la botanique, considérons la base de règles
suivante :
Ainsi,
1. signifie que "si la plante possède une fleur et une graine, alors
la plante est un phanérograme".
Le probléme posé
est alors de déterminé une plante ayant les carctéristiques
suivantes :
{rhizome,
fleur, graine, 1-cotylédone}.
Ce
sera la base de faits initiale.
En chaînage avant, on obtient la chaîne de dérivation suivante :
D'où
la solution "muguet", les autres règles ne se déclenchant
pas.
Une fois que le choix d'une représentation est définie pour une base de connaissance donnée il faut l'alimenter puis par la suite la maintenir : c'est le rôle du module d'acquisition des données. La base de donnée doit être facilement manipulable et extensible pour ajouter, modifier ou supprimer les connaissances stockées grâce à son symbolisme de représentation.
Suivant les systèmes, l'acquisition des nouvellles connaissances se fait par :
exercice 1 :
A partir de la base de règles "ville" ainsi que de la base de faits associée,on procède au déductions suivantes :
Base de faits initiale |
|
Base de faits initiale |
|
Compléter la base de faits en procédant aux déductions suivantes.
exercice 2 :
A
partir de la base de règles "ville" ainsi que de la base de faits
associée,on cherche à vérifier si la ville est une ville
qui mérite le voyage.
Construire la solution sous forme d'un graphe.