Système Expert

Système Expert

Contenu d’un système expert :

  1. Une base de règles (connaissances de l’expert).
  2. Une base de faits (connaissances du système sur un cas précis).
  3. Un moteur d’inférence pour appliquer les règles.
  4. Une interface utilisateur.
Interface utilisateurMoteurBases de règles
Bases de faits
 
Base de règles :

Toujours sous la forme : SI (ensemble de conditions) ALORS nouvelle connaissance

Ensemble de conditions = les prémisses.

Nouvelle connaissance = conclusion.

Plusieurs premisses sont possibles avec le terme l’opérateur ET

Exemples :

  • IF (Rectangle AND Losange THEN Carré
  • IF (Parallélogramme AND Cotes Egaux=4(Combien la figure a-t-elle de côtés égaux ?)) THEN Losange
  • IF (« patient a mal ») AND (« patient a + de 40 ans ») THEN …
  • IF (symptôme = douleur) AND (âge ≥ 40) THEN …
  • IF (?x a mal) ET (?x a l’âge ?n) AND (?n ≥ 40) THEN …

Il est aussi possible d’ajouté d’autres opérateurs tel que : NOT OR XOR…

 
Bases de faits :

Les prémisses d’une règle peuvent être de deux types :

  • Fournies par l’utilisateur = entrées.
  • Application de règles = faits inférés.

Ces prémisses sont enregistrées dans une base de faits.

La base de règles et la base de faits constituent la base de connaissance du système.

 
Moteur d’inférence :
  • Il permet de sélectionner et d’appliquer les règles.
  • Ajoute ou sélectionne des faits.
  • Doit savoir quand un but est atteint ou si il ne le sera jamais.
  • Fonctionne de 3 façons, 3 types d’inférences :
    • Chainage avant
    • Chainage arrière
    • Chainage Mixte
Chainage avant : (dirigé par les données)
  1. On part des données disponibles en base de faits.
  2. On va prendre chaque fait et on va examiner toutes les règles où ce fait apparaît en prémisse.
  3. On va voir pour chacune de ces règles si elle est déclenchée. Si elle l’est, on l’applique et on rajoute la conclusion à la base de faits.

Le moteur explore toutes les possibilités, jusqu’à trouver le fait recherché ou jusqu’à ne plus pouvoir appliquer de nouvelle règles.

Algorithme du chainage avant :

  • BF  = base de faits
  • BR = base de règles
  • F  = proposition à vérifier
DEBUT

    TANT QUE F n'est pas dans BF ET qu'il existe dans BR une règle applicable
        FAIRE 
        Prendre la première règle applicable R
        BR = BR - R (désactivation de R) 
        BF = BF union conclusion(R) (déclenchement de la règle R, sa conclusion est rajoutée à la base de faits)
    FIN TANT QUE 

    SI F appartient à BF ALORS 
        F est établi (succès) 
    SINON F 
        n'est pas établi 
        (échec)

FIN

 

Chainage arrière : (dirigé par le but)
  1. On part des faits qu’on souhaite obtenir
  2. On cherche une règle qui permette d’obtenir ce fait
  3. On ajoute toutes les prémisses de cette règle dans les nouveaux buts à atteindre
  4. On recommence jusqu’à ce que les nouveaux buts soient présents dans la base de faits.
  5. Si un fait est absent ou prouvé comme faux, alors on sait que la règle ne peut pas s’appliquer.

Ce type d’inférence utilise un mécanisme de backtracking pour passer à une nouvelle règle. 

Si plus aucune règle ne peut mener au but, alors celui-ci est considéré comme faux.

Algorithme du chainage arrière :

  • BF  = base de faits
  • BR = base de règles
  • F  = proposition à vérifier
  • ER = esemble de règles
Fonction ChainageArriere(BR, BR, F)
DEBUT

    SI (F est dans BF) 
        RETOUR
    SINON
        Construire ER de R, telle que conclusion(F)

    FAIRE
        valide = VRAI
        R = premier element de ER
        ER = ER - R

        POUR TOUT Fr dans premisse(R)
            valide = valide
            ChainageArriere(BF, BR, Fr)
        FIN POUR

    TANT QUE valide ou ER != NULL

    Si valide 
        BF = BF + F

    ChainageArriere(BF, BR, F)

FIN

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *