Upload
anas-hasni
View
216
Download
0
Embed Size (px)
Citation preview
7/26/2019 GIND5439_Chapitre5
1/45
GIND5439Systmes Intelligents
Chapitre 5: Systmes experts
base de cadres.
7/26/2019 GIND5439_Chapitre5
2/45
2GIND5439 Gabriel Cormier, Universit de Moncton
Reprsentation des connaissances
En construisant une base de connaissances, un programmeurdoit choisir les objets significatifs et leur relations.
Le programme rsultant doit contenir assez de connaissancespour rsoudre le problme, doit faire les infrences correctementet doit le faire rapidement.
On peut considrer une base de connaissances comme un
mappage entre des objets et relations dans le domaine duproblme et les objets et relations dans le programme. Les rsultats des infrences sur la base de connaissances
doivent correspondent aux rsultats des actions ou observations
dans le monde. Les objets, relations et infrences dans le programme sont
dtermins par la reprsentation de connaissances choisie par leprogrammeur.
7/26/2019 GIND5439_Chapitre5
3/45
3GIND5439 Gabriel Cormier, Universit de Moncton
Cadres
Les cadres sont une mthode utilise pourreprsenter des connaissances dans une base de
connaissance. Auparavant, on a utilis des rglespour reprsenter les connaissances.
Cadre: Structure de donnes ayant desconnaissances typiques propos dun objet ouconcept particulier.
Les cadres furent proposs par Marvin Minsky dansles annes 1970.
En fait, cest trs similaire la programmation
oriente objet.
7/26/2019 GIND5439_Chapitre5
4/45
4GIND5439 Gabriel Cormier, Universit de Moncton
Cadre
Chaque cadre a son propre nom et un ensembledattributs qui y sont associs. Ex: le cadre Personne peut avoir les attributs Nom, Poids,Hauteur, ge. Ex: le cadre Ordinateurpeut avoir les attributs
Processeur, Modle, Mmoire, Prix, cran.
Lattribut nest pas ncessairement un chiffre ou unmot; il peut sagir dune procdure ou fonction quidtermine la valeur.
Lattribut peut aussi pointer un autre cadre. Dans les systmes experts, les cadres sont souvent
utiliss avec des rgles de production.
7/26/2019 GIND5439_Chapitre5
5/45
5GIND5439 Gabriel Cormier, Universit de Moncton
Cadre: exemple
Carte dembarquement Quantas
Transporteur: QuantasNom: M. LeBlanc
Vol: Q101
Date: 12 DcembreSige: 24A
De: Moncton
: OttawaEmbarquement: 0600
Porte: 4
Carte dembarquement EastJet
Transporteur: EastJetNom: Mme Richard
Vol: EJ467
Date: 15 DcembreSige: 26F
De: Moncton
: MontralEmbarquement: 0750
Porte: 2
7/26/2019 GIND5439_Chapitre5
6/45
6GIND5439 Gabriel Cormier, Universit de Moncton
Cadres: utilit
Systmes base de rgles: Des systmes base de rgles peuvent fonctionner avec
des faits parpills travers la base de connaissances. Il faudra peut-tre chercher au travers de connaissances
qui nont pas dimportance.
La recherche peut tre lente. Cadres:
Une mthode naturelle pour reprsenter des
connaissances de faon structure et concise. Une faon organise de reprsenter des connaissances.
7/26/2019 GIND5439_Chapitre5
7/45
7GIND5439 Gabriel Cormier, Universit de Moncton
Attributs
Un cadre est un ensemble dattributs Peut inclure de linformation telle que:
Relation entre un cadre et un autre cadre Ex: un cadre DELL peut tre un membre de la classe ORDINATEUR,qui est un membre de la classe SYSTME INFORMATIQUE.
Valeur de lattribut
Peut tre symbolique, numrique ou Boolenne. Peut tre assignquand le cadre est cr ou pendant une session du systme expert.
Valeur par dfaut On la considre vraie quand aucune preuve contraire nest trouve.
Intervalle de la valeur de lattribut Dtermine o un objet particulier ou concept doit tre dans lesexigences typiques.
Information procdurale
La procdure excuter quand lattribut est chang ou voulu.
7/26/2019 GIND5439_Chapitre5
8/45
8GIND5439 Gabriel Cormier, Universit de Moncton
Facette
Une facette est une mthode pour donner delinformation supplmentaire propos dun attributdun cadre.
On sen sert pour tablir la valeur de lattribut,contrler les requtes de lutilisateur et dire aumoteur dinfrence comment traiter lattribut.
Facette de valeur Spcifie les valeurs par dfaut et initiales
Facette prompte Permet lutilisateur dentrer des attributs en ligne
Facette dinfrence Permet darrter le processus dinfrence quand une valeur
spcifie change ou un attribut spcifi change.
7/26/2019 GIND5439_Chapitre5
9/45
9GIND5439 Gabriel Cormier, Universit de Moncton
Classes et instances
Un cadre peut faire rfrence un objetparticulier ou un groupe dobjets similaires.
Un cadre-classe dcrit un groupe dobjetsayant des attributs en commun.
Un cadre-instance fait rfrence uneinstance particulire dun objet.
Chaque cadre connat sa classe. Proprit implicite dun cadre
7/26/2019 GIND5439_Chapitre5
10/45
10GIND5439 Gabriel Cormier, Universit de Moncton
Classes et instances: exempleInstance: Carte dembarquement EastJet
Transporteur: EastJetNom: Mme RichardVol: EJ467
Date: 15 DcembreSige: 26FDe: Moncton: MontralEmbarquement: 0750Porte: 2
Classe: Carte dembarquement
Transporteur: [Str]Nom: [Str]Vol: [Str]Date: [Str]
Sige: [Str]De: [Str]: [Str]Embarquement: [Num]Porte: [Num]
Instance: Carte dembarquement QuantasTransporteur: QuantasNom: M. LeBlancVol: Q101Date: 12 DcembreSige: 24ADe: Moncton: OttawaEmbarquement: 0600Porte: 4
7/26/2019 GIND5439_Chapitre5
11/45
7/26/2019 GIND5439_Chapitre5
12/45
12GIND5439 Gabriel Cormier, Universit de Moncton
Relations entre les classes
Une sous-classe est relie sa superclasse par une relation est un . Ex: RSX Type S est un RSX est un Acura est un
Voiture . Une instance peut supplanter quelques attributs typiques. Linstance demeure un membre de la classe ayant accs aux
proprits plus haut dans la hirarchie mme si elle contredit unevaleur typique de sa classe. Les relations entre les hirarchies constituent un processus de
spcialisation.
Le cadre en haut de la hirarchie reprsente un conceptgnrique; les cadres plus bas reprsentent des concepts plusrestrictifs. Ex: une RSX est un type spcialis de voiture de Acura.
7/26/2019 GIND5439_Chapitre5
13/45
13GIND5439 Gabriel Cormier, Universit de Moncton
Relations entre les objets
Gnralisation: dmontre une relation sorte de ou est un . Ex: une voiture est un vhicule, un bateau est un vhicule.
Agrgation: reprsente une relation du type partie de o les sous-classes reprsentes descomposantes qui sont associes une superclasse
qui reprsente un tout. Ex: Un moteur est partie dune voiture.
Association: dcrit une relation entre diffrentesclasses typiquement sans relation autrement.Typiquement apparat comme un verbe et estbidirectionnel. Ex: M. LeBlanc appartient une maison, M. LeBlanc
appartient une voiture, etc
7/26/2019 GIND5439_Chapitre5
14/45
14GIND5439 Gabriel Cormier, Universit de Moncton
Hritage
Lhritage est le processus par lequel toutesles caractristiques dune classe sont prises
par linstance dune classe. Une instance hrite de son parent.
On peut avoir des hritages multiples Tous les parents doivent avoir des noms
dattributs uniques.
On rutilise du code a rduit le nombre dattributs indpendants et
spcifiques dans un systme expert.
7/26/2019 GIND5439_Chapitre5
15/45
15GIND5439 Gabriel Cormier, Universit de Moncton
Dsavantages
Ne permet pas de distinguer entre desproprits essentielles et accidentelles.
Il peut devenir impossible de construire desconcepts composs en utilisant des hritages
multiples. Lingnieur des connaissances a donc des
dcisions difficiles prendre quand lastructure hirarchique du systme et deshritages.
7/26/2019 GIND5439_Chapitre5
16/45
16GIND5439 Gabriel Cormier, Universit de Moncton
Mthodes et dmons
Une mthode est une procdure associe un attribut duncadre qui est excute lorsque demande.
Une mthode peut dterminer des attributs spcifiques ouexcuter une srie dactions quand les valeurs changent.
Un dmon a gnralement une structure IF THEN Sexcute lorsquun attribut dans lnonc IF change.
Deux types de mthodes: LORSQUE CHANG
Sexcute immdiatement lorsque la valeur dun attribut change
LORSQUE VOULU Utilis pour obtenir une valeur dattribut seulement quand dsir.
7/26/2019 GIND5439_Chapitre5
17/45
17GIND5439 Gabriel Cormier, Universit de Moncton
Interaction entre les rgles et cadres
Systme expert base de rgles Le moteur dinfrence fait le lien entre les rgles dans la
base de connaissances avec les donnes dans la base dedonnes.
Une fois le but trouv, le moteur dinfrence recherche
dans la base de connaissances pour trouver la rgle qui ace but dans sa consquence.
Si une telle rgle est trouve, et que les donnessaccordent avec les donnes dans la base de donnes, la
rgle est dclenche et le but obtient sa valeur. Si aucune rgle nest trouve, on demande lutilisateur
pour une valeur.
7/26/2019 GIND5439_Chapitre5
18/45
18GIND5439 Gabriel Cormier, Universit de Moncton
Interaction entre les rgles et cadres
Systme base de cadre Le moteur dinfrence recherche aussi pour le but.
Les rgles jouent un rle secondaire. Les cadresreprsentent la source principale de
connaissances. Les mthodes et dmons sont utiliss pour
ajouter des actions aux cadres.
Le but peut tre tabli en utilisant soit unemthode ou un dmon.
7/26/2019 GIND5439_Chapitre5
19/45
19GIND5439 Gabriel Cormier, Universit de Moncton
Moteur dinfrence
Systme base de cadres Selon le but, le moteur dinfrence cherche les rgles dont
la consquence contient le but recherch. Il examine les rgles une la fois dans lordre avec
lesquelles elles apparaissent dans la base de rgles.
Examine la validit de chaque antcdent dans la premirergle.
Si tous les antcdents sont invalides, il conclut que le butest invalide, puis procde la prochaine rgle.
7/26/2019 GIND5439_Chapitre5
20/45
20GIND5439 Gabriel Cormier, Universit de Moncton
Moteur dinfrence
Doit obtenir une valeur de la mthode LORSQUEVOULU seulement lorsque la valeur nest pas
dtermine par lensemble des rgles. Lordre de recherche des attributs doit tre
dtermine lavance.
On attache une facette ORDRE DE RECHERCHE un attribut pour indiquer o il se trouve et dans quelordre il faut obtenir la valeur. Ex: On met lordre de sorte quon recherche la base de
rgles en premier et seulement lorsque ceci ne fonctionnepas quon excute la facette.
7/26/2019 GIND5439_Chapitre5
21/45
21GIND5439 Gabriel Cormier, Universit de Moncton
Systme expert base de rgles
Lensemble des rgles reprsente lesconnaissances du domaine utiles pour rsoudre un
problme. Chaque rgle reprsente un heuristique quelconque
du problme.
Chaque rgle ajoute des nouvelles connaissanceset donc rend le systme plus intelligent.
La base de rgles peut facilement tre modifie enmodifiant, ajouter ou enlevant des rgles.
7/26/2019 GIND5439_Chapitre5
22/45
22GIND5439 Gabriel Cormier, Universit de Moncton
Systme expert base de cadres
La structure hirarchique de connaissancesest dtermine en premier.
Les attributs et classes sont identifies.
Les relations hirarchiques entre les classes
sont tablies. Larchitecture permet dajouter des actions
aux cadres laide de mthodes et dmons.
7/26/2019 GIND5439_Chapitre5
23/45
23GIND5439 Gabriel Cormier, Universit de Moncton
Construction dun systme expert base
de cadres Spcifier le problme et dfinir lenvergure du
systme. Dterminer les classes et leurs attributs. Dfinir les instances.
Concevoir les interfaces. Dfinir les mthodes LORSQUE VOULU et
LORSQUE CHANG, et les dmons. Dfinir les rgles. valuer et optimiser le systme.
7/26/2019 GIND5439_Chapitre5
24/45
24GIND5439 Gabriel Cormier, Universit de Moncton
Exemple de LORSQUE VOULU
Supposons quon veut valuer la demandede crdit dun individu.
Le systme expert commencera lvaluationquand lutilisateur appuiera sur le bouton
valuer Crdit dans linterface utilisateur. Ce bouton est rattach lattribut valuer
Crdit de la classe valuation deCrdit .
7/26/2019 GIND5439_Chapitre5
25/45
25GIND5439 Gabriel Cormier, Universit de Moncton
Exemple: Buy Smart
Pour illustrer les concepts vus auparavant, onconsidre un systme expert simple base
de cadre, Buy Smart, qui donne des conseilsaux gens cherchant acheter une maison.
On suivra les tapes principales pourdvelopper le systme expert, et dmontrercomment utiliser les mthodes et dmons.
7/26/2019 GIND5439_Chapitre5
26/45
26GIND5439 Gabriel Cormier, Universit de Moncton
tape 1
Spcifier le problme et dfinir lenvergure dusystme. On commence en rcoltant de linformation
propos des proprits vendre dans la rgion. Il faut identifier les dtails pertinents.
Emplacement et type de proprit
Nombre de chambres et salles de bain
Prix
Description courte Photo
7/26/2019 GIND5439_Chapitre5
27/45
27GIND5439 Gabriel Cormier, Universit de Moncton
tape 1 (suite)
Faire une liste de toute les questionspossibles. Quel est le montant maximum que vous voulez
dpenser sur un achat?
Quel type de proprit prfrez-vous? Dans quelle banlieue prfrez-vous demeurer?
Combien de chambres voulez-vous?
Combien de salles de bain voulez-vous?
7/26/2019 GIND5439_Chapitre5
28/45
2 ( i )
7/26/2019 GIND5439_Chapitre5
29/45
29GIND5439 Gabriel Cormier, Universit de Moncton
tape 2 (suite)CLASS: Property
[Str] Area :
[Str] Suburb :
[N] Price :
[Str] Type :
[N] Bedrooms :
[N] Bathrooms :
[Str] Construction :
[Str] Phone :
[Str] Pictfile :[Str] Textfile :
[N] Instance Number :
3
7/26/2019 GIND5439_Chapitre5
30/45
30GIND5439 Gabriel Cormier, Universit de Moncton
tape 3
Dfinir les instances Il faut crer les instances en utilisant des donnes
stockes dans une base de donnes ou enutilisant dautre mthodes.
Il faut typiquement indiquer au systme quon veutcrer une nouvelle instance.
3 ( i )
7/26/2019 GIND5439_Chapitre5
31/45
31GIND5439 Gabriel Cormier, Universit de Moncton
tape 3 (suite)
Exemple, pour crer une nouvelle instance de la classe Property dansle logiciel Level5 Object, on utilise le code suivant:
MAKE Property WITH Area := area OF dB3 HOUSE 1 WITH Suburb := suburb OF dB3 HOUSE 1 WITH Price := price OF dB3 HOUSE 1 WITH Type := type OF dB3 HOUSE 1 WITH Bedrooms := bedrooms OF dB3 HOUSE 1 WITH Bathrooms := bathrooms OF dB3 HOUSE 1 WITH Construction := construct OF dB3 HOUSE 1 WITH Phone := phone OF dB3 HOUSE 1 WITH Pictfile := pictfile OF dB3 HOUSE 1 WITH Textfile := textfile OF dB3 HOUSE 1 WITH Instance Number := Current Instance Number
3 ( i )
7/26/2019 GIND5439_Chapitre5
32/45
32GIND5439 Gabriel Cormier, Universit de Moncton
tape 3 (suite)
INSTANCE: Property 1
Class: Property
[Str]Area: Central Suburbs[Str] Suburb: New Town
[N] Price: 164000
[Str] Type: House
[N] Bedrooms: 3[N] Bathrooms: 1
[Str] Construction: Weatherboard
[Str]Phone: (03) 6226 4212
[Str]Pictfile: house01.bmp[Str] Textfile: house01.txt
[N] Instance Number: 1
INSTANCE: Property 2
Class: Property
[Str]Area: Central Suburbs[Str] Suburb: Taroona
[N] Price: 150000
[Str] Type: House
[N] Bedrooms: 3[N] Bathrooms: 1
[Str] Construction: Brick
[Str]Phone: (03) 6226 1416
[Str]Pictfile: house02.bmp[Str] Textfile: house02.txt
[N] Instance Number: 2
Instances de la classe Property.
4
7/26/2019 GIND5439_Chapitre5
33/45
33GIND5439 Gabriel Cormier, Universit de Moncton
tape 4
Crer linterface On a besoin dune fentre principale pour
prsenter de linformation gnrale lutilisateurau dbut de chaque application. Typiquement, on y met le titre de lapplication, une
description gnrale du problme, une reprsentationgraphique et aussi de linformation sur les droitsdauteur.
t 4 ( it )
7/26/2019 GIND5439_Chapitre5
34/45
34GIND5439 Gabriel Cormier, Universit de Moncton
tape 4 (suite)Buy Smart
Buying any property especially your first is very exciting, butit is often a little nerve-racking as well. It is important you take
the time to do your home work properly. This expert system willassists you in choosing a home to meet your particularrequirements.
t p 4 ( it )
7/26/2019 GIND5439_Chapitre5
35/45
35GIND5439 Gabriel Cormier, Universit de Moncton
tape 4 (suite)
La prochaine fentre est la fentre quidemande de linformation de lutilisateur.
Elle devrait permettre lutilisateur dindiquerses prfrences en rpondant des
questions prsentes par le systme expert.
t pe 4 (s ite)
7/26/2019 GIND5439_Chapitre5
36/45
36GIND5439 Gabriel Cormier, Universit de Moncton
tape 4 (suite)Buy Smart
Select the most important things you are looking for in your property.
Search
Suburb Bedrooms Maximum Price
All Suburbs
Central Suburbs
Eastern Shore
Northern Suburbs
Southern Suburbs
Any number of bedrooms
One bedroom
Two bedrooms
Three bedrooms
Four bedrooms or more
No maximum
$50,000$100,000
$150,000
$200,000
$250,000$300,000
$350,000
$400,000
$500,000$1,000,000
$2,000,000
Property Type Bathrooms
All property types
House
Unit
Townhouse
Any number of bathrooms
One bathroom
Two bathrooms
Three bathrooms or more
Help Restart
tape 4 (suite)
7/26/2019 GIND5439_Chapitre5
37/45
37GIND5439 Gabriel Cormier, Universit de Moncton
tape 4 (suite)
Finalement, la dernire fentre est celle quimontre de linformation sur les proprits.
Cette fentre doit produire une liste deproprits acceptables, la possibilit de se
dplacer la prochaine proprit (oupremire, ou dernire, ou celle prcdente)et aussi doit permettre de voir la proprit et
sa description.
tape 4 (suite)
7/26/2019 GIND5439_Chapitre5
38/45
38GIND5439 Gabriel Cormier, Universit de Moncton
tape 4 (suite)Buy Smart
MODERNISED WITH ARCHITECT'S FLAIRyet retaining the orig inal charm. Threelarge bedrooms. Formal dining warmed bya wood heater, family room next to animpressive kitchen and overlooking lavishgardens. A sparkling bathroom and largelaundry. Convenient location, garage andparking.
tape 5
7/26/2019 GIND5439_Chapitre5
39/45
39GIND5439 Gabriel Cormier, Universit de Moncton
tape 5
Dfinir les mthodes LORSQUE VOULU etLORSQUE CHANG, et les dmons. Il faut dvelopper une faon pour enrichir
lapplication. On se sert des mthodes LORSQUE VOULU et
LORSQUE CHANG et des dmons. Ou, on utilise des rgles.
Dans des systmes base de cadre, onconsidre toujours lapplication de mthodes etdmons en premier.
tape 5 (suite)
7/26/2019 GIND5439_Chapitre5
40/45
40GIND5439 Gabriel Cormier, Universit de Moncton
tape 5 (suite)
On cre toutes les instances de la classeProperty en mme temps lorsque lutilisateur
appuie sur le bouton Continue de lafentre premire.
En enlve les instances inapproprie au furet mesure que lutilisateur slectionne sesprfrences.
tape 5 (suite)
7/26/2019 GIND5439_Chapitre5
41/45
41GIND5439 Gabriel Cormier, Universit de Moncton
tape 5 (suite)CLASS: Action Data[S]Load Properties: [WHEN CHANGED]
INSTANCE: Action Data 1
Class: Action Data[S]Load Properties: TRUE
WHEN CHANGEDBEGINCurrent Instance Number := 0FORGET PropertyFIND dB3 HOUSE 1
WHEN FOUNDCurrent Instance Number := Current Instance Number + 1MAKE Property
WITH Area := area OFdB3 HOUSE 1WITH Suburb := suburb OFdB3 HOUSE 1WITH Price := price OFdB3 HOUSE 1WITH Type := type OFdB3 HOUSE 1
WITH Bedrooms := bedrooms OFdB3 HOUSE 1WITH Bathrooms := bathrooms OFdB3 HOUSE 1WITH Construction := construct OFdB3 HOUSE 1WITH Phone := phone OFdB3 HOUSE 1WITH Pictfile := pictfile OF dB3 HOUSE 1WITH Textfile := textfile OF dB3 HOUSE 1
WITH Instance Number := Current Instance NumberFIND ENDTotal Number of Instances := Current Instance NumberGoto First Property OF Action Data := TRUEEND
Exemple de mthode LORSQUE MODIFI
tape 5 (suite)
7/26/2019 GIND5439_Chapitre5
42/45
42GIND5439 Gabriel Cormier, Universit de Moncton
tape 5 (suite)
Dmons, DEMON 1IF selected OF Central Suburbs pushbutton
THEN FIND Property
WHERE Area OF Property "Central Suburbs"WHEN FOUND
FORGET CURRENT Property
FIND END.
.
.
DEMON 5IF selected OF House pushbutton
THEN FIND PropertyWHERE Type OF Property "House"
WHEN FOUNDFORGET CURRENT Property
FIND END
tape 5 (suite)
7/26/2019 GIND5439_Chapitre5
43/45
43GIND5439 Gabriel Cormier, Universit de Moncton
tape 5 (suite)CLASS: Action Data[S]Load Properties: [WHEN CHANGED]
[S]Load Instance Number: [WHEN CHANGED]
[S] Goto First Property: [WHEN CHANGED]
INSTANCE: Action Data 1
Class: Action Data
[S]Load Properties: TRUE
[S]Load Instance Number: TRUE[S] Goto First Property: TRUE
WHEN CHANGEDBEGIN
Current Instance Number := 0 FIND Property
WHEN FOUND Current Instance Number := Current Instance Number + 1
Instance Number OF Property := Current Instance Number
FIND END
Total Number of Instances := Current Instance Number
Goto First Property OF Action Data := TRUE
END
WHEN CHANGED
BEGIN
FIND Property
LIMIT 1
WHEN FOUND filename OF Property picturebox := Pictfile OF Property
filename OF Property textbox := Textfile OF Property
FIND END
END
Mthode LORSQUE MODIFI
tape 6
7/26/2019 GIND5439_Chapitre5
44/45
44GIND5439 Gabriel Cormier, Universit de Moncton
tape 6
Dfinir les rgles Une des dcisions les plus importantes et difficiles
est de dcider si on utilise des rgles ou si on sesert de mthodes et dmons.
La dcision est souvent base sur les prfrencespersonnelles du designer.
Buy Smart utilise des mthodes et des dmonsparce quils reprsentent une mthode simple etpuissante de reprsenter des procdures.
tape 7
7/26/2019 GIND5439_Chapitre5
45/45
45GIND5439 Gabriel Cormier, Universit de Moncton
tape 7
valuation et optimisation du systme expert. Ltape initiale de design est maintenant finie.
La prochaine tape est dvaluer le systme. On veut sassurer que le systme fonctionne et
rpond aux exigences.