Chapitre 4
Chapitre 4
Chaînage avant
• La recherche consiste à parir d’un état iniial obtenir un état
terminal par applicaion des règles de la base BR.
• Le MI compare la parie prémisse des règles aux éléments de la BDF.
• Lorsque la parie prémisse est saisfaite, la règle est irée et la
conclusion est rangée dans la BDF.
• Le chaînage avant est basé sur le modus ponens : SI (A ⇒ B et A)
alors B.
• Le déclenchement d’une règle n’est pas remis en cause (irrévocabilité)
• Les faits établis dans la BF le demeurent par la suite (monotonie)
15
Système à base de règles de producion/Stratégie de recherche
Chaînage avant
Algorithme de chaînage avant
Aciver toutes les règles de la base
Tant qu'il existe des règles acives déclenchables
Choisir R une de ces règles //résoluion de conlits
Si la conclusion de R ne contredit pas la base de faits
alors
appliquer la conclusion de R et désaciver R
sinon base inconsistante STOP
in Si
in Tant que
16
Système à base de règles de producion/Stratégie de recherche
Chaînage avant
• La désacivaion des règles assure la terminaison de l'algorithme.
• Pour le problème du choix de la règle déclenchable à aciver,
diférentes stratégies sont possibles :
▫ dans l'ordre de l'écriture de la base
▫ au hasard
▫ En uilisant une heurisique
▫ à parir de coeicients de priorité sur les règles
▫ règle dont la condiion uilise les faits les plus récemment déduits
▫ à parir de règles de contrôle (méta-règles)
17
Système à base de règles de producion/Stratégie de recherche
Chaînage avant
• Recherche chainage avant et profondeur d ’abord
Soit la BDF= {A, C, D, E, G, H, L}
soit la BDR:
R1: k, L, M I R4: A, B Q R7: J, M R
R2: I, J, L Q R5: L, N, O, P Q R8: F, H B
R3: C, D, E B R6: C, H R R9: G F
Établissons Q:
Niveau 0 BDF0 = {A, C, D, E, G, H, L}
R3
Niveau 1 BDF1 = {A, C, D, E, G, H, L, B}
R4
Niveau 2 BDF2 = {A, C, D, E, G, H, L, B, Q}
Succès
18
Système à base de règles de producion/Stratégie de recherche
Chaînage avant
• Recherche chainage avant et largeur d ’abord
Soit la BDF= {A, C, D, E, G, H, L}
soit la BDR:
R1: k, L, M I R4: A, B Q R7: J, M R
R2: I, J, L Q R5: L, N, O, P Q R8: F, H B
R3: C, D, E B R6: C, H R R9: G F
Établissons Q:
Niveau 0 BDF0 = {A, C, D, E, G, H, L}
R3 R6 R9
Niveau 1 BDF1 = {A, C, D, E, G, H, L, R, F, B}
R4
Niveau 2 BDF2 = {A, C, D, E, G, H, L, R,F, B, Q}
Succès
19
Système à base de règles de producion/Stratégie de recherche
Chaînage avant
• Résoudre ce problème en appliquant l’approche de chainage avant selon une stratégie en profondeur d’abord monotone avec
régime irrévocable
Soit la BDF= {B, C}
soit la BDR:
R1: B,D,E F. R2: D,G A. R3: C,F A R4: B X. R5: D E .R6: A,X H.
R7: C D. R8: X,C A. R9: X,B D
Établissons H:
Niveau 0 BDF0 = {B,C} Une règle appliquée est déiniivement écartée de BDR
R4
Niveau 1 BDF1 = {B,C,X}
R7
Niveau 2 BDF2 = {B,C,X,D}
R8
BDF3= {B,C,X,D,A}
R6
BDF4= {B,C,X,D,A,H}
Succès
20
Système à base de règles de producion/Stratégie de recherche
Chaînage avant
• Dans le chaînage avant on n'a pas besoin de but,
• on déclenche toutes les règles valides.
• Elle déduit tout ce qui peut l'être
• nécessite de disposer dès le début de toutes les données
• À l'issue d'une saturaion, il est possible que certaines règles ne soient plus
déducibles.
• Exemple :
▫ R1 : a¬ b
▫ R2 : b c
R1
▫ BF0 = {a} BF1 = {a, ¬ b} = BF∞
▫ R1 n'est plus déducible.
21
Système à base de règles de producion/Stratégie de recherche
Chaînage arrière
• La parie « conclusions » des règles est uniiée avec ce but.
• En cas de succès, les prémisses de la règle uniiée sont les nouveaux buts
assignés.
• Puis à appliquer récursivement le même mécanisme aux faits contenus
dans ces listes.
• Les prémisses inconnues deviennent les nouveaux sous-buts.
• Le chaînage arrière avant est basé sur Modus Tollens : SI (A ⇒B et ¬B) alors
¬ A.
22
Système à base de règles de producion/Stratégie de recherche
Chaînage arrière
• Exemple: BF={a, b} But= f
R1 : a c
R2 : a, d e
R3 : b , c e
R4 : e f
but = f
but1={Q}
but2={Q,I,J,L}
25
Système à base de règles de producion/Stratégie de recherche
but={Q,I,K,L,M,J,L}
Échec, backtracking
26
Système à base de règles de producion/Stratégie de recherche
but={Q,A,B}
27
Système à base de règles de producion/Stratégie de recherche
but={Q,A,B}
28
Système à base de règles de producion/Stratégie de recherche
but={Q,A,B, C, D, E }
MI arrête le processus
29
Système à base de règles de producion/Stratégie de recherche
Chaînage arrière : largeur d’abord sauf si une règle est immédiatement concluante
• Le MI génère d’abord l’ensemble des conlits, les règles qui concluent sur le
but ou sous but.
• Il examine si l’une d’elle est immédiatement concluante (si la preuve est
déjà dans la BDF).
• C’est un déplacement en largeur sur le graphe.
• Si échec complet on essaye d’établir les faits manquants de l’une des règles.
30
Système à base de règles de producion/Stratégie de recherche
MI arrête le processus
31
Système à base de règles de producion/Stratégie de recherche
Chaînage mixte
Chaînage mixte
Chaînage mixte
• Foncionnement sur un exemple :
• Soit la BDR suivante :
• R1: P1 A1, A2
• R2: P1 A3
• R3: P2 P1, A4, P3 Étape 2 :
• R4: P3, F1 A5, P4 - Déclenchement de R3:
• R5: P3, F2 P5 - PPB={P1, A4, P3}; BDF= {F3, F4}; Plan= liste_vide
• R6: P3 A4, P6
• R7: P4, F2, F3 A2
39
Système à base de règles de producion/Stratégie de recherche
Chaînage mixte
• Foncionnement sur un exemple :
• Soit la BDR suivante :
• R1: P1 A1, A2
• R2: P1 A3
• R3: P2 P1, A4, P3 Étape 3 :
• R4: P3, F1 A5, P4 - Déclenchement de R1:
• R5: P3, F2 P5 - PPB = {A1, A2, A4, P3}
- Dépilement de A1, A2, A4 PPB ={ P3}
• R6: P3 A4, P6
- BDF= {F2, F3, F4}; Plan= {A1, A2, A4 }
• R7: P4, F2, F3 A2
40
Système à base de règles de producion/Stratégie de recherche
Chaînage mixte
• Foncionnement sur un exemple :
• Soit la BDR suivante :
• R1: P1 A1, A2
• R2: P1 A3
• R3: P2 P1, A4, P3 Étape 4:
• R4: P3, F1 A5, P4 - Déclenchement de R4:
• R5: P3, F2 P5 - PPB={P5}; BDF= {F2, F3, F4}
- Pas de règles déclenchable retour sur la résoluion
• R6: P3 A4, P6
de P3
• R7: P4, F2, F3 A2 - Reconsituion du contexte tel qu’il a été avant
d’ataquer P3
41
Système à base de règles de producion/Stratégie de recherche
Chaînage mixte
• Foncionnement sur un exemple :
• Soit la BDR suivante :
• R1: P1 A1, A2 Étape 5:
• R2: P1 A3 - Déclenchement de R6:
- PPB={A4, P6};
• R3: P2 P1, A4, P3 - Dépilement de A PPB={ P };
4 6
• R4: P3, F1 A5, P4 - BDF= {F2, F3, F4}; Plan= {A1, A2, A4, A4}
Aucune règle déclenchable pour P6
• R5: P3, F2 P5
- Retour sur la résoluion de P3
• R6: P3 A4, P6 - Reconsituion du contexte tel qu’il a été avant d’ataquer P3
• R7: P4, F2, F3 A2 -PPB={ P3} BDF= {F2, F3, F4} Plan= {A1, A2, A4 }
- Aucune règle pour P3 retour sur la résoluion de P1
Reconsituion du contexte tel qu’il a été avant d’ataquer P1
42
Système à base de règles de producion/Stratégie de recherche
Chaînage mixte
• Foncionnement sur un exemple :
• Soit la BDR suivante :
• R1: P1 A1, A2
• R2: P1 A3
• R3: P2 P1, A4, P3 Étape 6:
• R4: P3, F1 A5, P4 - Déclenchement de R2
- PPB={A3, A4, P3};
• R5: P3, F2 P5 - Dépilement de A3, A4 PPB={ P3}; BDF= {F1, F3, F4};
• R6: P3 A4, P6 Plan= { A3, A4}
• R7: P4, F2, F3 A2
43
Système à base de règles de producion/Stratégie de recherche
Chaînage mixte
• Foncionnement sur un exemple :
• Soit la BDR suivante :
• R1: P1 A1, A2
• R2: P1 A3
• R3: P2 P1, A4, P3 Etape 7:
• R4: P3, F1 A5, P4 - Déclenchement de R4
- PPB={A5, P4 };
• R5: P3, F2 P5 - Dépilement de A5 PPB={ P4}; BDF= {F1, F2, F3};
• R6: P3 A4, P6 Plan= { A3, A4, A5 }
• R7: P4, F2, F3 A2
44
Système à base de règles de producion/Stratégie de recherche
Un exemple de MI : PROLOG
• Prolog :
▫ Ce schéma consiste à faire un chaînage arrière, en profondeur d’abord, monotone et foncionne selon un régime par tentaive.
▫ Il n’introduit pas de nouveaux fait établi et transforme la PPB.
▫ Il ne reire jamais de faits.
▫ Des états antérieurs de PPB peuvent être restaurés (retour-arrière).
• Exemple :
• Soit la BDC suivante :
C1: Blond (Med)
C2: Brun (jilali)
C3 : père (Ben, jilali)
C4 : père (Med, Ben)
C5 : père (jilali, rami)
C6 : père (x,y) ils(y,x)
C7 : grand_père(x,y) père(x,z), père(z,y)
C8 : ils(Med, jamal)
PPB={grand_père(u,v), blond(u)}
47
Un exemple de MI : PROLOG
• PPB={grand_père(u,v), blond(u)}
• 1èr cycle :
- Le MI tente de résoudre la liste PPB
- tentaive d’appariement de grand_père(u,v) avec C7
- déclenchement de C7 subsituion de « x pour u » et « y pour v »
- l’uniicaion (x/u, y/v) s ’applique au reste du Pb
- PPB={père(x,z), père(z,y) , blond(x)}
48
Un exemple de MI : PROLOG
C1: Blond (Med)
C2: Brun (jilali)
C3 : père (Ben, jilali)
C4 : père (Med, Ben)
C5 : père (jilali, rami)
C6 : père (x,y) ils(y,x)
C7 : grand_père(x,y) père(x,z), père(z,y)
C8 : ils(Med, jamal)
PPB={grand_père(u,v), blond(u)}
49
Base de connaissance
• La base de connaissances conient toute l'informaion dont un expert
humain aurait besoin pour réalise son travail, ceci dans un domaine
donné.
• Cete base de connaissances est elle-même divisée en deux
composantes :
1) Les faits spéciiques du domaine
2) Les principes plus généraux, des règles, des heurisiques de résoluion de
problèmes qui représentent les modes de raisonnement propres au
domaine considéré.
56
Phase d’évaluaion :
• étape de sélecion ou de restricion
• étape de iltrage
• étape de résoluion de conlit
Phase d’exécuion :
• déclencher la ou les règles retenues dans la
résoluion de conlits
57
• Exemple : d'un système expert MR1 : S'il y a des érupions ou des rougeurs alors
envisager : R1, R2, R3, R4
• 1 ) métarègles intéressantes : MR1, MR2, MR2 : Si le paient est une femme adulte et si R1,
MR4; sélecionner MR1 R2, R3, R4 sont envisagées alors R1 est prioritaire
MR3 : Si le paient est un adolescent ou un enfant
• 2) par MR1 l'interprète sélecionne R1, R2, et si R1, R2, R3, R4 sont envisagées alors R4 est peu
R3, R4 probable
MR4 : Si deux règles sont également probables
• 3) la base de faits est uilisée pour pré- alors prendre en priorité celle qui a le plus de
sélecionner: R1 et R2 condiions
• 4) MR2 suggère d'uiliser R1 (mais R2 reste R1 : Si la ièvre est faible, la peau sèche, s'il y a des ganglions,
pas de pustules ni de rhume alors envisager la rubéole
sélecionnable), R2 : Si les boutons sont isolés et démangent beaucoup avec
▫ quesion posée à l'uilisateur : « pustules ? » une faible ièvre, et si la croûte apparaît vite sur les pustules
ou les vésicules alors envisager fortement la varicelle
si réponse « oui»: R3 : S'il y a rhume, mal aux yeux, taches roses dans la gorge,
▫ R2 reste sélecionnable, mais R1 est éliminée boutons en taches, ièvre forte alors envisager la rougeole
R4 : S'il y a amygdales rouges, desquamaion, forte ièvre,
▫ « varicelle ». taches rouge vif alors envisager la scarlaine
68