Vous êtes sur la page 1sur 36

GIND5439

Systmes Intelligents
Chapitre 8: Ingnierie cognitive.

Quest-ce que le gnie cognitif?

Loi de Davis:

Pour chaque outil il existe une tche qui lui est


parfaitement adapte
Cependant, il est trop optimiste de croire que pour
chaque tche il existe un outil qui lui est
parfaitement adapt.

Gnie cognitif: Intgration des techniques


d'intelligence artificielle et du gnie logiciel en
vue de concevoir et de construire des
systmes experts.

GIND5439 Gabriel Cormier, Universit de Moncton

Le processus dingnierie cognitive


Phase 1: valuation du problme

Phase 2: Acquisition de donnes et connaissances

Phase 3: Dveloppement dun systme prototype

Phase 4: Dveloppement dun systme complet

Phase 5: valuation et rvision du systme

Phase 6: Intgration et maintenance du systme

GIND5439 Gabriel Cormier, Universit de Moncton

Phase 1: valuation du problme

Dterminer les caractristiques principales du


problme.
Identifier les participants principaux du projet.
Spcifier les objectifs du projet.
Dterminer les ressources ncessaires pour
construire le systme.

GIND5439 Gabriel Cormier, Universit de Moncton

Problmes typiques
Type de problme

Description

Diagnostique

Infrer les dfaillances dun objet partir de son


comportement et recommander des solutions.

Slection

Recommander la meilleure solution partir dune liste


dalternatives possibles.

Prdiction

Prdire le comportement futur dun objet partir de


son comportement prcdent.

Classification

Assigner un objet une de ses classes.

Agrgation

Diviser un groupe dobjets htrognes en des sousgroupes homognes.

Optimisation

Amliorer la qualit dune solution jusqu ce quune


solution optimale soit obtenue.

Contrle

Gouverner le comportement dun objet pour atteindre


des spcifications en temps rel.

GIND5439 Gabriel Cormier, Universit de Moncton

Problmes typiques
Type de problme

Mthodes suggres

Diagnostique

Systme base de rgles.

Slection

Systme base de rgles, logique floue.

Prdiction

Rseau de neurones.

Classification

Systme base de rgles, rseau de neurones.

Agrgation

Logique floue, rseau de neurones.

Optimisation

Algorithme gntique, optimisation par essaim de


particules.

Contrle

Logique floue.

GIND5439 Gabriel Cormier, Universit de Moncton

Phase 2: Acquisition dinformation

Rcolter et analyser les donnes et


connaissances.

Les donnes devront possiblement tre


rorganises dans une forme utile.

On doit rendre les concepts cls plus clairs et


dfinis.

GIND5439 Gabriel Cormier, Universit de Moncton

Phase 2: Acquisition dinformation

Problmes:

Donnes incompatibles

Donnes inconsistantes

Les donnes analyser sont peut-tre stockes dans un


format qui nest pas compatible avec les instruments
disponibles.
Certains faits sont reprsents diffremment dans diffrentes
bases de connaissances.

Donnes incompltes

Certains records contiennent des espaces vides

On peut essayer dinfrer de linformation utile


On peut remplir les espaces vides par la donne mdiane ou
moyenne.
Dans certains cas, le fait quun espace soit vide peut donner de
linformation utile.

GIND5439 Gabriel Cormier, Universit de Moncton

Acquisition de connaissances

On commence en rvisant les documents


disponibles, comme des livres, articles et
manuels qui sont relis au problme.
On collectionne dautre information laide
dune entrevue avec lexpert du domaine.
Lacquisition de connaissances est un
processus itratif.
La comprhension du domaine du problme
est trs importante la construction dun
systme expert.

GIND5439 Gabriel Cormier, Universit de Moncton

Difficults

Lexpert

Connat plus que ce quil (ou elle) dit


Dit plus que ce quil connat
Ment
Nest pas daccord avec dautre experts

Lingnieur de la connaissance

Manque de structure
Ncessite des habilets sociales
Ncessite des comptences en IA

GIND5439 Gabriel Cormier, Universit de Moncton

10

Techniques

Entrevues
Observation de la performance
Analyse des protocoles
Systme

Ingnieur

Expert

couter
Comprendre
Reformuler
Expliquer
GIND5439 Gabriel Cormier, Universit de Moncton

11

Pour commencer

Pour chaque problme tre tudi par le


systme:

Dterminer lampleur et la structure de lespace


de solution
Combien de catgories de rponses y a-til?
Combien de choix dans chaque catgorie?
Choisir une catgorie, choisir un choix spcifique
Quels facteurs suggrent un choix comme le
choix correct?

GIND5439 Gabriel Cormier, Universit de Moncton

12

Phase 3: Dveloppement dun prototype

Choisir un outil pour construire le systme


intelligent.
Transformer les donnes et reprsenter les
connaissances.
Concevoir et implanter le systme prototype.
Tester le prototype avec des essais-type.

Un essai-type est un problme rsolu avec succs dans le


pass pour lequel les donnes initiales et la solution sont
connues.
Pendant le test, le systme reoit les mme donnes et sa
solution est compare la solution originale.

GIND5439 Gabriel Cormier, Universit de Moncton

13

Phase 4: Dveloppement du systme

On prpare un design dtaill pour le


systme pleine chelle.
On rcolte des donnes et connaissances
additionnelles.
On dveloppe linterface utilisateur.
On implmente le systme au complet.

GIND5439 Gabriel Cormier, Universit de Moncton

14

Phase 5: valuation et rvision

valuer le systme selon les critres de


performance.
Rviser le systme si ncessaire.

GIND5439 Gabriel Cormier, Universit de Moncton

15

valuation

Les systmes intelligents sont conus pour rsoudre


des problmes qui habituellement nont pas de
bonne ou mauvaise solution clairement
dfinis.
Lvaluation dun systme intelligent revient
sassurer que le systme accomplit la tche voulue
la satisfaction de lutilisateur.
Une valuation formelle du systme est typiquement
accomplie avec des essai-types.
La performance du systme est compare contre
des critres de performance qui furent adopts la
fin de la phase de prototypage.

GIND5439 Gabriel Cormier, Universit de Moncton

16

Phase 6: Intgration et maintenance

Interface avec les systmes existants


Sarranger pour faire le transfert de
technologie.
tablir un systme de maintenance.

GIND5439 Gabriel Cormier, Universit de Moncton

17

Systme expert

Est-ce quun systme expert fonctionnera


pour mon problme?

Firebaugh, 1988: rgle de lappel tlphonique

Tout problme qui peut tre rgl par un expert sur


place par un appel de 10 30 minutes peut tre
dvelopp comme un systme expert.

GIND5439 Gabriel Cormier, Universit de Moncton

18

Exemple: classification

Les problmes de classification sont bien


adapts aux systmes base de rgles et
aux rseaux de neurones.
Ex:

Soit un systme pour classifier les diffrents types


de bateaux voile.
On commence en rcoltant de linformation sur les
diffrentes structures et les voiles des bateaux
voile.
Chaque bateau peut tre identifi selon ces
caractristiques.

GIND5439 Gabriel Cormier, Universit de Moncton

19

Exemple: classification

Jib-headed Cutter

Gaff-headed Sloop

Staysail Schooner Gaff-headed Schooner

Jib-headed Yawl

Gaff-headed Yawl

Jib-headed Ketch

Gaff-headed Ketch

Diffrents bateaux voile


GIND5439 Gabriel Cormier, Universit de Moncton

20

Exemple: classification

On peut utiliser des rgles pour ce type de


systme.
Dans un monde parfait, il serait trs facile de
classifier ces bateaux.
Cependant, sil y a de la brume, ou peu de
lumire, comment faire?

On utilise des facteurs de certitude.

Dans ce cas-ci, 11 rgles sont ncessaires.

Voir p.312 du manuel pour les rgles.

GIND5439 Gabriel Cormier, Universit de Moncton

21

Exemple: classification

Dans ce cas-ci, on peut crer un interface


graphique avec une page web.
On utilise du javascript pour faire le calcul
des facteurs de certitude.
laide des facteurs de certitude, on peut
donner les options les plus probables quant
au type de bateau voile.

GIND5439 Gabriel Cormier, Universit de Moncton

22

Exemple: classification

GIND5439 Gabriel Cormier, Universit de Moncton

23

Exemple: contrle

On veut faire le contrle dun systme


quelconque laide dun contrleur flou.
Soit le systme suivant:
3
G ( s) =
( s + 1)( s + 2)( s + 3)

On comparera aussi la performance avec


celle dun contrleur PID.

GIND5439 Gabriel Cormier, Universit de Moncton

24

Exemple: contrle

En utilisant les mthodes classiques, on


trouve que le contrleur PID a les
caractristiques suivantes:

Kp = 12, Ki = 12, KD = 3

On doit faire une certaine analyse du


problme avant de construire le contrleur
flou.
Il faut vrifier les valeurs finales du systme.

GIND5439 Gabriel Cormier, Universit de Moncton

25

Exemple: contrle

En effet, la valeur finale du systme sous


tude lorsque soumis une entre chelon
unitaire est:
1
3
1
=
y () = lim sR ( s )G0 ( s ) = lim s
s

0
s ( s + 1)( s + 2)( s + 3) 2
s 0

Ce qui veut dire que la sortie est la moiti de


lentre. Pour obtenir une sorte de 1 lorsque
lentre du systme est un chelon, il faudra
que le contrleur ait un gain = 2.

GIND5439 Gabriel Cormier, Universit de Moncton

26

Exemple: contrle

On peut maintenant construire les fonctions


dappartenance, tout en sachant quil faut une
sortie de 2 quand lentre au contrleur est 0
(erreur de 0).
Dans ce cas-ci, on choisit de limiter lentre
une gamme de valeurs entre -1 et +1.
Quant la sortie, on limite les rgles aux
valeurs de -7.5 +10.

GIND5439 Gabriel Cormier, Universit de Moncton

27

Exemple: contrle

GIND5439 Gabriel Cormier, Universit de Moncton

28

Exemple: contrle

GIND5439 Gabriel Cormier, Universit de Moncton

29

Exemple: contrle

On nutilise que 3 rgles pour ce systme:


IF error is Negative THEN control is Negative
IF error is Zero THEN control is Zero
IF error is Positive THEN control is Positive

On aurait pu utiliser plus de fonctions


dappartenance lentre et la sortie, mais
il est gnralement conseill de commencer
avec peu de rgles; si on a besoin de plus de
prcision, on peut augmenter le nombre de
fonctions dappartenance.

GIND5439 Gabriel Cormier, Universit de Moncton

30

Exemple: contrle

GIND5439 Gabriel Cormier, Universit de Moncton

31

Exemple: contrle

On combine les systmes sur Simulink.


GIND5439 Gabriel Cormier, Universit de Moncton

32

Exemple: contrle flou


1.6
1.4

Comparaison entre le
PID(vert) et le
contrleur flou (bleu).

1.2
1
0.8
0.6
0.4
0.2
0

10

GIND5439 Gabriel Cormier, Universit de Moncton

33

Exemple: Optimisation

On veut optimiser lemplacement dun


entrept afin de minimiser les dplacements
entre lentrept et les magasins des clients.
Les coordonnes des clients ainsi que le
nombre de dplacements sont donns dans
le tableau suivant:
Client

Dplacements

10

200

10

150

12

200

12

300

GIND5439 Gabriel Cormier, Universit de Moncton

34

Exemple: Optimisation

Dans ce cas-ci, on veut minimiser la distance


totale:
D = min(200 D1 + 150 D2 + 200 D3 + 300 D4 )

o
D1 =
D2 =
D3 =
D4 =

(x 5) + ( y 10)
(x 10)2 + ( y 5)2
(x 0)2 + ( y 12)2
2
2
(x 12) + ( y 0)
2

GIND5439 Gabriel Cormier, Universit de Moncton

35

Exemple: Optimisation
6200

POP = 15;
minLimit = [0; 0];
maxLimit = [15; 15];
pc = 0.80;
pm = 0.01;
aa = 1.2;
bb = 3.0;

Maximum
Moyenne

6100
6000

Fitness

5900
5800

Lalgorithme gntique
prend trs peu de
temps converger (30
gnrations). Temps de
calcul: < 1 minute.

5700
5600
5500
5400

10

20

30

40

50
60
Generation

70

80

90

100

x = 9.3138, y = 5.0284, D = 5456.5


GIND5439 Gabriel Cormier, Universit de Moncton

36