Vous êtes sur la page 1sur 50

‫بسم هللا الرحمن الرحيم‬

CHAPITRE 3 :
Les systèmes experts

2
Un peu d'histoire

Quelques Systèmes Experts Classiques :


➢ 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é.

➢ MYCIN, 1974, Médecine, système d'aide au diagnostique et au


traitement de maladies bactériennes du sang.

➢ 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)
3
Définition

❖ Un système expert (SE) est un programme informatique intelligent


qui utilise de connaissances et des procédures d’inférences dans le
but de résoudre des problèmes d’une difficulté telle qu’ils requièrent
une expertise humaine conséquente.
On parle aussi de Systèmes à Bases de Connaissance (ou KBS).

❖ Les connaissances nécessaires pour y arriver ainsi que les procédures


d’inférence utilisées peuvent être assimilées à une modélisation de
l’expertise des meilleurs spécialistes du domaine considéré.

❖ C'est avant tout un système d'aide à la décision

❖ Objectif : remplacer les experts humains d'un domaine ou les aider


dans leurs expertises 4
Domaines d’applications d’un SE

Les systèmes experts se retrouvent utilisés dans divers domaines


d’applications tels que:

✓ La médecine : diagnostic médical, classification radiographique.

✓ L’informatique : composante de systèmes tutoriels intelligents,


maintenance électronique.

✓ Le marketing : sélection d’hôtel.

✓ L’industrie : surveillance, diagnostiques de pannes, gestion d'incidents

✓ La géologie : aide à la prospection géologique et minière, etc


5
Principe de réalisation

❖ Trouver un expert ou plusieurs (c’est plus fiable) sur le domaine visé


par l’expertise

❖ Choisir un générateur de systèmes experts et déterminer les


contraintes sur la représentation des connaissances (variables ? valeurs
floues ? etc.) en fonction des possibilités

❖ Interroger l’expert en lui demandant d’exprimer les valeurs clés de ses


analyses et les règles d’inférences (réalisé par l’ingénieur cogniticien)

❖ Construire la base de règles

6
Classification des systèmes experts

3 classes :
ordre 0
• fondé sur le calcul propositionnel.
• Les faits sont à valeurs booléennes.
Exemple : SI agé_de_plus_de_18_ans ALORS majeur
ordre 0+ ou 0.5
• les faits peuvent être à valeurs réelles ou symboliques
Exemple : SI age >=18 ALORS statut=majeur
ordre 1
• basés sur le calcul des prédicats
• utilisation des variables et de l'unification
Exemple : SI age(X,Age) ET Age >=18 ALORS majeur(X) 7
Architecture de base d’un SE

8
Architecture de base d’un SE

Les composantes principales d’un SE sont : la base de connaissances, le


moteur d'inférence et les interfaces de dialogues; et d'autre éléments qui sont
optionnels (logiciels extérieurs, base de données, …)

Interface:
gestion d’un langage d’expression de connaissances fournies par
l’expert + utilisation
Module Acquisition de Connaissance (appelé aussi interface expert)
Editer des faits (visualiser, ajouter, supprimer)
Editer les règles(visualiser, ajouter, supprimer)
Utilitaire
Reset des bases
Sauvegarde de la Base de Connaissances (BC)
Chargement de la BC
Menu (user)
Commandes d’utilisation 9
Architecture de base d’un SE

Base de connaissances (BC)


accueillir la connaissance spécifique d’un domaine d’application :
Connaissances opératoires (Base de règles BR), Connaissances
assertionnelles (Base de faits BF)

Moteur d’Inférence (MI)


exploiter les connaissances en les considérant comme des données :
Chaînage avant, Chaînage arrière , Chaînage mixte

Le module d'explication
permet au système expert d'expliquer son raisonnement à chaque
conclusion, chaque action, ou chaque résultat du système expert
après résolution. (exemple: chemin)
10
Caractéristiques

les connaissances sur le domaine peuvent être représentées de


manière
• finie (booléen, symbole, nombre)
• incertaine ou floue
la programmation de l'expertise est déclarative
indépendance entre moteur d'inférences et la base de
connaissances de systèmes experts est un élément essentiel.
✓ séparation du procédural et du déclaratif
justification du raisonnement
recherche sur un but précis ou pas
données monotones ou pas
interrogation de l'utilisateur
11
Distribution des rôles

• Informaticien
− construction du moteur d’inférences et de l’interface utilisateur
• Ingénieur de la connaissance (cogniticien)
– Consultation des experts du domaine, ressources textuelles, BD,
etc.
– Conception, construction et débogage de la BC
• Experts du domaine
– Connaissance « sémantique » du domaine en terme de relation
entre faits et événement (pas de connaissance procédurale)
• Utilisateur
– Information sur le problème individuel à résoudre mais pas sur le
domaine (il ne connaît pas quelles informations sont utiles)

12
1. La base de connaissances
l’ensemble des connaissances accumulées par l’expert humain, Elle est
représentée en un langage déclaratif. La base de connaissances contient des
faits, des règles et des méta-règles.

1.1. La base de fait :


❖ 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
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 de session et un diagnostic lorsque celle-ci se terminera.
13
1. La base de connaissances

ii. Le type d’un fait :


• Booléennes : vrai, faux
• Symboliques ou nominales : appartenant à un domaine fini de symboles
• Réelles : pour représenter les faits continus.

iii. Les formules et les conditions :


▪ Dans un système expert d’ordre 0, exemple d’un fait booléen ou sa négation :
➢ 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. 14
1. La base de connaissances

iv. Méta-faits et Méta-valeurs :


Il n’est pas suffisant que le système ait des connaissances, il faut aussi qu’il ait des
méta-connaissances.
Exemple:
valeur(profession) est un méta-fait symbolique => médecin
valeur(salaire) = connue est une méta-condition => ≤ 20000

Remarque:
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 ?»

15
1. La base de connaissances

1.2. La Base de Règles :


❑ La base de règles (BR) représente les raisonnements effectués par un expert.
Elle n’évolue pas au cours d’une session de travail.

❑ 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.
❑ On écrit une règle ainsi : C1 ∧ C2 ∧ · · · ∧ Cn ⇒ [Fait = valeur]
Exemple
si revenu-imposable = connu et quotient-familial = connu alors
calculerMontantImpot=vrai 16
1. La base de connaissances

1.2.1 Les méta-règles

Une règle manipule des faits tandis qu'une méta-règle manipule des règles.
• Exemple1 :
Si le patient est un hôte à risque et il existe dans les prémisses des R des
pseudo-monias et s’il existe des R mentionnant dans leur prémisse des
klebsiellas alors utiliser les 1er avant les 2nd
• Exemple2 :
• MR1 : SI malade=femme ALORS considérer les règles R15, R16.
• MR2 : SI malade=enfant ALORS considérer les règles R1, R2.

17
1. La base de connaissances
Formalisme de représentation
Pour la représentation des connaissances on utilise des règles :
Une structure IF –THEN qui relie de l’information ou des faits de la partie
IF avec l’action dans la partie THEN.
• Ex: IF «lumière est verte» THEN « action est go»
• Ex: IF «lumière est rouge» THEN « action est stop»
• IF «condition est vraie» THEN «faire quelque action».
➢ Un langage de programmation est une façon de représenter des
connaissances.
Connaissances procédurales:
• «comment».
• Connaissances sur comment accomplir une tâche.
Connaissances déclaratives:
• «qu’est-ce que c’est»
• La capacité de formuler ou décrire quelque chose 18
Les règles de production

Une règle est constituée de deux parties:


1. Antécédent: la partie IF
2. Conséquence: la partie THEN
IF «antécédent» THEN «conséquence»
• Une règle est déclenchée lorsque l’antécédent est vrai et que la
partie conséquence est exécutée

19
Un Système Expert (SE) est un Système de Production (SP)

Un exemple de règles de productions : un système de conseil en voyages

R1 : SI distance<2km ALORS aller_à_pied


R2 : SI ¬distance<2km ET distance<300km ALORS prendre_le_train
R3 : SI ¬distance<300km ALORS prendre_avion
R4 : SI acheter_un_billet_d’avion ET avoir_le_téléphone ALORS téléphoner_à_l’agence
R5 : SI acheter_un_billet_d’avion ET ¬avoir_le_téléphone ALORS aller_à_l’agence
R6 : SI prendre_avion ALORS acheter_un_billet_d ’avion
R7 : SI durée>2jours ET être_fonctionnaire ALORS ¬prendre_avion

✓ Lisibilités des connaissances


✓ Facilité de construction et d’évolution dans le temps du fait de
l’indépendance de règles
✓ Capacité d’explication d’un raisonnement grâce à l’examen de
l’enchaînement des règles (traçabilité)

20
La représentation des connaissances incertaines
• On peut reconnaître globalement un objet sans être capable d'identifier à 100% chacun de
ses détails.
• théorie des probabilités : degré de vraisemblance d'un fait.
– De nombreux générateurs de systèmes experts offrent la possibilité aux utilisateurs de
nuancer leur certitude concernant un fait en leur associant un degré de vraisemblance.
– il n'est pas raisonnable d'attendre d'un être humain, expert ou non, qu'il puisse définir
avec précision de tels degrés de vraisemblance.
• logique floue, logique modale,...
exemple
• SI pluie (0.6) ALORS orage (0.3)
• SI éclair (0.8) ALORS orage (0.5)
• SI pluie (0.6) et éclairs (0.8) ALORS orage ( ?)
Comment traduire le renforcement de deux faits conjugués ?
Méthode simpliste de calcul proposée pour le nouveau coefficient d'orage :
((0.6+0.8)/2)*(0.3+0.5)=0.6
SI pluie (0.6) et éclairs (0.8) ALORS orage ( 0.6)
MYCIN l'un des systèmes experts les plus connus propose un mécanisme de calcul des coefficients de
vraissemblance. 21
Limites

• Les connaissances d’un expert peuvent être difficiles à extraire


(implicites ou non verbales)

• Concevoir une base de faits et une base de règles fonctionnelles


peut être compliqué.

• Il est difficile de concevoir une interface homme / machine


efficace et conviviale pour système expert.

22
Résolution de problèmes

Un problème peut se formaliser comme un triplet (I, F, O) ou :


- I = état initial
- F = état final
- O = ensemble d'opérateurs qui permettent de changer d'état

Avec ce point de vue, résoudre un problème consiste à trouver un


chemin d'extrémités données dans un graphe (en l'occurrence, les
extrémités I et F).

23
Stratégies de parcours d’arbre

Parcours en profondeur d ’abord Parcours en largeur d ’abord

24
Raisonnement

Modus Ponens

25
Raisonnement

Modus Tollens

26
2. Moteur d‘Inférences
❑ Un MI est un mécanisme qui permet d’inférer de nouvelles
connaissances à partir de la BC
❑ Un MI exploite la BC en fonction du contenu de la BF afin de mener
un raisonnement sur le problème posé
❑ Un MI a trois modes principaux de fonctionnement
• le chaînage avant
• le chaînage arrière
• le chaînage mixte

❑ Un MI est indépendant de tout domaine d'application (utilisant


même langage d’expression de connaissances et les mêmes
heuristiques de résolution de conflit)
❑ Un MI exploite la BR en consultant la BF, pour déduire de nouveaux
faits
27
2. Moteur d‘Inférences

❑ Un MI contrôle le raisonnement, en enchaînant des cycles comportant


chacun trois phases:
• Phase d’évaluation : constituer l’ensemble des règles déclenchable
(conflict set)
• Phase de résolution de conflits : choisir les règles à déclencher
(parmi le conflict set)
• Phase d’exécution : déclencher la(es) règle(s) retenue(s) dans la
résolution de conflits

28
2. Moteur d‘Inférences

Cycle de base d’un Moteur d’Inférences

➢ Phase d’évaluation
• Sélection des F de BF et des R de BR qui méritent
d’être comparés (F et R pertinents)
• Filtrage (mise en correspondance) des déclencheurs
de chaque R de BR avec les F de BF
❖ Sélection
• d’un sous ensemble F1 de la BF
• d’un sous ensembles R1 de BR
❖ Filtrage (pattern matching)
• Le MI compare la partie Condition des règles de R1 par rapport à F1
• Sélectionne un sous { } R2 de règles de R1 jugé compatible avec F1
(R2 : le conflict set)
• Si logique d’ordre 1, le filtrage comporte une étape d’unification 29
2. Moteur d‘Inférences

Cycle de base d’un Moteur d’Inférences

➢ Phase de résolution de conflits


• Le MI choisit les R qui doivent être effectivement déclenchées selon une
stratégie (encore des heuristiques!)
• Le MI détermine un sous ensemble R3 de règles de R2
• Pour résoudre le conflit, entre plusieurs règles de R2 à priori applicables
suivant une configuration de la BF,

30
2. Moteur d‘Inférences

Cycle de base d’un Moteur d’Inférences

le système doit choisir une ou plusieurs R suivant certaines heuristiques:

1) La première règle qui s’applique au contrôle


2) La règle la plus propriétaire suivant un ou plusieurs critères définis par l’expert
3) La règle la plus spécifique (la condition la plus détaillée qui s’applique à la BF)
4) La règle se référant à un élément le plus récemment ajouté
5) Sélection d’un sous ensemble de R résultant de l’application de métarègles
6) Déclenchement prioritaire des règles amenant le plus grand nombre de
conclusions
7) Ne pas choisir, explorer toute les règles applicables en parallèle (Mycin)
8) Arbitrairement

31
2. Moteur d‘Inférences

Cycle de base d’un Moteur d’Inférences

➢ Phase d’exécution
❖ Le MI commande la mise en œuvre des actions définies par les R de R3 (si
R3 non vide)
• il s’ensuit la mise à jour de BF, avec détection d’incohérence
• En logique des prédicats, une R peut être déclenchée plusieurs fois
• En logique des propositions, une R n’est déclenchée qu’une seule fois

32
Le raisonnement dans les SE

Introduction
o Supposons qu’on veut prendre l’avion d’Alger à New York. Il n’y a
pas de vol direct.
o On peut soit commencer en cherchant tous les vols qui partent
d’Alger et noter leur destination. Continuer ce processus jusqu’à ce
qu’on trouve un vol qui atterrisse à New York. C’est le chaînage
avant.
o On peut commencer de New York et chercher tous les vols qui y
arrivent. On trouve la ville de départ de tous ces vols. On continue le
processus jusqu’à ce qu’on trouve une ville dont le point de départ est
Alger. C’est le chaînage arrière (on commence du but).

33
Le raisonnement dans les SE

1. Raisonnement d’un SE en chaînage avant


• Raisonnement dirigé par les données (des données vers les
buts, bas-haut)
• Tirer des conclusions de l’information donnée
• Lorsque les F de la BF sont dans les conditions des R : tirer à
partir des informations déjà établies

34
Le raisonnement dans les SE
Le mécanisme du chaînage avant est simple
Pour déduire un F particulier, on déclenche les R dont les prémisses
sont connues jusqu‘à ce que le F à déduire soit connu ou qu'aucune R
ne soit plus déclenchable
Utilisé quand on cherche les conséquences de l’ajout de nouveaux
faits
Utilise la règle d’inférence : le modus Ponens : de P et de si P alors Q
on déduit Q

35
Le raisonnement dans les SE

MOTEURS D’INFÉRENCES : CHAÎNAGE AVANT


• Remarques sur l’algorithme :
– Il s’arrête toujours !
– Il peut être très long !
– Saturer la base = déduire tous les faits

36
Le raisonnement dans les SE

Exemple
BR:

Le but est atteint après les inférences :


R3 → R1 → R5 → R2 → R6 37
Le raisonnement dans les SE

2. Raisonnement d’un SE en chaînage arrière


• Raisonnement dirigé par les buts (des buts vers les données,
haut-bas)
• Commence par un but à prouver ou une explicative de ce
que se doit se produire
• Lorsque certains F de la BF sont considérés comme étant à
établir ou à évaluer
• On parle de "problème" à résoudre ou d’"hypothèses" à
vérifier ou de "buts" à atteindre
• Basé sur le Modus Tollens

38
Le raisonnement dans les SE

❑ Utilisé quand on cherche à prouver un but : de Q et de si P alors Q on


induit P (pour prouver Q, prouver P)
❑ Le mécanisme de base du chaînage arrière permet l’introduction d’un
problème P dès lors qu’il existe un problème Q et une règle de
déclencheur P et de corps Q
❑ A partir du fait qu'on souhaite prouver, rechercher toutes les règles qui
concluent sur ce fait, puis appliquer récursivement le même mécanisme
aux faits contenus dans la liste des faits à prouver
❑ Les déclencheurs des règles se réfèrent aux problèmes en suspens, ces
problèmes sont considérés résolus
• Lorsqu’ils sont des problèmes déclarés à priori comme primitifs
(considérés comme résolus)
• Lorsqu’ils ont été résolus au préalable
❑ On développe un arbre ET/OU de buts, suivant deux stratégies:
• Production de buts en profondeur d’abord
• Profondeur d’abord sauf si une règle est immédiatement concluante
❑ Si une feuille de l’arbre ne peut être ni validée ni invalidée par la BF, on
peut poser une question à l’utilisateur
39
Le raisonnement dans les SE
▪ 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.
▪ L’algorithme de chainage arrière

40
Le raisonnement dans les SE

MOTEURS D’INFÉRENCES : CHAÎNAGE ARRIÈRE


• Remarques sur l’algorithme :
– Plus complexe à mettre en œuvre
– Possibilité de bouclage
– Ne donne pas forcément la solution optimale

41
Le raisonnement dans les SE

Exemple
BR:

42
Le raisonnement dans les SE

Différences entre le chainage avant et le chainage arrière

43
Le raisonnement dans les SE

3. Chaînage mixte
❑ MI fonctionnent en chaînage mixte : panaché de chaînage avant et
arrière (chaînage bidirectionnel)
❑ Une partie des faits de la BF est considérée comme étant à établir, ce
sont les problèmes, d’autres sont considérés comme établis, ce sont les
faits proprement dits
❑ Les conditions des R peuvent porter simultanément sur des faits de
l’une ou de l’autre catégorie de faits
❑ Exemple : pour un fait établi (ex : la température d’un malade, ou autres
faits établis), on lance un chaînage avant pour déduire d’autres faits.
Pour un fait à établir (une hypothèse à vérifier tel que le malade à la
jaunisse, ou autres faits à établir) on lance un chaînage arrière pour
l’établir
❑ Le Chaînage mixte nécessite la mise en place d’heuristiques
particulières capables de décider, face à une situation donnée, quel est
la stratégie la plus adapté pour poursuivre la résolution 44
Le raisonnement dans les SE

45
Le raisonnement dans les SE

L'algorithme de chaînage mixte combine, comme son nom


l'indique, les algorithmes de chaînage avant et de chaînage
arrière. Son principe est le suivant :

46
Le raisonnement dans les SE

Exemple: Chainage mixte


BR: La base initiale de faits: A Vrai

Le but à atteindre : E

47
Comment Construire un Système Expert

1) La Première Etape : 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.

48
Comment Construire un Système Expert

2) La Deuxième Etape : 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.
49
Comment Construire un Système Expert

3) La Troisième Etape : 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 Etape : 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, ...

50

Vous aimerez peut-être aussi