Sunteți pe pagina 1din 45

GIND5439

Systmes Intelligents
Chapitre 5: Systmes experts
base de cadres.

Reprsentation des connaissances

En construisant une base de connaissances, un programmeur


doit choisir les objets significatifs et leur relations.
Le programme rsultant doit contenir assez de connaissances
pour rsoudre le problme, doit faire les infrences correctement
et doit le faire rapidement.
On peut considrer une base de connaissances comme un
mappage entre des objets et relations dans le domaine du
problme 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 le
programmeur.

GIND5439 Gabriel Cormier, Universit de Moncton

Cadres

Les cadres sont une mthode utilise pour


reprsenter des connaissances dans une base de
connaissance. Auparavant, on a utilis des rgles
pour reprsenter les connaissances.
Cadre: Structure de donnes ayant des
connaissances typiques propos dun objet ou
concept particulier.
Les cadres furent proposs par Marvin Minsky dans
les annes 1970.
En fait, cest trs similaire la programmation
oriente objet.

GIND5439 Gabriel Cormier, Universit de Moncton

Cadre

Chaque cadre a son propre nom et un ensemble


dattributs qui y sont associs.

Ex: le cadre Personne peut avoir les attributs Nom, Poids,


Hauteur, ge.
Ex: le cadre Ordinateur peut avoir les attributs
Processeur, Modle, Mmoire, Prix, cran.

Lattribut nest pas ncessairement un chiffre ou un


mot; il peut sagir dune procdure ou fonction qui
dtermine la valeur.
Lattribut peut aussi pointer un autre cadre.
Dans les systmes experts, les cadres sont souvent
utiliss avec des rgles de production.

GIND5439 Gabriel Cormier, Universit de Moncton

Cadre: exemple
Carte dembarquement Quantas

Carte dembarquement EastJet

Transporteur: Quantas

Transporteur: EastJet

Nom: M. LeBlanc

Nom: Mme Richard

Vol: Q101

Vol: EJ467

Date: 12 Dcembre

Date: 15 Dcembre

Sige: 24A

Sige: 26F

De: Moncton

De: Moncton

: Ottawa

: Montral

Embarquement: 0600

Embarquement: 0750

Porte: 4

Porte: 2

GIND5439 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.

GIND5439 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

Valeur de lattribut

On la considre vraie quand aucune preuve contraire nest trouve.

Intervalle de la valeur de lattribut

Peut tre symbolique, numrique ou Boolenne. Peut tre assign


quand le cadre est cr ou pendant une session du systme expert.

Valeur par dfaut

Ex: un cadre DELL peut tre un membre de la classe ORDINATEUR,


qui est un membre de la classe SYSTME INFORMATIQUE.

Dtermine o un objet particulier ou concept doit tre dans les


exigences typiques.

Information procdurale

La procdure excuter quand lattribut est chang ou voulu.

GIND5439 Gabriel Cormier, Universit de Moncton

Facette

Une facette est une mthode pour donner de


linformation supplmentaire propos dun attribut
dun cadre.
On sen sert pour tablir la valeur de lattribut,
contrler les requtes de lutilisateur et dire au
moteur dinfrence comment traiter lattribut.
Facette de valeur

Facette prompte

Spcifie les valeurs par dfaut et initiales


Permet lutilisateur dentrer des attributs en ligne

Facette dinfrence

Permet darrter le processus dinfrence quand une valeur


spcifie change ou un attribut spcifi change.

GIND5439 Gabriel Cormier, Universit de Moncton

Classes et instances

Un cadre peut faire rfrence un objet


particulier ou un groupe dobjets similaires.
Un cadre-classe dcrit un groupe dobjets
ayant des attributs en commun.
Un cadre-instance fait rfrence une
instance particulire dun objet.
Chaque cadre connat sa classe.

Proprit implicite dun cadre

GIND5439 Gabriel Cormier, Universit de Moncton

Classes et instances: exemple


Instance: Carte dembarquement EastJet

Classe: Carte dembarquement


Transporteur: [Str]
Nom: [Str]
Vol: [Str]
Date: [Str]
Sige: [Str]
De: [Str]
: [Str]
Embarquement: [Num]
Porte: [Num]

Transporteur: EastJet
Nom: Mme Richard
Vol: EJ467
Date: 15 Dcembre
Sige: 26F
De: Moncton
: Montral
Embarquement: 0750
Porte: 2
Instance: Carte dembarquement Quantas
Transporteur: Quantas
Nom: M. LeBlanc
Vol: Q101
Date: 12 Dcembre
Sige: 24A
De: Moncton
: Ottawa
Embarquement: 0600
Porte: 4

GIND5439 Gabriel Cormier, Universit de Moncton

10

Hritage de classe

Les attributs dun cadre-classe reprsentent


des choses qui sont typiquement vrai pour
tous les objets dans la classe.
Les attributs et valeurs par dfaut dun cadreclasse sont hrits travers la hirarchie
classe/sous-classe et classe/membre.
Les attributs dans les cadre-instances
peuvent tre remplis de donnes relles
uniques chaque instance.

GIND5439 Gabriel Cormier, Universit de Moncton

11

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 une
valeur typique de sa classe.
Les relations entre les hirarchies constituent un processus de
spcialisation.
Le cadre en haut de la hirarchie reprsente un concept
gnrique; les cadres plus bas reprsentent des concepts plus
restrictifs.
Ex: une RSX est un type spcialis de voiture de Acura.

GIND5439 Gabriel Cormier, Universit de Moncton

12

Relations entre les objets

Gnralisation: dmontre une relation sorte de


ou est un .

Agrgation: reprsente une relation du type


partie de o les sous-classes reprsentes des
composantes qui sont associes une superclasse
qui reprsente un tout.

Ex: une voiture est un vhicule, un bateau est un vhicule.

Ex: Un moteur est partie dune voiture.

Association: dcrit une relation entre diffrentes


classes typiquement sans relation autrement.
Typiquement apparat comme un verbe et est
bidirectionnel.

Ex: M. LeBlanc appartient une maison, M. LeBlanc


appartient une voiture, etc

GIND5439 Gabriel Cormier, Universit de Moncton

13

Hritage

Lhritage est le processus par lequel toutes


les 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.

GIND5439 Gabriel Cormier, Universit de Moncton

14

Dsavantages

Ne permet pas de distinguer entre des


proprits essentielles et accidentelles.
Il peut devenir impossible de construire des
concepts composs en utilisant des hritages
multiples.
Lingnieur des connaissances a donc des
dcisions difficiles prendre quand la
structure hirarchique du systme et des
hritages.

GIND5439 Gabriel Cormier, Universit de Moncton

15

Mthodes et dmons

Une mthode est une procdure associe un attribut dun


cadre qui est excute lorsque demande.
Une mthode peut dterminer des attributs spcifiques ou
excuter 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.

GIND5439 Gabriel Cormier, Universit de Moncton

16

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 de
donnes.
Une fois le but trouv, le moteur dinfrence recherche
dans la base de connaissances pour trouver la rgle qui a
ce but dans sa consquence.
Si une telle rgle est trouve, et que les donnes
saccordent 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.

GIND5439 Gabriel Cormier, Universit de Moncton

17

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 cadres
reprsentent 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 une
mthode ou un dmon.

GIND5439 Gabriel Cormier, Universit de Moncton

18

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 premire
rgle.
Si tous les antcdents sont invalides, il conclut que le but
est invalide, puis procde la prochaine rgle.

GIND5439 Gabriel Cormier, Universit de Moncton

19

Moteur dinfrence

Doit obtenir une valeur de la mthode LORSQUE


VOULU 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 quel
ordre il faut obtenir la valeur.

Ex: On met lordre de sorte quon recherche la base de


rgles en premier et seulement lorsque ceci ne fonctionne
pas quon excute la facette.

GIND5439 Gabriel Cormier, Universit de Moncton

20

Systme expert base de rgles

Lensemble des rgles reprsente les


connaissances du domaine utiles pour rsoudre un
problme.
Chaque rgle reprsente un heuristique quelconque
du problme.
Chaque rgle ajoute des nouvelles connaissances
et donc rend le systme plus intelligent.
La base de rgles peut facilement tre modifie en
modifiant, ajouter ou enlevant des rgles.

GIND5439 Gabriel Cormier, Universit de Moncton

21

Systme expert base de cadres

La structure hirarchique de connaissances


est 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.

GIND5439 Gabriel Cormier, Universit de Moncton

22

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.

GIND5439 Gabriel Cormier, Universit de Moncton

23

Exemple de LORSQUE VOULU

Supposons quon veut valuer la demande


de crdit dun individu.
Le systme expert commencera lvaluation
quand lutilisateur appuiera sur le bouton
valuer Crdit dans linterface utilisateur.
Ce bouton est rattach lattribut valuer
Crdit de la classe valuation de
Crdit .

GIND5439 Gabriel Cormier, Universit de Moncton

24

Exemple: Buy Smart

Pour illustrer les concepts vus auparavant, on


considre un systme expert simple base
de cadre, Buy Smart, qui donne des conseils
aux gens cherchant acheter une maison.
On suivra les tapes principales pour
dvelopper le systme expert, et dmontrer
comment utiliser les mthodes et dmons.

GIND5439 Gabriel Cormier, Universit de Moncton

25

tape 1

Spcifier le problme et dfinir lenvergure du


systme.

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

GIND5439 Gabriel Cormier, Universit de Moncton

26

tape 1 (suite)

Faire une liste de toute les questions


possibles.

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?

GIND5439 Gabriel Cormier, Universit de Moncton

27

tape 2

Dterminer les classes et leurs attributs.

Identifier les types gnraux de classes.

Ex: le concept de proprit et dcrire les


caractristiques gnrales qui sont communes la
plupart des proprits.
Caractriser chaque proprit par son emplacement, le
prix, le type, le nombre de chambres, le nombre de
salles de bain, construction, description et photo.
On doit aussi prsenter de linformation de contact, tel
que ladresse et un numro de tlphone.

GIND5439 Gabriel Cormier, Universit de Moncton

28

tape 2 (suite)
CLASS:
[Str]
[Str]
[N]
[Str]
[N]
[N]
[Str]
[Str]
[Str]
[Str]
[N]

Property

Area :
Suburb :
Price :
Type :
Bedrooms :
Bathrooms :
Construction :
Phone :
Pictfile :
Textfile :
Instance Number

GIND5439 Gabriel Cormier, Universit de Moncton

:
29

tape 3

Dfinir les instances

Il faut crer les instances en utilisant des donnes


stockes dans une base de donnes ou en
utilisant dautre mthodes.
Il faut typiquement indiquer au systme quon veut
crer une nouvelle instance.

GIND5439 Gabriel Cormier, Universit de Moncton

30

tape 3 (suite)

Exemple, pour crer une nouvelle instance de la classe Property dans


le 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

GIND5439 Gabriel Cormier, Universit de Moncton

31

tape 3 (suite)
INSTANCE: Property 1
Class:
Property
[Str] Area:
Central Suburbs
New Town
[Str] Suburb:
[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.


GIND5439 Gabriel Cormier, Universit de Moncton

32

tape 4

Crer linterface

On a besoin dune fentre principale pour


prsenter de linformation gnrale lutilisateur
au dbut de chaque application.

Typiquement, on y met le titre de lapplication, une


description gnrale du problme, une reprsentation
graphique et aussi de linformation sur les droits
dauteur.

GIND5439 Gabriel Cormier, Universit de Moncton

33

tape 4 (suite)
Buy Smart

Buying any property especially your first is very exciting, but


it is often a little nerve-racking as well. It is important you take
the time to do your home work properly. This expert system will
assists you in choosing a home to meet your particular
requirements.

GIND5439 Gabriel Cormier, Universit de Moncton

34

tape 4 (suite)

La prochaine fentre est la fentre qui


demande de linformation de lutilisateur.
Elle devrait permettre lutilisateur dindiquer
ses prfrences en rpondant des
questions prsentes par le systme expert.

GIND5439 Gabriel Cormier, Universit de Moncton

35

tape 4 (suite)
Buy Smart

Select the most important things you are looking for in your property.
Suburb

Bedrooms

Maximum Price

All Suburbs

Any number of bedrooms

No maximum

Central Suburbs

One bedroom

$ 50,000

Eastern Shore

Two bedrooms

$ 100,000

Northern Suburbs

Three bedrooms

Southern Suburbs

Four bedrooms or more

$ 150,000
$ 200,000
$ 250,000
$ 300,000

Property Type

Bathrooms

$ 350,000

All property types

Any number of bathrooms

House

One bathroom

$ 500,000

Unit

Two bathrooms

$ 1,000,000

Townhouse

Three bathrooms or more

$ 2,000,000

Help

Restart

GIND5439 Gabriel Cormier, Universit de Moncton

$ 400,000

Search

36

tape 4 (suite)

Finalement, la dernire fentre est celle qui


montre de linformation sur les proprits.
Cette fentre doit produire une liste de
proprits acceptables, la possibilit de se
dplacer la prochaine proprit (ou
premire, ou dernire, ou celle prcdente)
et aussi doit permettre de voir la proprit et
sa description.

GIND5439 Gabriel Cormier, Universit de Moncton

37

tape 4 (suite)
Buy Smart

MODERNISED WITH ARCHITECT'S FLAIR


yet retaining the original charm. Three
large bedrooms. Formal dining warmed by
a wood heater, family room next to an
impressive kitchen and overlooking lavish
gardens. A sparkling bathroom and large
laundry. Convenient location, garage and
parking.

GIND5439 Gabriel Cormier, Universit de Moncton

38

tape 5

Dfinir les mthodes LORSQUE VOULU et


LORSQUE 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, on


considre toujours lapplication de mthodes et
dmons en premier.

GIND5439 Gabriel Cormier, Universit de Moncton

39

tape 5 (suite)

On cre toutes les instances de la classe


Property en mme temps lorsque lutilisateur
appuie sur le bouton Continue de la
fentre premire.
En enlve les instances inapproprie au fur
et mesure que lutilisateur slectionne ses
prfrences.

GIND5439 Gabriel Cormier, Universit de Moncton

40

tape 5 (suite)
CLASS:

Action Data

[S] Load Properties:

[WHEN CHANGED]

INSTANCE:

Action Data 1

Class:

Action Data

[S] Load Properties:

TRUE

WHEN CHANGED
BEGIN
Current Instance Number := 0
FORGET Property
FIND dB3 HOUSE 1
WHEN FOUND
Current Instance Number := Current Instance Number + 1
MAKE Property
WITH Area := area OFdB3 HOUSE 1
WITH Suburb := suburb OFdB3 HOUSE 1
WITH Price := price OFdB3 HOUSE 1
WITH Type := type OFdB3 HOUSE 1
WITH Bedrooms := bedrooms OFdB3 HOUSE 1
WITH Bathrooms := bathrooms OFdB3 HOUSE 1
WITH Construction := construct OFdB3 HOUSE 1
WITH Phone := phone OFdB3 HOUSE 1
WITH Pictfile := pictfile OF dB3 HOUSE 1
WITH Textfile := textfile OF dB3 HOUSE 1
WITH Instance Number := Current Instance Number
FIND END
Total Number of Instances := Current Instance Number
Goto First Property OF Action Data := TRUE
END

Exemple de mthode LORSQUE MODIFI


GIND5439 Gabriel Cormier, Universit de Moncton

41

tape 5 (suite)

Dmons, DEMON 1

IF selected OF Central Suburbs pushbutton


THEN FIND Property
WHERE Area OF Property <> "Central Suburbs"
WHEN FOUND
FORGET CURRENT Property
FIND END

..
.

DEMON 5
IF selected OF House pushbutton
THEN FIND Property
WHERE Type OF Property <> "House"
WHEN FOUND
FORGET CURRENT Property
FIND END
GIND5439 Gabriel Cormier, Universit de Moncton

42

tape 5 (suite)
CLASS:

Action Data
[WHEN CHANGED]
[S] Load Properties:
[S] Load Instance Number: [WHEN CHANGED]
[WHEN CHANGED]
[S] Goto First Property:
INSTANCE:

Action Data 1

Class:
Action Data
[S] Load Properties:
TRUE
[S] Load Instance Number: TRUE
[S] Goto First Property:
TRUE

WHEN CHANGED
BEGIN
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


GIND5439 Gabriel Cormier, Universit de Moncton

43

tape 6

Dfinir les rgles

Une des dcisions les plus importantes et difficiles


est de dcider si on utilise des rgles ou si on se
sert de mthodes et dmons.
La dcision est souvent base sur les prfrences
personnelles du designer.
Buy Smart utilise des mthodes et des dmons
parce quils reprsentent une mthode simple et
puissante de reprsenter des procdures.

GIND5439 Gabriel Cormier, Universit de Moncton

44

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.

GIND5439 Gabriel Cormier, Universit de Moncton

45

S-ar putea să vă placă și