CHAPITRE 3
SYSTEMES EXPERTS
Dr. Farah BARIKA KTATA
Définitions
2
Un système expert est un logiciel d'aide au raisonnement humain
dans un domaine bien précis. Il doit utiliser le plus possible le
savoir faire, l'expérience de l'être humain dans le domaine en
question.
Un système expert est un logiciel supposé imiter le comportement
de l'être humain dans un domaine bien précis.
Architecture
3
Langage d'expression des connaissances:
il doit être le plus proche possible du langage naturel. le langage utilisé souvent du type:
Si temoin_bidon_rouge
Et Si Non problème d'allumage
Alors panne sèche
La base des connaissances:
elle comprend deux types de connaissances
Les connaissances opératoires (ou règle de production): c'est l'expertise de l'être humain
Les connaissances assertionnelles: ce sont les faits
Le moteur d'inférence:
+ Apprentissage qui rend le
Faits
système expert intelligent
Règles de Moteur
production d’inférence
Architecture d’un système expert
Principe de fonctionnement
4
Les moteurs d'inférence fonctionnent selon des cycles de base.
Un cycle de base est formé par deux composantes: une évaluation et une
exécution.
Le module d'évaluation sert à détecter les règles à utiliser :
◼ Sélection (restriction)
◼ Filtrage (sous-ensemble de règles de production)
Le module d'exécution permet d'exécuter les règles qui viennent d'être détectées par le
module d'évaluation.
Forme d’une règle :
Une règle est de la forme : A→ B
A est appelée prémisse et B conséquence
Principe de fonctionnement
5
Il y a deux interprétations dans les systèmes experts de cette
règle :
Si A est un fait établi alors on peut prouver que B l’est aussi : Chaînage
avant
Si on veut montrer que B est un fait établi il suffit de montrer que A est
un fait établi : chaînage arrière
Il existe trois types de raisonnement :
Chaînage avant
Chaînage arrière
Chaînage mixte
Propriétés des moteurs d’inférence
6
On dit qu'un moteur d'inférence fonctionne en régime
irrévocable si en cas d'échec, il s'arrête et ne revient
pas et voit une autre règle.
On dit qu'un moteur d'inférence fonctionne en régime
par tentatives (retour arrière). En cas d'échec, il revient
en arrière et essaye une autre règle.
Chaînage avant
7
Principe :
Schéma avant invoque les règles en chaînage avant,
c’est à dire qu’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 fait établis.
Lorsqu’une règle est déclenchée l’élément conclusion est
établi et immédiatement rangé en base des faits (BF).
Chaînage avant
8
Algorithme :
Etablir_un_fait(un fait)
Si un fait BF Alors Exit avec "Succés"
Exécuter_un_cycle(un fait, BR)
Exécuter_un_cycle( le fait, les règles)
Si les règles = Alors Exit avec "Echec"
Sinon R: = choix_règle(les règles)
Les règles : = les règles-{R}
Si elts_premisse(R) BF Alors Exécuter_un_cycle(le fait, les règles)
Sinon Si conclusion (R) = le fait Alors Exit "succès"
Sinon BF : = BF conclusion(R)
BR : = BR- {R}
Exécuter_un_cycle(le fait, BR)
Chaînage arrière
9
Principe :
Ce schéma invoque les règles en chaînage arrière, c’est à dire
qu’il compare la partie conclusion des règles aux faits à établir
Raisonnement dirigé par le but
Le système a un but et le moteur d’inférence essaie de de trouver
des preuves pour le prouver
On cherche dans la base des connaissances pour trouver les
règles qui mènent au but
Des règles qui ont le but dans la partie conséquence
Si la condition d’une telle règle est dans la base des faits alors la
règle est déclenchée et le but est prouvé.
Chaînage arrière
10
Algorithme :
Etablir_un_fait(un fait)
Si un fait BF Alors Exit avec "Succés"
Sinon Exécuter_un_cycle(un fait, BR)
Exécuter_un_cycle(le fait, les règles)
Si les règles = Alors Exit avec "Echec"
Sinon R: = choix_règle(les règles)
les règles:= les règles-{R}
Si conclusion (R) = le fait
Alors des faits := premisse(R)
Si Etablir_conjonction_faits(des faits) = « succès »
Alors Exit « succès »
Exécuter_un_cycle(le fait, les règles)
Chaînage arrière
11
Etablir_conjonction_faits(les faits)
Si les faits = Alors Exit « succès »
Sinon un fait := choix_fait(les faits)
les faits := les faits\ {un fait}
Si etablir_un_fait(un fait) = « Echec » Alors Exit « Echec »
Sinon Etablir_conjonction_faits(les faits)
Chaînage arrière
12
Exemple :
Base des règles :
R1 : B,D,E→F
R2 : G, D→A
R3 : C,F→A
R4 : B→X
R5 : D→E
R6 : X, A→M
R7 : C→D
R8 : X, C→A
R9 : X, B→D
Base des faits = {B,C}
Démontrez M en utilisant le moteur d’inférence : Schéma -avant 1 et Schéma -arrière 1.
Propriétés des moteurs d’inférence
13
Exemple :
BR:
R1: K, L, H→ I
R2: I, L, J → Q
R3: C, D, E → B
R4: A, B → Q
R5: L, N, O, P → Q
R6: C, H → R
R7: R, J, H → S
R8: F, H → G
R9: G → F
BF = {A,C,D,E,G,H,K}
Prouver Q (Q? )
Chaînage Mixte
14
P3, F P4, A1, A2
Tête Corps
P3, P4 : Plans
F : ensemble de faits établis ( F BF)
A1, A2 : Actions ou plans élémentaires.
Définition : Etant donné un point de départ, des états
intermédiaires et un état objectif, le plan consiste à déterminer
une séquence d’opérateurs appelés Actions qui mènent de l’état
de départ vers l’état d’arrivée via les états intermédiaires.
Chaînage Mixte
15
Pour établir le plan P3 en présence des faits F, il suffit d’établir la
partie droite de la règle. Celle ci peut comporter également un
ou plusieurs plans et éventuellement des actions.
Exemple : Le singe et les bananes
Manger_les_bananes sachant que Accroché_plafond(Bananes)
→ 3 pas, res_pb_hauteur
res_pb_hauteur, Exist_chaises → Monter_sur_chaise,
attraper_banane.
Après résolution du problème du singe et des bananes, le fait
« Accroché_plafond(Bananes) » va être supprimé de la BF.
Le chaînage mixte et un moteur d’inférence non monotone
Chaînage Mixte
16
Chaînage Mixte
17
Chaînage Mixte
18
FIN DU COURS
Dr. Farah BARIKA KTATA