Upload
anas-hasni
View
1
Download
0
Embed Size (px)
DESCRIPTION
cours
Citation preview
GIND5439 Systèmes Intelligents
Chapitre 8: Ingénierie cognitive.
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.
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
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.
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.
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.
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.
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.
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.
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
11GIND5439 – Gabriel Cormier, Université de Moncton
Techniques
EntrevuesObservation de la performanceAnalyse des protocoles
Ingénieur ExpertSystème
Écouter
Comprendre
Reformuler
Expliquer
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?
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.
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.
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.
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.
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.
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. »
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.
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
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.
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.
23GIND5439 – Gabriel Cormier, Université de Moncton
Exemple: classification
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
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.
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
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.
28GIND5439 – Gabriel Cormier, Université de Moncton
Exemple: contrôle
29GIND5439 – Gabriel Cormier, Université de Moncton
Exemple: contrôle
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.
31GIND5439 – Gabriel Cormier, Université de Moncton
Exemple: contrôle
32GIND5439 – Gabriel Cormier, Université de Moncton
Exemple: contrôle
On combine les systèmes sur Simulink.
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).
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
35GIND5439 – Gabriel Cormier, Université de Moncton
Exemple: Optimisation
Dans ce cas-ci, on veut minimiser la distance totale:
où
)300200150200min( 4321 DDDDD +++=
( ) ( )( ) ( )( ) ( )( ) ( )22
4
223
222
221
012120
510105
−+−=
−+−=
−+−=
−+−=
yxDyxDyxD
yxD
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