Académique Documents
Professionnel Documents
Culture Documents
Objectif : utiliser les éléments fondamentaux des systèmes experts dans des cas simples en
Ingénierie.
I – INTRODUCTION
1 . Définition
Un système expert est un ensemble de logiciels capables d’atteindre les performances d’un
expert humain pour une tâche donnée, ceci dans un domaine restreint et bien limité, grâce à
l’exploitation d’un ensemble de connaissances fournies explicitement et acquises auprès
d’experts domine considéré.
2 . Origine et historique
Les systèmes à règles de productions sont à la base des systèmes experts même si ces
derniers intègrent maintenant d’autres techniques de raisonnement et de représentations des
connaissances. Leur succès provient en partie du fait qu’ils ont permis d’aborder, avec des
résultats significatifs, des tâches auparavant très peu informatisées relevant du diagnostic,
de la prise de décision, etc.
L’apparition des systèmes experts se situe au début des années 1970. Le projet pionnier en
la matière fut DENTRAL lancé en 1965 par E. Feingenbaum et ses collègues à l’Université
de Stanford, aux USA, destiné à aider le chimiste à trouver la structure d’un composé
organique à partir de la donnée de son spectrogramme de masse et de sa formule chimique
brute. Ce projet aboutit initialement à un énorme programme Fortran dont la moindre
amélioration entraînait des coûts prohibitifs de reprogrammation.
2
Depuis lors des centaines de systèmes experts ont été développés et utilisés dans la
pratique. On assiste de plus en plus à l’apparition de systèmes experts de deuxième
génération intégrant une connaissance profonde des phénomènes traités.
3 . Procédé de création
Le procédé de création d’un système expert est souvent appelé ingénierie de la
connaissance (knowledge engineering). Il implique une forme spéciale d’interaction entre :
le constructeur du système expert appelé ingénieur de la connaissance ou ingénieur
cogniticien ou tout simplement cognititien.
Un ou plusieurs expert(s) humain(s) du domaine considéré.
L’ingénieur de la connaissance extrait des experts procédures, stratégies et règles sur le
domaine pour construire le système expert.
requêtes, problèmes
réponses, solutions
2 – Différents acteurs
Les principaux différents acteurs d’un système expert sont :
l’expert du domaine, l’ingénieur de la connaissance, l’outil de création du système expert et
l’utilisateur.
staff de
bureau
3
Le système expert est une collection de programmes ou de logiciels qui résout des
problèmes du domaine d’intérêt. Il s’appelle système au lieu de programme parce qu’il
contient à la fois une composante de la résolution du problème et une autre servant de
support. L’environnement support permet une interaction de l’utilisateur avec le
programme principal et peut inclure des utilitaires de débogage sophistiqués, des éditeurs
faciles d’utilisation ainsi que du matériel graphique avancé pour permettre des E/S à
l’utilisateur au cours de l’exécution du système expert.
L’expert du domaine utilise des astuces et raccourcis pour une efficacité dans les
recherches. Ces stratégies sont modélisées par le système expert. Bien qu’un système
expert modélise à la fois un ou plusieurs experts, il peut aussi contenir de l’expertise
acquise auprès d ‘autres sources telles que les livres et articles de journaux.
L’utilisateur final est celui qui fait usage du système expert une fois réalisé. Il peut être un
scientifique utilisant le système pour la découverte de nouveaux emplacements d’un minerai,
un avocat cherchant à instruire un cas ou un étudiant pour l’apprentissage de chimie
organique, etc.
4
CHAPITRE II – REPRESENTATION DES CONNAISSANCES (Révisions)
1. INTRODUCTION
On entend par connaissance toutes les formes de savoir de l'homme :
- objets du monde réel
- faits et événements
- groupements ou généralisations d'objets de base
- relations entre concepts
- heuristiques et stratégies de savoir-faire ou procédures de raisonnement.
4. RAISONNEMENT APPROXIMATIF
La connaissance dans une machine est toujours limitée aussi. Puisque les machines
intelligentes devraient faire le maximum lorsque leurs connaissances sont limitées, nous
voudrions qu’elles utilisent aussi des généralisations et des approximations.
5
Le raisonnement probabiliste permet aux systèmes d’Intelligence Artificielle l’utilisation de
connaissance incertaine (ou probabiliste).
Les méthodes probabilistes sont des outils permettant de prendre des décisions. La théorie
de décision reliée à la théorie des probabilités apporte des techniques additionnelles pour
minimiser les risques dans les décisions prises.
Ces questions montrent bien l’importance de la prédiction. Cependant les mêmes questions
pourraient être posées concernant l’intuition du diagnostic à poser sur un patient par un
médecin ou encore le sentiment d’un analyste financier sur le stock du marché. Dans de tels
domaines il peut bien exister des critères formels en plus de l’intuition ou qui sont sous-
jacents à l’intuition. Ensuite on pourrait concevoir des mécanismes informatiques consistants
avec ces différents critères formels et l’intuition.
Le phénomène de l’incertitude peut être étudié mathématiquement en s’appuyant sur la
théorie des probabilités et les théories de l’évidence.
3) la notion de certitude
Les probabilités étant des nombres compris entre 0 et 1, elles représentent de façon idéale la
certitude en des faits rencontrés. Cependant il est important que dans toute étude les
différents axiomes de probabilités soient satisfaits.
La formule de BAYES s’illustre très bien par le problème fictif de diagnostic médical suivant :
6
Supposons que :
H = « Jacques a le paludisme »
E = « Jacques a une forte fièvre »
Nous voulons trouver la valeur de P(H/E) correspondant à probabilité pour que Jacques ait
paludisme sachant qu’il a une forte fièvre.
7
Symptômes
et évidence
Probabilités d’à
priori des états étant
donnés les
symptômes
Schéma pour
l’assignation de Preneur de décision de
risques aux risque minimum
alternatives de
décisions
Décision ou
cours de l’action
Dans la pratique tout système Bayésien ne peut être construit (habituellement on a pas une
bonne connaissance des probabilités conditionnelles des ensembles de symptômes (ou
évidence) sachant l’état de santé considéré (la vérité cachée).
Cependant des outils de modélisation heuristiques peuvent servir à la représentation de
relations connues entre évidence et conclusion.
La complexe relation entre évidence et conclusions finales peut s’exprimer comme un réseau
de simples relations comportant en plus des assertions intermédiaires (conclusions partielles
et proches conclusions de l’évidence). Un tel réseau s’appelle ”réseau d’inférence
probabiliste”
– Domaines concernés
8
a. Les informations sont disponibles à divers niveaux de certitude et sont complètes.
b. Besoin de décisions optimales ou presque optimales
c. Possibilité de vouloir justifier les arguments en faveur de choix importants
d. Règles générales d’inférence (basées sur la théorie scientifique ou simplement
heuristique) sont connues ou peuvent être trouvées pour le problème.
Diagnostic médical
Diagnostic de défauts de machines et de logiciels informatiques (automobiles, avions,
ordinateurs etc.)
Prospection de minerais
Investigations (crimes)
Stratégies militaires (prise de décision en temps de guerre)
Stratégies de marketing et d’investissement
Prise de décision dans les processus de conception (logiciels, suspension de ponts,
circuits intégrés VLSI).
9
– Composants heuristiques de réseaux d’inférence
A cause du manque de connaissance de la distribution des probabilités conditionnelles des
différents états liés à la nature du problème (symptômes) (ex. avoir ou ne pas avoir le
paludisme), il est difficile d’obtenir un réseau d’inférence à partir de la formule de BAYES.
Une alternative raisonnable est de développer une hiérarchie d’assertions ”floues” ou
hypothèses (cf. figure ci-dessous) et utiliser des hypothèses supportées par l’évidence au
niveau k pour supporter des hypothèses de niveau k+1.
La formule de BAYES peut servir à établir les valeurs des probabilités des hypothèses de
niveau 1 à partir de l’évidence si celle-ci peut être considérée comme certaine. Ensuite des
”règles d’inférence floues” sont utilisées pour obtenir des probabilités des autres hypothèses
à partir de l’évidence. S’il y a de l’incertitude associée à l’évidence alors une ”inférence floue”
peut être utilisée au premier niveau.
(a)
(b)
De BAYES
10
Règles d’inférence floue
Les règles d’inférence floue sont des fonctions de propagation de valeurs de probabilités.
Forme générale
f : [0,1]n [0,1].
Le choix de f est lié à une décision de modélisation du domaine concerné.
Deux ensembles de règles d’inférence floue analogues aux opérations dans la logique de
calcul des propositions sont utilisés pour la construction de réseaux d’inférence. Ils ont un
comportement qui suit l’intuition et sont faciles à utiliser.
A B ¬A AB AB A B A B
F F T F F T F
F T T F T T T
T F F F T F T
T T F T T T F
a b 1-a min(a, b) max(a, b) max(1-a, b) xor(a, b)
a b 1-a ab a+b-ab 1-a+ab Xor(a, b)
Règles d’inférence pour le calcul des propositions avec deux variables logiques floues
Remarque :
A B correspond à ¬A B
(A ¬B) (¬A B) correspond à A B = A B
Le système utilisant min et max est quelquefois appelé ”logique possibiliste”. Dans un tel
système la valeur de A B n’est pas plus petite que les deux valeurs de A et B à la fois. Si
min(a, b) est la probabilité de A B alors A et B devraient être considérés comme deux
propositions dépendantes.
Pour le deuxième système qui assigne la valeur ab à A B, donne une plus petite valeur à la
conjonction que les valeurs de chacune des composantes. Ainsi si ab<a sauf si a=0 ou b=1,
et ab<b sauf si b=0 ou a=1.
Si ab est considéré comme la probabilité de A B alors A et B devraient être considérées
comme (statistiquement) indépendants.
11
Supposons les symptômes suivants :
Particularité :
S4 : les pièces de ce modèle de voiture sont difficiles à trouver
Hypothèses de niveau 2
H4 : le moteur a besoin d’être remplacé ou d’être refait
H5 : le moteur a besoin d’allumage
12
En utilisant les règles de logiques floue nous pouvons modéliser la dépendance de H4 et H5 de H1, H2, et H3 comme suit : H4 = H1 H2 et H5 = ¬(H1
H2) H3
Avec le schéma de la table utilisant deux variables floues (les deux dernières lignes) on obtient :
En combinant ces résultats par usage des règles de la logique floue on obtient :
P(H4/S=max[P(H1/s), P(H2/S)]=max(0.325,0.125)=0.325
P(H5/S)=min{ 1-max[P(H1/s), P(H2/S)], P(H3/S) }=min(1-max(0.325,0.125), 0.5)
= min(1-0.325, 0.5)=0.5
P(C1/S)=max[ P(H4/S), min(P(H5/S), 1) ]
=max(0.325, min(0.5, 1))=max(0.325, 0.5)=0.5.
H1 H4
S1 BAYES
C1
H2
S2 BAYES ¬
H3 H5
S3 BAYES
S4
Réseau d’inférence probabiliste pour le problème d’automobiles
13
CHAPITRE III – SYSTEMES DE PRODUCTION
1. Raisonnement en logique
Ce raisonnement revient à démontrer de nouvelles formules à partir d'un ensemble
de formules existantes. La représentation d'un tel procédé s'appelle règle d'inférence.
Exemple :
Des formules CEREALE(Y) REGION(Y, nord) et CEREALE(mil) on peut
déduire REGION(mil, nord) La substitution de mil à Y permet de mettre
correspondance CEREALE(Y) et CEREALE(mil).
Le mécanisme de correspondance lui-même est appelé "Unification" ou
"filtrage". Il se retrouve dans tous les modes de représentation des
connaissances prenant en compte des variables.
2. Le principe de résolution
C'est une règle d'inférence qui s'applique à une famille de fbf appelées clauses.
La notion de clause : une clause est formée de la disjonction (la réunion par
des OU ) de formules atomiques.
Exemple :
¬CHOIX(x) v ROBE(x, rouge) v ROBE(x, rose) est une clause.
On démontre que toute fbf peut se transformer en un ensemble de clauses
(algorithme de Skolem). Ainsi, la clause ci-dessus résulte-t-elle de la transformation
de la formule logique :
(x) (CHOIX(x) ROBE(x, rouge) v ROBE(x, rose)).
14
La méthode de résolution : Elle consiste à :
rechercher deux clauses distinctes où apparaît le même littéral une fois en négatif
et une fois positif. Dériver de ces deux clauses une clause résolvante qui est
composée de la disjonction de tous les littéraux des deux clauses-parents, une fois
retirés les deux littéraux qui ont déclenché le mécanisme.
Schématiquement :
L1 v L2 v ... v Ln (1) ¬L1 v M2 v ... v Mn (2)
Q (résolvant de P et ¬P v Q)
puisque ¬P v Q est équivalent à P Q, le principe de résolution recouvre donc la règle
d'inférence du Modus ponens.
2) ¬G v K (i.e. G K ) est une résolvante des clauses
¬G v H et ¬H v K (i.e. G H et H K)
¬G v H ¬H v K
¬G v K
3) les clauses G et ¬G se résolvent en la clause vide ou NIL
(i.e. ensemble vide) G ¬G
NIL
4) ¬Q ¬P v Q
¬P
P ¬P
NIL
Ainsi on aura prouvé que FL (¬X) est contradictoire et, par suite, que X
est une conséquence logique de FL.
Avantages
16
- Elle exprime dans de nombreux cas, les faits de façon naturelle ainsi que les
relations déductives entre ces faits
- Adaptée au raisonnement exact avec des données complètes (théorèmes,...).
Inconvénients
- Formalisme trop rigide dans lequel les prédicats prennent les valeurs binaires V
(vrai) ou F (faux), sans remise en cause et ne permettant pas d'exprimer les
appréciations nuancées.
- Elle ne permet pas de prendre des décisions dans le cas d'informations
manquantes. D'autres logiques (non monotones, multivaluées, modales)
ont été introduites pour pallier ces limitations.
4. Règles de production
Une règle de production est une parcelle de connaissances de la forme :
Si conditions alors conclusions (coefficient)
La partie conditions s'appelle les prémisses. Si les prémisses sont vérifiées,
on
peut tirer les conclusions (déclencher une action, une procédure de calcul,
....).
Le coefficient (optimal) traduit ici la confiance qui est accordée à la règle. Il
traduit la vraisemblance de cette connaissance. Les coefficients affectés aux
règles, permettent de faire du raisonnement "incertain" et résulte souvent de
l'espérance que l'on a du domaine étudié.
BF
BC MI
18
BF : la base des faits. Elle équivaut à une mémoire à court terme
renfermant à tout instant les informations connues sur le
problème
en cours. Elle contient en début de consultation les données
préliminaires sur le problème traité. Elle s'enrichit ensuite par
application des règles de production de la BC ou grâce aux
réponses fournies par l'utilisateur à d'éventuelles questions
posées par le système et ceci jusqu'à ce qu'on parvienne à la
solution du problème. Tout comme les règles, les faits peuvent
être assortis de coefficients de vraisemblance.
6. Le raisonnement
Le moteur d'inférences (MI) fonctionne suivant deux (2) mécanismes de
base :
le chaînage avant et le chaînage arrière qui peuvent être combinés en un
chaînage mixte (souvent, c'est le cas dans la pratique).
a. Le chaînage avant
C'est un raisonnement guidé par les données. Il consiste donc à envisager les
règles dans le sens conditions conclusions, c'est à dire de la gauche
vers la droite. A une étape donnée du raisonnement, le MI parcourt un cycle
de trois (3) phases :
(i) Détection des règles dont la partie prémisses est vérifiée à partir
des éléments connus dans la BF. A ce niveau, le MI met en jeu le
mécanisme de filtrage évoqué dans la représentation logique dans cas où
les règles referment des variables.
Le MI est dit d'ordre 1 conformément à la logique des prédicats. Ainsi, une
règle peut être déclenchée plusieurs fois pour des instances différentes des
variables. Lorsqu'à une variable, on ne peut substituer qu'une constante et
non une autre variable, on parle d'ordre 0+. Lorsque les règles admises ne
renfermant pas de variables, on parle d'ordre 0. Dans ce cas une règle est
"tuée" dès qu'elle est appliquée puisqu'une nouvelle application ne pourrait
apporter d'information nouvelle.
19
conflits", cette étape peut se faire suivant des critères
heuristiques divers.
Exemples
- une règle encore jamais envisagée ou la moins récemment utilisée
(cas des règles avec des variables)
- une règle faisant intervenir un fait nouvellement apparu dans la BF
- le règle ayant le plus fort coefficient de vraisemblance...
Il faut noter aussi que des règles d'un niveau supérieur, métarègles, faisant
référence aux règles par leur contenu, peuvent être utilisées pour gouverner
cette sélection.
Exemples
- si condition 1 alors se focaliser sur les règles...
- si condition 2 alors éliminer les règles...
b. Le chaînage arrière
C'est un raisonnement guidé par un but. Il consiste à utiliser les règles
dans le sens conclusions conditions. Le MI fonctionne à partir d'un but initial à
prouver rangé dans une pile initialement vide, suivant un cycle à trois phases comme le
cas précédent.
(i) Détection des règles qui concluent sur le but (sommet de la pile
courant)
(ii) Sélection de la règle à envisager (résolution des conflits)
(iii) Application de cette règle
Ici les éléments des prémisses sont à considérer comme de nouveaux sous-
20
buts atteindre.
Si les sous-buts sont déjà présents dans la BF (déjà connus comme
vrais ou faux avec éventuellement des coefficients de plausibilité) alors le travail est fait
Sinon ils sont empilés dans la pile des buts.
Le cycle (i), (ii) et (iii) reprend en traitement le sommet courant de la pile
comme le nouveau but jusqu'à ce que :
- la pile soit vide (le but est alors atteint) ou
- aucune règle ne soit plus envisageable
Le chaînage arrière met ainsi en œuvre une technique de réduction de problèmes.
d. Le chaînage mixte
Dans de nombreux cas, l'homme met en jeu alternativement une démarche dirigée par
les données (tirer des conclusions à partir d'informations sur le patient en diagnostic
médical par exemple) et une démarche dirigée par les buts (tenter de prouver une idée de
diagnostic). Ceci se traduit par un mécanisme de chaînage mixte dans les systèmes de
production.
Exemple
Considérons la base de connaissances (BC) sur les vins blancs composée
de l'ensemble des règles de production suivantes :
R1 : si jaune et liquoreux alors sauternes (sûr)
R2 : si bourgogne et ferme alors côte-de-beaune (sûr)
R3 : si côte-de-beaune et non velouté alors corton
charlemagne (probable)
R4 : si côte-de-beaune et non velouté et goût-pierre-à-fusil
alors carton-charlemagne (sûr)
R5 : si sec et non ambré et fruité alors alsace (probable)
R6 : si sec et bouquet-délicat et non ambré alors bourgogne (sûr)
21
seule la règle R6 est applicable. Son application fournit le fait bourgogne(sûr) qui est
inclus dans la BF. Le système poursuit en chaînage avant et détecte que R2 est
applicable. L'application de R2 a lieu et côte-de-beaune (sûr) est inclus dans la BF.
Poursuivant toujours en chaînage avant, le système détecte que R3 est candidate.
L'application de R3 fournit corton-charlemagne (probable) qui est inclus dans la BF. A ce
stade du raisonnement, la BF contient :
- non ambré (sûr)
- bouquet-délicat (sûr)
- ferme (sûr)
- sec (sûr)
- non velouté (sûr)
- bourgogne (sûr)
- côte-de-beaune (sûr)
- corton-charlemagne (probable)
Le processus de chaînage avant est bloqué puisque aucune règle n'est plus applicable. Le
système a exploité au mieux les données fournies mais l'identification du vin blanc
proposé comporte un certain degré d'incertitude.
22
Avantages et inconvénients
Avantages
- Les règles de production constituent un moyen simple et naturel de traduire la
connaissance heuristique mise en jeu dans un raisonnement de type conditionnel.
- Un système de production (à règles) est parfaitement modulaire et par conséquent aisé
à modifier ou à compléter.
Inconvénients
- Les règles posent un problème de maintien de la cohérence dans leur ensemble. Le
programmeur ou un système automatisé évolué doit s'en charger.
- Les règles représentent des connaissances heuristiques de "surface" ne permettant pas
de rendre compte des connaissances sur les concepts profonds sur lesquels s'appuie
l'expert. Cela nécessite l'association aux règles d'autres modes de représentation.
23
CHAPITRE IV - PRINCIPE DE FONCTIONNEMENT DES MOTEURS D’INFERENCES
1 - présentation
a) SÉLECTION OU RESTRICTION
Au cours de cette première étape sont déterminés un sous-ensemble F1
de BF et un sous-ensemble R1 de BR qui, à priori méritent d’être
comparés lors du FILTRAGE.
Une technique courante consiste à répartir les faits et règles en familles
particulières souvent matérialisées par la définition de structures
séparées (par exemple, dans le contexte de diagnostic médical, on peut
séparer les règles propres aux maladies infantiles des autres règles ou
les faits relatifs aux analyses de sang des autres faits). 24
b) FILTRAGE
Au cours de cette seconde étape, la partie déclencheur de chacune des règles de R1 est
comparée, par le moteur d’inférences, à l’ensemble F1 de faits. Il en résulte un sous-
ensemble R2 de R1 de règles jugées compatibles avec F1. R2 est « l’ensemble de
conflits ».
c) RÉSOLUTION de CONFLITS
Au cours de cette troisième étape de l’évaluation le moteur détermine un sous-ensemble
R3 de R2 de règles qui doivent être déclenchées. Si R3 est vide, il n’y a pas de phase
d’exécution pour le présent cycle. Couramment, le choix des règles est sans rapport
apparent avec la signification attachée aux règles dans le contexte d’application. On peut
par exemple utiliser la technique FIFO sur les règles ordonnées dans une liste.
1 - La phase d’exécution
Elle constitue la deuxième partie de chaque cycle : le moteur d’inférences commande la
mise en œuvre des actions définies sur les règles de R3 (si R3 est non vide). Lorsque R3
contient plus d’une règle, la conduite à tenir peut être très différente d’un moteur à un
autre.
25
- l’occurrence de règle qui avait été retenue par la RESOLUTION de CONFLITS du
cycle n-1 est écartée de l’ensemble R2 au cycle n+1.
En pratique chaque étape du cycle de base du moteur d ‘inférences peut subir des
aménagements. La figure précédente symbolise le déroulement d’un cycle.
La résolution d’un problème quelconque nécessite couramment l’enchaînement de milliers
de cycles.
Remarque :
- le cycle de base d’un moteur d’inférences fait penser au cycle-instruction d’une
machine informatique traditionnelle ;
- chaque cycle du moteur d’inférences ou cycle d’inférence nécessite l’exécution de
centaines ou de milliers de cycles-instructions ;
- au cœur du projet japonais de « 5ème génération » d’ordinateurs se trouve l’intention
de réalisation des circuits et d’architectures de machines spécifiques permettant
d ‘atteindre des vitesses de l’ordre du million ou du milliard de ”lips” (Logical Inference
per Second).
1 - CONVENTIONS DE PRESENTATION
Lors du lancement de chacun des quatre moteurs d’inférences ci-dessous, deux variables
globales, BASEDESFAITS et BASEDESREGLES sont supposées représenter
respectivement un ensemble de faits et un ensemble de règles.
Le mot-clé renvoyer permet de quitter une procédure dans laquelle il est rencontré. La
valeur de l’expression qui suit constitue «la valeur renvoyée» de la procédure; en
particulier celle-ci peut être un appel de procédure qui prendra une valeur (elle même
renvoyée) à l’exécution. Pour quitter une procédure on utilise systématiquement un
renvoyer.
Les autres variables apparaissant dans le corps d’une procédure sont globales.
Dans l’en-tête des définitions de procédures on note en majuscules les variables qui
doivent recevoir une valeur au moment de l ‘appel, et en minuscules celles qui ne
reçoivent pas de valeur au moment de l’appel (variables auxiliaires). Cependant dans le
corps de procédures toutes les variables sont notées en majuscules.
1 K, L, M I
2 I, L, J Q
3 C, D, E B
4 A, B Q
5 L, N, O, P Q
6 C, H R
7 R, J, M S
8 F, H B
9 G F
27
2 - INVOCATION DES RÈGLES EN CHAÎNAGE AVANT, AVEC RÉGIME IRRÉVOCABLE ET MONOTONIE
a) SCHEMAVANT-1
SCHEMAVANT-1 invoque les règles en chaînage-avant, c’est à dire. il compare les éléments de la partie
prémisse des règles aux éléments de la base des faits, considérés chacun comme des faits établis. En
d’autres termes, dans ce cas, la partie prémisse des règles correspond à leur partie déclencheur.
Lorsqu’une règle est déclenchée, l’élément conclusion est établi et immédiatement rangé dans la base des
faits BASEDESFAITS.
Procédure ETABLIR-UN-FAIT(LEFAIT)
1 si LEFAIT appartient à BASEDESFAITS alors renvoyer « succès »
2 renvoyer EXECUTER-UN-CYCLE(BASEDESREGLES)
Remarque : par rapport au cycle de base général, l’étape de RESTRICTION consiste à éliminer toute règle
déjà servie : (cf. instruction 4.4 de EXECUTER-UN-CYCLE). Les étapes de FILTRAGE et de RESOLUTION
DE CONFLITS sont enchevêtrées dans les instructions 1 à 4 de EXECUTER-UN-CYCLE.
28
b) SCHEMAVANT- 2 «invoque les règles en chaînage-avant et produit les faits en largeur d’abord »
Procédure ETABLIR-UN-FAIT(LEFAIT, faitsneufs)
1. si le LEFAIT appartient à BASEDESFAITS alors renvoyer « succès »
2. FAITSNEUFS liste vide
3. renvoyer EXECUTER-UN-C YCLE(BASEDESREGLES, FAITSNEUFS)
29
A partir de l’état initial de la base de faits, le déclenchement de la règle 3 conduit à FAITSNEUFS = {B}. Puis
les déclenchements des règles 6 puis 9 à partir du même état initial conduisent à FAITSNEUFS = {B, R, F}.
Il ne reste alors aucune règle déclenchée depuis l’état initial. FAITSNEUFS est alors vidé dans
BASEDESFAITS qui devient :
{A, C, D, E, G, H, K, B, R, F}. A partir de cet état la règle 4 est déclenchée.
Remarques : l’étape de RESTRICTION consiste d’une part à éliminer toute règle qui a déjà servie et d’autre
part à interdire l’utilisation de faits de niveau n+1 tant que tous ceux de niveau inférieur ou égal à n n’ont pas
été produits. Les étapes de FILTRAGE et de RESOLUTION DE CONFLITS sont enchevêtrées dans
EXECUTER-UN-CYCLE.
30
3 - INVOCATION DES RÈGLES EN CHAÎNAGE ARRIERE, AVEC RÉGIME PAR TENTATIVES ET MONOTONIE
Procédure ETABLIR-UN-FAIT(LEFAIT)
1 si LEFAIT appartient à BASEDESFAITS alors renvoyer «succès»
2 renvoyer ETABLIR1(BASEDESREGLES)
Procédure ETABLIR1(LESREGLES, unerègle)
1 si LESREGLES est vide alors renvoyer « échec »
2 UNEREGLE choix d’un élément quelconque de LESREGLES
(par exemple le premier rencontré)
3 LESREGLES LESREGLES diminué de UNEREGLE
4 si UNEREGLE comporte LEFAIT en conclusion alors
si ETABLIR2(UNEREGLE) = «succès» alors renvoyer «succès»
5 renvoyer ETABLIR1(LESREGLES)
Procédure ETABIR2(LAREGLE, desfaits)
1 DESFAITS tous les faits composant la prémisse de LAREGLE
2 renvoyer ETABLIR-CONJONCTION-FAITS(DESFAITS)
31
Exercice : Application avec l’exemple de la BASEDESFAITS ci-dessus.
Cherchons à établir Q.
On lance SCHEMARRIERE-1 par ETABLIR-UN-FAIT(”Q”) on obtient :
Le déclenchement de la règle 2 qui introduit les faits à établir I, L, J. Le fait à établir d’abord considéré est I.
Il s’ensuit le déclenchement de la règle 1 pour introduire les faits à établir K, L, M. A ce niveau K est déjà
établi tandis qu’aucune règle ne comporte L ou M dans son déclencheur, le fait à établir redevient I. Comme
aucune règle ne comporte I dans son déclencheur, le fait à établir considéré redevient Q. Ensuite la règle 4
est déclenchée et A, B sont introduits. Comme A est déjà établi, le Moteur considère le fait à établir B. Il
s’ensuit le déclenchement de la règle 3 qui introduit C, D, E. Comme C, D, E sont déjà établis, la règle 3 est
immédiatement concluante : B puis Q sont établis.
Remarque :
- Il faut faire la distinction entre «déclencher» une règle et «tirer la conclusion » d’une règle : lorsqu’une
règle-en-arrière est utilisée pour établir le fait présent dans sa partie conclusion, à partir des faits présent
en prémisse supposés établis, on dira qu’on tire la conclusion de la règle. Tandis que lorsqu’une règle-
en-arrière est utilisée pour substituer les faits présents dans sa partie prémisse à ceux présents dans en
conclusion on dit qu’on déclenche la règle.
- Le fait à établir Q s’appelle ”hypothèse poursuivie” ou ”problème” ou ”but”. Les sous-problèmes introduits
ne sont pas inscrite dans la base explicite des faits : ils sont mémorisés à travers des appels de
procédures. Les sous-problèmes en suspens constituent une partie implicite de la base des faits qui va
jouer un rôle déterminant pour la choix de la règle à exécuter au prochain cycle.
32
SCHEMARRIERE- 2
« invoque les règles en chaînage-arrière et produit les sous-problèmes en profondeur d’abord sauf si
une règle est immédiatement concluante»
Procédure ETABLIR-UN-FAIT(LEFAIT, desrègles)
1 si LEFAT appartient à BASEDESFAITS alors renvoyer «succès»
2 DESREGLES toutes les règles de BASEDESFAITS qui comportent LEFAIT en partie
conclusion
3 si DRECTETABLIR1(DESREGLES) = «succès» alors renvoyer «succès»
4 renvoyer ETABLIR1(DESREGLES)
33
CHAPITRE IV – PRESENTATION DES OUTILS DE DEVELOPPEMENT
34
2) Méthodes procédurales : elles permettent au programmeur d’écrire des procédures
appelées (cas de ROOSIE) ensembles de règles contenant chacun des règles pour
appeler d’autres ensembles de règles.
3) Méthodes orientées objets : ici, les objets, appelés acteurs, représentent des entités
capables de produire un certain comportement. C’est le cas de SWIRL qui est un
système de simulation de bataille de l’air. Dans SWIRL les acteurs sont appelés
attaquants (avions offensifs) et combattants (avions défensifs) etc.
4) Méthodes basées sur la logique : c’est le cas de PROLOG.
5) Méthodes orientées à accès : c’est le cas de LOOPS qui fait usage de démons lors de
la lecture ou le changement d’une donnée pour l’activation d’un programme etc. Ils
agissent comme des sondes connectées à des valeurs de variables particulières dans
un programme.
35
EMYCYN est un langage d’ingénierie dont le noyau est MYCYN auquel a été ôtée la
connaissance sur le domaine. Il utilise une méthode de représentation basée sur les
règles de productions doté d’un rigide mécanisme de chaînage arrière limitant son
application au diagnostic (et des problèmes de classification d’objets). Cependant, il
est doté d’un système d’explication sophistiqué ainsi que de facilités d’acquisition qui
contribuent à l’accélération du développement de systèmes experts. Il a été utilisé pour
bâtir des systèmes experts dans le domaine du diagnostic en médecine, géologie,
ingénierie, agriculture, etc.
PLANT/dps
prédiction (si oui ou non) BLUE Box
les champs de maïs seront aide à la sélection d’une thérapie
dévastés par des parasites EMYCYN pour patients sujets à des dépressions
LITHO
aide à la caractérisation de roches
souterraines par l’interprétation de PUFF
données provenant d’un forage diagnostic d’affections pulmonaires
par l’interprétation de tests respiratoires
réalisés en laboratoire
Applications en MYCYN
36
AI/RHEUM : diagnostic en rhumatologie
ELAS
diadnostic en géologie MI
(interprétation de résultats diagnostic de l’infarctus du myocarde
issues d’un forage) EXPERT (attaque cardiaque)
SPE
diagnostic de conditions inflammatoires
à partir des données de test réalisé.
Applications en EXPERT
OPS5 est un outil de développement d’intérêt général qui utilise une méthode de
représentation basée sur les règles marchant à l’aide d’un chaînage avant. Le système
supporte souvent divers modes de représentation des données et des structures de
contrôle dans un seul programme. OPS5 a un puissant « pattern matcher » et un
interpréteur performant quant à l’établissement des correspondances entre règles et
données. Cependant, il a un environnement support peu sophistiqué. Il manque de
mécanisme d’acquisition et offre un minimum de facilités en ce qui concerne l’édition et
de débogage.
OPS5 est vient après OPS, OPS4 et a été utilisé pour de nombreuses applications de
psychologie cognitive, d’I.A. et de systèmes experts.
IDT
XCON permet la localisation de composants
pour la configuration de OPS5 défectueux dans les ordinateurs PDP11/03
systèmes VAX-11/780
YES/VMS
permet un contrôle interactif en temps réel des
systèmes d’exploitation des IBM VMS
Applications en OPS5
37
C’est l’ensemble des outils les plus utilisés. Il a été utilisé dans le développement de
plusieurs systèmes experts commerciaux. Sa popularité est due en partie à l’efficacité de
son exécution et en partie à sa disponibilité sur le marché.
ADEPT
SPILLS pour l’analyse de situation de champ
pour la localisation et ROSIE de bataille
l’identification de pétrole
et de produits chimique
LDS
pour analyser et décider si oui ou non
un produit est défectueux selon des principes
légaux et des stratégies d’avocats en la matière
Applications en ROSIE
38
CHAPITRE V – CONSTRUCTION D’UN SYSTEME EXPERT
Il es difficile d’établir des critères généraux qui militent en faveur du développement d’un
système expert pour un problème donné.
La règle d’or est : « considérer les systèmes experts seulement si le développement d’un système
expert est possible, justifié et opportun ».
La tâche ne fait
pas appel au
raisonnement
général
La tâche requiert
seulement des
techniques cognitives
Il est possible de
Existence de développer un
véritables experts ET
système expert
39
2/ Caractéristiques justificatifs du développement d’un système expert (justification)
La solution de la
tâche a beaucoup
d’intérêt
Expertise
humaine en voie
de disparition
Rareté de Le développement
l’expertise OU d’un système
humaine expert est justifié
Besoin en experts
dans plusieurs
localités
La tâche requiert de
la manipulation
(1) symbolique
La tâche requiert
des solutions
(1) heuristiques
Il est opportun
La tâche n’est d’envisager
(2) pas trop facile ET l’approche d’un
système expert
La tâche a une
(3) valeur pratique
40
4) Différentes tâches dans le développement d’un Système expert
Le développement d’un système expert peut être vu comme cinq phases
interdépendantes : identification, conceptualisation, formalisation, implémentation et test.
42
Un prototype de démonstration basé sur les règles de productions pourrait contenir 50
à 100 règles qui marchent bien sur un ou deux cas de test et prendrait un à trois mois
de développement.
Plusieurs systèmes experts ont évolués au stade de prototype de recherche. Un
programme de taille moyenne capable de bien marcher sur un ou un certain nombre
de cas de test. Un tel système expert à base de règles de productions pourrait contenir
200 à 300 règles, bien marcher sur un grand nombre de cas de test et prendrait une à
deux années de développement.
Certains systèmes experts ont évolués au delà de prototype de recherche pour
atteindre le stade de prototype de domaine. Ils sont modérément fiables, dotés
d’interfaces agréables et s ‘adresse aux besoins de l’utilisateur final. Un tel système
pourrait contenir de 500 à 1000 règles, bien marcher sur plusieurs cas de test et
prendrait deux à trois années de développement.
Très peu de systèmes experts ont atteint le stade de prototype de production. Ce sont
de larges programmes. Un système expert à base de règles de ce type peut contenir
500 à 1500 règles de productions et permet de prendre rapidement une décision sûre.
Son développement peut prendre deux à quatre ans.
Seulement très peu de systèmes experts ont atteint le stade de prototype commercial.
Ce sont des systèmes de prototypes de production. Par exemple XCON contient plus
de 3000 règles et permet d’atteindre des conclusions correctes dans 90% à 95% du
temps et son développement avait pris six ans.
43