Chapitre 8 - Université de Moncton

publicité
GIND5439
Systèmes Intelligents
Chapitre 8: Ingénierie cognitive.
Qu’est-ce que le génie cognitif?
„
Loi de Davis:
‰
‰
„
« Pour chaque outil il existe une tâche qui lui est
parfaitement adaptée … »
Cependant, il est trop optimiste de croire que pour
chaque tâche il existe un outil qui lui est
parfaitement adapté.
Génie cognitif: Intégration des techniques
d'intelligence artificielle et du génie logiciel en
vue de concevoir et de construire des
systèmes experts.
GIND5439 – Gabriel Cormier, Université de Moncton
2
Le processus d’ingénierie cognitive
Phase 1: Évaluation du problème
Phase 2: Acquisition de données et connaissances
Phase 3: Développement d’un système prototype
Phase 4: Développement d’un système complet
Phase 5: Évaluation et révision du système
Phase 6: Intégration et maintenance du système
GIND5439 – Gabriel Cormier, Université de Moncton
3
Phase 1: Évaluation du problème
„
„
„
„
Déterminer les caractéristiques principales du
problème.
Identifier les participants principaux du projet.
Spécifier les objectifs du projet.
Déterminer les ressources nécessaires pour
construire le système.
GIND5439 – Gabriel Cormier, Université de Moncton
4
Problèmes typiques
Type de problème
Description
Diagnostique
Inférer les défaillances d’un objet à partir de son
comportement et recommander des solutions.
Sélection
Recommander la meilleure solution à partir d’une liste
d’alternatives possibles.
Prédiction
Prédire le comportement futur d’un objet à partir de
son comportement précédent.
Classification
Assigner un objet à une de ses classes.
Agrégation
Diviser un groupe d’objets hétérogènes en des sousgroupes homogènes.
Optimisation
Améliorer la qualité d’une solution jusqu’à ce qu’une
solution optimale soit obtenue.
Contrôle
Gouverner le comportement d’un objet pour atteindre
des spécifications en temps réel.
GIND5439 – Gabriel Cormier, Université de Moncton
5
Problèmes typiques
Type de problème
Méthodes suggérées
Diagnostique
Système à base de règles.
Sélection
Système à base de règles, logique floue.
Prédiction
Réseau de neurones.
Classification
Système à base de règles, réseau de neurones.
Agrégation
Logique floue, réseau de neurones.
Optimisation
Algorithme génétique, optimisation par essaim de
particules.
Contrôle
Logique floue.
GIND5439 – Gabriel Cormier, Université de Moncton
6
Phase 2: Acquisition d’information
„
Récolter et analyser les données et
connaissances.
‰
„
Les données devront possiblement être
réorganisées dans une forme utile.
On doit rendre les concepts clés plus clairs et
définis.
GIND5439 – Gabriel Cormier, Université de Moncton
7
Phase 2: Acquisition d’information
„
Problèmes:
‰
Données incompatibles
„
‰
Données inconsistantes
„
‰
Les données à analyser sont peut-être stockées dans un
format qui n’est pas compatible avec les instruments
disponibles.
Certains faits sont représentés différemment dans différentes
bases de connaissances.
Données incomplètes
„
Certains records contiennent des espaces vides
‰
‰
‰
On peut essayer d’inférer de l’information utile
On peut remplir les espaces vides par la donnée médiane ou
moyenne.
Dans certains cas, le fait qu’un espace soit vide peut donner de
l’information utile.
GIND5439 – Gabriel Cormier, Université de Moncton
8
Acquisition de connaissances
„
„
„
„
On commence en révisant les documents
disponibles, comme des livres, articles et
manuels qui sont reliés au problème.
On collectionne d’autre information à l’aide
d’une entrevue avec l’expert du domaine.
L’acquisition de connaissances est un
processus itératif.
La compréhension du domaine du problème
est très importante à la construction d’un
système expert.
GIND5439 – Gabriel Cormier, Université de Moncton
9
Difficultés
„
L’expert
‰
‰
‰
‰
„
Connaît plus que ce qu’il (ou elle) dit
Dit plus que ce qu’il connaît
Ment
N’est pas d’accord avec d’autre experts
L’ingénieur de la connaissance
‰
‰
‰
Manque de structure
Nécessite des habiletés sociales
Nécessite des compétences en IA
GIND5439 – Gabriel Cormier, Université de Moncton
10
Techniques
„
„
„
Entrevues
Observation de la performance
Analyse des protocoles
Système
Ingénieur
Expert
Écouter
Comprendre
Reformuler
Expliquer
GIND5439 – Gabriel Cormier, Université de Moncton
11
Pour commencer
„
Pour chaque problème à être étudié par le
système:
‰
‰
‰
‰
‰
Déterminer l’ampleur et la structure de l’espace
de solution
Combien de catégories de réponses y a-t’il?
Combien de choix dans chaque catégorie?
Choisir une catégorie, choisir un choix spécifique
Quels facteurs suggèrent un choix comme le
choix correct?
GIND5439 – Gabriel Cormier, Université de Moncton
12
Phase 3: Développement d’un prototype
„
„
„
„
Choisir un outil pour construire le système
intelligent.
Transformer les données et représenter les
connaissances.
Concevoir et implanter le système prototype.
Tester le prototype avec des essais-type.
‰
‰
Un essai-type est un problème résolu avec succès dans le
passé pour lequel les données initiales et la solution sont
connues.
Pendant le test, le système reçoit les même données et sa
solution est comparée à la solution originale.
GIND5439 – Gabriel Cormier, Université de Moncton
13
Phase 4: Développement du système
„
„
„
„
On prépare un design détaillé pour le
système à pleine échelle.
On récolte des données et connaissances
additionnelles.
On développe l’interface utilisateur.
On implémente le système au complet.
GIND5439 – Gabriel Cormier, Université de Moncton
14
Phase 5: Évaluation et révision
„
„
Évaluer le système selon les critères de
performance.
Réviser le système si nécessaire.
GIND5439 – Gabriel Cormier, Université de Moncton
15
Évaluation
„
„
„
„
Les systèmes intelligents sont conçus pour résoudre
des problèmes qui habituellement n’ont pas de
« bonne » ou « mauvaise » solution clairement
définis.
L’évaluation d’un système intelligent revient à
s’assurer que le système accomplit la tâche voulue
à la satisfaction de l’utilisateur.
Une évaluation formelle du système est typiquement
accomplie avec des essai-types.
La performance du système est comparée contre
des critères de performance qui furent adoptés à la
fin de la phase de prototypage.
GIND5439 – Gabriel Cormier, Université de Moncton
16
Phase 6: Intégration et maintenance
„
„
„
Interface avec les systèmes existants
S’arranger pour faire le transfert de
technologie.
Établir un système de maintenance.
GIND5439 – Gabriel Cormier, Université de Moncton
17
Système expert
„
Est-ce qu’un système expert fonctionnera
pour mon problème?
‰
Firebaugh, 1988: règle de l’appel téléphonique
„
« Tout problème qui peut être réglé par un expert sur
place par un appel de 10 à 30 minutes peut être
développé comme un système expert. »
GIND5439 – Gabriel Cormier, Université de Moncton
18
Exemple: classification
„
„
Les problèmes de classification sont bien
adaptés aux systèmes à base de règles et
aux réseaux de neurones.
Ex:
‰
‰
‰
Soit un système pour classifier les différents types
de bateaux à voile.
On commence en récoltant de l’information sur les
différentes structures et les voiles des bateaux à
voile.
Chaque bateau peut être identifié selon ces
caractéristiques.
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
Différents bateaux à voile
GIND5439 – Gabriel Cormier, Université de Moncton
20
Exemple: classification
„
„
„
On peut utiliser des règles pour ce type de
système.
Dans un monde parfait, il serait très facile de
classifier ces bateaux.
Cependant, s’il y a de la brume, ou peu de
lumière, comment faire?
‰
„
On utilise des facteurs de certitude.
Dans ce cas-ci, 11 règles sont nécessaires.
‰
Voir p.312 du manuel pour les règles.
GIND5439 – Gabriel Cormier, Université de Moncton
21
Exemple: classification
„
„
„
Dans ce cas-ci, on peut créer un interface
graphique avec une page web.
On utilise du javascript pour faire le calcul
des facteurs de certitude.
À l’aide 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: contrôle
„
„
On veut faire le contrôle d’un système
quelconque à l’aide d’un contrôleur flou.
Soit le système suivant:
3
G ( s) =
( s + 1)( s + 2)( s + 3)
„
On comparera aussi la performance avec
celle d’un contrôleur PID.
GIND5439 – Gabriel Cormier, Université de Moncton
24
Exemple: contrôle
„
En utilisant les méthodes classiques, on
trouve que le contrôleur PID a les
caractéristiques suivantes:
‰
„
„
Kp = 12, Ki = 12, KD = 3
On doit faire une certaine analyse du
problème avant de construire le contrôleur
flou.
Il faut vérifier les valeurs finales du système.
GIND5439 – Gabriel Cormier, Université de Moncton
25
Exemple: contrôle
„
En effet, la valeur finale du système sous
étude lorsque soumis à une entrée é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
l’entrée. Pour obtenir une sorte de 1 lorsque
l’entrée du système est un échelon, il faudra
que le contrôleur ait un gain = 2.
GIND5439 – Gabriel Cormier, Université de Moncton
26
Exemple: contrôle
„
„
„
On peut maintenant construire les fonctions
d’appartenance, tout en sachant qu’il faut une
sortie de 2 quand l’entrée au contrôleur est 0
(erreur de 0).
Dans ce cas-ci, on choisit de limiter l’entrée à
une gamme de valeurs entre -1 et +1.
Quant à la sortie, on limite les règles aux
valeurs de -7.5 à +10.
GIND5439 – Gabriel Cormier, Université de Moncton
27
Exemple: contrôle
GIND5439 – Gabriel Cormier, Université de Moncton
28
Exemple: contrôle
GIND5439 – Gabriel Cormier, Université de Moncton
29
Exemple: contrôle
„
On n’utilise que 3 règles pour ce système:
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
d’appartenance à l’entrée et à la sortie, mais
il est généralement conseillé de commencer
avec peu de règles; si on a besoin de plus de
précision, on peut augmenter le nombre de
fonctions d’appartenance.
GIND5439 – Gabriel Cormier, Université de Moncton
30
Exemple: contrôle
GIND5439 – Gabriel Cormier, Université de Moncton
31
Exemple: contrôle
On combine les systèmes sur Simulink.
GIND5439 – Gabriel Cormier, Université de Moncton
32
Exemple: contrôle flou
1.6
1.4
Comparaison entre le
PID(vert) et le
contrôleur flou (bleu).
1.2
1
0.8
0.6
0.4
0.2
0
0
1
2
3
4
5
6
7
8
9
10
GIND5439 – Gabriel Cormier, Université de Moncton
33
Exemple: Optimisation
„
„
On veut optimiser l’emplacement d’un
entrepôt afin de minimiser les déplacements
entre l’entrepôt et les magasins des clients.
Les coordonnées des clients ainsi que le
nombre de déplacements sont donnés dans
le tableau suivant:
Client
x
y
Déplacements
1
5
10
200
2
10
5
150
3
0
12
200
4
12
0
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
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
L’algorithme génétique
prend très peu de
temps à converger (30
générations). Temps de
calcul: < 1 minute.
5700
5600
5500
5400
0
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
Téléchargement