Systèmes experts : Introduction
• Les années 70 ont connu le développement des systèmes
experts (SE) qui se basaient sur le paradigme revendiquant
la séparation entre les connaissances et le raisonnement et
qui stipule donc une représentation déclarative des
connaissances.
• Les SE en exploitant ce paradigme ont pu résoudre des
problèmes jusqu'ici insolvables par des programmes I.A
ou informatiques plus classiques.
• Parmi les domaines où les SE ont pu faire leur preuve, on
trouve : le diagnostic médical, le domaine juridique, la
conception en électronique, la planification, etc.
• Ces domaines sont caractérisés par le fait qu’ils nécessitent
une certaine expertise et une capacité à raisonner sur des
données volumineuses, incomplètes ou incertaines.
1
Systèmes experts : Introduction
Comment définir un SE?
• Il est difficile de définir de manière précise et unanime ce
que c’est un SE. Une des définitions les plus courantes est
celle de Feigenbaum qui stipule que :
« Un système expert est un programme conçu pour
raisonner habilement à propos de tâches dont on pense
qu’elles requièrent une expertise humaine considérable ».
• Cette définition se base sur la notion d’habilité de
raisonnement, alors qu’elle peut s’appliquer aussi bien aux
SE qu’à d’autres systèmes de résolution de problèmes.
2
Systèmes experts : Introduction
Comment définir un SE?
• En outre, il faut avouer que les systèmes experts
n’utilisent que des schémas très rudimentaires de
raisonnement.
• Néanmoins, en ce qui concerne l’expertise humaine
requise, cette définition met le doigt implicitement sur le
besoin de traduire et de modéliser le savoir-faire des
experts ou spécialistes humains de façon à ce qu’une
programmation sur des machines soit possible.
3
Systèmes experts : Introduction
• Cette tâche de modélisation des connaissances d’un
expert relativement à un domaine particulier est souvent
abordée comme une traduction de ces connaissances en
un ensemble de règles.
• Chacune règle stipule quel genre d’action un expert aurait
entrepris pour faire face à une situation donnée (les mots
action et situation doivent être compris dans le sens large
des termes).
• Une action peut être de type procédurale ou purement
déclarative comme l’ajout d’une nouvelle connaissance.
• Une règle peut alors être formalisé comme suit :
Si situation(s) alors action(s).
4
Systèmes experts : Composants d’un SE
• Un SE peut donc être défini comme étant « un système
informatique capable de mettre en œuvre des
connaissances pour imiter le comportement et/ou le
raisonnement des experts humains dans des domaines
d’expertise qui sont souvent basés sur un gros volume de
connaissances ».
• Parmi les premiers points qu’un concepteur de SE doit
considérer c’est la question portant sur la manière de
représenter la grande quantité de connaissances que le
système doit gérer.
• Du fait de la tendance à exprimer ces connaissances sous
forme de règles, la plupart des SE optent soit pour une
représentation à base de règles de production soit à base
du langage des prédicats.
• Une fois le formalisme choisit, il reste à décider du
langage spécifique à utiliser pour exprimer les
connaissances. 5
Systèmes experts : Composants d’un SE
• Ces connaissances ont besoin d’une structure d’accueil -
connue sous le nom de base de connaissances- où elles
seront sauvegardées. La nature et les caractéristiques de
cette base vont varier d’un système à un autre.
• Le SE doit disposer, en outre, d’un système de contrôle et
de raisonnement sur ces connaissances capable de
répondre aux questions qui seront posées par les futurs
utilisateurs du système.
• Ce système est connu dans le jargon des SE sous le nom
de moteur d’inférence et il doit être assez général et
indépendant du domaine concerné.
6
Systèmes experts : Composants d’un SE
• Enfin, pour qu’un système expert soit un outil efficace, il
doit être capable d’interagir avec ces utilisateurs dans le
sens où il doit pouvoir :
– Fournir une interface pour acquérir ou modifier les
connaissances et aussi pour recevoir les questions ;
– Expliquer son raisonnement et les réponses qu’il donne
pour les questions.
7
Systèmes experts : Fonctionnement d’un SE
• Tout SE digne de ce nom doit suivre normalement le
principe de fonctionnement suivant :
8
Systèmes experts : Fonctionnement d’un SE
9
Systèmes experts : Fonctionnement d’un SE
• On remarque que la base de connaissances est elle-même
composée de :
– une base de règles ;
– une base de faits.
• La base de règles modélise la connaissance générale de
l’expert du domaine considéré et ce, sous forme de règles
codées avec le langage utilisé par le système.
• La base de faits contient des connaissances plus
spécifiques et qui concernent les informations connues
sur le problème (le cas) en cours.
10
Systèmes experts : Fonctionnement d’un SE
• La base de faits est amenée à s’enrichir au fur et à mesure
qu’un utilisateur ajoute des faits -via l’interface- ou suite,
éventuellement, aux réponses aux questions qu’il aurait
posées.
• Un utilisateur (non-expert) peut également modifier ou
supprimer des faits de la base de faits mais il ne doit pas
toucher à la base de règles.
• L’expert, lui, peut ajouter, modifier ou supprimer des
règles de la base des règles.
• Signalons ici que les SE n’offrent pas toujours cette
possibilité de modification de la base de règles qui peut
être figée une fois pour toute.
11
Systèmes experts : Fonctionnement d’un SE
• Le moteur d'inférence selon les questions posées par
l’utilisateur –via l’interface- raisonne sur les informations
contenues dans la base de connaissance afin d’aboutir à
des déductions dont certaines seront fournies comme
réponses –via l’interface- aux questions posées et
éventuellement sauvegardées dans la base de faits.
• Rappelons que l'indépendance entre la base de
connaissances et le moteur d'inférence est une
caractéristique essentielle des SE et c’est elle qui permet
de faire évoluer la base de connaissances du système sans
avoir à agir sur le moteur d’inférence qui peut être valide
pour différents types de problèmes.
• Toutefois, il est souvent nécessaire d'organiser la base de
connaissances, de réfléchir sur les stratégies d'utilisation
des règles, pour faciliter la tâche au moteur d’inférences.
12
Systèmes experts : Fonctionnement d’un SE
• Généralement un SE concerne un domaine d'application
bien précis.
• Il est, dans ce cas, livré avec une base de règles
préalablement remplie avec les règles qui traduisent le
savoir-faire des experts du domaine concerné.
• Néanmoins, il existe sur le marché de nombreux SE
généraux appelés également des générateurs de SE ou
encore des noyaux.
• Il s’agit, en effet, d’outils de développement de SE
particuliers.
• Un tel système contient une interface, un moteur
d'inférences, un langage de codage des connaissances et
une structure d’accueil de ces dernières.
13
Systèmes experts : Fonctionnement d’un SE
• Un tel système permet de créer des SE distincts
dont chacun est spécifique à un domaine particulier
pour que le langage utilisé permette de décrire les
connaissances du domaine.
• Voici quelques exemples de SE généraux :
– VP-Expert (valable pour des domaines peu
complexes)
– PROLOG (ce langage de programmation
logique peut être considéré comme un
générateur de systèmes experts) 14
Systèmes experts : Moteur d’inférence
Cycle de travail
• Le moteur d'inférence (appelé parfois moteur de
résolution) est le cœur d’un SE.
• Il peut être indépendant du domaine d'application
et il doit être capable d’exploiter la base des
connaissances afin de résoudre les problèmes posés
par les utilisateurs.
15
Systèmes experts : Moteur d’inférence
Cycle de travail
• En effet, il doit être capable de voir quelles sont les
règles applicables au vu de l’état courant de la base
des faits et des faits à établir (exprimant les
problèmes /questions posés par l’utilisateur).
• Ce processus de détection des règles applicables
fait partie du cycle de travail d’un moteur
d’inférence et particulièrement de sa phase
d’évaluation.
16
Systèmes experts : Moteur d’inférence
Cycle de travail
• La deuxième phase de ce cycle est la phase
d’exécution qui, comme son nom l’indique,
concerne l’exécution de la partie action des règles
sélectionnées lors de la phase d’évaluation et donc
la modification de la base de faits.
17
Systèmes experts : Moteur d’inférence
Cycle de travail
• La phase d’évaluation s’effectue généralement en
trois étapes :
– La sélection : cette étape optionnelle concerne
une première sélection d’un sous-ensemble de
règles dans la base des règles qui –à priori-
mérite d’être considéré dans l’étape suivante. Ce
choix dépend de l’état courant de la base de faits.
18
Systèmes experts : Moteur d’inférence
Cycle de travail
• La phase d’évaluation s’effectue généralement en
trois étapes :
– Le filtrage (pattern matching) : Parmi l’ensemble
retenu à l’étape précédente, cette étape retient un
sous-ensemble, dit de conflit, qui contient
seulement les règles effectivement applicables
qui sont, généralement, celles dont le côté
gauche (côté ‘situation’ dit aussi ‘prémisses’) est
satisfait au vu de l’état actuel de la base de faits.
19
Systèmes experts : Moteur d’inférence
Cycle de travail
• La phase d’évaluation s’effectue généralement en
trois étapes :
– La résolution de conflits : Parmi les règles
retenues suite au filtrage, le moteur décide de la
(des) règle(s) qui sera (seront) exécutée(s).
20
Systèmes experts : Moteur d’inférence
Cycle de travail
• La résolution de conflit est souvent indépendante
du contexte d’application et de la sémantique des
règles, mais, elle est généralement guidée par des
soucis d’efficacité (par exemple, choix des règles les
moins complexes).
• Toutefois, des informations heuristiques ou des
métarègles peuvent être exploitées pour fixer un
ordre de priorité entre ces règles.
21
Systèmes experts : Moteur d’inférence
Dans la figure ci-dessous, il est illustré comment, en
général, un moteur d'inférence enchaîne des cycles de
travail composés de deux phases.
• L’arrêt de ce cycle peut survenir dans :
– la phase d’évaluation (par exemple, dans le cas
d’absence de règles applicables à la situation
en cours).
– la phase d’exécution (par exemple, dans le cas
de l’exécution d’une règle dont la partie
‘action’ commande l’arrêt du cycle).
22
Systèmes experts : Moteur d’inférence
23
Systèmes experts : Moteur d’inférence
Caractéristiques
• L’objectif recherché par un moteur d’inférence
lorsqu’il enchaîne des cycles de travail est de
trouver une solution au problème (question) posé.
• Ceci peut être modélisé comme le parcours d’un
arbre de recherche dont la racine correspond à
l’état initial de la base de faits et les différents arcs
correspondent à l’application d’une règle
particulière à un état de la base de faits.
24
Systèmes experts : Moteur d’inférence
Caractéristiques
• La manière dont cette recherche est effectuée
dépend des caractéristiques du moteur d’inférence
utilisé qui peuvent être divisées en quatre
catégories :
– Formalisme utilisé (généralement basé sur les
logiques classiques ou ses extensions)
– Stratégie de recherche ou de résolution de conflit
– Type de raisonnement ;
25
Systèmes experts : Moteur d’inférence
Caractéristiques
• La manière dont cette recherche est effectuée
dépend des caractéristiques du moteur d’inférence
utilisé qui peuvent être divisées en quatre
catégories :
– Régime de contrôle ;
– Mode de chaînage.
26
Systèmes experts : Moteur d’inférence
Stratégie de recherche
• Les stratégies les plus fréquentes sont les suivantes:
– Stratégie en profondeur d'abord ;
– Stratégie en largeur d'abord ;
– Stratégie ‘LEX’: règles triées par fraîcheur des
faits de leurs conditions ;
27
Systèmes experts : Moteur d’inférence
Stratégie de recherche
• Les stratégies les plus fréquentes sont les suivantes:
– Stratégie basée sur la complexité: les règles dont
le nombre de ces faits/conditions est le plus
grand sont les plus prioritaires ;
– Stratégie basée sur la simplicité: les règles dont le
nombre de leurs faits/conditions est le plus petit
sont les plus prioritaires ;
– Stratégie basée sur les méta-règles.
28
Systèmes experts : Moteur d’inférence
Type de raisonnement
• Un moteur d’inférence peut être basé sur une
théorie logique monotone ou non.
• Lorsqu’un moteur adopte un raisonnement
monotone, aucun fait établit (considéré comme
vrai) et inséré dans la base de faits ne peut être nié
(considéré comme faux) et retiré de la base de faits.
29
Systèmes experts : Moteur d’inférence
Type de raisonnement
• Les moteurs d’inférence monotones ne permettent
pas de traiter convenablement les problèmes
dynamiques dont la nature même fait que les faits
changent en permanence.
30
Systèmes experts : Moteur d’inférence
Régime de contrôle
• Un moteur d’inférence peut être caractérisé par sa
conduite dans le cas où sa phase d’exécution
déboucherait sur un échec (par exemple, si R3 est
vide). A ce niveau, il existe deux types de conduite :
• Les choix pris (ensemble R3 des règles à appliquer)
ne sont jamais remis en cause et donc si R3 est vide
ceci est traduit définitivement comme un échec. On
dit alors que ce type de moteur suit un régime
irrévocable.
31
Systèmes experts : Moteur d’inférence
Régime de contrôle
• Lorsqu’on peut remettre en cause l'application
d'une règle si ce choix débouche sur un échec, le
régime appliqué est dit par tentatives et il se base
sur le principe de retour arrière (backtracking) pour
essayer une règle écartée.
• Les moteurs d’inférence qui adoptent un régime
par tentatives suivent généralement des stratégies
en profondeur d'abord puisque avec une stratégie
en largeur le retour arrière est, en principe, inutile.
32
Systèmes experts : Moteur d’inférence
Mode de chaînage
• Trois modes de chaînage peuvent être utilisés :
– le chaînage avant ;
– le chaînage arrière ;
– le chaînage mixte.
33
Systèmes experts : Modes de chaînage
Chaînage avant
• Dans ce mode (connu aussi comme le mode guidé
par les données), le moteur d'inférence procède
comme suit :
– Il ne sélectionne que les règles dont les
conditions (prémisses) sont satisfaites au vu de
l’état de la base de faits pour arriver au but
recherché (un fait qui répond à la question
posée).
34
Systèmes experts : Modes de chaînage
Chaînage avant
• Dans ce mode (connu aussi comme le mode guidé
par les données), le moteur d'inférence procède
comme suit :
– Il applique ensuite une de ces règles afin
d’ajouter d’autres faits à la base.
– Cet enchaînement est réitéré jusqu'à ce que plus
aucun fait nouveau ne puisse être déduit (on
parle alors de saturation) ou que le but soit
atteint.
35
Systèmes experts : Modes de chaînage
Chaînage avant
• Le chaînage avant procède généralement par
régime irrévocable et monotone et il a l’avantage
d’être simple à implémenter tout en permettant de
répondre plus rapidement à tout nouveau fait
ajouté.
• Il est, toutefois, sujet au risque de l’explosion
combinatoire car il sélectionne toutes les règles
même celles sans intérêt pour la résolution du but.
36
Systèmes experts : Modes de chaînage
Exemple : Soit la base de connaissances
donnée par le tableau ci-dessous :
Base de règles Base de faits
R1 : Si B et D et E alors F F1 : B
R2 : Si G et D alors A F2 : C
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 37
Systèmes experts : Modes de chaînage
Question : peut-on obtenir le fait H ?
38
Systèmes experts : Modes de chaînage
39
Systèmes experts : Modes de chaînage
Chaînage arrière
• Un moteur d'inférence qui suit ce mode de
chaînage, part du but et essaie de remonter aux
faits pour le prouver (parcours guidé par le but).
• En effet, le moteur sélectionne les règles dont la
partie action (ou conclusion) correspond au but
recherché. Les prémisses/conditions (partie
situation) de ces règles deviennent elles aussi des
sous buts à prouver et ainsi de suite.
40
Systèmes experts : Modes de chaînage
Chaînage arrière
• Cet enchaînement s’arrête lorsque tous les sous
buts sont prouvés- le but est alors lui aussi prouvé -
ou lorsqu’il n’est plus possible de sélectionner des
règles.
• Le chaînage arrière nécessite un régime de contrôle
par tentatives. Le moteur d'inférence opère alors un
retour arrière (backtracking) pour remettre en
cause l'application d'une règle qui débouche sur un
échec et pour essayer une règle écartée
précédemment. 41
Systèmes experts : Modes de chaînage
Exemple : Soit la base de connaissances
donnée par le tableau ci-dessous :
Base de règles Base de faits
R1 : Si B et D et E alors F F1 : B
R2 : Si G et D alors A F2 : C
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 42
Systèmes experts : Modes de chaînage
Question : peut-on obtenir le fait H ?
43
Systèmes experts : Modes de chaînage
44
Systèmes experts : Modes de chaînage
Chaînage mixte
• Le chaînage mixte est une combinaison du
chaînage avant et du chaînage arrière.
• Un moteur qui suit ce mode opère généralement
comme suit :
– Tant que des règles sont applicables (conditions
satisfaites), il procède par chaînage avant jusqu’à
satisfaction du but ou jusqu’à saturation de la
base de faits ;
45
Systèmes experts : Modes de chaînage
Chaînage mixte
• Un moteur qui suit ce mode opère généralement
comme suit :
– Si le but n’est toujours pas prouvé, il choisit alors
une règle dont la partie conclusion correspond
au but et essaie de prouver ses prémisses
inconnues par chaînage arrière en veillant à
modifier la base de faits à chaque nouveau sous
but prouvé;
46
Systèmes experts : Modes de chaînage
Chaînage mixte
• Un moteur qui suit ce mode opère généralement
comme suit :
– Si le but n’est toujours pas prouvé, il repart en
chaînage avant en tenant compte des nouveaux
faits prouvés et éventuellement en demandant de
nouveaux faits à l’utilisateur et ainsi de suite
jusqu’à ce que le but soit prouvé ou jusqu’à ce
qu’aucune règle ne soit applicable.
47
Systèmes experts : Modes de chaînage
Remarques finales
• Le chaînage avant est recommandé lorsque le
nombre de buts possibles est très élevé ou
lorsqu’on ne connaît pas a priori le but à prouver. Il
est aussi préconisé si l’on souhaite obtenir le
maximum de faits correspondant à une situation
donnée.
48
Systèmes experts : Modes de chaînage
Remarques finales
• Le chaînage arrière peut être amélioré et étendu en
impliquant l’utilisateur lorsque l'ensemble des
règles applicables est vide et ce, de manière
interactive, en lui demandant si certains faits (ceux
qui sont susceptibles de satisfaire le but) peuvent
être ajoutés.
49
Systèmes experts : Modes de chaînage
Remarques finales
• Le chaînage arrière a l’avantage d’être plus efficace
que le chaînage avant puisque l’on n’applique que
les règles qui sont directement utiles pour la
résolution des buts à prouver. Cependant, il
requiert une implémentation beaucoup plus
complexe que celle du chaînage avant.
50
Systèmes experts : Conclusion
• En résumé, un système expert est composé
généralement de :
– Un langage basé sur un formalisme de
représentation déclarative pour exprimer les
connaissances du domaine ;
– Une base de connaissances pour sauvegarder
ces connaissances ;
– Un moteur d’inférence pour le contrôle et le
raisonnement sur ces connaissances ;
51
Systèmes experts : Conclusion
– Une interface d’interaction (si possible conviviale
et intelligente) avec les utilisateurs.
• Les SE ne sont plus en vogue de nos jours, mais ils
restent utiles dans des domaines d’expertise où ils
sont considérés comme des outils d’aide à la
décision.
• La tendance actuelle est de remplacer le terme SE
par SBC, qui est plus général et reflète mieux la
nature de ces systèmes.
52