Un système expert est une application logicielle
composé de deux entités :
- Une base de connaissances qui a été enrichie
par un cognitien (spécialiste humain dans le domaine de
compétence concerné)
- un moteur d'inférence constitué d'un
algorithme logiciel qui analyse les faits d'un problème à l'aide
de la base de connaissances. Cet ensemble est nommé système
expert ; il est capable d'établir des diagnostics à partir des
faits que l'on peut détecter dans la description d'un
problème.
Un système-expert est un outil informatique
d'intelligence artificielle, conçu pour simuler le savoir-faire d'un
spécialiste, dans un domaine précis (Les réseaux
électriques par exemple) et bien délimité, grace à
l'exploitation d'un certain nombre de connaissances fournies explicitement par
des experts du domaine.
Il permet de modéliser le raisonnement d'un expert, de
manipuler des connaissances sous une forme déclarative, d'en faciliter
l'acquisition, la modification et la mise à jour et de produire des
explications sur la façon dont sont obtenus les résultats d'une
expertise.
Dans des domaines d'utilisation comme la géographie ou
la gestion de l'espace, un système-expert peut être un outil
d'aide à la décision puisqu'il permet:
de tenir compte de variables, à la fois quantitatives
et qualitatives pour établir la base de connaissances, de structurer le
savoir de façon logique et de l'organiser pour construire un
modèle de simulation, et de proposer des réponses de type
prospectif.
Son utilisation est indépendante de la connaissance
qu'il renferme de manière à être utilisable par des
non-experts dans le domaine de la connaissance ou la technique de
modélisation. En revanche, la spatialisation des
phénomènes n'est pas explicitement prise en compte.
L'architecture est caractérisée par :
- Une base de connaissances représentant à la
fois du savoir-faire et l'expertise nécessaires pour résoudre un
problème. Les unités de raisonnement s'écrivent sous la
forme de règles libellées de la façon suivante : si
"situation" alors "action" situation correspond à l'hypothèse de
la règle et action à la conclusion
- une base de faits, mémoire renfermant à tout
instant les informations connues sur le problème en cours, qui
s'enrichit au fur et à mesure par les réponses de l'utilisateur,
un moteur d'inférences constitué par les algorithmes
chargé d'exploiter les connaissances et les faits pour mener un
raisonnement. Il exploite les connaissances en effectuant des déductions
logiques et, à partir des mêmes hypothèses que les experts,
propose des résultats identiques, deux interfaces indispensables
à la bonne communication homme-machine (l'une facilite le dialogue avec
l'utilisateur en
cours de session, l'autre permet à l'expert du domaine
de consulter ou d'enrichir la base de connaissances du système).
Le fonctionnement dépend du moteur d'inférences
qui choisit, en fonction de la situation courante décrite par la base de
faits, les connaissances de la base à utiliser et leur
enchaînement; il construit lui-même le raisonnement adapté
au cas particulier qu'il doit traiter en répétant un cycle
détection de règles pertinentes/choix parmi ces règles de
celle à utiliser/déclenchement de cette règle.
La définition des règles pertinentes
dépend des algorithmes de résolution inclus dans le moteur ; les
plus couramment utilisés sont le chaînage avant (partant des faits
pour en rechercher les conséquences) et le chaînage arrière
(partant des conclusions envisagées pour vérifier si les
conditions sont réunies).
Fig. VI.1 : Place du système expert
dans le système décisionnel
Et cheminement de l'information (
) Expert -> (2) Système expert et (3) utilisateur.
Fig. V.2 : Architecture d'un système
expert
Classe
NMSS.SE
(système expert)
Comme il a été décrit dans le chapitre
architecture, NMSS, intègre une classe
NMSS.SE responsable de la communication
entre les différentes entités du logiciel (IHM, calcul ou
décision).
Fig. VI. : Place du module expert dans
NMSS.
Fig. VI. : Object Diagram OD de la classe
NMSS.SE et son interaction avec les
autres
classes.
Conception et Intégration du Module Expert
Toutes les autres classes faisant référence
à
NMSS.SE ont fait objet de
re-modélisation afin qu'elles permettent le passage d'information en
mode exécution (runtime).
Algorithme du moteur d'inférence
NMSS.SE marche selon une algorithmique
d'adaptation selon le cas. En faisant abstraction à la nature de toute
autre entité logicielle. Le formalisme en vigueur dans ce cas est que
tout est sujet de règles d'adaptation selon des scénarios
prescrits.
En sachant la règle, ses conditions
d'applicabilité et les manoeuvres inculquées par l'expert dans de
telle situation, le moteur d'inférence implémenté prend
cette stratégie en action pour inférer et présenter la
décision possible demandée.
Beaucoup d'algorithme peuvent être
implémentés en tant que règles d'inférence : - La
logique floue
- Les réseaux de neurones
- Le recuit simulé
- Les algorithmes génétiques et
évolutionnistes
- Les algorithmes de fourmis (Fig. V.5 - sujet d'une publication
à LJS)
Fig. V.5: Choix dynamique de méthodes
de calcul du LFP/EDP
Fig. V.6 : Base d'inférence utilisant
les fourmis virtuelles pour décider
Fig. V.7 : Clase NMSS.METHOD qui
fait référence à
NMSS.SE
Fig. V 8 Modèle d'un système
expert sous NMSS
Afin de surmonter des problèmes de dimension de la
zone graphique susceptible de recevoir le modèle graphique, une solution
est venue faisant des composants BUSCU, GENCU,
LOADCU ou MESURECU, à la demande, des objets
pères pouvant incruster eux même des réseaux complets donc
un imbrication d'objets NETWORK (Donnée de
NETCHILD) alors qu'ils sont fils d'un objet NETCHILD (Fig.
V.9).
Fig. V.9 : Réseau IEEE standard de 300
noeuds
Intégration à NMSS
La figure Fig. V.10 montre un exemple d'intégration du
module expert dans NMSS par rapport à l'objet NMSS.METHOD (moteur de
calcul)
Fig. V.10 : Moteur de calcul de NMSS et sa
relation avec
NMSS.SE