implémentation d'un moteur d'inférence

implémentation d'un moteur d'inférence - Java - Programmation

Marsh Posté le 12-02-2010 à 00:02:41    

Bonjour,
Je voulais que vous m'aidez à préparer et implémenter de base de connaissances
avec un moteur d'inférence en chainage AVANT.
 
J'ai trouvé des difficultés à choisir les bonnes structures des données.
 
Voici l'énoncé:
 

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.


 

Reply

Marsh Posté le 12-02-2010 à 00:02:41   

Reply

Marsh Posté le 12-02-2010 à 09:44:05    

Le langage imposé est C ou java.
 
S.V.P Aidez-moi. J'ai mis juste l'énoncé pour mieux comprendre
 

Reply

Marsh Posté le 12-02-2010 à 09:46:59    

Ici, on n'aide que ceux qui bossent et sont bloqués dans leur progression, pas ceux qui postent un énoncé en espérant qu'on va faire le boulot à leur place.
A+,


Message édité par gilou le 12-02-2010 à 09:49:40

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 12-02-2010 à 10:08:49    

J'ai trouvé des difficultés à choisir les bonnes structures des données.
 
juste au niveau le choix des structures puis je vais débrouiller.
 
OK ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed