Citation :
Les composantes de base d'un système expert sont le moteur d'inférence, la base de connaissances et l'interface
homme-machine. Un traceur et un module d'acquisition des connaissances complètent le système expert.
Il s'agit donc de
1. déclarer les structures de données adéquates pour représenter les informations de la base
2. de saisir la base de connaissance base de fait/base de règles dans des fichiers textes (mode manuel)
3. de programmer les primitives permettant de lire les informations de la base de connaissance à partir des
fichiers base de fait et base de règle et de les afficher.
Structures de données
Une base de connaissances est composée d'une base de règles et d'une base de faits.
Les règles que nous considérerons seront des clauses de Horn. Une telle règle est composée de deux parties:
· Un ensemble de conditions qui doivent toutes êtres satisfaites pour que la règle se déclenche.
· Une seule conséquence, i.e., un nouveau fait, qui devra être inséré dans la base des faits.
La syntaxe d'une règle est la suivante <regle> si <premisse> alors <conclusion>
Définir la structure de Regle correspondante
L’énoncé est constitué (du point de vue externe) d’une suite de faits connus (les hypothèses) et d’un fait à déduire (le but)
Définir une structure Fait comportant les éléments suivants :
Fait
Explication : numéro de la règle qui a permis de le déduire ou -1 si fourni par l'utilisateur ou 0 si c'est le but (entier)
Utiliser une liste pour gérer la base des faits (liste_faits)
Utiliser une liste pour gérer la base de règles (liste_règles)
Base de connaissances à utiliser
soit BF = {B, C}, But = {H} et BR composée des règles :
R1. Si B et D et E alors F
R2. Si G et D alors A
R3. Si C et F alors A
R4. Si B alors X
R5. Si D alors E
R6. Si X et A alors H
R7. Si C alors D
R8. Si X et C alors A
R9. Si X et B alors D
Moteur d'inférence
L'idée de base d'un moteur d'inférence à chaînage avant est de déduire tout ce qu'il est possible à partir d'un ensemble de faits initiaux et d'un ensemble de règles.
A chaque fois qu'un nouveau fait est déduit, l'ensemble complet des règles (sauf celles déjà déclenchées) doit être rappliqué à la base des faits : le nouveau fait peut permettre le déclenchement d'une règle qui avait déjà été essayée sans
succès.
Le processus d'inférence se termine lorsque plus aucun nouveau fait ne peut être déduit, ou que le but (s’il existe) est atteint.
|