36
GIND5439 Systèmes Intelligents Chapitre 8: Ingénierie cognitive.

GIND5439_Chapitre8

Embed Size (px)

DESCRIPTION

cours

Citation preview

Page 1: GIND5439_Chapitre8

GIND5439 Systèmes Intelligents

Chapitre 8: Ingénierie cognitive.

Page 2: GIND5439_Chapitre8

2GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 3: GIND5439_Chapitre8

3GIND5439 – Gabriel Cormier, Université de Moncton

Le processus d’ingénierie cognitivePhase 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

Page 4: GIND5439_Chapitre8

4GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 5: GIND5439_Chapitre8

5GIND5439 – Gabriel Cormier, Université de Moncton

Problèmes typiquesType 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 sous-groupes 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.

Page 6: GIND5439_Chapitre8

6GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 7: GIND5439_Chapitre8

7GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 8: GIND5439_Chapitre8

8GIND5439 – Gabriel Cormier, Université de Moncton

Phase 2: Acquisition d’information

Problèmes:Données incompatibles

Les données à analyser sont peut-être stockées dans un format qui n’est pas compatible avec les instruments disponibles.

Données inconsistantesCertains faits sont représentés différemment dans différentes bases de connaissances.

Données incomplètesCertains records contiennent des espaces vides

On peut essayer d’inférer de l’information utileOn 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 del’information utile.

Page 9: GIND5439_Chapitre8

9GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 10: GIND5439_Chapitre8

10GIND5439 – Gabriel Cormier, Université de Moncton

Difficultés

L’expertConnaît plus que ce qu’il (ou elle) ditDit plus que ce qu’il connaîtMentN’est pas d’accord avec d’autre experts

L’ingénieur de la connaissanceManque de structureNécessite des habiletés socialesNécessite des compétences en IA

Page 11: GIND5439_Chapitre8

11GIND5439 – Gabriel Cormier, Université de Moncton

Techniques

EntrevuesObservation de la performanceAnalyse des protocoles

Ingénieur ExpertSystème

Écouter

Comprendre

Reformuler

Expliquer

Page 12: GIND5439_Chapitre8

12GIND5439 – Gabriel Cormier, Université de Moncton

Pour commencer

Pour chaque problème à être étudié par le système:

Déterminer l’ampleur et la structure de l’espace de solutionCombien 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écifiqueQuels facteurs suggèrent un choix comme le choix correct?

Page 13: GIND5439_Chapitre8

13GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 14: GIND5439_Chapitre8

14GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 15: GIND5439_Chapitre8

15GIND5439 – Gabriel Cormier, Université de Moncton

Phase 5: Évaluation et révision

Évaluer le système selon les critères de performance.Réviser le système si nécessaire.

Page 16: GIND5439_Chapitre8

16GIND5439 – Gabriel Cormier, Université de Moncton

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

Page 17: GIND5439_Chapitre8

17GIND5439 – Gabriel Cormier, Université de Moncton

Phase 6: Intégration et maintenance

Interface avec les systèmes existantsS’arranger pour faire le transfert de technologie.Établir un système de maintenance.

Page 18: GIND5439_Chapitre8

18GIND5439 – Gabriel Cormier, Université de Moncton

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

Page 19: GIND5439_Chapitre8

19GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 20: GIND5439_Chapitre8

20GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: classification

Jib-headed Cutter Gaff-headed Sloop Staysail Schooner Gaff-headed Schooner

Jib-headed Ketch Gaff-headed KetchJib-headed Yawl Gaff-headed Yawl

Différents bateaux à voile

Page 21: GIND5439_Chapitre8

21GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 22: GIND5439_Chapitre8

22GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 23: GIND5439_Chapitre8

23GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: classification

Page 24: GIND5439_Chapitre8

24GIND5439 – Gabriel Cormier, Université de Moncton

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:

On comparera aussi la performance avec celle d’un contrôleur PID.

)3)(2)(1(3)(

+++=

ssssG

Page 25: GIND5439_Chapitre8

25GIND5439 – Gabriel Cormier, Université de Moncton

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 = 3On 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.

Page 26: GIND5439_Chapitre8

26GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: contrôle

En effet, la valeur finale du système sous étude lorsque soumis à une entrée échelon unitaire est:

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.

21

)3)(2)(1(31lim)()(lim)(

000 =

+++⋅⋅==∞

→→ ssssssGssRy

ss

Page 27: GIND5439_Chapitre8

27GIND5439 – Gabriel Cormier, Université de Moncton

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.

Page 28: GIND5439_Chapitre8

28GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: contrôle

Page 29: GIND5439_Chapitre8

29GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: contrôle

Page 30: GIND5439_Chapitre8

30GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: contrôle

On n’utilise que 3 règles pour ce système:IF error is Negative THEN control is NegativeIF error is Zero THEN control is ZeroIF 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.

Page 31: GIND5439_Chapitre8

31GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: contrôle

Page 32: GIND5439_Chapitre8

32GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: contrôle

On combine les systèmes sur Simulink.

Page 33: GIND5439_Chapitre8

33GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: contrôle flou

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

Comparaison entre le PID(vert) et le contrôleur flou (bleu).

Page 34: GIND5439_Chapitre8

34GIND5439 – Gabriel Cormier, Université de Moncton

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éplacements1 5 10 200

2 10 5 150

3 0 12 200

4 12 0 300

Page 35: GIND5439_Chapitre8

35GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: Optimisation

Dans ce cas-ci, on veut minimiser la distance totale:

)300200150200min( 4321 DDDDD +++=

( ) ( )( ) ( )( ) ( )( ) ( )22

4

223

222

221

012120

510105

−+−=

−+−=

−+−=

−+−=

yxDyxDyxD

yxD

Page 36: GIND5439_Chapitre8

36GIND5439 – Gabriel Cormier, Université de Moncton

Exemple: Optimisation

0 10 20 30 40 50 60 70 80 90 1005400

5500

5600

5700

5800

5900

6000

6100

6200

Generation

Fitn

ess

MaximumMoyenne

L’algorithme génétique prend très peu de temps à converger (30 générations). Temps de calcul: < 1 minute.

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

x = 9.3138, y = 5.0284, D = 5456.5