Chapitre 2 : Les systèmes experts
Chapitre 2 : Les systèmes experts
2.1. Introduction
L’IA est sans conteste, une des aventures intellectuelles de la fin du vingtième siècle et le début
de notre siècle, de telle sorte que, les machines se comportent comme des humains. Ce qui nous
intéresse, c’est le raisonnement dans l’IA. Est-ce qu’on peut vraiment réaliser des systèmes ou des
machines qui peuvent raisonner pour faire le même travail voulu ? Pour répondre à cette question,
les systèmes experts sont indispensables, ceux sont eux qui peuvent aider ces machines à exploiter
les connaissances acquises, et donner les réponses aux requêtes posées par les utilisateurs, dans un
domaine spécifié.
Hypothèse :
Est-ce qu’on peut réaliser des systèmes ou des machines qui peuvent raisonner afin de faire le
même travail désiré qu’un être humain ?
Réponses :
• Les systèmes experts : peuvent aider ces machines à exploiter les connaissances acquises, et
donner les réponses aux requêtes posées par les utilisateurs.
• La méthodologie des systèmes experts soulève de nombreux espoirs, et semble s'accorder avec
le développement accéléré de l’informatique, et la complexité des problèmes et des systèmes
existants.
• Les systèmes experts viennent d'exploiter les connaissances, ainsi que les expériences des
experts pour résoudre ou essayer d'englober le tout d'un problème.
2.2. Définitions
Définition 1 : un système expert peut être défini de deux façons. La première est fonctionnelle,
pour décrire la fonction du système, qu’est-ce qu’il fait ou qu’il devrait faire. La seconde, est
technique, s’intéresse au système comment est-il construit. Si on combine ces deux formules : «Un
système expert est un programme conçu pour simuler le comportement d'un humain qui est un
spécialiste ou un expert dans un domaine très restreint » (Denning 1986).
Définition 2 : « un ensemble de programmes capable de reproduire la démarche d’un expert
humain confronté à un problème dans son domaine de compétence » (Denis 2006).
2.3. Rôle des Systèmes Experts
Lorsque le processus intellectuel par lequel un humain évalue une situation, ou prend une
décision est précisément modélisé, il est relativement facile de le programmer, c’est le cas par
Dr Hanane Zermane Département Génie Industriel Université Batna 2 10
Chapitre 2 : Les systèmes experts
exemple, dans des domaines tels que la comptabilité, le calcul scientifique ou la commande
numérique de machines-outils. Les systèmes experts se sont développés comme une technique
informatique visant à atteindre trois objectifs :
Capturer aisément les unités de savoir-faire : pour faciliter l’expression la plus directe possible
des règles, par rapport à leur forme d’émergence chez les experts.
Exploiter l’ensemble des unités de savoir-faire : donc combiner et/ou chainer des groupes de
règles pour inférer (ou dériver) des connaissances telles que des jugements, plans, preuves,
décisions, prédictions, nouvelles règles, …. Et rendre compte de la manière dont les nouvelles
connaissances ont été inférées.
Supporter aisément la révision de l’ensemble des unités de savoir-faire : c’est d’offrir des
facilités pour les ajouts et les suppressions de règles.
Le schéma d’un système expert est représenté par la figure 2.1.
Figure 2.1. Schéma d'un Système Expert.
Il existe plusieurs systèmes experts crées et appliqués dans plusieurs domaines, médical,
industriel, chimie, …. Parmi eux :
• SEDIAG, DIAGNEX, MAINTEX, SOLVEUR/AMIDEC : des systèmes experts pour le
diagnostic.
• DENDRAL : 1969, chimie, recherche la formule développée d’un corps organique à partir de
la formule brute et du spectrogramme de masse du corps considéré. Identifier les constituants
chimiques d'un matériau.
• CRYSALIS : 1979, chimie, recherche la structure de protéines à partir de résultats d’analyse
cristallographique.
Dr Hanane Zermane Département Génie Industriel Université Batna 2 11
Chapitre 2 : Les systèmes experts
• MOLGEN : 1977, biologie, engendre un plan de manipulations génétiques en vue de
construire une entité biologique donnée.
• PROSPECTOR : 1978, géologie, aide le géologue à évaluer l’intérêt d’un site en vue d’une
prospection minière. (1600 règles)
• AM : 1977, mathématiques, proposition de conjectures, de concepts intéressants. (500 règles)
• MUSCADET : 1984, mathématiques, démonstration de théorèmes.
• MYCIN : 1974, médecine, système d’aide au diagnostic et au traitement de maladies
bactériennes du sang (Denis 2006).
2.4. Composantes d’un système expert
Un système expert est composé de deux parties principales, une base de connaissances qui
contient deux parties : une base de faits et une base de règles, et un moteur d’inférence qui changent
entre elles les mises à jour. L’architecture d’un système expert est présentée sur la figure 2.2.
Figure 2.2. Architecture d’un système expert.
2.4.1. La base de connaissances
Chaque expert acquis au cours de son travail une expertise, cette expertise (connaissances) est
stockée sous forme de faits et de règles de production. Cet ensemble de connaissances, est conservé
sur un support de stockage, appelé « une base de connaissances ».
[Link]. La base de fait :
Contient les différents faits utiles à l’application. Les faits sont des variables décrivant le
monde, représentés par un nom et un état. On les utilise pour conditionner l'exécution des règles
par le moteur d'inférence. La base de fait possède les caractéristiques suivantes :
i. Mémoire de travail : elle est variable au cours de l’exécution et vidée lorsque l’exécution
est terminée. Au début, elle contient ce que l’on sait du cas examiné avant toute intervention
Dr Hanane Zermane Département Génie Industriel Université Batna 2 12
Chapitre 2 : Les systèmes experts
du moteur d’inférence (faits initiaux). Puis elle est complétée par les faits déduits par le
moteur ou demandés à l’utilisateur (méta-faits).
Par exemple, dans le domaine médical, la base de faits pourra contenir une liste de symptômes
au début et un diagnostic lorsque celle-ci se terminera.
ii. Le type d’un fait : les faits peuvent prendre des formes plus ou moins complexes. Les
valeurs possibles sont :
Booléennes : vrai, faux
Symboliques ou nominales : appartenant à un domaine fini de symboles
Réelles : pour représenter les faits continus.
Un système expert qui n’utilise que des faits booléens est dit d’ordre 0. Un système expert qui
utilise des faits symboliques ou réels, sans utiliser de variables, est d’ordre 0+. Et un système
utilisant la logique du premier ordre (calcul) est d’ordre 1.
iii. Les formules et les conditions : Dans un système expert d’ordre 0, on pourra par exemple
écrire des formules d’un fait booléen ou sa négation de la forme :
actif ou ˥actif
Dans un système d’ordre 0+, on pourra trouver les formules : Si X est actif et (profession =
médecin) et (salaire ≤ 20000).
Illustration : « actif » est un fait booléen, profession est un fait symbolique et salaire est un fait
réel.
Dans un système d’ordre 1, on pourra trouver : ∀X maladie(X) et (X = grippe) et (symptôme(X)
= forteFièvre).
Ces formules sont appelées conditions lorsqu’elles servent à déclencher des règles. On
remarque que les faits booléens peuvent être interprétés comme des formules puisqu’ils possèdent
une valeur de vérité (1 ou 0).
iv. Méta-faits et Méta-valeurs : Pour qu’un système expert puisse modéliser un raisonnement
humain, il est indispensable qu’il puisse raisonner sur ses propres raisonnements, réfléchir
aux faits qu’il manipule, aux formules qu’il peut construire, etc.
Il n’est pas suffisant que le système ait des connaissances, il faut aussi qu’il ait des méta-
connaissances.
Dr Hanane Zermane Département Génie Industriel Université Batna 2 13
Chapitre 2 : Les systèmes experts
Ainsi, valeur(profession) est un méta-fait symbolique => médecin
valeur(salaire) = connue est une méta-condition => ≤ 20000
Quand un fait est inconnu, on peut envisager de demander sa valeur à l’utilisateur, si possible.
Mais il n’est pas envisageable par exemple qu’un médecin demande à son patient : "quelle maladie
avez-vous ?", ni qu’un juge demande à la personne comparaissant devant lui : "à quelle peine dois-
je vous condamner ?» (Denis 2006).
[Link]. La Base de Règles :
La base de règles (BR) représente les raisonnements effectués par un expert. Ces règles sont
appelées les unes à la suite des autres afin de créer des enchaînements de raisonnements. Tous ces
raisonnements peuvent être représentés sous la forme de règles de production de type « Si la
condition est vraie alors exécuter action ».
Une règle est de la forme « Si conjonction de conditions Alors conclusion » où une conclusion
est de la forme : Fait = valeur
La conjonction, comprise entre Si et Alors, est appelée prémisse ou le déclencheur de la règle.
La conclusion, est appelée le corps de la règle.
En formalisme logique, en notant les conditions C1, · · · ,Cn,
On écrit une règle ainsi : C1 ∧ C2 ∧ · · · ∧ Cn ⇒ [Fait = valeur]
(en langage Prolog, la notation est en général : [Fait = valeur] : − C1, · · · ,Cn)
Déclencher une règle consiste à remplacer ses prémisses par sa conclusion (chaînage avant), ou
sa conclusion par ses prémisses (chaînage arrière) (Denis 2006).
2.4.2. Le moteur d’inférence
Un moteur d’inférence est un mécanisme qui permet d’inférer des connaissances nouvelles à
partir de la base de connaissances du système. Selon différentes stratégies, le moteur d'inférence
utilise des règles, les interprète, les enchaîne jusqu'à arriver à un état représentant une condition
d'arrêt. L'exécution des règles par le moteur d'inférence influe sur l'état des faits et éventuellement
sur les autres règles. Le cycle de base d’un moteur d’inférence est présenté sur la figure 2.3.
Dr Hanane Zermane Département Génie Industriel Université Batna 2 14
Chapitre 2 : Les systèmes experts
Figure 2.3. Cycle de base d’un moteur d’inférence.
1) L’évaluation
La sélection (restriction) : on cherche à déterminer un sous-ensemble F1 de BF et un sous-
ensemble R1 de BR qui méritent a priori d’être mis en présence lors de l’étape de filtrage.
Le filtrage (pattern-matching) : En chaînage avant, on compare les prémisses des règles de R1
avec les faits. En chaînage arrière, on compare les conclusions des règles de R1 avec le sous-but à
atteindre. Dans les deux cas, on détermine un ensemble R2 de règles qu’il est possible de
déclencher, appelé ensemble de conflit.
La résolution de conflit : consiste à choisir dans R2 un sous-ensemble R3 de règles qu’il va falloir
effectivement déclencher.
2) Régime irrévocable et retour en arrière
Lorsque R3 est vide, les systèmes les plus simples se contentent de s’arrêter. On dit que ces
moteurs d’inférence sont en régime irrévocable (invariable). Un fonctionnement un peu plus
compétent consiste à réexaminer l’ensemble de conflit R2 du cycle précédent. Certaines règles y
ont déjà été déclenchées. On peut décider de ne pas remettre en question les modifications de BF
consécutives à ces déclenchements et de déclencher d’autres règles de R2. Dans ce cas, on dira
que le système expert est en régime irrévocable.
Par contre, si on annule les modifications de BF avant de choisir d’autres règles à déclencher
dans R2, on dit qu’on a effectué un retour arrière. Un système expert fonctionnant de cette manière
est en régime par tentatives (branch and bound).
3) L’exécution : mode de raisonnement
On distingue trois modes principaux de fonctionnement pour la phase d’exécution des moteurs
d’inférences. C’est à dire trois façons de raisonner : le chaînage avant, le chaînage arrière et le
chaînage mixte (Denis 2006).
Dr Hanane Zermane Département Génie Industriel Université Batna 2 15
Chapitre 2 : Les systèmes experts
2.5. Modes de raisonnement
2.5.1. Chainage avant
Un moteur d'inférence fonctionne dans ce mode lorsque les faits représentent des informations
dont la vérité a été prouvée. Ce mode de fonctionnement va des faits vers les buts :
• Détecter les règles dont les prémisses sont vérifiées (filtrage)
• Sélectionner la règle à appliquer
• Appliquer la règle
• Recommencer jusqu'à ce qu'il n'y ait plus de règle applicable
Le processus de chainage avant suit l’algorithme suivant :
Algorithme chaînage avant :
ENTREE: BF, BR, F
F est le fait à déduire
Tant que F n’est pas dans BF et qu’il existe dans BR une règle applicable faire
choisir une règle applicable R
BR = BR − R (désactivation de R)
fin tant que
si F appartient à BF alors
F est établi
sinon
F n’est pas établi
finsi
2.5.2. Chainage arrière
Le moteur d'inférence part d'un fait que l'on souhaite établir, il recherche toutes les règles qui
concluent sur ce fait, il établit la liste des faits qu'il suffit de prouver pour qu'elles puissent se
déclencher, puis il applique récursivement le même mécanisme aux autres faits contenus dans cette
liste. L’exécution de l’algorithme de chaînage arrière peut être décrit par un arbre dont les nœuds
sont étiquetés soit par un fait, soit par un des deux mots ET, OU.
Le processus de chainage arrière suit l’algorithme suivant :
But initial placé au sommet d’une pile
Détection des règles qui concluent à ce but
Résolution de conflits
Application de la règle, i.e, les éléments des prémisses deviennent de nouveau sous- buts à
atteindre.
Arrêt : pile vide ou aucune règle applicable
Dr Hanane Zermane Département Génie Industriel Université Batna 2 16
Chapitre 2 : Les systèmes experts
Plusieurs différences apparaissent entre le chainage avant et le chainage arrière sont présentées
dans le tableau 2.1.
Tableau 2.1. Différence entre chainage avant et arrière.
Chaînage avant Chaînage arrière
Fonctionne bien lorsque le Fonctionne parfaitement lorsque le problème
problème se présente consiste à prouver une hypothèse ;
« naturellement » avec des faits Il est focalisé sur le but à prouver et pose donc
initiaux ; des questions pertinentes, qui ne déroutent pas
Points
Produit une grande quantité de l’utilisateur ;
forts
faits à partir de faits initiaux très Contrairement au chaînage avant, il recherche
peu nombreux ; dans la base de connaissances les informations
Adapté à la planification, le intéressantes pour le problème courant ;
contrôle, l’interprétation. Adapté au diagnostic et à la prescription.
Souvent ne perçoit pas certaines Poursuit une ligne de raisonnement même s’il
Points évidences ; Le système peut poser s’avère qu’il devrait l’abandonner pour une
faibles de nombreuses questions, qui autre. Les facteurs de croyance et les métarègles
parfois s’avèrent non pertinentes. peuvent aider à résoudre ce problème.
2.5.3. Chainage mixte
L’algorithme de chaînage mixte combine, comme son nom l’indique, les algorithmes de
chaînage avant et de chaînage arrière.
Algorithme chaînage mixte :
ENTREE: BF, BR, F
F est le fait à déduire
Tant que F n’est pas déduit mais peut encore l’être faire
Saturer la base de faits par chaînage avant (déduire tout ce qui peut être déduit)
Chercher quels sont les faits encore éventuellement déductibles
Déterminer une question pertinente à poser à l’utilisateur et ajouter sa réponse à la base de
faits
fin tant que
2.6. Comment Construire un Système Expert
La réalisation d’un système expert est un travail long, et un peu complexe dans sa
programmation et dans la collection et la formalisation des connaissances. Le système expert
apporte un intérêt financier aux entreprises qui l’utilise, chaque entreprise devra réaliser un tel
système lorsqu’elle possède un expert compétent dans son domaine. Même si cet expert vienne de
Dr Hanane Zermane Département Génie Industriel Université Batna 2 17
Chapitre 2 : Les systèmes experts
quitter l’entreprise, les connaissances acquises ne disparaissent plus, parce que le transfert
d’expertise est réalisé, et l’entreprise ne perd pas du temps et d’argents. La réalisation d’un tel
système expert passe par quatre étapes :
1) La Première Étape : Le choix d’un moteur d’inférence
Le choix d’un moteur d’inférence se fait selon l’ordre du moteur d’inférence si d’ordre 0 (si les
faits sont des propositions) ou 1 (si on va calculer des prédicats). Un moteur d’ordre 0 peut suffire,
mais si les problèmes mis en jeu sont plus complexes, un moteur d’ordre 1 est nécessaire ; et à
l’informaticien de choisir ce type.
2) La Deuxième Étape : Le travail de l’expert
L’expert doit arriver à extraire de ses méninges ses connaissances et les traduire sous une forme
accessible par le moteur. Ce travail est long et difficile ; il n’est pas habitué à ce genre de réflexion
et quelquefois, son propre raisonnement ne lui est pas complètement accessible. Il est alors aidé
par un ingénieur cogniticien chargé d’organiser les explications de l’expert. Cette étape aboutit à
la réalisation d’une maquette système expert sur une partie restreinte du domaine choisi, suit une
série de tests permettant à l’expert et au cogniticien de vérifier la véracité des diagnostics proposés
par le système.
3) La Troisième Étape : Extension au domaine
Il s’agit d’étendre la version prototype au domaine initialement choisi. Là, l’expert doit
continuer le travail de mise à plat de sa connaissance et également tester le travail du système
expert.
4) La Quatrième Étape : Vers un produit fini
Un système expert peut être utilisé par des non-experts ou des non-informaticiens. Il est
indispensable de lui associer un ensemble de logiciels d’interface du type dialogue en langage
naturel en respectant l’ergonomie et l’interface homme/machine, et par l’explication de
raisonnement, …. (Denis 2006).
Dr Hanane Zermane Département Génie Industriel Université Batna 2 18
Chapitre 2 : Les systèmes experts
2.7. Exercices corrigés
Quelques exercices sont proposés pour bien expliquer les modes de raisonnement et différencier
entre le chainage avant et arrière.
Exercice 1 : A partir de la base de faits : B, C et des règles suivantes, cherchez le but H par un
chainage avant.
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
Lorsque plusieurs règles sont en compétition, on choisira la première.
Solution : Chainage avant
Seule la règle R6 possède H comme conséquence, donc : Nouveaux buts : X, A
La règle R4 possède X comme conséquence, donc : Nouveaux buts : A, B
B est un fait, donc : Nouveaux buts : A
Trois règles possèdent A comme conséquence, ce qui détermine trois possibilités R2, R3, ou R8.
Application de R2 Nouveaux buts : G, D
G n’est jamais une conséquence donc : Echec ---
Application de R3 Nouveaux buts : C, F => C est un fait, Nouveau but : F
Application de R1 Nouveaux buts : B, D, E => B est un fait,
Nouveaux buts : D, E
Application de R7 Nouveaux buts : C, E => C est un fait,
Nouveau but : E
Application de R5 Nouveaux buts : D
Application de R7 Nouveaux buts : C, C est un fait, donc Succès.
Exercice 2 : A partir de l’énoncé de l’exercice 1, cherchez le but H par un chainage arrière.
Solution : Chainage arrière
Etape 1 : Règles applicables : 4 ou 7. On choisit 4.
BF = {B,C,X}, La règle 4 est désactivée.
Etape 2 : Règles applicables : 7, 8 ou 9. On choisit 7.
BF = {B,C,X,D}, La règle 7 est désactivée.
Dr Hanane Zermane Département Génie Industriel Université Batna 2 19
Chapitre 2 : Les systèmes experts
Etape 3 : Règles applicables : 5, 8 ou 9. On choisit 5.
BF = {B,C,X,D,E}, La règle 5 est désactivée.
Etape 4 : Règles applicables : 1, 8 ou 9. On choisit 1.
BF = {B,C,X,D,E,F}, La règle 1 est désactivée.
Etape 5: Règles applicables: 3, 8 ou 9. On choisit 3.
BF = {B,C,X,D,E,F,A}, La règle 3 est désactivée.
Etape 6 : Règles applicables : 6, 8 ou 9. On choisit 6. H est établi
On peut obtenir le même résultat en utilisant un arbre :
Dr Hanane Zermane Département Génie Industriel Université Batna 2 20
Chapitre 2 : Les systèmes experts
2.8. Exercices proposés
Exercice 1 : Explorez toute la base de règles à partir de la base de faits pour déduire tous les faits.
BF = {H,B,X,C}
BR :
1. P ⊢ B,E,D
2. A,B ⊢ D,G
3. A ⊢ C,P,K
4. D,L ⊢ C,Y
5. E ⊢ D,M
6. H ⊢ A,L
7. H,W ⊢Z
8. P,L ⊢W
Exercice 2 : à partir de la base de faits : A, K et des règles :
R1 A, B, C D
R2 I, H B
R3 H, F B
R4 A I
R5 E, F D
R6 A F
R7 K, L E
R8 A L
1. Réaliser du chaînage avant jusqu’à ce qu’aucune règle ne puisse plus donner de faits
supplémentaires.
2. Utiliser le chaînage arrière pour répondre au but : D
Exercice 3 : Un expert a construit la base de règles suivante :
R1 : A et B C
R2 : D A
R3 : E F
R4 : G H
R5 : I F
R6 : H et F et J B
R7 : H et K J
R8 : G et F K
Dr Hanane Zermane Département Génie Industriel Université Batna 2 21
Chapitre 2 : Les systèmes experts
La base initiale de faits est : (D, G, I),
1- Prouvez le fait C par chaînage arrière. quelle est la suite de règles essayées pour prouver le
fait I, on indiquera si chaque règle essayée a été un succès ou un échec.
2- On veut prouver le fait C en chaînage avant ; quelle est la différence entre les deux modes de
raisonnement (chaînage arrière et chaînage avant).
2.9. Conclusion
Les systèmes experts, une des applications de l'intelligence artificielle les plus utilisées dans le
monde de l'entreprise. De nombreux systèmes experts ont été implantés avec succès pour résoudre
des problèmes concrets, comme les systèmes de contrôle et de supervision dans les cimenteries.
Parfois, les systèmes experts souffrent d’une faiblesse intrinsèque, toutes les expertises ne sont
pas facilement formalisables sous forme de règles ou ne sont pas capables de traiter les systèmes
non linéaires. La solution à ce problème est la logique floue, plusieurs problèmes non linéaires ont
été résolus et plusieurs systèmes ont été réalisés afin d’aboutir à un contrôle globale d’une
entreprise.
Dr Hanane Zermane Département Génie Industriel Université Batna 2 22