Les systèmes experts
les concepts de base

Un peu d'histoire :

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:

  1. Une base de connaissances où sont stockées, sous une forme appropriée, toutes les connaissances permettant de résoudre le problème que l'on veut traiter dans un domaine déterminé.
  2. Un mécanisme d'exploitation (moteur) qui est un ensemble de programmes susceptibles de traduire le raisonnement humain (heuristique, progression par avancement et retour arrière, décomposition en sous ensemble...). Ces programmes utilisent les connaissances stockées dans la base de connaissnce afin de résoudre le problème que l'utilisateur lui a posé en lui donnant des hypothèses de départ.
  3. Une base des faits du problème à résoudre, qui est en fait une mémoire de travail où seront stockées les hypothèses de départ où viendront s'ajouter des faits nouveaux au fur et à mesure que progressera le mécanisme d'exploitation.

    Un système, en I.A., doit posséder deux autres parties qui sont en fait des modules d'interface avec l'extérieur :

  4. Un module d'intéraction avec les utlisateurs potentiels : cette interface de dialogue doit être la plus conviviale possible. Ce module est lié au mécanisme d'exploitation.
  5. Un module d'aide à l'acquisition des connaissances qui est surtout une interface de dialogue entre la base de connaissances et les experts du domaine qui doivent alimenter cette dernière.

 

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).

La base de connaissances:

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.


Des faits, des règles, des raisonnements :

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
ALORS
Action_1 et Action_2 et Action_3 ... et Action_p.

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" :

  • R1 : SI l'animal est oiseau et l'animal pèse moins de 10 gr
         ALORS l'animal est colibri.
  • R2 : SI l'animal vole et l'animal pond des oeufs
         ALORS l'animal est oiseau
  • Animal vole
  • Poids animal est inférieur à 10 gr
  • Animal pond des oeufs

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" :

  • Animal vole
  • Poids animal est inférieur à 10 gr
  • Animal pond des oeufs
  • Animal est oiseau

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":

  • R1 : Si belle ville et très bon restaurants
         alors ville métitant le voyage.
  • R2 : Si ville historique
         alors ville méritant le voyage.
  • R3 : Si autochtones accueillants et traditions folkloriques
         alors ville méritant le voyage.
  • R4 : Si monuments et végétation abondante
         alors belle ville.
  • R5 : Si tradition culinaire
         alors bons restaurants.
  • R6 : Si restaurants 3 étoiles
         alors très bons restaurants.
  • R7 : Si restaurants 3 toques
         alors très bons restaurants.
  • R8 : Si musées et ville ancienne
         alors ville historique.
  • R9 : Si Provence et bord de mer
         alors autochtones accueillants.
  • R10 : Si parcs verdoyants et avenues larges
         alors végétation abondante.
  • Parcs verdoyants
  • Avenues larges
  • monuments
  • restaurants 3 toques
  • ville ancienne

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 :

  1. Si fleur et graine alors phanérograme
  2. Si phanérograme et graine nue alors sapin
  3. Si phanérograme et 1-cotylédone alors monocotylédone
  4. Si phanérograme et 2-cotylédone alors dicotylédone
  5. Si monocotylédone et rhizome alors muguet
  6. Si dicotylédone alors anémone
  7. Si monocotylédone et non rhizome alors lilas
  8. Si feuille et fleur alors cryptogame
  9. Si cryptogame et non racine alors mousse
  10. Si cryptogame et racine alors fougère
  11. Si non feuilles et plante alors thallophyte
  12. Si thallophyte et chlorophylle alors algue
  13. Si thallophyte et non chlorophyle alors champignon
  14. Si non feuille et non fleur et non plante alors colibacille

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.

Comment enrichir et maintenir la base de connaissances :

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 :

Exercices :

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
  • Parcs verdoyants
  • Avenues larges
  • monuments
  • restaurants 3 toques
  • ville ancienne

Base de faits initiale
  • Parcs verdoyants
  • Avenues larges
  • monuments
  • restaurants 3 toques
  • ville ancienne
  • très bon restaurants
  • végétation abondante

Compléter la base de faits en procédant aux déductions suivantes.

consulter la solution

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.

consulter la solution