• Save
Modèle cognitif de mémoire dans un environnement virtuel
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Modèle cognitif de mémoire dans un environnement virtuel

on

  • 4,124 views

Le document est le mémoire de maîtrise de M. Jimmy Perron sous la direction de Bernard Moulin du laboratoire d'informatique cognitive de l'université Laval. La recherche présente le développement ...

Le document est le mémoire de maîtrise de M. Jimmy Perron sous la direction de Bernard Moulin du laboratoire d'informatique cognitive de l'université Laval. La recherche présente le développement d'un modèle de mémorisation réaliste pour des agents/entités virtuels évoluant dans un environnement géographique.

Statistics

Views

Total Views
4,124
Views on SlideShare
4,124
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Modèle cognitif de mémoire dans un environnement virtuel Document Transcript

  • 1. JIMMY PERRON Modélisation d’un modèle cognitif de mémoire dans un système multi-agent temps réel Mémoire présenté à la Faculté des études supérieures de l’Université Laval pour l’obtention du grade de maître ès sciences (M.Sc.) Département d’informatique FACULTÉ DES SCIENCES ET GÉNIE UNIVERSITÉ LAVAL Août 2003  Jimmy Perron, 2003
  • 2. -2- Résumé Le présent travail s’inscrit dans un projet visant la simulation d’un grand nombre d’agents dans un environnement urbain 3D virtuel. En fait, le système MAGS (Multi-Agent GeoSimulation) est une plateforme multi-agent en temps réel pouvant s’appliquer à plusieurs domaines : simulation de foule, simulation de consommateurs dans des centres commerciaux, simulation d’évacuations, etc. Les fondements du simulateur sont issus des approches cognitives, ce qui implique que les agents sont dotés de comportements évolués basés sur leurs besoins et objectifs. Cela implique aussi que les agents doivent être munis d’un outil supplémentaire proposant des mécanismes de perception et de mémorisation de l’environnement. Ce mémoire présente donc un modèle détaillé de perception et de mémorisation de l’environnement virtuel 3D. Ses mécanismes sont cohérents avec les études réalisées dans le domaine des sciences cognitives sur la mémoire. Notre modèle de Perception-Mémoire permet d’individualiser les agents en dotant chaque agent d’une mémoire individuelle du monde virtuel qu’il parcourt. Il est, de plus, en mesure d’effectuer la perception et la mémorisation de plusieurs centaines d’agents en temps réel dans la plateforme MAGS.
  • 3. -3- Préface et Remerciements Dès le début de cette recherche, nous étions un peu impressionnés par le grand défi qu’un système semblable représentait. Finalement, deux ans après, une première version de MAGS (Multi-Agent GeoSimulation) vit le jour. Cette première version était le fruit d’un grand travail de la part de toute notre équipe. Le présent travail est une contribution à ce système dont l’instigateur est M. Bernard Moulin. Son expertise, son talent de leader, de gestionnaire et de coordonnateur de recherche ont fait que ce projet est maintenant une chose concrète. Suivant cela, je désire sincèrement remercier M. Moulin pour son implication, sa confiance et sa détermination à nous initier à la recherche. Il a été un guide extraordinaire dans tout le déroulement du projet, en plus de nous inspirer dans des périodes souvent complexes. Deuxièmement, je tiens à souligner l’implication du RDDC Val-Cartier dans le projet MAGS. Ils ont permis la réalisation du projet en appuyant l’équipe tant du point de vue technique (équipement) que du point de vue financier, en fournissant un soutien boursier aux étudiants impliqués. Ils ont toujours été convaincus du bien-fondé et de l’apport que cette recherche pouvait amener et pour cela, je les remercie. De plus, je tiens à remercier tous mes proches qui m’ont, d’une façon ou d’une autre, supporté dans cette aventure. Étant donné l’ampleur du projet, le temps consacré à ceux qui me sont chers a été considérablement limité. Ils ont quand même su comprendre et m’ont soutenu dans cette démarche en faisant tout ce qu’ils pouvaient pour m’aider. Pour cette raison, et bien d’autres, je les remercie et je veux qu’ils sachent qu’ils ont eu un grand rôle à jouer dans l’aboutissement de cette étape. Jimmy Perron
  • 4. -4- Table des matières 1 Introduction Générale ___________________________________________________ 9 1.1 Contexte _________________________________________________________ 10 1.2 Objectifs _________________________________________________________ 13 1.3 Démarche et présentation du mémoire ________________________________ 14 2 Recherches antérieures sur la mémoire_____________________________________ 16 2.1 Historique des recherches sur la mémoire _____________________________ 16 2.2 Théories de la mémoire _____________________________________________ 30 2.2.1 Mémoire perceptuelle ___________________________________________ 30 2.2.2 Mémoire à court terme___________________________________________ 31 2.2.3 Mémoire de travail______________________________________________ 36 2.2.4 Mémoire à long terme ___________________________________________ 37 2.3 Les modèles de mémoire ____________________________________________ 39 2.3.1 Le modèle SAM________________________________________________ 40 2.3.2 MINERVA 2 __________________________________________________ 41 2.3.3 Modèle de mémoire de SOAR_____________________________________ 41 2.3.4 Modèle de mémoire de l’architecture ACT-R _________________________ 45 2.3.5 EPIC_________________________________________________________ 46 2.3.6 3CAPS _______________________________________________________ 48 2.4 Conclusion sur l’état de l’art sur la mémoire ___________________________ 48 3 Modèle de mémoire développé dans le contexte de MAGS ______________________ 50 3.1 Fonctionnalités nécessaires et contraintes du modèle ____________________ 51 3.1.1 Fonctionnalités_________________________________________________ 51 3.1.2 Contraintes ____________________________________________________ 53 3.2 Environnement de MAGS___________________________________________ 55 3.3 Mécanisme de perception ___________________________________________ 60 3.3.1 Algorithme de Perception de l’environnement ________________________ 62 3.3.2 Algorithme de parcours des cellules de Palmer________________________ 63 3.3.3 Calcul des lignes de vue ( troisième dimension ) ______________________ 64 3.3.4 Aspect temps réel, cohérence cognitive et résultats ____________________ 69 3.3.5 Conclusion sur la perception ______________________________________ 71 3.4 Mémoire perceptuelle ______________________________________________ 72 3.5 Filtre ____________________________________________________________ 73 3.6 Mémoire de travail_________________________________________________ 80 3.6.1 Fondements de la mémoire de travail dans MAGS _____________________ 81 3.6.2 Structure de la mémoire de travail__________________________________ 82 3.6.3 Capacité de la mémoire de travail __________________________________ 84 3.6.4 Répétition et Rétention __________________________________________ 86
  • 5. -5- 3.6.5 Passage vers la mémoire à long terme _______________________________ 96 3.6.6 L’élément mémorisé ____________________________________________ 97 3.6.7 Conclusion sur la mémoire de travail _______________________________ 99 3.7 Mémoire à long terme ______________________________________________ 99 3.7.1 Structure_____________________________________________________ 100 3.7.2 Rétention ____________________________________________________ 100 3.8 Conclusion sur le modèle de mémoire de MAGS _______________________ 102 4 Intégration du modèle de mémoire dans MAGS _____________________________ 108 4.1 Mémoire perceptuelle _____________________________________________ 112 4.2 Mémoire de travail________________________________________________ 112 4.3 Mémoire à long terme _____________________________________________ 117 4.4 Contrôle et flux de données_________________________________________ 117 5 Résultats et conclusion _________________________________________________ 121 5.1 Performances des mécanismes du modèle de mémoire MAGS____________ 121 5.1.1 Perception ___________________________________________________ 123 5.1.2 Mécanisme de Filtre____________________________________________ 125 5.1.3 Mécanisme de Rétention ________________________________________ 126 5.2 Analyse générale du modèle de mémoire______________________________ 127 5.3 Discussion et conclusion sur le modèle de mémoire _____________________ 131 6 Bibliographie_________________________________________________________ 136
  • 6. -6- Table des figures Figure 2.1 : Fonction de rétention de Ebbinghaus _________________________________ 17 Figure 2.2 : Procedure d'expérimentation de Pavlov _______________________________ 19 Figure 2.3 : Acquisition d'une réponse conditionnée _______________________________ 20 Figure 2.4 : Processus d'extinction dans le conditionnement classqiue _________________ 21 Figure 2.5 : Courbe d'apprentissage de Thorndike_________________________________ 22 Figure 2.6 : Résultat de l'expérience de Tolman ___________________________________ 25 Figure 2.7 : Théorie de la mémoire de Atkinson & Shiffrin __________________________ 29 Figure 2.8 : Résultat du rapport de Sperling______________________________________ 31 Figure 2.9 : Représentation de la mémoire de travail de Baddeley ____________________ 36 Figure 2.10 : Taxonomie de la mémoire selon Squire (1993) _________________________ 37 Figure 2.11 : Modèle de mémoire de SOAR [Newell, 1990]__________________________ 45 Figure 2.12 : EPIC architecture [Kieras & Meyer, 1997] ___________________________ 47 Figure 3.1 : Mémorisation d’une relation ________________________________________ 51 Figure 3.2 : La carte des élévations ____________________________________________ 55 Figure 3.3 : Carte des élévations d'une partie de la ville de Québec ___________________ 56 Figure 3.4 : Plan (x,z) représenté par le segment A de la carte précédente ______________ 57 Figure 3.5 : LocationMap ____________________________________________________ 58 Figure 3.6 : Exemple d'accès aux agents ________________________________________ 59 Figure 3.7 : Perception dans une « height map » __________________________________ 60 Figure 3.8 : Carte de visibilité Franklin [1999] ___________________________________ 61 Figure 3.9 : Test de visibilité __________________________________________________ 63 Figure 3.10 : Algorithme de visibilité de Palmer __________________________________ 64 Figure 3.11 : Test de visiblité à l'aide d'une ligne de vue ____________________________ 65 Figure 3.12 : Triangles semblables _____________________________________________ 66 Figure 3.13 : coupe en ( x, z ) _________________________________________________ 67 Figure 3.14 : Algorithme de perception de MAGS _________________________________ 68 Figure 3.15 : Test de visibilité _________________________________________________ 69 Figure 3.16 : Mémoire perceptuelle d’un agent ___________________________________ 72 Figure 3.17 : Filtre _________________________________________________________ 74 Figure 3.18 : Identification d’objets par attributs__________________________________ 77 Figure 3.19 : Mécanismes de la mémoire de travail ________________________________ 82 Figure 3.20 : Organisation de la mémoire de travail dans MAGS _____________________ 84 Figure 3.21 : Mémoire de travail ______________________________________________ 86 Figure 3.22 : Force de la trace en mémoire d'un élément____________________________ 88 Figure 3.23 : Structure d’un élément____________________________________________ 89 Figure 3.24 : 15 répétitions en 15 unités de temps _________________________________ 90 Figure 3.25 : Évolution de la trace de Restaurant1 ________________________________ 91 Figure 3.26 : Évolution de la force de la trace de Restaurant1 dans la mémoire de travail _ 92 Figure 3.27 : Évolution de la force de la trace en mémoire après 6 répétitions___________ 93 Figure 3.29 : Fonction d'activation_____________________________________________ 94 Figure 3.30 : Fonction d'activation_____________________________________________ 95 Figure 3.31 : Structure d'un élément ____________________________________________ 98 Figure 3.32 : Mémoire à long terme ___________________________________________ 101 Figure 3.33 : Modèle de mémoire _____________________________________________ 103
  • 7. -7- Figure 3.34 : Valeurs modifiables dans le modèle de mémoire ______________________ 105 Figure 3.35 : Structure du modèle de mémoire ___________________________________ 106 Figure 4.1 : Composantes principales de MAGS _________________________________ 108 Figure 4.2 : Description d'un agent____________________________________________ 110 Figure 4.3 : Diagramme de classes du modèle de mémoire _________________________ 111 Figure 4.4 : Méthode de filtrage ______________________________________________ 113 Figure 4.5 : Algorithme de filtrage de la mémoire de travail ________________________ 114 Figure 4.6 : Algorithme pour l'ajout d'un élément dans la mémoire de travail __________ 115 Figure 4.7 : Algorithme de rétention de la mémoire de travail_______________________ 116 Figure 4.8 : Accès à un élément du "chunk" Faim ________________________________ 116 Figure 4.9 : Diagramme de séquence lors de l’appel de TMemoryState->Update() ______ 118 Figure 5.1 : Temps d'un cycle du système MAGS _________________________________ 122 Figure 5.2 : Résultat du mécanisme de perception ________________________________ 123 Figure 5.3 : Temps de calcul de la perception par rapport au rayon de perception ______ 124 Figure 5.4 : Visualisation de la zone de perception d’un agent ______________________ 124 Figure 5.5 : Résultats du modèle de mémoire (grille)______________________________ 127 Figure 5.6 : Résultats du modèle de mémoire (graphique) __________________________ 127 Figure 5.7 : Temps de calcul des composantes de MAGS___________________________ 129 Figure 5.8 : Visualisation d'une simulation______________________________________ 130 Figure 5.9 : Carte de mémoire d'un agent à un instant donné _______________________ 131
  • 8. ____________________________________ Chapitre 1 Introduction ____________________________________
  • 9. -9- 1 Introduction Générale Depuis plusieurs années, les recherches sur la réalité et la simulation virtuelle ont beaucoup évolué. Certains phénomènes qui ne peuvent être reproduits en réalité entrent dans le domaine d’application de la simulation virtuelle. Ces phénomènes, comme par exemple la panne d’un moteur dans un avion, sont souvent impossibles ou trop risqués à reproduire. Les spécialistes effectuent alors des simulations pour entraîner les pilotes à faire face à ces situations. Dans le domaine précis de l’aéronautique, ce genre de simulateur existe et ils sont très utilisés. Mais qu’arrive-t-il lorsque certains stratèges doivent prendre des décisions pour la sécurité ou l’aménagement du site d’une manifestation ? Il est impossible de reproduire physiquement les comportements d’une foule lors d’une manifestation. Il faut donc être en mesure de pouvoir simuler, à l’aide d’un outil informatique, des phénomènes de foule. L’idée d’un simulateur de foule dans un environnement urbain 3D est alors née. Le but de ce simulateur est de permettre à ses utilisateurs d’orienter certaines décisions suivant les résultats obtenus à partir de la simulation d’un phénomène de foule. La simulation doit avoir lieu dans un environnement urbain virtuel en trois dimensions. Évidemment, le projet est très ambitieux puisque les simulations en temps réel contenant des milliers de personnes virtuelles ne sont pas choses courantes. De plus, le prototype du simulateur doit fonctionner sur un ordinateur de type PC sous un environnement Windows. C’est suite à cela que le développement du prototype du système MAGS commença. Le projet MAGS (Multi-Agent Geo-Simulation) a pour objectif le développement d’une plateforme générale pour la création de simulations multi-agent dans des espaces géographiques virtuels. La plateforme devra supporter des milliers d’agents ayant des aptitudes cognitives spatiales et comportementales (perception, mémoire, comportements, etc.). De plus, les agents devront interagir directement avec l’environnement virtuel dans lequel ils prennent place. L’application courante de la plateforme MAGS vise à simuler les phénomènes de foule dans un environnement urbain 3D.
  • 10. -10- 1.1 Contexte Il existe plusieurs techniques pour représenter des phénomènes de foule dans un environnement [AJ, 1954], [Ashford, 1976], [Yuhaski, 1989], [Lovas, 1993]. Il y a premièrement les systèmes à base de particules où chaque particule représente un agent. L’interaction entre les particules se fait à l’aide des propriétés d’attraction, de répulsion et à l’aide de la gestion des collisions qui sont prédéterminées pour chaque particule [Langton, 1997]. Ces systèmes physiques modélisent bien les phénomènes de foule où une foule dense se trouve dans un environnement très restreint (évacuation d’un stade, modélisation du trafic [RIC, 1996]). Il y a ensuite les systèmes de modélisation des fluides qui ont été utilisés pour la première fois par Henderson [Henderson, 1974]. Dans ce cas précis, la foule est caractérisée par certaines propriétés physiques (densité, vitesse, énergie, etc.) et elle est considérée comme un tout se déplaçant dans un environnement souvent représenté sous forme de grille. Une autre technique se sert des automates cellulaires pour modéliser les interactions entre plusieurs agents (foule, trafic) [Helbing, 1999]. Traditionnellement, les chercheurs et les spécialistes du domaine de la simulation ont toujours traité les phénomènes de foule comme étant modélisables par des systèmes physiques ou mathématiques. Une étude au Wembley Stadium a montré que les modèles basés sur la mécanique des fluides étaient faux. Les analyses révèlent que les « patterns » de la foule n’étaient presque en aucun point semblables à un liquide. Suite à cette étude, un mathématicien irlandais du nom de Keith Still a développé une série d’équations connues sous le nom de « orchid fractal ». La théorie de Still se base sur l’aspect chaotique du comportement d’une foule. Ses résultats ont été utilisés pour développer un système commercial d’aide à la décision sur la planification des effets de foule [Still, 2003]. Ces systèmes, modélisés par des équations mathématiques, permettent de modéliser certains phénomènes très spécialisés mais ils ne peuvent pas être étendus à d’autres applications plus complexes. Ces dernières années, les chercheurs vont un peu plus loin en considérant des variables psychologiques pour caractériser chaque individu dans une foule [Helbing, 1998]. Le concept de self-organization effects est, maintenant, de plus en plus étudié. Suivant cela, un
  • 11. -11- modèle modélisant la dynamique individuelle des individus appelé social force model a été proposé [Helbing & Molnar & Schweitzer, 1994], [Gipps, 1985]. Malgré le terme « social » dans le nom du modèle, celui-ci est quand même mathématiquement représenté. Il ne prend pas en considération les variables psychologiques individuellement. La force sociale est plutôt une représentation des différentes influences qui agissent sur le comportement de l’individu. Un autre laboratoire, « Virtual reality lab » dirigé par Daniel Thalmann, explore depuis plusieurs années la vie artificielle dans un environnement virtuel. Thalmann identifie les mécanismes à modéliser pour être en mesure d’implémenter ce qu’il appelle un humain virtuel ou un acteur [Thalmann, 2000]. Thalmann identifie cinq composantes nécessaires qu’un humain virtuel doit posséder. Voici les cinq composantes décrites par Thalmann. • Perception : La perception est la conscience que l’on a de l’environnement qui nous entoure. La façon dont un agent perçoit son monde se traduit en y intégrant les mécanismes de la vision, de l’audition, du toucher, de l’ouïe et du goût. La perception est responsable de l’interaction entre l’agent et l’environnement pour qu’il puisse se déplacer, manipuler des objets, et ainsi pouvoir réagir à la rétroaction provenant de l’environnement et des autres agents. Une approche basée sur la vision offre une méthode universelle pour transmettre de l’information à partir de l’environnement vers l’agent dans le contexte de la recherche de chemins, de l’évitement d’obstacles, de la représentation interne des connaissances avec les mécanismes d’apprentissage et d’oubli [Renault et al., 1990]. Dans le domaine de la simulation multi-agents, un agent est souvent défini comme une entité évoluant dans un environnement qu’elle peut percevoir et dans lequel elle peut agir [Franklin & Graesser, 1997]. La perception est donc essentielle à un humain virtuel ou un agent pour que ses comportements soient en fonction de son environnement immédiat. • Émotions : Les émotions sont des états affectifs intenses caractérisés par une brusque perturbation physique et mentale [Bérubé, 1991]. Les émotions peuvent donc être la
  • 12. -12- cause de certaines réactions de l’agent. Certains objets, agents ou actions perçus peuvent engendrer des émotions chez l’agent. Ainsi, les émotions ressenties par un agent sont causées par la perception de son environnement [Thalmann, 2000]. • Comportements : Le module comportemental est évidemment très important lors de la modélisation des mécanismes d’un agent virtuel. C’est par ce mécanisme qu’est représenté le processus de prise de décision qui pousse l’agent à effectuer une action. Le comportement doit décider, à partir d’entrées (émotions, perceptions, souvenirs), l’action résultante sur l’environnement ou sur soi-même. Le comportement peut être vu d’une façon hiérarchique. Le modèle comportemental décompose un comportement complexe en sous-comportements beaucoup plus simples jusqu’à ce qu’un comportement élémentaire soit atteint [Pelletier, 2003]. • Actions : Lorsque le module comportemental a décidé quelle est l’action à exécuter, il doit avoir la possibilité de le faire. De la même façon qu’un humain ne peut pas voler, certaines actions doivent être modélisées et d’autres non pour respecter la cohérence de l’univers à simuler. Les actions permettent l’interaction avec l’environnement et les autres agents. Ainsi, les agents sont en mesure de communiquer et de modifier leur entourage, ce qui garde la dynamique de la simulation très active. • Mémoire : La mémoire est la capacité de stocker et de récupérer de l’information provenant de la perception de l’agent. Le comportement d’un agent variera en fonction de son expérience passée. S’il a déjà utilisé un objet, il n’aura pas à réapprendre tout le processus de son utilisation. De la même façon, s’il se souvient d’un endroit en particulier, il n’aura pas à consulter une carte pour s’orienter. Ce sont des exemples simples qui démontrent que les modèles où la mémorisation est absente sont des modèles peu convaincants puisqu’il n’y a aucune adaption des agents.
  • 13. -13- Voici donc les mécanismes que Thalmann décrit comme étant essentiels pour une modélisation cohérente d’un humain virtuel dans une simulation virtuelle. 1.2 Objectifs Lorsque l’on examine attentivement les mécanismes de Thalmann décrits précédemment, l’un d’eux semble être à la base de tous les autres. Il s’agit, bien sûr, de la perception. Privé de la perception, un agent serait incapable d’interagir, de raisonner et d’agir sur son environnement, ce qui est contraire à la définition de Franklin et Graesser [Franklin & Graesser, 1997]. Il existe certaines techniques pour modéliser la perception dans un environnement virtuel, mais ces techniques ne sont pas adaptées au contexte de notre projet. Il nous faut un mécanisme permettant à des milliers d’acteurs de percevoir l’environnement dynamiquement et en temps réel. C’est donc un grand pas de doter les humains virtuels de la perception mais ils doivent également être en mesure de mémoriser ce qu’ils ont perçu. La mémoire est aussi un des mécanismes que Thalmann décrit pour la modélisation d’un acteur virtuel. Cependant, à notre connaissance, il n’existe, dans la littérature, aucun modèle qui rendre compte avec précision des mécanismes de perception et de mémoire dans un contexte temps réel. Quelques recherches en psychologie décrivent les grandes lignes et les caractéristiques d’un modèle de mémoire, mais sans plus. De plus, ces recherches ne sont pas appliquées au domaine de la simulation virtuelle et nous devons être en mesure d’implanter ces concepts afin de les matérialiser. Notre objectif dans ce mémoire est donc de définir et d’implanter un modèle complet de perception et de mémoire dans le contexte d’une simulation multi-agent en temps réel. Nous allons conceptualiser un modèle de mémoire, caractériser ses mécanismes, détailler et implanter le modèle dans un système de simulation en temps réel. Ces travaux sont motivés par le fait qu’aucun modèle de perception et de mémoire ne présente un niveau de détails satisfaisant pour pouvoir être adapté et implanté dans un contexte de simulation multi-agent. La finalité de ce mémoire devrait donc conduire à un modèle de mémoire efficace dont les fonctionnalités reflètent celles de la mémoire humaine.
  • 14. -14- 1.3 Démarche et présentation du mémoire La première étape de ces recherches a été l’exploration d’ouvrages en sciences cognitives sur les sujets de la perception, de la mémoire et de l’apprentissage. L’objectif était d’avoir une idée claire sur le fonctionnement des mécanismes du cerveau humain. Évidemment, ces recherches bibliographiques en psychologie nous ont amené aux limites de la connaissance que les chercheurs ont des processus cognitifs. Nous avons quand même répertorié des avancées intéressantes qui nous ont permis d’établir un modèle relativement cohérent par rapport aux mécanismes humains compte tenu évidemment du contexte dans lequel il est développé. Les résultats de ces recherches bibliographiques sont présentés dans le chapitre 2. Par la suite, nous avons proposé un modèle complet de perception et de mémoire basé sur les concepts présentés précédemment. Pour chacun des concepts proposés, nous avons défini et implanté tous les mécanismes que le modèle comprenait. Pour ce faire nous avons, encore une fois, effectué une revue scientifique pour découvrir que la documentation sur la perception et la mémorisation dans un contexte d’une simulation virtuelle multi-agent en temps réel n’était pas très abondante. Cependant, avec les sources trouvées, nous avons pu construire une base solide pour finalement développer nos propres mécanismes de perception et de mémorisation qui sont présentés dans le chapitre 3. Une fois ces mécanismes définis, nous les avons introduits dans la simulation multi-agent (chapitre 4) pour vérifier le bien fondé de notre modélisation et ainsi obtenir des résultats concrets sur la faisabilité et la performance d’une telle approche (chapitre 5).
  • 15. -15- ____________________________________ Chapitre 2 Recherches antérieures sur la mémoire ____________________________________
  • 16. -16- 2 Recherches antérieures sur la mémoire L’objectif d’une partie du projet MAGS est de développer un modèle de perception et de mémorisation pour un système multi-agent. Nous cherchons donc à simuler, le plus exactement possible, les mécanismes humains qui interviennent dans des situations de mémorisation de l’environnement. Il est évident que, pour y arriver, il est essentiel de comprendre les mécanismes cognitifs impliqués dans ce qui nous préoccupe : la perception et la mémoire. Le but de ce chapitre est donc d’explorer le domaine de la psychologie cognitive afin d’identifier les concepts généraux reliés à la mémoire humaines. La première étape consiste à parcourir l’évolution historique des dernières décennies à la recherche des avancées qui ont marqué l’histoire de la recherche sur la mémoire. Ensuite, nous nous attarderons plus précisément sur les concepts et les mécanismes qui interviennent dans la mémorisation. Finalement, nous étudierons les différents modèles de mémoire développés jusqu’ici. 2.1 Historique des recherches sur la mémoire La recherche scientifique en psychologie n’est apparue que dans la moitié du 19e siècle. C’est donc une science très jeune qui a rapidement évolué surtout grâce aux nouveaux outils technologiques développés durant les dernières décennies. Depuis le commencement, l’apprentissage a été un important champ de recherche pour les scientifiques. L’une des raisons qui ont poussé les recherches a été la théorie de l’évolution de Darwin parue en 1859 [Darwin, 1859]. Les chercheurs voulaient savoir comment se fait l’adaptation d’un membre individuel d’une espèce donnée pendant sa vie. Il fallait donc comprendre la relation entre l’adaptation générale d’une espèce et l’apprentissage individuel de l’individu. Cette question est encore aujourd’hui très présente dans les différents sujets d’études. Depuis ce temps, les théories de l’apprentissage ont occupé les chercheurs pendant plus d’un siècle avant qu’ils ne s’intéressent plus sérieusement aux caractéristiques de la mémorisation en tant que concept indépendant. L’apprentissage et la mémoire sont des concepts qui ont été beaucoup entremêlés au commencement des recherches. Le terme mémorisation était presque
  • 17. -17- complètement absent. Il n’était pas rare d’utilisé le terme de l’apprentissage pour parler de la mémorisation d’un élément. L’une des raisons était que la mémorisation d’un élément, indiquait que nous avions appris cet élément. En fait, nous savons aujourd’hui que mémoire et apprentissage sont des mécanismes très différents. Donc il ne faut pas être surpris si le terme apprentissage revient souvent dans les études sur la mémorisation du début du siècle. Nous allons ici nous intéresser à l’histoire et à l’évolution du concept de mémorisation afin de mieux comprendre l’orientation des recherches actuelles. Hermann Ebbinghaus (1850-1909) Ebbinghaus a été le premier à effectuer une étude rigoureuse de la mémoire humaine, qu’il publie en 1885 : Über das Gedächtnis (« Concerning memory »). Ebbinghaus se prend lui- même comme cobaye dans ses expériences. Dans l’une de ses expériences, il devait apprendre une liste de 13 syllabes aléatoires pour ensuite les répéter dans le même ordre et sans erreurs. Il mesurait ensuite le temps nécessaire pour réapprendre la liste. Ebbinghaus était intéressé par la facilité de l’apprentissage lorsque les concepts ont déjà été appris (le délai entre les deux apprentissages était pris en considération). Dans l’exemple de la liste, il a gagné 64.3% de temps entre les deux apprentissages (1156 sec (1ère fois) – 467 sec (2ième fois) / 1156 = 64.3%). Avec ces résultats, il a obtenu ce qu’il appelle la courbe de rétention (Figure 2.1). Fonction de rétention 60 55 Temps gagné % 50 45 40 35 30 25 20 0 200 400 600 800 Heures de délai entre les apprentissages Figure 2.1 : Fonction de rétention de Ebbinghaus
  • 18. -18- L’apport d’Ebbinghaus est surtout au niveau de la méthodologie expérimentale pour l’étude des phénomènes de la mémoire. Il a proposé la courbe de rétention et la courbe d’apprentissage qui sont des outils encore très utilisés de nos jours. Ivan Petrovich Pavlov (1849-1936) À l’origine, Pavlov travaillait sur la physiologie de la digestion, ce qui lui valut le prix nobel de médecine en 1904. Une partie de ses recherches consistait à mesurer le taux de salivation des chiens lorsqu’il introduisait de la nourriture dans leurs mâchoires. Il a, par la suite, découvert qu’après un certain nombre d’essais, les mesures exactes n’étaient plus possibles parce que les chiens salivaient dès que Pavlov entrait dans la pièce. C’est à ce moment qu’il commenca l’étude de ce phénomène connu maintenant sous le nom de conditionnement classique [Pavlov, 1927]. La technique de base commence avec un stimulus non-conditionné (« unconditionned stimulus » ou US) qui invoque une réponse non-conditionnée (« unconditionned response » ou UR). Par exemple, la nourriture est un US et la salivation est un UR. Ensuite, le US est combiné avec un stimulus conditionné (CS) comme une cloche. Après un certain nombre d’essais, le CS est capable d’invoquer lui-même une réponse chez le cobaye. Lorsqu’une réponse se produit suite au CS, on appelle cette réaction une réponse conditionnée (CR). La Figure 2.2 illustre bien le conditionnement classique de Pavlov.
  • 19. -19- Temps (a) Combinaison initiale Présentation de la séquence : CS US (cloche) (Nourriture) Réponse : UR (Salivation) (b) Réponse conditionnée Présentation de la séquence : CS US (cloche) (Nourriture) Réponse : CR UR (Salivation) (Salivation) (c) Extinction Présentation de la séquence : CS (cloche) Réponse : CR (Salivation) Figure 2.2 : Procedure d'expérimentation de Pavlov Nous ne discuterons pas davantage du conditionnement dans ce document. Cependant quelques phénomènes de bases établis par Pavlov (1927) ont quand même leur importance : 1- Acquisition : L’amplitude de la réponse conditionnée peut être exprimée comme une fonction du nombre d’essais de la combinaison du US et du CS. La Figure 2.3 montre que le CS augmente avec le nombre de répétitions de l’expérience.
  • 20. -20- Acquisition 16 14 12 Salivation CS 10 8 Salivation CS 6 4 2 0 0 2 4 6 8 10 12 14 Nombre de répétitions de l'expérience Figure 2.3 : Acquisition d'une réponse conditionnée 2- Extinction : Qu’arrive-t-il lorsque le stimulus non conditionné (US) n’est plus combiné avec le stimulus conditionné (CS) ? La réponse conditionnée va diminuer si on augmente le nombre d’essais pour laquelle aucun US n’est présenté. Ce processus est connu sous le nom d’extinction. La fonction d’extinction du conditionnement est similaire à la fonction de rétention de la mémoire (Figure 2.4). Il y a cependant une différence entre les deux méthodes puisque la fonction de rétention est obtenue en faisant intervenir des délais d’attentes sans présenter de stimulus.
  • 21. -21- Extinction 14 12 Salivation CS 10 8 Salivation CS 6 4 2 0 0 2 4 6 8 10 12 Nombre de répétitions de l'expérience Figure 2.4 : Processus d'extinction dans le conditionnement classqiue 3- Reprise spontanée : Quelquefois après une série d’extinctions, le CS est présenté de nouveau sans le US. L’amplitude de la réponse montre souvent des signes de reprise. 4- Ordonnancement temporel : Pavlov a remarqué que le conditionnement fonctionne beaucoup mieux lorsque le CS (cloche) est présenté avant le US (nourriture). Pavlov a donc catégorisé le conditionnement classique comme étant réflexif et automatique. Les recherches actuelles tendent cependant à décrire le phénomène avec une vue beaucoup plus cognitive. Encore aujourd’hui le conditionnement est souvent pointé comme étant un processus simple et à la base de l’apprentissage. Edward L. Thorndike (1874-1949) Thorndike étudiait une situation d’apprentissage quelque peu différente. Il enfermait un chat dans une boite et le chat devait apprendre comment sortir de la boite pour accéder à la nourriture qui était à l’extérieur. La boite était munie d’un petit levier qu’il fallait actionner pour ouvrir la porte et ainsi se libérer. Thorndike s’intéressait à la rapidité d’apprentissage du chat pour sortir suite à de nombreux essais dans la boite. Ses observations ont conduit au fait qu’au début, le chat se comportait au hasard bougeant d’un coin à l’autre de la boite sans savoir quoi faire jusqu’à ce que, par chance, il actionne le levier pour sortir. Plus le nombre d’essais augmentait, plus la durée du comportement hasardeux du chat diminuait, jusqu’à ce
  • 22. -22- qu’il soit capable de sortir de la boite très rapidement. Ce type d’apprentissage à été qualifié par Thorndike comme étant un apprentissage par essais et erreurs (« trial-and-error learning ») illustré par la Figure 2.5. Courbe d'apprentissage 70 60 Temps pour sortir (sec) 50 40 Temps 30 20 10 0 0 5 10 15 20 25 Nombre de répétitions de l'expérience Figure 2.5 : Courbe d'apprentissage de Thorndike Le processus d’apprentissage étudié par Thorndike s’appelle le conditionnement instrumental. Comme dans Pavlov, une réponse est apprise suite à un stimulus. Ce qui diffère c’est que dans la boite de Thorndike, le stimulus est la boite et la réponse est l’action permettant d’ouvrir la boite. Il serait intuitif de penser que le stimulus est la nourriture à l’extérieur mais Thorndike explique que celle-ci joue un rôle de renforcement plutôt que de stimulus. Ainsi, Thorndike pense que « un lien stimulus-réponse sera formé à chaque fois qu’un renforcement suit la réponse en présence du stimulus » [Thorndike, 1898]. Clark L. Hull (1884-1952) De 1930 à 1970, la psychologie américaine a été dominée par une série de grandes théories de l’apprentissage. Parmi ces théories, la plus influente fût sûrement celle de Hull appelée théorie du comportement. L’idée de base de Hull était de développer une théorie systématique permettant d’expliquer tous les comportements. La théorie finale de Hull [Hull, 1952] comportait plusieurs équations qui se résument en celle-ci :
  • 23. -23- E = (H x D x K) - I Le but de cette équation (la réponse « E ») était de prédire le potentiel de réaction. Ce potentiel est déterminé par la probabilité, la vitesse et la force avec lesquels un comportement répondra à un stimulus. Ainsi, les réponses potentielles pour un rat enfermé dans un labyrinthe sont de tourner à gauche, de tourner à droite ou de s’arrêter. La réponse avec le potentiel de réaction le plus fort sera la réponse adoptée par le rat. Selon la théorie de Hull, le potentiel de réaction serait une fonction des facteurs H, D, K et I. H - Force de l’habitude (Habit Strength). H représente la force de l’association construite entre le stimulus et la réponse des essais précédents. D - Energie (Drive). Selon Hull, les comportements ne sont pas seulement le résultat d’une habitude comme le suggère Thorndike. Hull propose que l’état d’énergie d’un organisme soit un agent énergisant pour l’habitude. Si l’énergie est à zéro, toute la force du monde lié à l’habitude ne produira aucune réponse. K - Motivation (Incentive Motivation). L’habitude et l’énergie ne sont pas suffisantes pour expliquer les comportements. Un rat entraîné dans un labyrinthe pour chercher de la nourriture va s’arrêter s’il sait que la nourriture a été enlevée. Si la quantité de nourriture diminue, les performances du rat déclinent. La motivation est donc une mesure de la quantité et du délai de la récompense. I – Inhibition. L’inhibition reflète la fatigue et l’effet d’extinction des essais pour lesquels la récompense n’est plus présentée. Ce que Hull met en évidence dans sa théorie, c’est la relation existant entre l’apprentissage et la motivation. L’apprentissage ne suffit pas à créer des comportements; il doit aussi y avoir de la motivation.
  • 24. -24- Lorsque l’on fait une rétrospective de la théorie de Hull, on s’aperçoit que les efforts ont été incomplets et imparfaits. Cela devenait de plus en plus apparent avec le développement de logiciels informatiques capables de prédire de tels comportements basés sur ces théories. Il n’en demeure pas moins que les recherches de Hull demeurent toujours une référence dans les théories récentes de l’apprentissage et de la mémoire. Edward C. Tolman (1886-1959) Les théories de l’apprentissage comme celles de Hull ou de Thorndike ont fait l’objet de plusieurs critiques dans la communauté scientifique. La critique la plus influente fût celle d’Edward Tolman. La première démonstration implique l’apprentissage latent, précédemment mentionné par Thorndike avec « law of effect ». L’expérience de base de Tolman et Honzik consiste en un labyrinthe ayant 14 points où le rat devait effectuer un choix. Trois groupes de rats ont été utilisés pendant 17 jours parcourant 1 fois par jour le labyrinthe. Le premier groupe de rat avait toujours de la nourriture à la fin du parcours tandis que le deuxième groupe n’avait aucune récompense. Le troisième groupe, quant à lui, s’est vu présenter de la nourriture seulement après le 11ième jour de l’expérience. La Figure 2.6 présente la performance des trois groupes tout au long de l’expérience.
  • 25. -25- Expérience de Tolman 12 10 Aucune 8 récompense Erreurs Toujours une 6 récompense 4 Récompense après 2 11 jours 0 0 5 10 15 20 Jours Figure 2.6 : Résultat de l'expérience de Tolman L’expérience indique le nombre de mauvais choix effectués par les rats tout au long du parcours pour atteindre la sortie du labyrinthe. Le groupe ayant eu de la nourriture le 11ième jour a dramatiquement augmenté ses performances le 12ième jour jusqu’à surpasser le groupe qui a toujours été renforcé. Selon Tolman, les rats non renforcés (pas de nourriture) apprennent quand même tout le labyrinthe. Cependant, leur apprentissage est en latence; lorsqu’un but fut introduit, ils ont transformé leur apprentissage en performance. Ainsi, pour Tolman, le renforcement n’est pas nécessaire à l’apprentissage mais il est nécessaire pour la performance. Newell & Simon (1961) Lorsque le behaviorisme commença à éprouver des difficultés expérimentales dues à la complexité de l’être humain, une nouvelle méthode pour la construction de théorie vit le jour. Cette méthode, basée sur la simulation par ordinateur, a beaucoup attiré l’attention des chercheurs en psychologie. L’approche a été développée par Allen Newell et Herbert Simon, deux collaborateurs à l’université Carnegie Mellon qui oeuvraient dans le domaine de l’intelligence artificielle (IA).
  • 26. -26- Newell et Simon montrent que la simulation par ordinateur peut utiliser la puissance de cette technologie pour effectuer des prédictions de théories scientifiques complexes. La technique de simulation a bouleversé la nature théorique de la psychologie. Newell et Simon font plus que de la simulation: influencés par le développement de l’IA, ils mettent en relation la cognition humaine et l’ordinateur. C’est à partir de ce moment qu’émerge la métaphore de l’ordinateur qui a vraiment été difficilement acceptée par les psychologues. Pour eux, le cerveau humain est très différent d’un ordinateur et cette théorie basée sur l’analogie de la cognition et d’un ordinateur semble être une erreur [Rumelhart & McClelland, 1986]. Par la suite, Newell et Simon développèrent plusieurs simulations pour des problèmes d’apprentissage et de cognition. Cependant, ce n’est pas ce qui a forgé leur place dans l’histoire: leur grande contribution s’est faite au niveau de la résolution de problèmes. La plus grande difficulté des théories précédentes était de déterminer la relation entre la connaissance (ce que l’organisme apprend par expérience) et les comportements. Quelques théories comme celles de Thorndike et Hull combinent ces deux concepts et ne font aucune différence entre la connaissance et les comportements. Newell et Simon montrent comment la connaissance peut être séparée de la partie comportementale. Suivant cette voie, ils montrent que la théorie du comportement appliquée rigoureusement pourrait permettre des constructions mentales. Cette démonstration met en pièces le doute contre le mentalisme que Watson avait énoncé dans les années 50. Suite à cela, Newell et Simon établissent les bases d’une révolution cognitive transformant ainsi tous les champs de la psychologie y compris l’apprentissage. Ce qu’il faut retenir du travail de Newell et Simon, c’est ce qu’ils appelaient le GPS (General Problem Solver) [Newell & Simon, 1972]. Le GPS est une simulation par ordinateur utilisant le déploiement de la connaissance en résolution de problèmes de la façon suivante. 1- Identifier la différence majeure entre la situation courante et le but à atteindre; il faut se concentrer sur le but. 2- Choisir une action susceptible d’éliminer cette différence (opérateur)
  • 27. -27- 3- Si l’opérateur est applicable, l’appliquer. Sinon, définir un sous-but qui rendra l’opérateur applicable et reprendre à l’étape 1. Newell et Simon (1972) donnent cet exemple tiré de la vie de tous les jours pour expliquer leur analyse. 1- But : Je veux amener mon fils à l’école. Quelle est la différence entre ce que j’ai et ce que je veux? C’est la distance. 2- Opérateur : Qu’est-ce qui change la distance? Mon automobile. 3- Applicable ? Mon automobile ne fonctionne pas! Nouveau but : Que faut-il pour qu’elle fonctionne? une nouvelle batterie. 1- But : Me procurer une nouvelle batterie.... 2- ... L’exemple complet se trouve dans leur ouvrage de 1972 mais le concept important de la théorie est celui de sous-buts. À l’aide des sous-buts, il est possible d’organiser des comportements cohérents en réponse à des situations très complexes. Ceci représente une avancée majeure par rapport au concept de réponses de Skinner. Newell et Simon montrent donc que la simulation par ordinateur peut être utilisée pour modéliser des processus cognitifs complexes. De plus, ils montrent qu’à l’aide de leur approche GPS, il est possible de convertir la connaissance en comportements. Modèle de mémoire de Atkinson & Shiffrin, 1968 C’est en 1968 que Richard Atkinson et Richard Shiffrin publiaient une théorie sur la mémoire humaine. Cette théorie amena une vision nouvelle sur la nature de la mémoire humaine qui, jusqu’ici, avait été un peu négligée au profit des théories de l’apprentissage. Leurs travaux marquaient l’arrivée de l’ère moderne, qui influença tous les développements futurs dans l’étude de l’apprentissage animal et humain.
  • 28. -28- Ils amenèrent l’idée que la mémoire était constituée de deux unités de stockage : la mémoire à court terme et la mémoire à long terme. La mémoire à court terme est considérée comme une mémoire temporaire ne pouvant contenir qu’une petite quantité d’information. L’exemple classique de ce type de mémoire est lorsque l’on veut se rappeler d’un numéro de téléphone: un numéro de sept chiffres se retient bien, mais une difficulté s’ajoute lorsque l’indicatif régional de trois chiffres est ajouté. C’est donc une mémoire temporaire et fragile car, si la personne subit une légère distraction, elle oubliera rapidement le numéro. La façon de retenir l’information dans la mémoire à court terme est de se la répéter encore et encore. Ce processus de répétition de l’information est appelé « rehearsal ». La mémoire à long terme, à l’opposé, est reconnue pour être un endroit où la connaissance repose de façon permanente; de plus, elle ne présente pas de limitation apparente de capacité. L’idée de base de la distinction de ces deux types de mémoire existe depuis un certain nombre d’années. Broadbent (1957) a été l’un des premiers à les décrire. Atkinson et Shiffrin rassemblèrent ces idées en une théorie précise, exprimée sous forme d’un modèle mathématique et d’un modèle de simulation informatique. La Figure 2.7 illustre la base de leur théorie. L’information arrive à la mémoire à court terme par le biais du processus de perception. Ensuite pour que l’information soit transférée dans la mémoire à long terme, il faut répéter cette information. À chaque répétition il y a une chance que l’information se déplace vers la mémoire à long terme. Ainsi, l’augmentation du nombre de répétitions d’une information augmente la probabilité de rétention de celle-ci dans la mémoire à long terme. Étant donné l’espace limité dans la mémoire à court terme, la répétition d’une nouvelle information entraîne la perte d’une autre information.
  • 29. -29- Répétition Mémoire à Mémoire à Information Tranfert court terme long terme Déplacé Figure 2.7 : Théorie de la mémoire de Atkinson & Shiffrin Suite à la théorie innovatrice de Atkinson et Shiffrin faisant la distinction entre la mémoire à court terme et la mémoire à long terme, de grandes questions soulevèrent la communauté scientifique. La structure, l’organisation et les conditions de récupération de l’information sont des avenues importantes qui n’ont pas été mentionnées. Le fait que maintenant les psychologues proposent de nouvelles théories suite aux échecs des théories précédentes représente un avancement considérable. La section 2.1 a montré que la psychologie s’est déplacée au-delà des arguments verbaux pour se préciser et ainsi produire des modèles qui peuvent être testés donc maintenues ou rejetés. Nous avons pu comprendre les enjeux des recherches en psychologie en nous positionnant correctement sur les concepts importants de la mémoire humaine.
  • 30. -30- 2.2 Théories de la mémoire L’histoire des recherches sur la mémoire est relativement jeune et évidemment très complexe. Les dernières décennies ont beaucoup développé les méthodes expérimentales (voir section précédente) et, suivant cela, les théories cognitives ont commencé à émerger. Il est évident que les « preuves » de ces théories sont empiriques, mais celles-ci constituent néanmoins une avancée dans le domaine de la recherche en psychologie. Voici donc les principales théories concernant successivement la mémoire perceptuelle, la mémoire à court terme, la mémoire de travail et la mémoire à long terme. Nous allons, pour chacun de ces types de mémoires, détailler les phénomènes et les mécanismes qui leur sont rattachés dans le but de comprendre leur fonctionnement. 2.2.1 Mémoire perceptuelle La première question à se poser est la suivante : comment l’information présente dans l’environnement s’enregistre-t-elle dans une mémoire permanente? Le système perceptuel, comme celui de la vision ou de l’audition, transforme les signaux arrivant aux capteurs (œil, oreille, etc.) en représentation perceptuelle. Cette représentation doit être stockée quelque part assez longtemps pour pouvoir être analysée et ainsi créer la représentation correspondante. Beaucoup de recherches se sont orientées dans le but d’étudier les propriétés de ces endroits temporaires qui stockent l’information de la vision ou de l’audition. L’une des premières expériences concluantes sur le sujet fût celle de Sperling [Sperling, 1960] qui traça une courbe du nombre d’items mémorisés dans la mémoire visuelle selon le temps d’exposition de l’information (Figure 2.8). La conclusion fût qu’après avoir enlevé le stimulus visuel, la mémoire visuelle du sujet contenait toute l’information mais celle-ci s’effaçait très rapidement. En 1967, Neisser [Neisser, 1967] supposa que la mémoire visuelle reflétait l’activation neuronale responsable du système visuel. Sakitt [Sakitt, 1976], quant à elle, énonça l’idée que la mémoire était située dans les photorécepteurs de la rétine. Elle montra que les propriétés de la mémoire visuelle étaient très semblables aux propriétés sensitives présentes dans l’utilisation d’une vision nocturne. Selon cette analyse, la mémoire visuelle se
  • 31. -31- comparerait à l’image résiduelle d’un éclair dans la nuit. En 1983, Haber [Haber, 1983] remit en question l’idée puisque l’humain ne perçoit pas le monde seulement par des flashs. Coltheart (1983) lui répondit que la majorité de l’information acquise est obtenue dans les premières 50 ms de fixation (les yeux étant presque toujours en mouvement pour scruter les objets). Sperling Mean number of letters 3,5 3 2,5 recalled 2 1,5 1 0,5 0 0 0,2 0,4 0,6 0,8 1 Delay of Tone, (Sec) Figure 2.8 : Résultat du rapport de Sperling Plusieurs chercheurs ont donc élaboré des théories sur la structure et les propriétés de cette mémoire visuelle. Cependant, il n’y a aucun concensus établi sur la nature de celle-ci; la seule chose sur laquelle ils s’entendent tous, c’est qu’elle existe ! 2.2.2 Mémoire à court terme La mémoire à court terme a été très critiquée au cours du temps. Personne ne semblait en accord avec les différentes théories proposées. Il faut rappeler que la mémoire à court terme a été introduite uniquement pour expliquer les différences notables que la théorie de la mémoire à long terme n’expliquait pas. Les données empiriques recueillies au cours des années ont permis d’identifier certains phénomènes reliés à la mémoire en générale. Il était très difficile de comprendre et d’expliquer toutes ces données si l’introduction d’une mémoire à court terme n’était pas faite entre la
  • 32. -32- mémoire perceptuelle et la mémoire à long terme. Cette section considère donc les phénomènes et les mécanismes de la mémoire à court terme en tentant de comprendre les théories et les différents problèmes associés. 2.2.2.1 Effets de la répétition Les premières études montrèrent que plus une information était répétée, plus elle était mémorisée [Rundus, 1971]. Ce résultat venait confirmer le modèle de Atkinson & Shiffrin proposé en 1968. Cependant, l’étude de Glenberg, Smith et Green en 1977 [Glenberg, 1977] ne pût corroborer cette théorie suite à l’une de leur expérience. Les sujets devaient mémoriser un nombre de quatre chiffres pendant 2 secondes pour ensuite répéter un mot pendant 2, 6 ou 18 secondes et finalement redire le nombre précédemment appris. Le nombre d’essais de l’expérience fût de 64. Après l’expérience, les chercheurs demandèrent aux sujets de se rappeler du mot qui avait été répété. Les sujets pensaient que l’expérience portait sur la mémorisation du nombre et non du mot. Les résultats furent donc désastreux : 11, 7 et 12 % de réussite pour 2, 6 et 18 secondes de répétition respectivement. Cette étude montre qu’il n’y aurait pas de relations entre le nombre de répétitions et la mémorisation. Une autre expérience de Craik et Watkins (1973) montrait qu’aucune relation ne pouvait être faite entre le nombre de répétitions et la probabilité de se rappeler l’information. Si le fait de répéter l’information n’influence pas la mémoire, alors quel est le phénomène qui détermine notre mémorisation ? Rundus [Rundus, 1971] trouva une relation entre le nombre de répétitions et la mémoire mais, à la lumière des expériences précédentes, nous savons qu’il y a une variante. En 1972, Craik et Lockart [Craik & Lockart, 1972] proposaient une théorie voulant que pour mémoriser correctement, l’information doit être répétée à un niveau de profondeur acceptable. En d’autres termes, la répétition passive n’améliore pas la mémorisation. La théorie a été passablement critiquée en raison du concept de profondeur qui était trop vague. Il n’en reste pas moins que selon les expériences, la répétition à elle seule n’augmente pas la mémorisation. Cela vient confirmer le modèle de Atkinson et Shiffrin selon lequel l’information se transfère dans la mémoire à long terme par la répétition verbale.
  • 33. -33- 2.2.2.2 Regroupement (Chunking) et capacité L’organisation de la mémoire à court terme est effectuée d’une façon bien précise, sous forme de regroupements ou « chunks ». Essayez de lire la série « A T W B I Y T G Q W E», pour ensuite la répéter. Si vous n’avez aucune erreur, c’est que vous disposez d’une mémoire immédiate très efficace sinon, vous risquez de faire 2 ou 3 erreurs. Par contre, si vous faites la même expérience avec la série « N O N E F F I C A C E », vous allez remarquer qu’elle se retient beaucoup plus facilement. En fait, ces deux séries de 11 lettres ne se classent pas de la même façon dans la mémoire à court terme. La première série comprend 11 lettres n’ayant aucun lien entre elles, il est donc difficile d’effectuer des regroupements. La seconde série, par contre, peut être regroupée en 2 « chunks », soit « NON » et « EFFICACE » ce qui facilite la mémorisation. La mémoire à court terme peut retenir environ 7 chunks ± 2 [Miller, 1956]. Il est possible d’emmagasiner beaucoup d’information dans la mémoire perceptuelle et beaucoup d’information dans la mémoire à long terme. Cependant, le transfert de toute cette information d’une mémoire à l’autre est difficile puisqu’il faut la traiter dans la mémoire à court terme qui a une capacité très limitée. Il y a donc une énorme limitation sur la quantité d’éléments que nous pouvons mémoriser [Miller, 1956 ; p.95]. Évidemment, la solution à la limite de capacité de la mémoire à court terme se trouve dans la caractéristique qui est de regrouper l’information: cela nous permet de mémoriser beaucoup plus d’éléments. Cependant, la capacité de regrouper des éléments dépend directement des stimuli en relation avec l’observateur. Certains stimuli sont plus facilement groupables chez certaines personnes parce qu’elles ont une expérience différente en rapport avec le matériel présenté. Par exemple, un anglophone aura plus de difficulté qu’un francophone pour retenir une série de mots en français. La mémoire à court terme a donc une capacité de stockage ou de traitement limitée à environ sept « chunks ». La façon de regrouper l’information en « chunks » est aussi l’une des principales caractéristiques de la mémoire à court terme et cela permet d’augmenter la quantité d’information retenue.
  • 34. -34- 2.2.2.3 Rétention et oubli La mémoire semble s’effacer au fil du temps. Plusieurs expériences déterminent que la perte de la mémoire est une fonction du temps. Nous avons précédemment présenté les travaux d’Ebbinghaus portant sur la fonction de rétention. La fonction de rétention démontrait comment la performance de la mémoire diminuait avec le temps. Toutes les fonctions de rétention ont sensiblement le même comportement: initialement, l’oubli est rapide mais la courbe s’estompe aussi rapidement. Mais est-ce que la perte d’information n’est fonction que du temps ? Il existe deux grandes théories pour expliquer l’oubli dans la mémoire à court terme. La première théorie suppose que la trace de l’information qui est en mémoire décroit avec le temps (decay hypothesis). La seconde hypothèse suppose que l’oubli survient suite à l’ajout de nouvelles informations stockées en mémoire. Cela causerait donc de l’interférence sur les informations déjà présentes dans la mémoire à court terme (interference hypothesis). Si l’hypothèse selon laquelle l’information s’efface progressivement en mémoire est juste, la variable déterminante pour savoir si oui ou non l’information est récupérable est le temps écoulé. Plus le délai est long, plus l’oubli est fort et vice versa. Par contre, si l’oubli est le résultat de l’interférence entre les informations, le facteur déterminant devrait être la nature de l’information qui survient au moment présent. Plus il y a de liens entre les informations présentes dans la mémoire à court terme, plus l’interférence augmente ce qui résulte en une augmentation de l’oubli. Évidemment, les recherches [Baddeley, 1998, 1996] montrent qu’il ne s’agit pas de l’une ou l’autre des hypothèses mais bien d’une combinaison des deux. Beaucoup d’études ont été effectuées sur les circonstances du phénomène de l’oubli dans la mémoire à court terme [Brown & Hulme, 1995 ; Kieras, Meyer, Mueller & Seymour, 1998]. C’est un domaine très complexe ou aucune conclusion claire n’a été proposée. C’est pourquoi nous mentionnons le phénomène sans trop nous y attarder. Des modèles récents de la mémoire de travail et de la mémoire à court terme proposent des fonctions de rétention liées au temps d’extinction et à
  • 35. -35- l’interférence [Dosher, 1999 ; Dosher & Ma, 1998 ; Lewandowsky & Murdock, 1989; Rubin & Wenzel, 1996; Wickelgren, 1970]. Cependant, ces modèles sont très difficiles à utiliser dans le contexte de notre projet car les fonctions ont besoin d’informations très précises sur l’acquisition et l’encodage des éléments dans la mémoire, ce que nous n’avons pas. 2.2.2.4 Différence d’encodage Un argument permettant de séparer la mémoire à court et à long terme fût la différence d’encodage de l’information dans ces deux dernières. Il semblait que l’encodage dans la mémoire à court terme était de nature sensorielle. Une expérience classique de Kintsch et Buschke (1969) montra la distinction entre ces deux mémoires. L’expérience consistait à présenter visuellement 16 mots aux sujets au rythme d’un mot toutes les deux secondes. Ensuite ils demandèrent aux sujets de répéter tous les mots dans la liste qui suivaient un mot en particulier. L’hypothèse était que les sujets répétaient les derniers mots de la liste dans leur mémoire à court terme. Suivant cela, les sujets devraient avoir de bons résultats lorsque les derniers mots de la liste sont demandés puisqu’ils sont répétés. Ce résultat fût observé tel qu’attendu et ce phénomène fût appelé recency effect. La mémorisation du reste de la liste dépend de la mémoire à long terme. Kintsch et Bushke raisonnèrent sur le fait que la mémoire à court terme était de type verbal. Il y aurait de l’interférence acoustique si les mots de la liste avaient une sonorité semblable (exemple : sea et see). Si on demandait au sujet de répéter les mots suivant see, il pourrait répéter les mots suivant sea. Les problèmes devraient être plus nombreux vers la fin de la liste étant donné l’encodage acoustique de la mémoire à court terme. Quant aux mots du début de la liste, ils devraient se produire une confusion sémantique si des synonymes sont présents (sea et ocean). La raison est que les premiers mots de la liste sont dans la mémoire à long terme, qui se veut une mémoire sémantique. Les hypothèses de Kintsch et Bushke furent vérifiées et ces chercheurs conclurent qu’il y avait une différence d’encodage entre la mémoire à court terme et la mémoire à long terme.
  • 36. -36- Évidemment, la théorie fût critiquée mais l’idée de base de la différence d’encodage entre les deux mémoires fût respectée. 2.2.3 Mémoire de travail Il existe une multitude de mémoires permettant de maintenir provisoirement l’information disponible. Il y a le système sensoriel qui retient brièvement l’information qu’il reçoit pour que l’organisme ait une chance de l’encoder dans une mémoire permanente. L’information peut aussi être maintenue dans des tampons sensoriels par la répétition (slave rehearsal processes) [Baddeley, 1986]. Toutes ces mémoires transitoires sont utilisées pour guider le traitement de l’information. Pour être juste dans nos propos, il faut donc parler de ces types de mémoire comme étant la mémoire de travail. La mémoire de travail amenée par Baddeley diffère de la mémoire à court terme sur les points suivants. Premièrement, la mémoire de travail se compose de trois composantes servant au traitement parallèle de l’information. Il y a le système central (central executive) qui est un contrôleur d’attention soutenu par deux systèmes esclaves : le phonological loop et le visuo-spatial sketch pad. Visuo- Phonological Spatial Central Loop sketch pad executive Figure 2.9 : Représentation de la mémoire de travail de Baddeley Le système phonological loop comprend un endroit de stockage de l’information ainsi qu’un mécanisme de répétitions (rehearsal process). Ce système semble être impliqué dans l’apprentissage à long terme phonologique comme dans l’acquisition de nouveaux mots par exemple. Le deuxième système esclave, visuo-spatial sketch pad, est un système qui stocke et manipule des images visuelles. Il est impliqué dans l’apprentissage et la mémorisation par imagerie.
  • 37. -37- Le système central, quant à lui, est la composante la plus complexe et la moins comprise de la mémoire de travail. Ce système contrôle les deux systèmes esclaves tout en assurant un lien avec la mémoire à long terme. Le système central aurait aussi une capacité de traitement de l’information limitée ce qui expliquerait le phénomène du nombre magique de Miller. 2.2.4 Mémoire à long terme Selon une citation célèbre de Edridge-Green (1900), « la mémoire est la fonction la plus importante de notre cerveau… Sans la mémoire, toute l’expérience acquise serait inutile. » Cela énonce bien l’utilité et l’importance de la mémoire en général. Cependant, la mémoire à long terme reflète encore mieux cette citation, car c’est avec cette structure que la mémorisation permanente est effectuée. Cette section traite de la mémoire à long terme, de sa structure et de ses mécanismes. 2.2.4.1 Structure Ces dernières années, les chercheurs ont tenté de catégoriser les différentes fonctions de la mémoire à long terme. Le résultat fût la subdivision de la mémoire à long terme en plusieurs catégories. Mémoire à long terme Déclarative Non Déclarative Faits Événements Aprentissage Habileté Conditionnement non associatif Figure 2.10 : Taxonomie de la mémoire selon Squire (1993)
  • 38. -38- Il existe plusieurs organisations et subdivisions de la mémoire à long terme mais la plus courante dans la littérature est la taxonomie de Squire (1993). Comme le montre la Figure 2.10, la grande distinction si situe entre la mémoire déclarative (mémoire explicite) et la mémoire non déclarative (mémoire implicite). La mémoire déclarative stocke la connaissance de la mémoire à long terme pouvant être récupérée de façon consciente. En d’autres termes, le fait de récupérer l’information dans la mémoire déclarative veut dire que cette information est consciente et que vous savez qu’elle est disponible. De l’autre côté, la mémoire non déclarative ou implicite stocke la connaissance qui peut influencer le comportement sans une implication consciente de votre part. Notre revue bibliographique ne traite que de la mémoire déclarative étant donné la nature du projet que nous développons. Il n’est pas, à ce stade-ci, pertinent d’explorer la façon dont le cerveau stocke l’information implicite, puisque notre système ne considère pas directement ce genre de distinction. Le but de nos recherches est de développer un modèle de mémoire déclaratif pour la mémorisation d’événements, d’objets, d’états ou de localisation spatiale. Nous ne traitons pas de conditionnement ou d’apprentissage à ce stade-ci du projet. Il n’est donc pas nécessaire de s’attarder sur les théories de la mémoire implicite. La mémoire déclarative ou explicite se compose de deux structures : la mémoire épisodique et la mémoire sémantique. Si vous vous demandez quel est le nom de famille de votre mère, vous faites appel à de l’information dans la mémoire épisodique. Lorsque vous récupérez cette information, vous être conscient de celle-ci et vous pouvez verbalement énoncer ce nom. La mémoire épisodique sert aussi à stocker l’histoire. C’est l’habileté mentale à revivre certaines situations pour en extraire des informations et pour anticiper sur le futur [Wheeler, Struss & Tulving, 1997]. En revanche, si je vous demande ce qu’est un nom de famille, vous irez chercher l’information dans la mémoire sémantique qui contient votre connaissance générale du monde. La question vous demande de relier des concepts et des idées, incluant votre connaissance sur la façon d’exprimer ces concepts et ces idées dans un langage donné. Lorsque l’information est récupérée, elle devient explicite : le concept est maintenant devenu conscient et vous pouvez y faire appel.
  • 39. -39- Lorsqu’on s’attarde aux mécanismes de la mémoire à long terme, on s’apperçoit que ce sont sensiblement les mêmes que ceux présents dans la mémoire à court terme. Il y a le phénomène de la répétition qui aide la mémorisation d’un élément. La théorie de Craik et Lockhart sur l’attention s’applique de la même façon que dans la mémoire à court terme. L’organisation de l’information est aussi semblable et considère des regroupements de ce qui est mémorisé (chunking). La fonction de rétention réagit de la même façon dans la mémoire à long terme que dans la mémoire à court terme. Les hypothèses sur celle-ci sont aussi les mêmes : interférence et diminution graduelle de la trace (decay hypothesis). Cependant, l’information semble s’oublier moins rapidement que dans la mémoire à court terme. Est-ce la fonction de rétention qui est différente ou est-ce la force de la trace dans la mémoire à long terme qui est supérieure ? Est-ce que l’interférence joue un rôle moins dominant étant donné la capacité illimitée de la mémoire à long terme ? Toutes ces questions ont amené certains chercheurs [McKoon & Ratcliff, 1986; Tulving, 1989] à s’interroger sur la raison d’être de la mémoire à court terme puisque tous les mécanismes de la mémoire à long terme sont suffisants pour expliquer le comportement de la mémoire à court terme [Anderson, 1993]. C’est ainsi qu’ils ont proposé une hypothèse selon laquelle la mémoire à long terme ne serait qu’une seule et même structure composée de plusieurs mécanismes de traitement. 2.3 Les modèles de mémoire Nous avons étudié différentes théories portant sur la mémoire en explorant les propriétés des mémoires (structure, rétention, encodage, etc.). Il est maintenant temps de regarder ce que la théorie a produit concernant les modèles de la mémoire. Il faut bien comprendre que, en psychologie, il existe une différence entre les théories et les modèles. Les théories sont des avenues proposées pour expliquer un phénomène expérimental sur un sujet bien précis (par exemple la théorie de la rétention de la mémoire à court terme). Les modèles, de leur côté, rassemblent toutes ces théories pour former un tout cohérent qui devrait valider et prédire les phénomènes associés aux mécanismes de mémoire. Jusqu’ici, nous n’avons vu que des théories sur la mémoire à l’exception du modèle de Atkinson & Shiffrin qui a été présenté pour sa distinction historique. Les modèles n’ont pas une place très proéminente dans la recherche expérimentale en psychologie. Cependant, ils seront très utiles dans l’étude et la
  • 40. -40- conception de notre modèle de mémoire. Cela nous permettra de nous concentrer sur les relations entre les théories et la modélisation des mécanismes de mémoire tout en explorant les différentes façons de représenter des mécanismes cognitifs. 2.3.1 Le modèle SAM Étant donné que l’architecte principal de SAM fut Richard Shiffrin, il n’est pas étonnant de retrouver plusieurs propriétés du modèle de double stockage [Atkinson & Shiffrin, 1968]. La mémoire à court terme est vue comme un tampon à capacité limitée permettant deux choses. Premièrement, elle affecte quel item sera stocké dans la mémoire à long terme et deuxièmement, elle est utilisée pour assembler les requêtes pour l’accès à la mémoire à long terme (semblable à la mémoire de travail). La mémoire à long terme, quant à elle, est modélisée comme étant un ensemble illimité d’interconnexions entre concepts. L’information dans cette mémoire se veut permanente et non effaçable. Tout ce qui se rapproche du phénomène de l’oubli n’est qu’un échec lors de la récupération des données. Le concept clé de l’architecture de SAM est l’image. Une image est un ensemble d’interconnexions contenant de l’information sur l’item lui-même, sur le contexte dans lequel l’item a été appris, et sur les relations avec les autres images. Le processus d’association se fait dans la mémoire à court terme. Lorsque la capacité du tampon est excédée, une règle de remplacement détermine quel objet sera perdu. La première version de SAM en 1981 proposait que chaque item dans le tampon avait la même probabilité d’être remplacé. Dans les versions suivantes [Gillund & Shiffrin, 1984], la règle remplaçait l’item le plus vieux dans le tampon. Le concept de répétition est également présent afin d’augmenter la force des associations dans la mémoire. La force d’une association entre deux items ou entre un item et son contexte dépend du temps que ces deux objets passeront ensemble dans la mémoire à court terme. Suite à cela, un modèle assez complet de récupération et de reconnaissance est élaboré dans Gillund & Shiffrin 1984. Même si SAM est en mesure d’expliquer une grande variété de phénomènes psychologiques, il fait quand même l’objet de quelques critiques. Par exemple, le modèle ne prend pas en considération l’attention ou le niveau de traitement de l’information (conscience).
  • 41. -41- 2.3.2 MINERVA 2 Le but premier du développement de MINERVA2 [Hintzman, 1988] était d’expliquer les phénomènes de la mémoire épisodique et de la mémoire sémantique. Étant donné que ces mémoires ont un niveau d’abstraction assez élevé, il fallait émettre plusieurs hypothèses au départ : 1. Seulement les traces épisodiques sont stockées en mémoire, 2. La répétition crée plusieurs traces d’un même item en mémoire, 3. Une requête contacte simultanément toutes les traces en mémoire, 4. Chaque trace est activée selon la similarité de la requête de récupération. Le point 2 soulève une affirmation importante car MINERVA2 suggère que la répétition augmente la force de la trace en mémoire non pas par renforcement, mais bien par redondance, en produisant des copies multiples en mémoire. Ceci diffère des autres modèles dans lesquels c’est la force de la trace de l’item qui est augmenté. L’affirmation de ces hypothèses vient donc élever le niveau du modèle au-delà de l’application que nous désirons en faire. Il n’est donc pas très pertinent pour nous d’étudier plus en détails ce modèle. C’est un modèle intéressant mais la nature même des problèmes qu’il aborde n’est pas d’une grande importance pour nos agents qui sont dans un contexte particulier. C’est pourquoi nous n’aborderons pas non plus certains modèles comme TODAM [Murdock, 1997], REM [Shiffrin & Steyvers, 1997] ou les modèles connectionismes. 2.3.3 Modèle de mémoire de SOAR Le modèle de mémoire de SOAR [Newell, 1990] propose trois mécanismes reliés à la mémoire, soit l’acquisition, la récupération et l’accès. La définition de l’apprentissage du modèle est intimement reliée à la mémoire. Selon Newell, l’apprentissage fait référence au mécanisme d’acquisition de la mémoire mais aussi à celui de la récupération. Newell prétend
  • 42. -42- que l’apprentissage n’est pas seulement l’acquisition de nouvelles connaissances mais aussi la façon de récupérer ces nouvelles connaissances. 2.3.3.1 Hypothèses de SOAR Pour débuter, étudions les différentes hypothèses que SOAR fait à propos de la mémoire et de l’apprentissage. 1- La première hypothèse est l’unité fonctionnelle de la mémoire à long terme (functionnal unity of long-term memory). Tous les modules de la mémoire à long terme devraient consister en une mémoire de reconnaissance. Cette mémoire devrait être uniforme et devrait contenir toute la connaissance, qu’elle soit épisodique, sémantique ou procédurale. Cela n’implique cependant pas un encodage unique pour toute la connaissance stockée dans la mémoire à long terme. Plusieurs niveaux peuvent être utilisés avec, pour chacun d’eux, des mécanismes différents. Par exemple, un ordinateur est fondamentalement composé de circuits manipulant des 0 et des 1. Cependant, les niveaux plus abstraits ne traitent pas nécessairement des 0 et des 1. Ils peuvent posséder différents mécanismes exploitant pourtant ce même système. Il en est de même pour le cerveau humain qui est fondamentalement composé de neurones. Ces neurones peuvent former différents systèmes s’exploitant de manière très différente même si la structure physique de base est la même. 2- La deuxième hypothèse concerne l’apprentissage par chunks (chunking-learning hypothesis). Dans SOAR, tout l’apprentissage à long terme s’effectue par regroupement (chunking). L’unité de l’apprentissage est le morceau ou chunk. Newell admet que le « chunking » n’est pas le seul mécanisme de l’intelligence mais il est, selon lui, suffisant pour supporter toutes les directions de l’hypothèse de l’apprentissage par « chunks ». 3- La troisième considération de Newell est la fonctionnalité de la mémoire à court terme. Une architecture ne serait pas complète sans l’intégration d’une mémoire à court terme servant à fermer la boucle entre tous les éléments d’une mémorisation. SOAR appelle cette mémoire la mémoire de travail. Par sa nature, cette mémoire est temporaire et change au rythme des opérations du système.
  • 43. -43- 2.3.3.2 Théorie qualitative de SOAR Nous allons maintenant nous concentrer sur la théorie qualitative de l’apprentissage de SOAR. Cette théorie est intéressante puisqu’elle vient mettre en relation plusieurs théories de la mémoire que nous avons vues précédemment. 1- Tout ce qui est appris provient d’une activité qui consistait à accomplir un but (goal- oriented activity). C’est probablement la caractéristique la plus importante du mécanisme de chunking. Pour apprendre (ou mémoriser), l’organisme doit avoir un objectif à atteindre. Il n’a pas le but d’apprendre puisque l’apprentissage n’est pas délibéré. Nous acquérons seulement la connaissance nous permettant d’accomplir notre but. 2- Une des propriétés les plus intéressantes pour nous est celle concernant l’apprentissage par répétition. La répétition est le mécanisme par lequel l’information est retenue dans la mémoire à court terme. Dans le modèle de Atkinson et Shiffrin, la répétition était considérée comme le seul mécanisme permettant à l’information dans la mémoire à court terme de se transférer dans la mémoire à long terme. Comme nous l’avons vu, cette hypothèse a été critiqué par la théorie Craik et Lockhart (depth-of-processing). Suite à cela, SOAR indique que la répétition a des effets positifs sur la rétention de la mémoire si ce qui est répété est d’intérêt. Si aucune tâche n’est effectuée et que la répétition n’est qu’un comportement passif, alors l’acquisition à long terme ne pourra pas s’effectuer. SOAR est donc en accord avec la théorie de Craik et Lockhart. 3- La dernière propriété concerne le regroupement (chunking) qui serait, pour plusieurs, la façon dont la mémoire est organisée. Newell se base sur les résultats de DeGroot en 1965 et de Chase & Simon en 1973 sur la perception d’un jeu d’échecs. Une personne doit examiner un jeu d’échecs pendant 5 secondes et ensuite reproduire de mémoire la position de toutes les pièces. Un maître d’échecs fait un excellent travail (en moyenne 23 sur 25 pièces sont placées correctement) tandis que les résultats du débutant sont vraiment désastreux (en moyenne 3 ou 4 sur 25). En fait, ce test de mémoire perceptuelle est le test le plus rapide pour déterminer la compétence aux échecs. Le modèle qui explique ce phénomène le fait en termes de regroupements. Le maître d’échec acquiert, à travers son expérience, la capacité d’effectuer des liens fonctionnels et spatiaux entre les pièces du jeu. Le regroupement permet au maître de caractériser un arrangement complexe de
  • 44. -44- plusieurs pièces en seulement quelques chunks. Le débutant, quant à lui, considère simplement une pièce par chunk, ce qui lui permet d’acquérir seulement la position de quelques pièces. Ces propriétés concernent la mémoire en général, mais quelle est exactement l’opinion de Newell concernant la mémoire à court terme et les mécanismes de transfert vers la mémoire à long terme? Le modèle SOAR ne considère pas vraiment la mémoire à court terme étant donné la confusion qui règne concernant son existence physique [Crowder, 1976]. SOAR considère plutôt une mémoire temporaire servant à exécuter la tâche courante (mémoire de travail). Il est donc nécessaire de remplacer la connaissance contenue dans la mémoire de travail lorsque la tâche courante change. Ce remplacement peut être effectué de plusieurs façons : par un déplacement d’informations, par un déplacement des processus manipulant ces informations ou par une modification du chemin d’accès. Le phénomène de rétention est représenté assez simplement : l’information reste accessible dans la mémoire de travail tant que la tâche courante n’est pas achevée. L’architecture de la mémoire de SOAR se compose donc de différents modules jouant chacun un rôle important. La mémoire de travail est intimement liée à la perception, aux réactions motrices et à l’accès à l’information nécessaire pour résoudre une tâche (Figure 2.11).
  • 45. -45- Figure 2.11 : Modèle de mémoire de SOAR [Newell, 1990] Les propriétés de la mémoire dont SOAR rend compte sont, selon Newell, assez cohérentes par rapport aux caractéristiques observées chez l’être humain. Il se base sur des observations empiriques, mais il prend aussi en considération une connaissance assez complète de la littérature en psychologie. Il y a quand même un aspect important de la mémoire qui n’est pas modélisé : l’oubli de la connaissance dans la mémoire de production (mémoire à long terme). 2.3.4 Modèle de mémoire de l’architecture ACT-R Le modèle de mémoire de ACT-R [Anderson, 1990] possède deux systèmes de mémoire à long terme : la mémoire procédurale et la mémoire déclarative. Plusieurs mécanismes sont associés à ces mémoires permettant ainsi d’ajouter et de maintenir l’information. ACT-R est basé sur la théorie de l’analyse rationnelle de Anderson. Suivant cela, le système cognitif est entièrement optimisé en fonction de son environnement. Un premier exemple du rôle de l’analyse rationnelle est la mémoire déclarative. Les éléments de la mémoire déclarative sont appelés chunks et sont l’équivalent des chunks de SOAR. Chaque chunk possède une valeur d’activation représentant la probabilité que le chunk soit
  • 46. -46- sollicité dans le contexte courant. Pour être en mesure d’estimer cette valeur, les mécanismes d’apprentissage doivent garder toujours un œil attentif sur l’environnement. Deux facteurs sont pris en compte : combien de fois le chunk a été utilisé dans le passé et combien de temps s’est écoulé depuis sa dernière utilisation. Ensuite, ACT-R possède une mémoire procédurale où la connaissance est représentée par des règles de production. Chaque règle est associée à un ou plusieurs paramètres. ACT-R définit une pile de buts (Goal-Stack) servant à empiler dynamiquement des chunks pour des usages temporaires. Comme le nom l’indique, seulement le chunk du dessus de la pile est accessible à un moment donné. Ce mécanisme est similaire à la mémoire de travail des théories cognitives ainsi qu’à celle définie par SOAR. Les mécanismes de l’architecture de la mémoire de ACT-R sont définis par des formules mathématiques et explicites, ce qui permet une modélisation plus directe comparativement au modèle de Newell. Suivant cela, une équation de l’accumulation de la force de rétention suite à la pratique a été proposée par Anderson & Fincham (1999). La force de la trace en mémoire est caractérisée comme suit : F = ∑ ti-d où ti est le temps écoulé de la ie pratique depuis l’acquisition de l’information. La constante « d » représente le taux d’apprentissage pouvant varier d’une personne à l’autre. Donc, la somme de tous les temps écoulés des pratiques de la donnée depuis son acquisition est calculée pour former la force de la trace en mémoire de l’élément mémorisé. 2.3.5 EPIC SOAR et ACT-R sont des architectures qui se concentrent sur la cognition centrale, c’est à dire les mécanismes liés directement à la mémoire et à l’apprentissage. EPIC (Executive- Process Interactive Control) [Kieras & Meyer, 1997] insiste plutôt sur l’importance de la cognition périphérique, c’est-à-dire tous les mécanismes qui interagissent avec l’environnement (perception, actions, etc.). Les auteurs affirment que la cognition périphérique est un facteur déterminant pour la performance d’une tâche. La Figure 2.12
  • 47. -47- montre bien l’importance des systèmes périphériques en proposant un ensemble de processeurs moteurs et perceptuels. Le module perceptuel envoie les informations qu’il reçoit directement à la mémoire de travail de façon complètement asynchrone. La particularité de cette architecture est que plusieurs buts peuvent être représentés de façon non hiérarchique. De plus, plusieurs buts peuvent être actifs dans le même cycle (traitement parallèle) en autant qu’ils n’utilisent pas la même ressource périphérique. Figure 2.12 : EPIC architecture [Kieras & Meyer, 1997] EPIC suppose ainsi que les contraintes et limitations de l’architecture sont dues à la structure des organes sensoriels et moteurs. Ce sont ces organes qui limitent l’apport et la transmission de l’information.
  • 48. -48- 2.3.6 3CAPS Enfin, le modèle 3CAPS [Just & Carpenter, 1992] avance que les limitations du système cognitif sont liées de la capacité de la mémoire de travail. 3CAPS définit trois types de mémoires, soit la mémoire de travail, la mémoire procédurale et la mémoire déclarative. Selon la théorie de la capacité, si le maximum d’éléments est atteint dans la mémoire de travail, les processus de production activent moins d’éléments que ce dont ils ont besoin. Cela a pour effet d’oublier des éléments prématurément. Le modèle 3CAPS interprète ce phénomène comme une source de différences individuelles. L’architecture de 3CAPS ne prend cependant pas en compte l’apprentissage. 2.4 Conclusion sur l’état de l’art sur la mémoire À ce stade-ci, il est important de discerner les grandes composantes d’un modèle de mémoire et d’identifier les principales fonctionnalités de ces mêmes composantes. C’est donc ce que nous avons fait dans ce chapitre en présentant l’historique, les théories et les modèles associés à la mémoire. Plusieurs théories, phénomènes et modèles n’ont pas été présentés dans cette courte revue bibliographique sur la mémoire. Les recherches dans ce domaine sont actuellement très actives et beaucoup d’incertitude persiste dans en psychologie cognitive. Bien que nous ayons omis plusieurs travaux, toutes les références bibliographiques présentées donneront un excellent point de départ pour les recherches plus précises dans ce domaine. Notre but n’est pas de rapporter toutes les recherches sur la mémoire des dernières décennies, mais simplement de cibler les principaux phénomènes et mécanismes qui seront utiles dans le développement d’un modèle de mémoire dans le cadre de notre projet multi-agent.
  • 49. -49- ____________________________________ Chapitre 3 Notre modèle de mémoire ____________________________________
  • 50. -50- 3 Modèle de mémoire développé dans le contexte de MAGS Le chapitre précédent a exploré les théories cognitives et les modèles qui concernaient les mécanismes de mémorisation. Nous avons maintenant une idée beaucoup plus précise des concepts nécessaires à inclure dans notre modèle de mémoire pour qu’il soit le plus cohérent possible avec la réalité. Cependant, à la lumière des récentes recherches, reproduire exactement la réalité serait beaucoup trop complexe. Il y a une multitude de phénomènes reliés à la mémoire qu’il est, pour notre projet, inutile de modéliser. La raison est que nous sommes limités par l’expressivité du système. Si le simulateur ne modélise pas la notion sémantique des événements, il est inutile de doter les agents d’une mémoire sémantique. C’est pourquoi, dans le chapitre 2, nous avons volontairement ignoré beaucoup d’aspects de la mémoire. Nous savions ce que le simulateur nous permettait de modéliser et nous avons concentré nos recherches sur les théories qui sont réalisables dans MAGS. Nous allons donc présenter un modèle qui répondra aux exigences du système de simulation. Évidemment, certaines variables et certains phénomènes ne seront pas modélisés compte tenu des contraintes et des limitations du système. Selon l’architecture de ACT-R de Anderson, le système cognitif est optimisé en fonction de son environnement. Suivant cette théorie, le modèle de mémoire du simulateur sera développé en fonction de la représentation de l’environnement virtuel. Donc, pour bien comprendre les choix qui seront effectués par rapport au modèle de mémoire, nous allons débuter en exposant les caractéristiques minimales que le modèle devra supporter (section 3.1.1). Ensuite, nous énumèrerons les principales contraintes que le simulateur doit respecter (section 3.1.2). Étant donné que le modèle s’inscrit directement dans le projet MAGS, les contraintes du projet deviennent, du même coup, les contraintes du modèle de mémoire des agents. Une fois les exigences et les contraintes définies, nous présenterons notre modèle de perception et de mémoire.
  • 51. -51- 3.1 Fonctionnalités nécessaires et contraintes du modèle 3.1.1 Fonctionnalités La première étape de la conception du modèle consiste à énoncer les fonctionnalités fondamentales que notre modèle de mémoire devra supporter. Celles-ci devront obligatoirement être présentes pour assurer une certaine cohérence entre le modèle de mémoire des agents et les phénomènes cognitifs en lien avec la mémorisation. L’objectif global du modèle de mémoire est de permettre aux agents présents dans la simulation de percevoir l’environnement et de mémoriser ce qu’ils ont perçu. La mémorisation peut intervenir sur des objets perçus, des états d’objets perçus ou des relations entre l’agent mémorisant et l’objet perçu. Les agents devront aussi être en mesure de réutiliser les informations préalablement mémorisées pour prendre des décisions. Par exemple, un agent percevant une voiture pourrait : mémoriser directement l’élément « voiture » perçu, mémoriser un des états de la voiture au moment de la perception (état de la voiture = arrêté), ou encore mémoriser une relation quelconque suite à l’utilisation de la voiture. Si l’agent a utilisé la voiture et que celle-ci est tombée en panne, l’agent aura un souvenir d’insatisfaction par rapport à cette voiture en particulier. L’agent aura donc un souvenir de la voiture et un souvenir d’une relation entre lui et la voiture représentée par une valeur de satisfaction ou d’insatisfaction par exemple. Cela se traduit de façon suivante : Mémoire de Bob Bob Voiture Relation : Valeur Figure 3.1 : Mémorisation d’une relation Dans l’exemple de la Figure 3.1, Bob a mémorisé une relation entre lui et la voiture. Cette relation se traduit par une valeur qui pourrait représenter n’importe quelle propriété de la
  • 52. -52- voiture que le comportement de Bob pourrait réutiliser par la suite. Pour concrétiser la Figure 3.1, il suffit ici de considérer la relation comme une relation de satisfaction. Ainsi, la valeur de satisfaction entre Bob et la voiture pourrait prendre une valeur dans l’intervalle [0-10] par exemple (0 = insatisfait et 10 = vraiment satisfait). Pour terminer avec la mémoire de Bob et le mécanisme de relation, il faut mentionner que la relation que Bob a mémorisée pourrait s’appliquer entre l’élément (à droite) et un autre agent que Bob (encadré à gauche). Cela signifie que Bob pourrait se rappeler une relation entre un autre individu et un élément. Par exemple, qu’un ami x de Bob n’aime pas une certaine voiture y. Nous avons présenté les mécanismes généraux que le modèle doit être en mesure de supporter. Voici maintenant, plus précisément, les mécanismes que le modèle de mémoire devra permettre. Perception de l’environnement : Il est évidemment impératif que l’agent puisse percevoir l’environnement dans lequel il se trouve. Ainsi notre modèle devra permettre la perception des autres agents, des objets, des bâtiments et du terrain qui sont visibles dans le champ de perception de l’agent percevant. Cela implique la gestion des éléments cachés dans l’angle de vision de l’agent. Ce mécanisme est particulièrement important puisque, selon Kieras et Meyer, les mécanismes de la cognition périphérique telle que la perception déterminent la performance de tout le système cognitif. La raison est que ce sont ces mécanismes qui acheminent l’information pertinente pour le traitement. Dans notre cas, la perception détermine quels objets sont perçus et dirige ces éléments perçus vers le système de mémoire. Donc, si le mécanisme de perception est lent, le système de mémoire traitera les informations au rythme de la perception ce qui causera le ralentissement de tout le système. De plus, la précision du mécanisme est importante, car si la perception est inexacte, le modèle de mémoire recevra des informations invalides ce qui invalidera du même coup les résultats. C’est donc un mécanisme très important dans le développement d’un modèle de mémoire. Beaucoup d’énergie devra être déployée pour assurer la performance et la validité de la perception.
  • 53. -53- Sélection d’éléments : Étant donné que l’environnement peut être très riche et très complexe, l’agent doit pouvoir effectuer la sélection de certains éléments perçus. L’humain ne porte pas attention à tout ce qui l’entoure. Beaucoup de choses passent inaperçues dans notre champ de vision pour éviter de surcharger les sens de stimuli inutiles. L’agent doit aussi être en mesure d’éliminer, suivant certaines caractéristiques, les éléments non pertinents ayant été perçus. Mémorisation d’éléments : L’agent devra être en mesure de mémoriser des éléments. Le développement de ce mécanisme devra suivre les grandes lignes des théories sur la mémoire (répétition, rétention, mémorisation de « chunks », etc.). Récupération des éléments mémorisés : Il est aussi primordial de pouvoir récupérer les éléments qui ont été préalablement mémorisés. Ces éléments seront réutilisés pour prendre des décisions et ainsi influencer le comportement de l’agent. Oubli progressif de certains éléments : Le modèle doit pouvoir permettre à l’agent d’oublier certains éléments de façon graduelle. Toutes les études examinées au chapitre 2 [Ebbinghaus, Pavlov, Tolman, Aktinson, Thorndike, Newell, Anderson, etc.] s’entendent sur le fait que la force de rétention de l’information subit une accélération négative. Nous devrons donc être en mesure de simuler ce phénomène. Nous savons maintenant ce que le modèle devrait minimalement supporter comme fonctionnalités. Il s’agit maintenant d’établir les contraintes du système afin de savoir dans quel cadre le modèle devra être développé. 3.1.2 Contraintes Le système MAGS (Multi-Agent Geo-Simulation System) est un simulateur s’exécutant en temps réel sur un ordinateur personnel. Il possède un environnement dynamique dans lequel des milliers d’agents peuvent naviguer. Le modèle du simulateur est basé sur l’individu, ce qui veut dire que chaque agent doit être indépendant, et ainsi être autonome. À travers ce petit
  • 54. -54- résumé, il est possible d’extraire les principales contraintes que le modèle de mémoire devra respecter : • Tous les mécanismes devront s’exécuter en temps réel (i.e 33ms ou moins) de façon à ce que la mémoire n’occupe pas tout le temps de calcul. • Chaque agent devra posséder ses propres structures et ses propres mécanismes (pas de données, de structures ou de connaissances partagées). • Le modèle doit se limiter aux contraintes d’un ordinateur personnel (mémoire limitée, temps d’exécution faible, etc.). Nous avons énuméré un certain nombre de fonctionnalités et celles-ci devront respecter les contraintes du système MAGS. La prochaine étape est de définir précisément la structure et les algorithmes permettant d’implanter ces fonctionnalités. Un mécanisme de base qui est d’une grande importance est la perception. C’est cette fonctionnalité qui permettra d’acquérir les informations provenant de l’environnement. Il est donc indispensable de bien décrire ce mécanisme et de faire en sorte qu’il soit très performant. Naturellement, avant d’attaquer la perception en tant que telle, il faut présenter la structure dans laquelle la perception effectuera son travail, c’est-à-dire l’environnement.
  • 55. -55- 3.2 Environnement de MAGS Si l’environnement dans lequel l’humain évolue n’avait pas la possibilité de transporter la lumière, nous n’aurions certainement pas de mécanisme pour capter cette lumière, l’œil. La même philosophie s’applique aux systèmes virtuels. Les agents qui prennent place dans l’environnement virtuel devront être dotés de mécanismes capables d’interagir avec cet environnement. Si tel n’est pas le cas, l’agent ne pourra jamais être autonome et mémoriser des éléments. C’est pourquoi il est indispensable d’expliquer comment l’environnement est défini dans MAGS. Tous les mécanismes de l’agent développés par la suite référeront directement à la structure de l’environnement virtuel. Le projet vise MAGS la simulation de phénomènes se produisant dans un environnement urbain 3D contenant des bâtiments, des collines, d’autres agents (voitures, piétons, etc.), ainsi que des objets. Il est donc nécessaire d’utiliser une représentation de l’environnement suffisamment générale. L’environnement urbain de la simulation est, par conséquent, représenté à l’aide des deux structures de données suivantes : • La carte des élévations (HeightMap) • La carte de localisation (LocationMap) Carte des élévations (HeightMap) Cette carte (HeightMap) est une matrice à deux dimensions qui représente l’espace dans lequel prend place la simulation. Cette matrice est formée de cellules qui sont accédées par les coordonnées cartésiennes (x,y) de la position correspondante. x y Figure 3.2 : La carte des élévations
  • 56. -56- Chaque cellule ne contient qu’une seule valeur indiquant la hauteur de ce point à partir de l’élévation la plus basse de l’environnement. Cette valeur varie de 0 à 16 777 216 puisqu’elle est représentée par un code de couleur codé sur 24 bits RGB. La couleur 0 (noir) indique que cette cellule a l’élévation minimale et la couleur 16 777 216 (blanc) indique que la cellule a l’élévation maximale de l’environnement. Tout l’intervalle peut être utilisé pour représenter les élévations du terrain. Par exemple, la Figure 3.3 représente un terrain où la partie gauche est plus élevée que la partie droite. La Figure 3.4 présente une coupe dans le plan (x,z) de la carte de la Figure 3.3 qui montre que la hauteur du bâtiment 2 est plus élevée que celle du bâtiment 1. Cependant, la carte des élévations considère que le sommet du bâtiment 1 est plus élevé par rapport au niveau de la mer que le sommet du bâtiment 2. Ainsi, pour avoir la hauteur propre d’un bâtiment avec cette méthode, il faut faire la différence entre la hauteur du terrain sur lequel se trouve la structure et la hauteur d’un point situé sur le sommet de la structure. Pour ce qui est de la navigation, il faut avoir de l’information sur la nature du trajet parcouru (obstacle, pente abrupte, etc.). Ainsi, pour calculer si l’agent rencontre un obstacle, il suffit de faire la différence entre 2 points adjacents de la carte, ce qui donne la pente entre ces 2 points. Si la pente est trop élevée, c’est que l’agent ne peut pas passer. A A Figure 3.3 : Carte des élévations d'une partie de la ville de Québec
  • 57. -57- 1 50 2 90 Point 0 Figure 3.4 : Plan (x,z) représenté par le segment A de la carte précédente Cette procédure est très efficace car, à ce stade-ci, il n’est pas pertinent de distinguer et d’identifier les différentes structures dans la heightmap. L’information cruciale pour effectuer la perception et la navigation est l’élévation de tous les points de l’environnement. Carte de localisation (LocationMap) Cependant, la carte des élévations (« height map ») a une limitation : il est impossible de savoir s’il y a un agent ou non en un point donné. L’agent qui perçoit doit non seulement déterminer la visibilité des cellules de la matrice (à l’aide de l’élévation), mais aussi déterminer la liste des agents et objets perçus. Pour cela, il faut savoir si un agent se trouve à un endroit (x,y) dans l’environnement et si oui, de quel agent il s’agit. Pour enrichir la connaissance que l’agent pourra obtenir de l’environnement, une structure nommée LocationMap a été introduite. La structure de donnée de la LocationMap est exactement la même que celle de la heightmap (matrice 2D de cellules) à l’exception du contenu des cellules qui sont maintenant des pointeurs sur des agents. Chaque cellule contient un pointeur sur l’agent qui occupe cette case. Si aucun agent n’occupe cette cellule, le pointeur est à NULL. Dans la Figure 3.5, chaque flèche pleine représente un pointeur sur un agent. Le système se sert d’une liste unique pour stocker les agents A1 à A5 qui évoluent dans la simulation. Si un agent a une dimension lui permettant d’occuper plusieurs cellules (dans la
  • 58. -58- Figure 3.5, l’agent A1 occupe 4 cellules), plusieurs pointeurs pointeront sur ce même agent dans la liste. Liste des agents A1 A2 A3 A4 A5 L’agent A1 occupe 4 cellules Les autres cases sont à NULL Figure 3.5 : LocationMap Avec cette structure, il est simple de raisonner spatialement au sujet de la position des agents. Ainsi, il est possible d’analyser la visibilité d’une cellule de la heightmap et de déterminer, à l’aide de la LocationMap, si l’agent qui s’y trouve est visible. Le lien entre le masque et la LocationMap est possible puisque les deux structures sont indexées par le même système de référence géographique: la coordonnée (x,y) de la carte des élévations correspond à la coordonnée (x,y) de la carte de localisation. Quatre opérations de base sont applicables à la carte de localisation (LocationMap) : 1- Insertion : La structure doit permettre à tout moment l’insertion de nouveaux agents, suite à une création par exemple. Il s’agit de faire pointer les pointeurs des cellules sur l’agent dans la liste correspondante. 2- Suppression : Nous devons aussi être en mesure de supprimer un agent dans la carte. Pour cela, les pointeurs correspondant à l’agent dans la structure sont placés à NULL. Cependant, l’agent n’est pas retiré de la liste des agents. 3- Mise à Jour : La mise à jour de la localisation d’un agent consiste à supprimer l’agent d’un endroit pour le réinsérer à un autre emplacement. C’est la fonction la plus utilisée car elle permet de simuler le déplacement des agents mobiles. Chaque fois qu’un agent se déplace, il met à jour sa position dans la LocationMap pour qu’en tout temps les autres agents puissent obtenir cette information.
  • 59. -59- 4- Accès : La LocationMap doit aussi permettre d’accéder à une cellule quelconque afin de vérifier s’il y a présence d’agents. L’accès se fait avec un couple (x,y) qui retourne le pointeur correspondant à la cellule (x,y) de la carte. La Figure 3.6 présente un exemple d’utilisation de la carte de localisation. TAgent* agent; agent = Acces(10,10); // Accès à une cellule de la LocationMap Si (agent == NULL) // Il n’y a pas d’agent à (10,10) { ... } Sinon // Un agent est présent { int height = agent->GetHeight(); // On accède aux informations // de l’agent situé à la cellule (10,10) } Figure 3.6 : Exemple d'accès aux agents À l’aide de ces opérations, il est possible de représenter dynamiquement la position spatiale des agents lors de la simulation et ainsi de percevoir les agents.
  • 60. -60- 3.3 Mécanisme de perception Nous avons maintenant une idée générale de la structure de l’environnement. Nous développons maintenant le mécanisme de perception qui identifiera les éléments perçus dans l’environnement par l’agent. Le problème de visibilité ou de perception d’un environnement représenté sous forme d’une matrice 2D ou d’une « height maps » a déjà fait l’objet de plusieurs études [Franklin, 1999, 2000, 2002 ; De Floriani & Jeanne & Nagy, 1993 ; Fisher, 1993 ; De Floriani & Magillo, 1994]. Le résultat visé par les différentes techniques utilisées est de déterminer la visibilité de toutes les cellules dans le champ de vision d’un observateur (Figure 3.7). Il s’agit donc d’étiqueter comme visible ou non chaque cellule se trouvant dans le champ de vision à partir de l’observateur. Champ de vision * Environnement Figure 3.7 : Perception dans une « height map » Franklin a résolu le problème en élaborant un algorithme qui calcule la visibilité d’une région géographique à partir d’un point (observateur) dans un environnement représenté sous forme de « height map »1 (Viewshed). Il utilise la technique des lignes de vues pour tester la visibilité des cellules de la « height map ». Il tire une ligne de vue pour chaque point dans l’environnement afin de calculer sa visibilité. Lorsque une ligne de vue est incapable d’atteindre un point donné (parce qu’il est caché par des points trop élevés par rapport au point de départ), cet endroit est considéré comme non visible à partir de l’observateur. Le détail de la méthode utilisée se trouve dans [Franklin, 1999]. 1 L’environnement est représenté par une matrice 2D où chaque cellule contient un champ qui indique la hauteur de ce point (height map)
  • 61. -61- Observateur où : Caché : Visible : Probablement visible. : Probablement caché : Observateur Figure 3.8 : Carte de visibilité Franklin [1999] La Figure 3.8 représente la carte de visibilité d’une région à partir d’un point. Cette carte a été calculée pour un observateur se trouvant au point supérieur gauche indiqué par la flèche. Les régions en noir indiquent que ces régions ne sont pas visibles à partir de la position de l’observateur. Si l’observateur se déplace d’une case, il faudra recalculer la carte de visibilité correspondant à sa nouvelle position. Pour que cette méthode soit efficace et réponde à nos exigences, nous devrons calculer une carte de visibilité pour chaque point de l’environnement puisque nous ne connaissons pas à l’avance le parcours des agents dans l’environnement virtuel. De plus, l’agent ne peut pas calculer les cartes de visibilité nécessaires en temps réel puisque le calcul est beaucoup trop lent. Les tests de Franklin ont déterminé que pour un terrain représenté par 300x300 cellules, le calcul d’une carte de visibilité prend 1 seconde sur un Pentium 75 MHz. Il faut donc effectuer un pré-traitement pour calculer avant le démarrage de la simulation toutes les cartes de visibilité possibles pour l’environnement. Dans le cadre de notre projet, le simulateur utilise une carte des élévations de 2048x2048 pixels, ce qui a pour conséquence d’étirer le calcul d’une seule carte de visibilité à 46 secondes sur un Pentium 75 MHz. Il faut 4 194 304 cartes de visibilité pour que chacune des cellules de l’environnement possède sa propre carte.
  • 62. -62- L’algorithme utilisé par Franklin est assez lent, ce qui a pour effet d’éterniser le pré- traitement. Même si la démarche est viable pour représenter la visibilité à partir de toutes les cellules de l’environnement, il n’en reste pas moins que la solution proposée est purement statique et ne tient pas compte des éléments pouvant se déplacer et ainsi obstruer la vue. Pour éviter l’aspect statique de cette solution, il serait nécessaire de calculer en temps réel chaque carte de visibilité pour chaque observateur dans la simulation. Évidemment, cela est impensable avec l’approche proposée par Franklin. 3.3.1 Algorithme de Perception de l’environnement Dans son étude, Franklin propose une approche pour créer les zones de visibilité d’un environnement à partir d’un observateur. Son but est de positionner le nombre minimum d’observateurs afin de couvrir visuellement tout l’environnement. Toutes les zones doivent être visibles à partir d’au moins un des observateurs. Le contexte de notre projet est très différent. Aussi, il nous faut trouver une façon efficace d’implanter un algorithme qui respecte les propriétés énoncées par Franklin mais qui s’adapte au contexte multi-agent temps réel de MAGS. Afin d’implanter la méthode proposée par Franklin, il faut considérer les points suivants : 1- Parcours des cellules : L’algorithme doit parcourir efficacement toutes les cellules dans le champ de perception. 2- Lignes de vue : Il faut calculer, pour chaque point parcouru en 1, la ligne de vue à partir de l’observateur afin de déterminer si le point est visible ou non. Les contraintes définies par notre projet sont les suivantes : 3- La perception devra s’effectuer en temps réel pour prendre en considération la position variable des agents évoluant dynamiquement dans la simulation. 4- L’algorithme de perception devra être cohérent avec les théories cognitives de la perception humaine.
  • 63. -63- 3.3.2 Algorithme de parcours des cellules de Palmer Pour ce qui est du parcours des cellules du champ de perception, l’algorithme de Palmer [Palmer, 1995] offre une partie de la solution pour implanter les propriétés de Franklin. L’algorithme de Palmer détermine si une cellule est visible ou non pour un agent donné se trouvant à un emplacement (a_x, a_y) dans la grille. Il est donc nécessaire de parcourir toutes les cellules appartenant au champ de vision pour vérifier leur visibilité. Afin de déterminer la visibilité d’une cellule, l’algorithme doit, au préalable, trouver deux cellules qui sont sur le segment de droite entre le point testé et l’observateur. Si ces deux cellules sont obstruées, alors la cellule en cours d’analyse se verra attribuer une visibilité nulle. La Figure 3.9 montre que les cellules P et Q sont des cellules que l’on doit tester pour déterminer la visibilité de C à partir de A. La flèche pointillée indique la ligne de vue à partir de A pour percevoir C. Si cette ligne de vue est obstruée, C ne sera pas visible. P C Q A Figure 3.9 : Test de visibilité En vérifiant les obstructions, l’algorithme trouve, de façon incrémentale, les cellules se trouvant sur la ligne de vue juste avant d’arriver à C. Les visibilités des cellules P et Q auront été déjà calculées car l’algorithme se base sur la programmation dynamique pour le calcul. Les détails du calcul se trouvent dans la Figure 3.10, qui décrit l’algorithme de Palmer. La plus grande limitation de cet algorithme est qu’il détermine la visibilité des cellules de la matrice 2D sans tenir compte de la troisième dimension des objets. Implicitement, il suppose que tout point au-delà d’un point non visible est non visible. Par exemple, si l’objet C est
  • 64. -64- beaucoup plus haut que les objets se trouvant aux points P et Q, l’objet C devrait être visible à partir de A. MAX_X, MAX_Y : Dimension de la grille en nombre de cellules a_x, a_y : la position en (x, y) de l’agent radius : le rayon du champ de perception grille[MAX_X][MAX_Y] : La grille 2D de cellules qui correspond à l’environnement dx, dy : Vecteur de direction partant de l’observateur vers la cellule cible sign(u) = |u| / u pour tout u différent de 0 1 ) grille[a_x][a_y] = Visible; 2 ) Pour i = 1 jusqu’à radius faire 3 ) Début 4 ) Pour chaque cellule se trouvant à i cellule(s) de l’agent faire 5 ) Début 6 ) point1 = (-1 * sign (dx) + dx + a_x, -1 * sign (dy) + dy + a_y) 7 ) Si |dy| > |dx| 8 ) point2 = (dx + a_x, -1 * sign (dy) + dy + a_y) 9 ) Sinon 10) Début 11) Si |dy| < |dx| 12) point2 = (-1 * sign (dx) + dx + a_x , dy + a_y) 13) Sinon 14) point2 = point1 15) Si ((grille[point1_x][point1_y] = non_visible) ET 16) (grille[point2_x][point2_y] = non-visible)) ALORS 17) grille[dx + a_x][dy + a_y] = non_visible 18) Sinon 19) grille[dx + a_x][dy + a_y] = visible 20) Fin 21) Fin 22) Fin Figure 3.10 : Algorithme de visibilité de Palmer 3.3.3 Calcul des lignes de vue ( troisième dimension ) Avec la méthode de parcours de Palmer, lorsqu’un obstacle est détecté, tout ce qui se trouve dans l’ombre au-delà de cet obstacle est supposé non visible pour l’agent, quelle que soit l’élévation de l’obstruction. Pour améliorer l’algorithme, nous devons prendre en charge la hauteur du terrain pour effectuer la perception. Pour modéliser ce genre de propriété, les agents devront accéder aux informations sur l’élévation du terrain. L’environnement étant représenté sous forme de « height map », l’information sur l’élévation d’une cellule est directement disponible dans le masque.
  • 65. -65- Pour la prise en charge de cette information 3D, nous devons modifier l’algorithme de Palmer pour que soit effectué à chaque cellule, un calcul de la ligne de vue visible à partir de l’observateur. Par exemple, la Figure 3.11 illustre une représentation simplifiée de l’environnement selon le plan (x,z). Un agent A, percevant à partir de sa position jusqu’à la dixième cellule, doit être en mesure d’évaluer si chaque cellule est visible ou non. Le chiffre dans chaque cellule correspond à l’élévation de la cellule et la ligne pointillée représente l’élévation minimale que devront avoir les cellules pour être perçues (ligne de vue). Ligne de vue Visible h= 25 h= 15 Non Visible h= 10 0 0 10 0 0 25 0 0 15 0 0 0 5 Figure 3.11 : Test de visiblité à l'aide d'une ligne de vue Le but est de calculer, à chaque itération, ce que nous appelerons la « hauteur visible » de la cellule. Il s’agit donc de l’élévation minimale que doit posséder une cellule pour qu’elle soit perçue par l’observateur. Par exemple, lors de la troisième itération de l’algorithme dans le contexte de la Figure 3.11, l’algorithme calculerait la hauteur visible de la double flèche en se basant sur la hauteur visible de la dernière cellule. Pour effectuer ce calcul, nous avons besoin de la « hauteur visible » de la cellule précédente qui a été calculée à l’itération précédente. La valeur se propage donc en suivant la ligne de vue de l’agent.
  • 66. -66- Exemple : La Figure 3.11 représente une grille en coupe et chaque cellule mesure 5 unités. L’exemple ne tiendra pas compte de la hauteur initiale de l’agent afin d’alléger la démonstration. L’agent mesure donc 0 unité et nous voulons effectuer la perception avec un rayon de 10 cellules. Voici donc les étapes de l’algorithme : 1. Considérer la hauteur visible de la cellule précédente. 2. Calculer la hauteur visible de la cellule courante à partir de la hauteur visible ou de l’élévation de la cellule précédente. 3. Déterminer la visibilité de la cellule (si l’élévation de la cellule est plus grande que la hauteur visible, alors elle est visible) Le calcul de la hauteur visible se fait de la façon suivante : H X HP O A B RP R Figure 3.12 : Triangles semblables On voit dans la Figure 3.12 que les flèches simples forment un petit triangle AOX. À partir de cela et de la règle des triangles semblables, nous pouvons calculer la hauteur H qui sera la hauteur visible de cette cellule. Voici les détails du calcul :
  • 67. -67- Soient : - HP la hauteur de l’édifice à la cellule A - RP = (rayon partant de l’agent jusqu’à la cellule A) * (taille de chaque cellule) - H = la hauteur visible que l’on cherche à obtenir à la cellule B - R = (rayon de l’agent à la cellule B) * (taille de chaque cellule) Équation 3.1 : H = ( HP * R ) / RP h= 20 h= 15 h= 10 0 0 0 15 20 25 30 ... 5 Figure 3.13 : coupe en ( x, z ) L’Équation 3.1 nous donne la possibilité de calculer la hauteur visible de la cellule courante à l’aide de la hauteur visible de la cellule précédente. La Figure 3.13 illustre l’évolution des hauteurs visibles lors de l’exécution de l’algorithme. Par exemple la cellule 6 contient un bâtiment ayant une élévation de 20 mais la hauteur visible de la cellule est de 25; cela signifie que le bâtiment de la cellule 6 ne sera pas visible à partir de l’observateur. L’exécution se poursuit jusqu’à ce que le rayon maximal de perception soit atteint. La Figure 3.14 présente l’algorithme que nous avons développé suite aux différentes considérations décrites précédemment. Nous nous sommes basé sur l’algorithme de Palmer pour le parcours des cellules. Ensuite, nous avons introduit les mécanismes pour prendre adéquatement en compte la troisième dimension, ainsi que des ajustements liés à la structure de l’environnement de MAGS.
  • 68. -68- MAX_X, MAX_Y : Dimension de la grille en nombre de cellules a_x, a_y : la position en (x, y) de l’agent radius : le rayon du champ de perception grille[MAX_X][MAX_Y] : La grille 2D de cellules qui correspond à l’environnement dx, dy : Vecteur de direction partant de l’observateur vers la cellule cible sign(u) = |u| / u pour tout u différent de 0 grille[a_x][a_y] = Visible; Pour i = 1 jusqu’à radius faire Début Pour chaque cellule se trouvant à i cellule(s) de l’agent faire Début //Déterminer les points 1 et 2 sur lesquels on teste la visibilité point1 = (-1 * sign(dx) + dx + a_x, -1 * sign(dy) + dy + a_y) Si |dy| > |dx| point2 = (dx + a_x, -1 * sign (dy) + dy + a_y) Sinon Début Si |dy| < |dx| point2 = (-1 * sign (dx) + dx + a_x , dy + a_y) Sinon point2 = point1 // Calcul de la hauteur visible ElevationP1 = GetElevation(point1) ElevationP2 = GetElevation(point2) Elevation1 = Max(ElevationP1, HauteurVisible(point1)) Elevation2 = Max(ElevationP2, HauteurVisible(point2)) // Méthode d’approximation Si Approximation == AVERAGE Elevation = (Elevation1 + Elevation2) / 2 Si Approximation == MINIMUM Elevation = Min(Elevation1, Elevation2) Si Approximation == MAXIMUM Elevation = Max(Elevation1, Elevation2) HauteurVisible(dx+a_x, dy+a_y)=Elevation*Radius / (Radius - 1) // Calcul de visibilité Si GetElevation(dx+a_x, dy+a_y)>HauteurVisible(dx+a_x,dy+a_y) grille[dx + a_x][dy + a_y] = visible Sinon grille[dx + a_x][dy + a_y] = non_visible Fin Fin Figure 3.14 : Algorithme de perception de MAGS
  • 69. -69- Une grande modification dans l’algorithme précédent est la présence d’une méthode d’approximation. Lorsque nous avons présenté l’algorithme de parcours des cellules de Palmer, nous avions le cas suivant (reprise de la Figure 3.9): P C Q A Figure 3.15 : Test de visibilité Maintenant que l’algorithme prend en considération la troisième dimension, la Figure 3.15 présente une ambiguité. Les cellules P et Q ont chacune une élévation et la ligne de vue de A à C tombe directement entre les cellules P et Q. Donc lorsque la visibilité de C sera calculée, quelle cellule (P ou Q) sera choisie pour le calcul ? Nous pouvons supposer que les deux cellules doivent cacher C pour que C soit non visible. Donc si P ou Q laisse entrevoir la cellule C, celle-ci est visible. C’est l’approximation du minimum. D’autre part, s’il est possible de voir la cellule C via P et Q, c’est l’approximation du maximum. Il existe une troisième façon d’effectuer l’approximation, il s’agit de faire la moyenne des élévations de P et Q et de prendre le résultat pour le calcul de la visibilité de C. L’algorithme de perception de MAGS supporte les trois modes d’approximation. 3.3.4 Aspect temps réel, cohérence cognitive et résultats L’algorithme, présenté jusqu’à présent, respecte les propriétés tirées de la technique proposée par Franklin. Il faut maintenant prendre en considération les aspects propres au projet de simulation multi-agent. Afin de borner l’utilisation de l’algorithme dans un contexte temps réel, il est nécessaire de présenter les résultats des performances de l’algorithme obtenues jusqu’à présent.
  • 70. -70- L’algorithme développé ici parcourt et calcule une carte de visibilité de 300x300 cellules en 27 ms sur un Pentium à 1000Mhz. Cet algorithme a une complexité O(n2) où n représente le rayon de perception. Dans le contexte du simulateur, chaque agent présent dans la simulation devra calculer sa propre carte de visibilité à chaque itération pour que le tout soit exécuté en temps réel. Cela est évidemment impensable avec ce genre de technique étant donnée cette vitesse de calcul. Lorsque l’algorithme parcourt la « height map » de 300x300 cellules, il se place à (x = 0, y = 0) et perçoit avec un rayon de 300 cellules. Lorsqu’un agent navigue dans l’environnement, la perception dynamique ne sert qu’à analyser les objets dynamiques se déplaçant. Il faut ainsi réévaluer la visibilité de chaque agent à chaque cycle de simulation, puisqu’un objet de grande taille peut se placer dans le champ vision d’un agent et lui obstruer la vue durant une certaine période de temps. Une solution est de réduire le rayon de perception afin de diminuer le temps de calcul. Dans le contexte du simulateur MAGS, où une cellule représente environ 0,7 mètre, limiter la perception dynamique à 20 cellules (environ 14 mètres) corrige adéquatement le problème de performance de l’algorithme2. C’est à ce moment que le terme cohérence cognitive prend toute sa valeur. En effet, limiter la perception à 14 mètres (dans le cas présent) ne correspond pas à la réalité. Nous pouvons facilement percevoir de grands édifices sur plusieurs kilomètres si la visibilité le permet. Nous nous permettons quand même d’approximer l’algorithme en affirmant, sous toute réserve, qu’il est assez rare, dans le cas de MAGS, de distinguer des objets dynamiques lorsqu’ils sont éloignés. La raison est que les applications actuelles de MAGS simulent des piétons, des voitures et des bâtiments. Donc, si nous combinons les cartes de visibilité statiques précalculées et une perception dynamique avec un court rayon, les résultats peuvent être satisfaisants. Ainsi, la partie statique de l’environnement sera perçue avec un très grand rayon (cartes précalculées) et la partie dynamique sera aussi perçue, mais avec un champ de perception beaucoup plus restreint étant données les contraintes d’efficacité. En résumé, l’agent perçoit les éléments statiques de l’environnement à très grande distance et il évalue, au moins à chaque seconde (voir résultats ci-haut), son environnement immédiat (14 2 Le choix de limiter la perception à 20 cellules est déterminé empiriquement pour l’instant
  • 71. -71- mètres dans le cas présent). Cela lui permet d’avoir une vision globale de l’environnement tout en gardant un certain focus sur ce qui se passe à proximité. 3.3.5 Conclusion sur la perception Le but de de cette section était de trouver une solution algorithmique au problème de visibilité dans un environnement représenté avec une carte des élévations. Le mécanisme devait permettre une perception à la fois complète (vision de tout ce qui est visible) et dynamique. L’aspect dynamique était important étant donné qu’il s’agit d’une simulation multi-agent où des centaines d’agents se déplacent simultanément. Un agent donc être en mesure de percevoir immédiatement les autres agents pour les éviter lors de ses déplacements. La représentation des autres agents peut aussi avoir une influence sur le comportement courant de l’agent considéré. Une partie de la réponse au problème de perception complète se trouvait dans les recherches de Franklin. Cependant, pour implanter l’approche de Franklin, il était indispensable de trouver un algorithme efficace de parcours des cellules de l’environnement (Palmer). Notre intégration du calcul des lignes de vue à l’algorithme de Palmer permettait de prendre en charge la troisième dimension. En pré-calculant les cartes de visibilité, le problème de la perception complète, mais statique, de l’environnement était résolu. Pour ce qui est de la perception dynamique de l’environnement et des autres agents, la solution se trouvait dans le même algorithme étant donné la performance acceptable qu’il offrait. Il suffisait de réduire le rayon de perception pour que des centaines d’agents puissent maintenant percevoir en temps réel leur environnement immédiat (résultat dans le chapitre 5). Notre contribution consiste en l’élaboration d’une technique permettant de solutionner, à la fois, tous ces problèmes (perception statique et dynamique de tout l’environnement 3D) en s’assurant que les propriétés nécessaires au contexte de la simulation multi-agents sont respectées. De plus, nous avons concrétisé, à l’aide d’un algorithme relativement performant, la perception dans un environnement virtuel représenté à l’aide d’une carte d’élévations.
  • 72. -72- Les travaux futurs à court terme portent essentiellement sur l’optimisation de cet algorithme. Il faudra, de plus se pencher sur le problème du stockage des données lorsque des milliers d’objets statiques sont présents dans la simulation. 3.4 Mémoire perceptuelle Les agents peuvent maintenant percevoir les différents types d’agents se trouvant dans leur champ de perception. Mais où ces éléments perçus seront-ils stockés ? Presque tous les modèles de mémoire que nous avons présentés stockent les objets perçus directement dans une mémoire de travail ou une mémoire à court terme. Cependant les études de Sperling, Sakitt, Neisser et Haber (voir chapitre 2) ont démontré l’existence d’une mémoire perceptuelle. La mémoire perceptuelle sert à stocker temporairement tous les objets perçus. Même si son fonctionnement est encore très controversé, son existence et sa raison d’être semblent assez bien connues. Il s’agit d’une structure où sont temporairement stockés les résultats du mécanisme de perception. Avant que les informations perçues puissent accéder au système central de mémoire, ils doivent être analysés. Nous verrons plus loin de quelle façon les éléments sont analysés. Dans le cadre du système de simulation MAGS, la mémoire perceptuelle est simplement un tampon où tous les éléments issus de la perception sont stockés. Environnement Perception O1 O2 O3 … Mémoire Perceptuelle Objets Perçus Figure 3.16 : Mémoire perceptuelle d’un agent
  • 73. -73- À ce stade-ci, la perception ne fait aucune discrimination entre les objets stockés. Tous les éléments visibles et perçus par un agent sont mémorisés pendant un court moment dans la mémoire perceptuelle qui ne comporte aucune limite de capacité. Les objets restent à cet endroit jusqu’à ce qu’ils soient analysés par le filtre (section 3.5). Lorsque le filtre aura effectué son travail, la mémoire perceptuelle sera vidée. Cette structure n’est pas vraiment complexe et les mécanismes s’y rattachant sont également très simples. Les mécanismes de la mémoire perceptuelle sont : • Ajout d’éléments dans la mémoire perceptuelle (via la perception), • Accès aux éléments se trouvant dans la mémoire perceptuelle, • Vidage de la mémoire perceptuelle. La complexité de ces mécanismes dépend de la structure de données utilisées qui est à la discrétion du concepteur du système. Dans notre cas, une structure de liste est suffisante, et la complexité est alors O(n), où n est le nombre d’éléments dans la mémoire perceptuelle. La mémoire perceptuelle n’est donc pas une structure très complexe mais elle s’avère quand même utile dans la modélisation de notre modèle de mémoire. 3.5 Filtre Lorsque l’on perçoit une scène (par exemple en effectuant une promenade dans un centre commercial), on ne remarque qu’une infime quantité d’objets même si l’endroit est connu. L’environnement est tellement riche en informations que nous ne pouvons pas retenir tout ce que nous voyons. Il faut donc un mécanisme effectuant la sélection des objets « importants » pour celui qui perçoit. Ce mécanisme est appelé le « filtre » et il est utilisé pour effectuer la sélection des objets dans la mémoire perceptuelle. Le concept de filtre se retrouve dans les travaux de Broadbent [Broadbent, 1958] sous le nom de théorie du filtre. Selon Broadbent, la capacité de traitement
  • 74. -74- limitée de la mémoire fait que celle-ci doit être précédée par un filtre sélectif ne laissant passer qu’une partie des informations entrantes, protégeant ainsi le système d’une surcharge. De nombreuses recherches ont succédé à celles de Broadbent, car la théorie du filtre semble être en mesure d’expliquer une multitude de phénomènes. Par exemple, cette théorie vient se greffer à la théorie de l’attention car certaines hypothèses suggèrent que le filtre ne sélectionne que ce qui attire l’attention de celui qui perçoit. Ces deux concepts sont donc difficiles à séparer. Conformément à ces recherches, nous avons décidé d’introduire ce mécanisme à l’intérieur de notre modèle. Nous n’implantons pas toute la théorie du filtre car elle est trop complexe et la mise en application dans MAGS serait beaucoup trop lourde. À ce stade-ci, notre mémoire perceptuelle contient des éléments qui ont été perçus dans l’environnement. Cependant, les éléments présents dans la mémoire perceptuelle n’ont subi aucune analyse afin de savoir s’ils étaient pertinents pour l’agent. Le filtre aura donc pour but d’analyser tous les objets de la mémoire perceptuelle, afin de les transférer dans la mémoire de travail s’ils sont jugés pertinents ou de les écarter s’ils ne le sont pas. Environnement Perception O1 O2 O3 … Mémoire Perceptuelle rejeté Filtre O2 filtré O1 O3 Figure 3.17 : Filtre
  • 75. -75- Dans la Figure 3.17, le filtre est appliqué sur tous les objets de la mémoire perceptuelle (O1, O2 et O3). Selon certains critères, le filtre a jugé que l’objet O2 n’est pas pertinent pour l’agent alors que O1 et O3 le sont. La principale question est maintenant de savoir de quelle façon le filtre effectuera la sélection des objets. En d’autres termes, qu’est-ce qui attire notre attention ? Nous allons présenter les règles que le filtre devra respecter lorsqu’il effectuera son travail. Par la suite, chaque règle sera développée, expliquée et sa présence sera fondée sur les recherches antérieures. 1. Tous les objets dans la mémoire perceptuelle sont analysés [Kahneman & Treisman, 1984] 2. Les stimuli attendus (en lien avec l’objectif de l’agent) sont parmi les objets sélectionnés. 3. Les objets saillants (propriétés physiques) sont aussi sélectionnés. 4. Les objets avec une charge affective importante pour l’agent sont aussi sélectionnés. (Emotional Stroop effect) 5. Le filtre ignore tous les objets ne satisfaisant aucune de ces conditions. 6. La validité de tout cela repose sur l’attention de l’agent ; le niveau de traitement des informations doit être « conscient ». 1- Tous les objets sont analysés par le filtre Ce point semble évident puisqu’un objet qui n’est pas analysé ne pourra jamais être considéré par la suite. C’est effectivement le cas et Treisman le démontre dans ses recherches qui ont suivi la théorie générale sur l’attention. Pour pouvoir dire qu’un objet est conforme ou non à ce que l’agent recherche, il faut d’abord l’analyser. De même, le modèle de mémoire de MAGS ne fera aucune spéculation sur les objets perçus dans la mémoire perceptuelle. Tous les objets seront systématiquement analysés par le filtre. 2- Les stimuli attendus sont identifiés Cette caractéristique semble particulièrement importante dans la modélisation du filtre. L’être humain est une « machine » qui résout les problèmes par formation de buts ou d’objectifs permettant d’atteindre la solution d’un problème [Newell & Simon, 1972]. Donc notre
  • 76. -76- système cognitif de perception et de mémorisation doit refléter cette propriété. Nous ne présenterons pas en détail ce qui motive les buts et comment la notion d’objectif est modélisée dans MAGS, car cela est fait dans [Pelletier, 2003]. Si nous fonctionnons à l’aide d’objectifs, il est naturel, voire indispensable, d’identifier les objets qui seront utiles dans l’accomplissement de l’objectif courant. Par exemple, si l’objectif de l’agent est de trouver un endroit pour se nourrir, il identifiera les restaurants et les supermarchés avant de s’attarder à une cabine téléphonique. C’est ce qu’on appelle les stimuli attendus : ce sont les stimuli que l’on s’attend à percevoir dans un environnement [Mack & Rock, 1998]. Dans l’exemple précédent, si on cherche à se nourrir, on s’attend à percevoir des restaurants, à sentir des odeurs de nourriture et ce sont ces stimuli qui seront sélectionnés par le filtre. Nous pouvons donc généraliser en disant que le filtre sélectionne tous les objets permettant l’accomplissement, en totalité ou en partie, de l’objectif en cours. Bien sûr, beaucoup d’autres facteurs entrent en jeu pour la discrimination de l’information, mais celui-ci en est un important. 3- Les objets saillants sont identifiés D’après Gibson [Gibson, 1979], les individus accordent une certaine importance à l’influence de la fonction des objets qu’ils perçoivent. D’où l’idée que chaque partie de l’environnement possède un potentiel ou une capacité d’attirance (désignée en anglais par le terme affordance). Les objets nous entourant guident notre perception sur ce qu’il est possible de faire ou non. C’est ce que nous venons d’expliquer dans la section précédente avec la notion de stimulus attendu. Cependant, même si nous avons un objectif précis, il est possible que certains stimuli n’ayant aucun rapport avec notre but attirent notre attention. Toutes les théories sur la publicité et le marketing sont basées sur cette caractéristique. Le sujet d’étude est simple : quel stimulus faut-il introduire dans le champ de perception d’une personne pour que ce stimulus attire son attention, peu importe l’objectif en cours.
  • 77. -77- Marr [Marr, 1982] a proposé une théorie selon laquelle notre représentation du monde est influencée par la forme (shape-based), soit la délimitation, le contour, les parties d’objets et les relations qu’ils ont entre eux. Suite à cela, Treisman [Treisman, 1985] présentait l’idée qu’un premier découpage était effectué selon les délimitations d’un objet et que ces délimitations étaient remarquées par le changement de valeur de différents attributs. Par exemple : nous pouvons, à première vue, reconnaître distinctement un objet si sa couleur ou sa texture fait contraste avec l’arrière-plan (Figure 3.18). Certains attributs constitueraient donc un bon point de départ pour la première analyse d’une scène contenant beaucoup d’informations (points de saillance). Figure 3.18 : Identification d’objets par attributs Nous faisons donc une sélection visuelle selon certaines caractéristiques mais lesquelles ? Aginsky et Tarr [Aginsky & Tarr, 2000] affirment que les objets les plus imposants sont considérés comme étant les instigateurs de l’analyse (objets saillants). L’étude de Rensink [Rensink et al, 1997] tend à démontrer que les objets dictant l’histoire d’une scène (personnes, animaux, véhicules) ont été détectés plus aisément que les arbres ou les maisons par exemple. Beaucoup de psychologues ont supposé que la sélection visuelle était basée sur la position des stimuli dans le champ de perception [Posner, Snyder, Davidson, 1980; Hoffman & Nelson, 1981; LaBerge, 1983; Posner & Cohen, 1984; Nissen, 1985; Koch & Ullman, 1985; Luck, Fan, & Hillyard, 1993; Tsal & Lavie, 1988; Cave & Pashler, dans la presse]. Ainsi, il y a une multitude d’hypothèses à ce sujet dans la littérature. Nous ne pouvons pas ignorer toutes ces recherches et nous ne pouvons pas non plus tout intégrer dans le modèle. La certitude, c’est que les objets saillants sont filtrés par le mécanisme de filtration. Le problème est de savoir comment caractériser ces objets saillants. Comme nous avons un simulateur général qui peut s’appliquer à presque n’importe quelle situation, nous ferons l’hypothèse que
  • 78. -78- les objets saillants peuvent varier selon l’application. Ce que nous avons remarqué lors de nos études dans les centres commerciaux [Legault, 2003], c’est que, selon la culture, le niveau social et l’expérience de la personne, les objets saillants peuvent être très différents. Étant donné que la modélisation des variables d’un agent (sexe, age, personnalité, etc.) est laissée aux soins de l’utilisateur, nous n’imposerons pas de caractéristiques particulières sur les objets saillants filtrés. Nous laisserons donc à l’utilisateur le soin d’ajouter les filtres qui lui sembleront les plus appropriés compte tenu de la simulation qui sera effectuée. Dans le cadre de ce mémoire, nous développons une simulation qui est orientée sur une application bien précise qui est la simulation des phénomènes de foule. Donc, nous expliquerons le choix des filtres que nous appliquerons et nous caractériserons les objets saillants pour ce cas précis. Étant donné que la perception visuelle perçoit précisément avec un champ de perception de 90 degrés, nous ne considérerons pas l’hypothèse sur la position des stimuli dans le champ de perception. De même, les théories concernant les propriétés physiques de Marr et de Treisman ne seront pas modélisées. La raison est que le simulateur MAGS est une plateforme virtuelle 3D fonctionnant en temps réel et que le calcul des délimitations des objets par rapport à leur arrière-plan serait beaucoup trop coûteux. Évidemment, il nous faut pouvoir caractériser les objets par certaines propriétés physiques mais celles de Marr et de Treisman sont beaucoup trop fines. Nous allons augmenter le niveau d’abstraction en considérant les caractéristiques énoncées par Aginsky & Tarr (2000) et par Rensink (1997). Ils proposent que les premiers objets identifiés sont les objets les plus imposants [Aginsky & Tarr, 2000] et les objets plus dynamiques (véhicules, personnes, animaux) qui marquent l’histoire d’une scène [Rensink, 1997]. Ces affirmations sont beaucoup plus près de l’application que nous pouvons en faire. Les objets imposants sont facilement identifiables dans un environnement virtuel et il n’est pas faux de dire qu’ils sont souvent remarqués. De plus, les objets dynamiques sont très importants pour un agent se déplacant dans un environnement. Lorsque l’on fait une promenade, il est rare qu’une collision avec une autre personne se produit. C’est donc une déduction empirique de dire que les objets dynamiques locaux sont identifiés et considérés.
  • 79. -79- Voici donc les propriétés des objets saillants filtrés par le mécanisme de filtrage du modèle dans le cas de la simulation des phénomènes de foule : • Les objets imposants sont filtrés • Les objets dynamiques locaux sont filtrés De tels choix causent une incohérence en regard avec la théories de Marr et de Treisman. En effet, si un objet se confond pleinement avec son arrière-plan et que cet objet est imposant, il sera quand même sélectionné par le filtre puisque la couleur n’est pas prise en considération. Selon Treisman, cet objet ne devrait pas être sélectionné. Cependant, nous considérons que notre approximation est raisonnable, car il est rare qu’un objet imposant se confonde complètement avec son arrière-plan, sauf dans des conditions d’éclairage très particulières. 4- Les objets avec une charge affective importante sont filtrés Une autre règle qui semble importante, mais qui dépend de l’expérience de l’agent, est l’émotion qu’il porte pour certains objets en particulier. Les recherches de Mack et de Rock [Mack & Rock, 1998] suggèrent que l’importance et la charge affective sont de grands pôles d’attraction pour l’attention. En effet, un agent qui affectionne tout particulièrement un objet l’identifiera plus facilement dans une scène donnée. Par exemple, si une personne aime bien les voitures et en particulier les modèles de Porsche, il remarquera inévitablement une Porsche dans une scène où l’une de ces voitures est présente. 5- Le filtre écarte tous les objets ne satisfaisant aucune de ces conditions Notre filtre agit comme un opérateur « OU » sur les éléments de la mémoire perceptuelle. Lorsqu’un élément satisfait au moins une des conditions du filtre, il est gardé et transféré dans la mémoire de travail. Cependant, si un élément ne satisfait à aucune condition du filtre, cet élément sera tout simplement écarté de la mémoire perceptuelle et perdu. 6- La validité des règles repose sur le niveau d’attention de l’agent Toutes les règles que nous venons d’énoncer reposent sur une caractéristique de l’agent très importante :son attention. Par exemple, si une personne a un objectif précis et qu’un objet l’intéressant apparaît dans son champ de vision, cette personne ne remarquera absolument rien
  • 80. -80- de son environnement si elle n’est pas attentive. C’est une théorie de Craik et Lockhart qui soutient la présence de l’attention chez l’être humain [Craik & Lockart, 1972]. D’après ces chercheurs, le niveau de traitement de l’information (level of processing) doit être suffisamment élevé pour que cette information soit retenue. Donc si le niveau d’attention de l’agent est trop bas, cela invalide tous les filtres qui servent à identifier des éléments pour éventuellement les mémoriser. Le filtre est donc un mécanisme important car c’est lui qui analyse les informations pour savoir si elles sont pertinentes ou non pour l’agent. Un élément rejeté par le filtre n’a absolument aucune chance d’être mémorisé. 3.6 Mémoire de travail Lorsque le filtre a effectué son travail, il doit être en mesure de stocker les éléments filtrés. La structure qui accueille ces éléments est la mémoire de travail. Il y a une incertitude face à cette mémoire dans la littérature. Certains parlent de mémoire à court terme, d’autres parlent de mémoire de travail ou simplement de mémoire tampon. Cependant, un point semble clair, c’est que cette structure, entre la mémoire perceptuelle et la mémoire à long terme, existe et sert au traitement de l’information pour la tâche courante. Dans le modèle de SOAR, il est question de la mémoire de travail servant à stocker l’information reliée à la tâche courante. De son côté, le modèle SAM parle de mémoire à court terme qui est utilisée pour assembler les requêtes destinées à la mémoire à long terme. Elle sert aussi à déterminer quelle information sera stockée dans la mémoire à long terme. Pour ce qui est de la structure de cette mémoire, presque tous les modèles considèrent que l’organisation de la mémoire de travail se fait par regroupements (chunking). En ce qui concerne la capacité de la mémoire de travail, beaucoup d’études semblent soutenir l’hypothèse qui veut que l’humain peut traiter environ 7 ± 2 chunks à la fois. Dans le projet MAGS, la mémoire de travail est une structure qui servira à stocker les éléments qui seront utilisés par le comportement courant. Premièrement, nous allons expliquer les fondements et l’utilité de la mémoire de travail dans MAGS. Ensuite, la structure de la
  • 81. -81- mémoire de travail sera détaillée afin de comprendre comment les mécanismes pourront agir sur les éléments mémorisés. La section suivante sera consacrée au mécanisme de rétention utilisé dans notre modèle pour retenir ou exclure des éléments. Pour terminer, nous expliquerons l’interaction entre la mémoire de travail et la mémoire à long terme. 3.6.1 Fondements de la mémoire de travail dans MAGS La présence d’une mémoire intermédiaire entre la mémoire perceptuelle et la mémoire à long terme est inévitable. Le module comportemental des agents doit souvent avoir accès aux résultats de la perception ou aux résultats d’une requête dans la mémoire à long terme. Par exemple, lorsqu’un agent navigue et que son objectif courant est de manger, il devra identifier les objets ou les bâtiments qui peuvent satisfaire sa faim. Ces objets peuvent provenir de deux sources différentes. Soit l’agent perçoit un objet ou un bâtiment pouvant satisfaire sa faim, soit l’agent cherche dans sa mémoire à long terme un élément pouvant satisfaire son besoin de manger. Dans les deux cas, l’agent pourra accéder à ces informations via une seule source de données qui est la mémoire de travail. Cette structure permettra de stocker les éléments susceptibles d’être utilisés pour l’accomplissement de la tâche courante. C’est donc une structure qui rassemblera et retiendra les éléments provenant du filtre de perception et les éléments provenant d’une requête à la mémoire à long terme. De plus, la mémoire de travail devra être en mesure de gérer les éléments qui doivent être mémorisés dans la mémoire à long terme. La Figure 3.19 résume les principaux mécanismes (en italiques) que la mémoire de travail doit supporter.
  • 82. -82- Environnement Perception O1 O2 O3 … Mémoire Perceptuelle Mémoire de rejeté Filtre O2 travail filtré Accès O1 O3 O4 ... Rétention et Répétition Récupération Mise à jour Mémoire à long terme Figure 3.19 : Mécanismes de la mémoire de travail 3.6.2 Structure de la mémoire de travail La Figure 3.19 représente la structure de la mémoire de travail avec une liste d’objets. Ceci n’est pas tout à fait exact car le modèle de mémoire adoptera l’organisation par regroupement (chunking) ce que la plupart des modèles emploient. La question est de savoir selon quel critère la mémoire de travail effectuera ce regroupement. Le système MAGS possède une particularité très importante pour ce qui est de la gestion du comportement. Étant donné que le comportement se définit par des besoins et des objectifs permettant de satisfaire des besoins, il faut être en mesure d’identifier l’utilité de chaque objet dans l’environnement. Un agent qui a faim cherchera un objet permettant de satisfaire son besoin de nourriture. Cependant, l’environnement est bondé d’objets de toute sorte, alors comment fait-il pour savoir quel objet lui permettra de satisfaire sa faim? La réponse se trouve directement dans les états des objets présents dans l’environnement. Le système étant basé sur la notion de besoin, chaque objet de
  • 83. -83- la simulation possède une information qui identifie le ou les besoins qu’il peut satisfaire. Dans la réalité, c’est l’individu qui sait, via son expérience et son apprentissage, les objets qu’il peut utiliser pour satisfaire un besoin en particulier. Cependant, puisqu’il s’agit généralement d’une information relative au sens commun, MAGS stocke cette information directement dans l’objet. Par exemple, il est vrai pour tout le monde qu’un restaurant peut satisfaire le besoin de manger. Il est donc inutile de dupliquer cette information dans chaque individu puisqu’elle s’applique à tous les agents de la simulation. L’alternative est de stocker l’information dans l’objet lui-même, donc un restaurant dans la simulation aura un état BesoinSatisfait = faim. Il revient alors à l’agent de consulter cet état lorsqu’il cherche à savoir quel objet peut satisfaire son besoin. Si on reprend l’hypothèse de Anderson [Anderson, 1990] qui dit que le système cognitif est optimisé en fonction de son environnement, il faut donc penser en fonction de ce qui est directement accessible dans la simulation de MAGS. Avec la notion fondamentale de besoins qui est omniprésente, il serait judicieux d’organiser la mémoire de travail dans ce sens. La façon de grouper les éléments dans la mémoire de travail sera en fonction des besoins que l’élément mémorisé peut satisfaire. Donc la mémoire de travail contiendra le nombre de listes nécessaires pour que chacune d’entre elles représente un besoin en particulier. Il y aura, par exemple, un « chunk » d’objets pouvant satisfaire la faim, un « chunk » d’objets pouvant satisfaire le besoin de divertissement et ainsi de suite. Évidemment un objet pouvant satisfaire plusieurs besoins se retrouvera dans plusieurs « chunks » à la fois.
  • 84. -84- Besoins Faim Divertissement Repos Besoin d’argent Restaurant1 Cinéma1 Parc2 Restaurant1 Pomme1 Chunk1 Chunk2 Chunk3 Chunk4 Figure 3.20 : Organisation de la mémoire de travail dans MAGS 3.6.3 Capacité de la mémoire de travail La Figure 3.20 représente une mémoire de travail organisée avec 4 regroupements d’éléments. Cependant, si l’agent doit satisfaire plusieurs besoins à la fois, la question de la capacité de la mémoire de travail entre en ligne de compte. Combien de « chunks » la mémoire de travail peut-elle supporter ? La question est très pertinente et amène l’explication de quelques notions qui sont probablement moins claires. Premièrement, il faut se demander qu’est-ce qui amène un regroupement en particulier à se créer dans la mémoire de travail? Pour qu’un regroupement soit formé, il faut que des éléments faisant partie de ce regroupement soient filtrés. Par exemple, si le filtre ne filtre jamais les éléments pouvant satisfaire le besoin de faim, aucun regroupement Faim ne sera créé. Il ne faut pas oublier que la plupart des objets filtrés sont en lien avec le ou les objectifs courants de l’agent. Il y a aussi tous les autres objets qui sont filtrés parce qu’ils satisfont à l’une des règles que nous avons énoncées dans la section sur le Filtre.
  • 85. -85- Il peut donc y avoir beaucoup d’objets filtrés dans la mémoire de travail. Un groupement est formé pour chaque besoin que peuvent satisfaire les objets filtrés. Étant donné qu’il n’y a aucun lien évident entre les règles qui permettent de filtrer les éléments, la mémoire de travail pourrait se retrouver avec une quantité énorme de « chunks » au même moment. Le modèle de mémoire de travail de MAGS suivra les grandes théories qui concernent la capacité de stockage ou de traitement, c’est-à-dire que le nombre de regroupements ou « chunks » sera, par défaut, limité à 7. Par contre, le nombre d’éléments par « chunks » restera, par défaut, illimité, ce qui permet quand même une capacité théorique illimitée dans la mémoire de travail. Évidemment, plus le nombre d’éléments sera élevé, plus le temps de traitement augmentera. Étant donné la nature générale du simulateur, le nombre de « chunks » et le nombre d’éléments par regroupement seront paramétrables par les utilisateurs du système MAGS. Selon la simulation à effectuer, il sera possible de modifier certains paramètres qui ont été initialisés par défaut. Si la capacité de la mémoire de travail est limitée, il est nécesssaire d’avoir une règle permettant d’éliminer un regroupement lorsqu’un nouveau « chunk » doit être formé et que la mémoire de travail est remplie. Le modèle SAM [Gillund & Shiffrin, 1984] élimine le plus vieux regroupement pour le remplacer par le nouveau. Ce n’est pas très rigoureux puisque rien n’empêche le plus vieux regroupement d’être le plus utile pour la tâche courante. ACT-R [Anderson, 1990] propose de considérer deux facteurs pour le choix du regroupement à éliminer : le nombre de fois que le chunk a été utilisé et le temps écoulé depuis sa dernière utilisation. Cependant, il faut quantifier cette règle et pour cela, il faut associer une valeur au regroupement et trouver une fonction qui calcule cette règle. Notre méthode se basera sur celle de ACT-R à quelques différences près. Premièrement, une valeur, appelée coefficient d’importance, sera associée non seulement à chaque regroupement mais aussi à chaque élément présent dans la mémoire de travail. Ce coefficient d’importance représentera la force de la trace en mémoire de l’élément correspondant. La fonction en charge de mettre à jour ce coefficient sera présentée dans la section suivante qui traite de la rétention et de la répétition dans la mémoire de travail. L’élément important, pour le moment, est que ce coefficient d’importance représente la force de la trace en mémoire. Cela implique que plus ce
  • 86. -86- coefficient est bas, plus le souvenir est flou et vice versa. Il y aura aussi une valeur associée au regroupement qui est calculée à partir des éléments présents dans le « chunk ». En fait, il s’agit de la moyenne des coefficients d’importance des éléments du regroupement. À partir de ce moment, la règle est simple: il s’agit d’éliminer le regroupement ayant la plus petite valeur pour le remplacer par le nouveau. Moyenne des Besoins éléments 5 Faim 3 Plaisir 2 Repos 6 Argent 6 Restaurant1 3 Cinéma1 2 Parc2 6 Restaurant1 4 Pomme1 Coefficient d’importance Chunk1 Chunk2 Chunk3 Chunk4 Figure 3.21 : Mémoire de travail Si on suppose qu’un regroupement doit être éliminé dans la Figure 3.21, c’est le regroupement Repos qui sera remplacé par le nouveau « chunk ». 3.6.4 Répétition et Rétention Nous venons d’associer un coefficient d’importance aux éléments de la mémoire de travail, mais quelle est exactement la signification de celui-ci et comment est-il géré ? Premièrement, il faut mentionner que la répétition joue un rôle important dans le maintien d’une information dans la mémoire de travail. Toutes les théories étudiées considèrent la
  • 87. -87- répétition comme un mécanisme déterminant dans la mémorisation. Cependant, il faut considérer non seulement l’acquisition de l’information mais aussi sa dégradation dans la mémoire: l’oubli. Pour ce faire nous avons besoin d’un modèle jumelant le mécanisme de répétition, qui concerne l’acquisition, et le mécanisme de rétention, qui concerne l’oubli. Peu de modèles effectuent ce genre de travail dans la littérature. Cependant, il est possible d’adapter à nos besoins le modèle très récent de Altmann et Schunn [Altmann & Schunn, 2003]. Ce modèle (The functional decay model) représente le niveau d’activation d’un élément en mémoire en fonction du temps écoulé depuis son acquisition et en fonction du nombre de fois que l’élément a été accédé. Ce modèle se base sur le passé pour prédire le niveau d’activation de l’objet en mémoire au moment présent. En fait, le niveau d’activation désigne simplement la force de la trace en mémoire d’un élément: plus le niveau d’activation est élevé, plus on se souvient de l’élément correspondant et vice-versa. Équation 3.2 : Niveau d’activation A = ln(n / √T) L’Équation 3.2 calcule le niveau d’activation d’un élément en mémoire où n est le nombre de récupérations de l’élément et T le temps écoulé depuis l’acquisition. La composante de dégradation dans l’équation utilise la constante -0,5 qui semble être, selon le modèle ACT-R, la constante qui gouverne toutes les architectures cognitives pour ce qui est du taux de dégradation de la trace en mémoire. Ce n’est pas le seul facteur qui contribue à l’évolution du niveau d’activation d’une valeur: il y a aussi la répétition. Celle-ci influence le paramètre n de la fonction, ce qui a pour effet d’augmenter la trace en mémoire. La Figure 3.22 montre l’évolution de la trace en mémoire d’un élément acquis (une seule répétition) en fonction du temps.
  • 88. -88- Fonction de rétention avec une répétition 0 1 6 11 16 -0,2 -0,4 Valeur d'activation -0,6 -0,8 -1 -1,2 -1,4 -1,6 Durée écoulée depuis l'acquisition (sec) Figure 3.22 : Force de la trace en mémoire d'un élément Lorsque l’élément est acquis et qu’il n’est pas répété par la suite, la force de la trace subit une accélération négative jusqu’à ce qu’elle atteigne un niveau où l’élément est oublié (-1 dans la Figure 3.22). Donc, lorsque le filtre transfère un élément dans la mémoire de travail, il peut se produire deux choses. Premièrement, l’élément n’est pas dans la mémoire de travail, alors il est ajouté et le modèle considère que c’est la première répétition en stockant le temps d’acquisition TA. Le deuxième cas est celui où l’élément filtré est déjà dans la mémoire de travail. Alors, l’élément n’est pas dupliqué mais la répétition de cette information fait augmenter la valeur n de l’Équation 3.2 associée à cet élément. Cela implique que plus un élément est perçu et filtré souvent, plus la force de sa trace en mémoire augmentera (i.e. plus l’agent s’en souvient). Nous devons ainsi modifier légèrement la structure d’un regroupement dans la mémoire. Pour l’utilisation de l’Équation 3.2, chaque élément doit enregistrer les paramètres n et T pour le calcul de la fonction d’activation. Il faut ajouter deux champs pour stocker le nombre de répétitions de l’élément et le temps d’activation. Avec ces deux informations supplémentaires, il sera possible de calculer, pour chaque élément, la force de sa trace en mémoire. Pour ce qui
  • 89. -89- est de la structure exacte, nous allons la décrire un peu plus loin dans ce chapitre (section 3.6.6). Pour l’instant, il est suffisant d’associer un élément à trois valeurs soit n, t et la force de la trace calculée avec l’Équation 3.2. Force de la trace : Nombre de Temps lors de ln(4 / √(T - 10)) répétitions l’acquisition 0,24 4 10 Élément1 ... Figure 3.23 : Structure d’un élément La Figure 3.23 montre les champs associés à un élément : le temps lorsque l’élément a été acquis, le nombre de répétitions et la force de la trace en mémoire. La force de la trace en mémoire correspond au résultat de l’Équation 3.2 où T est le temps courant. En fait, l’équation demande le temps écoulé depuis l’acquisition de l’élément. Étant donné que le temps stocké correspond au temps de l’acquisition, il suffit de soustraire le temps courant du temps initial pour avoir le temps écoulé depuis l’acquisition. Par exemple, lorsqu’un agent perçoit et filtre le restaurant1 pour la première fois, il stocke l’information dans le regroupement Faim avec n = 1 et T = temps courant (disons 1). Par la suite, à chaque fois qu’il refiltre le restaurant1, il incrémente le n de l’Équation 3.2 d’une certaine valeur, disons 1. Après 2 répétitions consécutives du restaurant1, la force de la trace en mémoire est de 0,55 (ln(3 / √3) = 0,55). La Figure 3.24 montre l’évolution de la trace en mémoire lorsqu’il y a, à chaque itération d’un cycle de temps, répétition d’un élément.
  • 90. -90- Fonction de rétention avec 15 répétitions 1,6 1,4 Valeur d'activation 1,2 1 0,8 0,6 0,4 0,2 0 1 6 11 16 Durée écoulée depuis l'acquisition (sec) Figure 3.24 : 15 répétitions en 15 unités de temps Nous allons maintenant présenter un exemple complet d’utilisation de cette fonction pour montrer la réaction de la trace en mémoire d’un élément. Ensuite, nous allons caractériser et borner les paramètres de la fonction pour qu’elle corresponde exactement aux besoins de MAGS. 3.6.4.1 Exemple d’utilisation de la fonction d’activation Afin de bien comprendre comment l’interaction se fait entre les paramètres de la fonction d’activation et la force de la trace en mémoire, prenons un exemple concret d’utilisation. Considérons Bob, un agent de la simulation se promenant dans l’environnement. Soudainement, le besoin de faim se déclenche chez Bob, ce qui amène la création d’un objectif ayant la responsabilité de satisfaire le besoin de Bob. À partir de ce moment, le filtre de perception sélectionne tous les éléments de l’environnement susceptibles de satisfaire la faim de Bob. À un moment donné, Bob perçoit un restaurant appelé Restaurant1, que le filtre stocke dans la mémoire de travail puisqu’il est en lien avec l’objectif de l’agent. Lorsqu’il est,
  • 91. -91- pour la première fois, stocké dans la mémoire de travail, l’élément Restaurant1 se voit attribuer les valeurs n=1 et Ta=20 ce qui représente le nombre de répétitions et le temps d’acquisition de l’élément. Lorsque le module comportemental s’aperçoit qu’un élément est disponible pour atteindre l’objectif courant, il vérifie la pertinence de l’élément de cet agent. Par exemple, si Restaurant1 en question est dans la gamme de prix acceptable pour Bob ou si le menu qu’offre Restaurant1 se trouve dans les goûts de Bob. Si le module comportemental décide que l’élément peut répondre au besoin, il effectue l’action de se déplacer vers le restaurant1 et de l’utiliser. À partir de ce moment, Bob n’arrête pas de percevoir et tant qu’il n’a pas satisfait sa faim, son objectif reste toujours actif. Donc en se dirigeant vers Restaurant1, Bob perçoit et filtre Restaurant1, ce qui implique une série de répétitions pour l’élément dans la mémoire de travail. À chaque itération de la perception, le nombre de répétitions de Restaurant1 augmente de 1. Donc lorsque Bob est finalement arrivé et a utilisé le restaurant, 20 itérations du simulateur se sont écoulées. À ce moment précis, la valeur de la trace de Restaurant1 dans la mémoire de travail est de 1,5 = ln(20 / √(40-20)). Évolution de la trace de Restaurant1 1,6 1,4 1,2 Valeur d'activation 1 0,8 0,6 0,4 0,2 0 1 5 9 13 17 Durée écoulée depuis l'acquisition Figure 3.25 : Évolution de la trace de Restaurant1
  • 92. -92- Il est maintenant possible d’inclure un seuil pour que l’élément Restaurant1 passe dans la mémoire à long terme. Pour l’exemple, ce seuil est fixé à 1,5 ce qui signifie que l’élément a été transféré dans la mémoire à long terme. Maintenant que Bob a utilisé Restaurant1, son besoin de faim s’est estompé et il exécute maintenant un objectif moins prioritaire. À partir de ce moment, Restaurant1 n’est plus perçu et le nombre de répétitions n’augmente plus. Voici l’évolution correspondante de la trace en mémoire de Restaurant1. Évolution de la trace de Restaurant1 1,6 1,4 1,2 Valeur d'activation 1 0,8 Fin des 0,6 répétitions 0,4 0,2 0 1 5 9 13 17 21 25 29 33 37 Durée écoulée depuis l'acquisition Acquisition initiale Figure 3.26 : Évolution de la force de la trace de Restaurant1 dans la mémoire de travail Comme le montre la Figure 3.26, l’oubli de l’élément est beaucoup plus lent lorsque cet élément a été répété plusieurs fois. En effet, il est possible de comparer ce graphique avec la Figure 3.27 où un élément acquis n’a été répété que 6 fois consécutives. Au bout de 33
  • 93. -93- itérations, l’élément est complètement oublié (valeur d’activation = 0), comparativement à 400 itérations pour un élément répété consécutivement 20 fois (Figure 2.36). Évolution de la force de la trace suite à 6 répétitions 1 0,8 Valeur d'activation 0,6 0,4 0,2 0 -0,2 1 5 9 13 17 21 25 29 33 37 Durée écoulée depuis l'acquisition Figure 3.27 : Évolution de la force de la trace en mémoire après 6 répétitions La fonction d’activation semble être relativement cohérente avec les différentes théories cognitives qui traitent du sujet de l’acquisition et de l’oubli dans la mémoire. 3.6.4.2 Application de la fonction dans MAGS Dans la réalité, de même que dans MAGS, chaque personne est unique et individuelle. Cela implique que les taux d’acquisition et d’oubli ne sont pas les mêmes pour toutes les personnes. Si l’Équation 3.2 était implantée comme elle a été présentée, tous les agents de la simulation mémoriseraient et oublieraient de la même façon. De plus, il est intéressant de modéliser le fait qu’une personne en particulier a plus de facilité à mémoriser un élément parce que le lien émotionnel entre l’élément et cette personne est plus fort. Par exemple, un amateur de fromage mémorisera plus rapidement le nom d’un nouveau fromage étant donné qu’il possède un lien affectif et une expertise avec le domaine en question.
  • 94. -94- Afin de simuler ce genre de phénomènes, il est possible de modifier légèrement la fonction d’activation de la façon suivante : Équation 3.3 Fonction d’activation : A = ln(n * Tvd) L’équation 3.3 est exactement la même que l’équation 3.2 à l’exception que nous avons introduit la variable vd qui représente la valeur de dégradation (vd = -0,5 dans l’équation 3.2). Il est maintenant possible de faire varier vd et d’en analyser les effets. Fonction d'activation 2 1,8 1,6 Valeur d'activation 1,4 1,2 -0,5 1 -0,6 0,8 -0,4 0,6 0,4 0,2 0 1 5 9 13 17 Durée écoulée depuis l'acquisition Figure 3.28 : Fonction d'activation
  • 95. -95- Fonction d'activation 0 -0,2 -0,4 Valeur d'activation -0,6 -0,8 -0,5 -1 -0,6 -1,2 -0,4 -1,4 -1,6 -1,8 -2 1 5 9 13 17 Durée écoulée depuis l'acquisition Figure 3.29 : Fonction d'activation Les Figure 3.28 et Figure 3.29 montrent l’effet sur la force de la trace en mémoire lorsque la valeur de dégradation (vd) est modifié. Lors de l’acquisition, une valeur plus grande (-0,4) amène une croissance plus rapide de l’élément en mémoire. Donc, la même fonction décroît moins rapidement lors de la dégradation de l’élément. Ces tests montrent que la modification de ce paramètre entraine une courbe d’activation différente en mémoire. C’est avec ce paramètre que les agents pourront se différencier les uns des autres. Les études démontrent que, en moyenne, ce paramètre se situe aux environs de -0,5. En permettant une dispersion de ± 0,1, nous avons la possibilité de simuler deux phénomènes. Une première possibilité est que chaque agent se voit attribuer une valeur (vd) différente, ce qui modifiera la facilité globale de mémorisation de l’agent. Certains agents mémoriseront plus rapidement que d’autres, ce qui contribue à l’individualisation de la communauté virtuelle. La deuxième alternative est de se servir de cette modification non pas en fonction de chaque agent mais en fonction de chaque élément. Chaque agent pourrait contenir une table liant certains objets à une valeur représentant l’importance de cet objet pour l’agent. Donc si un agent affectionne un objet en particulier, la fonction d’activation de cet objet se verra attribuer une valeur de dégradation plus grande que les autres objets dans la mémoire de l’agent. L’impact sera que les agents mémoriseront plus rapidement certains objets.
  • 96. -96- Les deux propositions sont valables et il est possible d’utiliser les deux dans notre modèle de mémoire. Il suffit, en premier lieu, d’attribuer une valeur de base différente pour chaque agent. Par la suite, un objet pourrait fournir un incrément ou un décrément de la valeur de base, ce qui aura pour effet d’augmenter ou diminuer l’importance de cet objet pour l’agent. Par exemple, prenons deux agents A1 et A2 et attribuons leur respectivement les valeurs de dégradation (vd) de -0,55 et -0,47. À cet instant, ils ont une capacité de mémorisation différente, A2 mémorise plus rapidement tous les objets que A1. Par la suite A1 et A2 sont en promenade et ils aperçoivent un agent chat. La table de correspondance de l’agent A1 dit que l’importance des chats pour A1 est très élevée. A2, tant qu’à lui, n’accorde aucune importance aux chats donc aucune modification sur la valeur de dégradation pour l’agent chat en mémoire. Étant donné l’importance des chats pour A1, l’instance du chat en mémoire de A1 voit sa valeur de dégradation s’incrémenter de 0,08 (cette valeur vient de la table de correspondance de l’agent). Donc pour l’élément chat, la fonction de mémorisation de A1 a une valeur de dégradation de -0,47 (-0,55 + 0,08) qui est maintenant identique à celle de A2 pour l’élément chat. Donc l’importance d’un élément pour un agent donné vient augmenter la facilité de mémorisation de cet élément. 3.6.5 Passage vers la mémoire à long terme La mémoire de travail a aussi le mandat de gérer le transfert de l’information vers la mémoire à long terme. Autrement dit, c’est la mémoire de travail qui décide si un ou plusieurs de ses éléments doivent être mémorisés de façon permanente via le mécanisme de mise à jour. Le mécanisme de mise à jour est très simple et il se base sur la théorie de Atkinson et Shiffrin (1968) selon laquelle plus une information est répétée, plus elle a de chance de passer dans la mémoire à long terme. Étant donné que la répétition agit directement sur la force de la trace en mémoire des éléments, c’est sur cette valeur que le mécanisme de mise à jour prendra sa décision. En fait, plus cette valeur est élevée, plus les chances sont élevées que l’élément correspondant soit transféré dans la mémoire à long terme. La différence majeure avec l’approche de Atkinson et Shiffrin, c’est que la valeur considérée pour prendre la décision de mémoriser l’élément est modifiée par la fonction d’activation qui considère deux phénomènes:
  • 97. -97- la répétition et la rétention. Les deux phénomènes sont donc considérés lorsqu’il faut prendre une décision sur la mémorisation permanente d’un élément ce qui n’était pas le cas avec le modèle de Atkinson et Shiffin. Plus précisément, lorsque la valeur associée à un élément dépasse un certain seuil (qui sera paramétrable), l’élément est transféré dans la mémoire à long terme. Le fait que la trace d’un élément dépasse ce seuil implique que cet élément a été répété un certain nombre de fois dans un laps de temps relativement restreint. C’est alors que l’agent mémorise cet élément d’une façon plus permanente. 3.6.6 L’élément mémorisé Nous avons parlé à plusieurs reprises des éléments et des objets qui sont présents dans la mémoire de travail. Nous n’avons cependant jamais défini précisément la structure d’un élément mémorisé. Dans le contexte de MAGS, tous les éléments de l’environnement pouvant être perçus et mémorisés sont représentés par des agents. L’élément mémorisé est composé d’un pointeur vers l’agent correspondant (par exemple un pointeur vers Restaurant1) et d’une relation. Cette relation est, elle même, composée d’un identificateur qui indique le type de la relation et de la valeur de cette relation.
  • 98. -98- Identificateur Valeur de la de la relation relation 5 Faim 3 Plaisir Bob 6 Élément1 3 Élément5 Satisfaction 80 4 Élément2 Restaurant1 n T C Force de la trace de l’élément Paramètres de Pointeur la fonction vers l’agent d’activation mémorisé Chunk1 Chunk2 Figure 3.30 : Structure d'un élément La Figure 3.30 montre la mémorisation d’un élément (Élément5) qui représente une relation de satisfaction entre Bob et Restaurant1. L’élément stocke aussi les paramètres pour le calcul de la fonction d’activation soit le nombre de répétitions de l’élément (n), le temps lors de l’acquisition de l’élément (T) et la constante de dégradation qui peut varier d’un élément à l’autre selon son importance pour l’agent en question. Si, par la suite, il n’est pas nécessaire de mémoriser des relations, le champ identificateur et le champ valeur seront tout simplement nuls. Par exemple, mettons à nul les champs de l’identificateur et de la valeur de la Figure 3.30. Cela signifie que Bob se souvient du restaurant1; il n’y a aucune relation associée au souvenir de l’objet. Avec cette représentation, il est aussi possible de mémoriser un état d’un agent en particulier. Par exemple, remplaçons l’identificateur de relation par Ouverture et la valeur par 0. Cela signifie que Bob se souvient que Restaurant1 était fermé au moment de la mémorisation (Ouverture = 0).
  • 99. -99- Une autre caractéristique intéressante de notre modèle est qu’il est possible de remplacer Bob par un pointeur vers un autre agent (disons Joe). Cette modification implique que Bob se souvient que Joe est satisfait à 80% de Restaurant1. Cette particularité définit une dimension complètement différente puisque, maintenant, un agent est en mesure de mémoriser des éléments mettant en relation d’autres agents. Donc le modèle peut mémoriser une multitude de phénomènes avec une expressivité quand même raisonnable. 3.6.7 Conclusion sur la mémoire de travail La mémoire de travail est la structure la plus importante du modèle. Elle a pour tâche de contrôler tout le flux de données du modèle de mémoire. C’est à travers cette structure que les éléments pertinents sont rassemblés et maintenus afin de permettre aux autres modules de l’agent un accès vers ces éléments. C’est donc un module non négligeable puisque le bon fonctionnement du modèle dépend de la capacité de la mémoire de travail à bien remplir ses fonctions. 3.7 Mémoire à long terme La mémoire à long terme est d’une utilité évidente: sans elle, il serait difficile de distinguer des différences individuelles entre les agents de la simulation. Cette mémoire a pour tâche de mémoriser de façon permanente les éléments les plus pertinents que les agents ont perçus. Étant donné que les agents évoluent dans des sections différentes de l’environnement et que leurs besoins n’évoluent pas de la même façon, cela implique qu’ils mémorisent des éléments différents. C’est une propriété qui participe à l’individualisation des agents de la simulation. Nous avons vu que, dans la littérature, les mécanismes de la mémoire à long terme ne diffèrent pas vraiment de ceux de la mémoire à court terme. C’est aussi ce qui se produit dans MAGS. Il n’y a aucune raison de développer d’autres mécanismes spécifiques à la mémoire à long terme. Tout ce qui a été élaboré dans le cadre de la mémoire de travail est suffisant pour représenter le comportement de la mémoire à long terme. Il y aura sûrement quelques
  • 100. -100- différences dans les paramètres des mécanismes, mais la structure et les caractéristiques de la mémoire de travail sont pleinement applicables. Il s’agit quand même d’un module indépendant, donc nous allons décrire les fonctionnalités, la structure et les mécanismes que la mémoire à long terme devra respecter. 3.7.1 Structure La structure de la mémoire à long terme est exactement la même que la structure de la mémoire de travail. L’organisation est à base de regroupement par besoins et la structure des éléments mémorisés est identique. La seule modification majeure est la capacité de la structure. En fait, la mémoire à long terme a une capacité théoriquement illimitée et elle est en mesure de stocker tous les éléments que l’agent mémorisera. L’acquisition des éléments se fait via la mémoire de travail qui envoie l’information à la mémoire à long terme. Donc aucun mécanisme n’est nécessaire pour l’acquisition de l’information. La seule chose à vérifier, c’est que le regroupement correspondant à l’élément existe; s’il n’existe pas, il faut le créer. 3.7.2 Rétention Lorsque des éléments sont ajoutés dans la mémoire à long terme, il peut se produire deux choses. Soit l’élément existe déjà (c’est alors une répétition), soit c’est la première fois que l’élément est ajouté. Les mécanismes de répétition et de rétention sont les mêmes que ceux de la mémoire de travail. Une valeur représentant la force de la trace en mémoire est associée à l’élément et une fonction d’activation calcule cette valeur. Les différences qu’il faut noter sont que la fonction de rétention devra agir beaucoup plus lentement sur les éléments de la mémoire à long terme que sur les éléments de la mémoire de travail. L’avantage d’utiliser la fonction d’activation est que ce phénomène est considéré directement. Plus le nombre de répétitions augmente, plus la courbe de dégradation est lente (Figure 3.22).
  • 101. -101- Il y a une seconde différence majeure par rapport au mécanisme de rétention de la mémoire de travail. Lorsque la force de la trace en mémoire d’un élément atteint la valeur 0, il y a tout simplement perte de l’élément correspondant dans la mémoire de travail. Cependant, la mémoire à long terme ne considère aucune perte d’éléments. Selon Shiffrin, l’oubli dans la mémoire à long terme est simplement un échec de récupération de l’information. De plus, toutes les études sur l’acquisition de l’information montrent que la mémorisation d’un élément précédemment appris est plus rapide que l’acquisition d’un nouvel élément. Même si l’élément était « oublié » par la mémoire à long terme, sa remémorisation est plus rapide que celle d.un élément n’ayant jamais été mémorisé auparavant. Cela signifie qu’il faut garder une trace physique de tous les éléments qui ont été présents dans la mémoire à long terme. C’est pourquoi notre modèle n’élimine aucun élément. Nous parlerons plutôt du niveau de conscience de l’élément en question. Lorsque la fonction de rétention fera passer la force de l’élément au-dessous un certain seuil appelé niveau de conscience, cet élément ne sera pas récupérable et il sera considéré comme oublié. Pour qu’un élément soit récupéré, la force de sa trace dans la mémoire à long terme doit être au-dessus du niveau de conscience. 4 Faim 6 Plaisir 2 Repos 7 Argent 6 Élément1 6 Élément4 7 Élément12 4 Élément2 3 Élément3 1 Élément5 2 Élément8 Niveau de conscience Chunk1 Chunk2 Chunk3 Chunk4 Figure 3.31 : Mémoire à long terme
  • 102. -102- La Figure 3.31 montre un exemple de mémoire à long terme où le niveau de conscience est fixé à 2. Tous les éléments ayant une force plus petite que ce niveau de conscience sont irrécupérables. De plus, la fonction d’activation ne s’applique plus sur les éléments inconscients de la mémoire à long terme. Cela implique que la valeur d’un élément inconscient qui est répétée augmentera plus rapidement qu’un nouvel élément. C’est donc de cette façon que le modèle répond au phénomène de remémorisation. C’est-à-dire le fait qu’un élément jadis mémorisé se réapprend plus rapidement. En résumé, la nouveauté est l’intégration d’un niveau de conscience qui empêche la perte de l’information. Cela amène une autre différence entre la mémoire à long terme et la mémoire de travail : la capacité. Étant donné qu’il n’y a aucune perte d’information dans la mémoire à long terme, la capacité est théoriquement infinie. Pratiquement, la capacité est limitée par l’équipement matériel utilisé pour le système MAGS. 3.8 Conclusion sur le modèle de mémoire de MAGS Les sections précédentes ont positionné toutes les fonctionnalités nécessaires pour présenter un modèle de mémoire conceptuel cohérent et parfaitement lié à nos objectifs. Le but du chapitre était de définir les principaux mécanismes ainsi que les relations entre ces mécanismes avec un niveau de détail permettant une implantation directe dans le projet MAGS. Le modèle conceptuel de mémoire résultant du processus par lequel nous sommes passés dans les sections précédentes est présenté dans la Figure 3.32.
  • 103. -103- Environnement Perception Mémoire Perceptuelle Filtrage Perte Répétition et Mémoire de travail Perte Rétention Récupération Mise à jour Mémoire à Long Terme Rétention Figure 3.32 : Modèle de mémoire Le modèle de la Figure 3.32 est le résultat des fonctionnalités et des contraintes que nous avons fixées au départ. Il n’y pas de grandes différences par rapport aux différents modèles de la littérature, ce qui est encourageant. Cela signifie que le respect des contraintes du système ne produit pas une structure incohérente par rapport aux recherches antérieures en psychologie cognitive. Notre modèle conceptuel n’est pas révolutionnaire et il ne permet pas de simuler tous les phénomènes de la mémoire. Cependant, il permet la simulation cohérente des effets qui sont nécessaires pour un système multi-agent en temps réel tel que MAGS. Les principaux phénomènes sont représentés de façon détaillée et ils peuvent facilement être implantés dans MAGS. À notre connaissance, aucun autre modèle de mémoire aussi complet ne présente un niveau de détails de cette précision. Premièrement, nous avons présenté la structure de l’environnement, ce qui a permis de définir le mécanisme d’acquisition de l’information : la perception. Le mécanisme de perception de l’environnement est efficace, cohérent et très détaillé pour permettre l’implantation dans un
  • 104. -104- simulateur virtuel ou même un jeu vidéo. Par la suite, nous avons défini la structure et les mécanismes reliés à la mémoire perceptuelle. Cette structure sert à stocker le résultat de la perception pour permettre l’analyse des informations perçues. À ce stade-ci, il faut être en mesure de discriminer les objets perçus en fonction de leur pertinence pour l’agent percevant. Pour y arriver, nous avons expliqué comment un mécanisme de filtrage de l’information peut effectuer ce travail dans le contexte de simulation de phénomènes de foule. Les résultats du mécanisme de filtrage sont envoyés dans la mémoire de travail. C’est la structure la plus importante du modèle de mémoire car c’est elle qui réunit tous les éléments nécessaires pour effectuer la tâche courante. De plus, elle doit gérer l’accès au module comportemental et l’accès à la mémoire à long terme. C’est la structure centrale qui gère toutes les requêtes et qui gère, sans exception, tous les éléments filtrés. Ensuite, il y a la mémoire à long terme qui stocke tous les éléments mémorisés. La capacité de cette mémoire est théoriquement infinie et la présence de cette mémoire amène l’individualisation des agents dans la simulation. Une des forces de notre modèle de mémoire est l’intégration de la fonction d’activation de Altmann et Schunn qui calcule la force de la trace en mémoire. Cette fonction est cohérente, réaliste et efficace ce qui permet la simulation de plusieurs phénomènes cognitifs reliés à la mémoire. Ce chapitre a présenté plusieurs valeurs paramétrables dans différents modules du modèle de mémoire. Ces valeurs sont modifiables pour donner une plus grande flexibilité aux concepts encore à l’étude ou tout simplement pour donner au concepteur de la simulation la possibilité de mieux simuler certains phénomènes. Il faut rappeler que le système MAGS est une plateforme générale pouvant s’appliquer à de nombreux domaines (simulation de foules, simulation des consommateurs dans des centres d’achat, etc. ). Il est donc naturel du pouvoir définir certains paramètres pour l’utilisation du modèle de mémoire. La Figure 3.33 présente les éléments paramétrables pour les différentes composantes et les différents mécanismes du modèle de mémoire.
  • 105. -105- Mémoire Perceptuelle Mémoire de travail Mémoire à long terme Rayon de perception Les filtres à définir pour la Nombre de regroupements discrimination des éléments (chunk) maximum Nombre d’éléments maximum Nombre d’éléments par chunk Seuil de conscience Nombre de regroupements (chunk) maximum Seuil de passage pour le transfert d’un élément dans la mémoire à long terme Seuil d’oubli d’un élément Figure 3.33 : Valeurs modifiables dans le modèle de mémoire La Figure 3.34 présente en détail les structures du modèle conceptuel de la Figure 3.32. Les encadrés pointillés représentent les structures du modèle et les mots en italique sont les mécanismes pris en charge par les structures. Les éléments, les regroupements et le nombre ces structures présentes dans la Figure 3.34 sont évidemment des exemples d’utilisation du modèle.
  • 106. -106- Perception Mémoire Perceptuelle E1 E2 E3 … Mémoire de rejeté travail Filtrage E2 filtré Bob Relation 80 Accès 5 Plaisir 3 Faim Restaurant1 6 Élément1 3 Élément3 n T C 4 Élément4 Rétention et Répétition Mémoire à Récupération Mise à jour long terme 4 Faim 6 Plaisir 2 Repos 7 Argent 6 Élément6 6 Élément4 7 Élément12 4 Élément9 3 Élément3 1 Élément5 2 Élément8 Rétention et Répétition Figure 3.34 : Structure du modèle de mémoire
  • 107. -107- ____________________________________ Chapitre 4 Intégration du modèle de mémoire dans MAGS ____________________________________
  • 108. -108- 4 Intégration du modèle de mémoire dans MAGS Nous avons développé, dans les chapitres précédents, un modèle de mémoire avec des structures et des mécanismes bien définis. Toutes les fonctionnalités nécessaires à l’intégration de la mémoire dans chaque agent de la simulation sont présentes. Il est possible, avec ce modèle, de faire mémoriser aux agents des éléments de l’environnement, des états d’objets ou des relations entre un agent et les objets. Nous allons maintenant concrétiser tous nos modèles en intégrant notre modèle de mémoire dans le système MAGS. Premièrement, nous allons situer la position du modèle de mémoire dans l’architecture de MAGS. Ensuite, nous détaillerons toutes les structures à l’aide du diagramme de classes du modèle en expliquant chaque classe (structures et méthodes). Voici les composantes générales du système MAGS : Interface Contrôle Environnement Agent Figure 4.1 : Composantes principales de MAGS Il y a quatre modules servant à décrire d’une façon simple le système MAGS : L’interface, le module de contrôle, le module des agents et l’environnement (Figure 4.1). Interface L’interface est le seul module qui interagit avec l’utilisateur. Il sert à visualiser la simulation à l’aide du moteur 3D, visualiser les variables pertinentes pour l’usager et passer des commandes au système. En fait, il s’agit d’une interface utilisateur standard qui peut être adaptée aux besoins de la simulation.
  • 109. -109- Module de contrôle Le module de contrôle comprend toutes les classes de synchronisation entre l’interface et la simulation. Ce module gère la quantité de calcul alloué pour le comportement, la navigation, l’affichage 3D et la mémoire des agents. Étant donné que la simulation peut contenir des milliers d’agents, un tel module de contrôle est inévitable pour la gestion adéquate des ressources. L’environnement Nous avons brièvement abordé la structure de l’environnement dans le chapitre 3. Le module d’environnement contient évidemment l’environnement géographique, les objets, les bâtiments et les agents tels que décrits précédemment. Module d’agents Le module des agents est celui qui nous intéresse plus particulièrement. Un agent se compose principalement de deux composantes principales, soit le module comportemental (BehaviourModule) et le module d’état (TStates) dont la structure est présentée dans la Figure 4.2. Le module comportemental gère tout ce qui s’applique aux objectifs et aux actions des agents. Le lien qui existe entre les états et le comportement de l’agent est très important. L’activation d’un comportement en particulier est intimement liée aux états de l’agent au moment du raisonnement. Par exemple, si l’agent a faim (représentation de la faim par le TDynamicState détaillée dans [Pelletier, 2003]) et que l’agent possède de la nourriture (TPossessionState), alors le module comportemental active l’objectif de manger la nourriture qu’il possède. Donc, c’est en fonction des états de l’agent que le module comportemental raisonne. C’est ainsi que le modèle de mémoire s’inscrit parmi les états d’un agent. Par analogie avec ce qui précède, nous pouvons considérer le modèle de mémoire comme un état puisqu’il influencera directement le comportement de l’agent. En effet, c’est en fonction des éléments présents dans la mémoire de travail (alimentée via la perception ou la mémoire à long terme) que le module comportemental pourra prendre des décisions. Si l’agent a faim et qu’il ne perçoit aucun restaurant, son objectif sera de chercher un restaurant pour satisfaire sa faim. Un
  • 110. -110- autre agent ayant le même besoin (faim) pourrait avoir un comportement complètement différent. En effet, si cet agent perçoit un restaurant, il sera en mesure de combler immédiatement son besoin à l’aide du restaurant qu’il perçoit. Donc deux agents ayant le même besoin mais une perception différente voient leurs comportements différer. De la même façon, la mémoire à long terme peut influencer directement le comportement d’un agent. En fonction de ce que l’agent aura mémorisé, son comportement peut être complètement différent. C’est pourquoi le modèle de mémoire est considéré comme un état de l’agent ; parce qu’il influence directement le comportement. TAgent 1 1 1 BehaviourModule 1 TStates -m_DynamicStates -m_StaticState -m_NavigationState : TNavigationState -m_CommunicationState : TCommunicationState -m_PossessionState : TPossessionState TOccupantsState 1 1 -m_OccupantsState : TOccupantsState 1 1 TPossessionState -m_LocationState : TLocationState -m_MemoryState : TMemoryState * 1 1 1 1 1 * * * 1 TMemoryState TCommunicationState TStaticState TLocationState TNavigationState TDynamicState Figure 4.2 : Description d'un agent Nous allons donc détailler l’implantation de ce module en commençant par le diagramme conceptuel du module. Ensuite, nous détaillerons chaque mécanisme en expliquant le flux de données et les différentes méthodes du modèle.
  • 111. -111- Figure 4.3 : Diagramme de classes du modèle de mémoire
  • 112. -112- Les classes de la Figure 4.3 représentent assez explicitement le modèle de mémoire développé dans le chapitre 3. Il y a la mémoire perceptuelle modélisée avec la classe PerceptualMemory, la mémoire de travail (WorkingMemory) et la mémoire à long terme (LTMemory). Toutes ces classes sont contrôlées et gérées par la structure TMemoryState. 4.1 Mémoire perceptuelle L’implantation de la mémoire perceptuelle est assez simple. Il s’agit d’une classe avec une structure de données servant à contenir les éléments perçus. De plus, la classe représentant la mémoire perceptuelle contient une méthode qui implante le mécanisme de perception. Donc en appelant la méthode Perception(), celle-ci parcourt le champ de perception de l’agent dans l’environnement et stocke tous les éléments visibles dans la structure PerceivedObject. Les fonctions permettant d’accéder aux éléments de PerceivedObject ne sont pas explicitement représentées dans la classe. Il s’agit d’une structure de données permettant d’ajouter des éléments, de retirer des éléments et d’accéder à des éléments (c’est une simple liste d’éléments). 4.2 Mémoire de travail La mémoire de travail est la structure la plus complexe du modèle. Elle doit être à la fois efficace, simple, cohérente et complète dans les fonctionnalités disponibles. La première chose est de pouvoir définir des filtres pour la discrimination des éléments de la mémoire perceptuelle. Il faut, ensuite, appliquer ces filtres et stocker les éléments tout en respectant les contraintes de la mémoire de travail (capacité limitée et organisation des éléments). Ensuite, il faut paramétrer correctement la fonction de rétention et de répétition pour respecter la cohérence avec les théories cognitives. Donc les premières méthodes à être utilisées sont celles permettant d’ajouter ou de retirer des filtres. À cette fin, les méthodes AddFIlter() et RemoveFilter() sont disponibles à l’utilisateur du modèle. Il suffit de passer un filtre en paramètre pour que celui-ci soit ajouté à la structure
  • 113. -113- FilterList de la mémoire de travail. Un filtre est seulement une structure qui représente une condition. Par exemple, la proposition « Si POSITION(agent analysé) = (x=20,y=24) » implique une condition sur la position de l’agent analysé. Si la position de l’agent analysé est (x,y) = (20,24) alors l’agent est filtré et transféré dans la mémoire de travail. Le mécanisme de filtrage est représenté par la méthode Filter(). Cette méthode applique tous les filtres de la liste FilterList sur les éléments de la mémoire perceptuelle. Donc, pour chaque élément, tous les filtres sont appliqués et si l’un d’entre eux s’applique, l’élément est transféré à la structure ChunkManager de la mémoire de travail. Si aucun filtre ne s’applique pour l’élément en cours d’analyse, celui-ci est tout simplement retiré et perdu. La méthode Filter() prend un paramètre qui indique sur quel ensemble de données le filtre doit s’appliquer : la mémoire perceptuelle ou la mémoire à long terme. Il se peut que le module comportemental décide de faire appel aux éléments mémorisés dans la mémoire à long terme ou aux éléments issus de la perception. Ce sont les mêmes filtres qui s’appliquent dans les deux cas. Par exemple, si le filtre est « Si agent analysé = Restaurant », cela veut dire que l’agent cherche un restaurant. Selon le paramètre de la méthode Filter(), le filtre s’appliquera aux éléments de la mémoire perceptuelle ou à ceux de la mémoire à long terme. Mémoire de travail Filter(int Mem) Mem = 2 Mem = 1 Mémoire à Mémoire long terme Perceptuelle Figure 4.4 : Méthode de filtrage
  • 114. -114- WorkingMemory->Filter() { Soit ptrPerceivedObject un pointeur sur PerceptualMemory->PerceivedObject Pour chaque i de 0 à ptrPerceivedObject->GetSize() { Pour chaque j de 0 à FilterList->GetSize() { // Si le filtre j est vrai pour l’élément i Si FilterList->GetFilter(j) = ptrPerceivedObject->GetElement(i) { // On ajoute l’élément dans la mémoire de travail ChunkManager->AddElement(ptrPerceivedObject->GetElement(i)); } Sinon { // L’élément est perdu ptrPerceivedObject->RemoveElement(i); } } } } Figure 4.5 : Algorithme de filtrage de la mémoire de travail La structure ChunkManager est, en elle-même, assez complexe. Cette structure a pour tâche de gérer l’organisation des éléments, c’est-à-dire la création, la suppression et l’accès aux regroupements et aux éléments. ChunkManager est une instance de la classe ChunkManagement qui est composée d’une liste de MemoryChunk ainsi que des fonctions nécessaires à l’exploitation et à la gestion des regroupements. Donc lorsque la méthode filter() décide qu’un élément doit être transféré dans la mémoire de travail, la méthode appelle WorkingMemory->AddElement() avec l’élément à ajouter en paramètre. Cette méthode appelle ChunkManager->AddElement() qui effectue le travail suivant :
  • 115. -115- Si l’élément est déjà présent { // Incrémenter le nombre de répétitions de l’élément élément.NbRepetition++ } Sinon { Si le chunk qui doit contenir l’élément existe { Ajouter l’élément au chunk avec les valeurs par défaut } Sinon { //Il faut créer le Chunk Si Capacité = Plein { Enlever Un Chunk // Celui ayant la valeur ChunkForce la plus basse } CréerChunk Ajouter l’élément avec les valeurs par défaut } } Figure 4.6 : Algorithme pour l'ajout d'un élément dans la mémoire de travail Lorsque tous les éléments ont été filtrés, la mémoire de travail contient une liste de regroupements contenant des éléments. Il faut maintenant appliquer le mécanisme de rétention sur les éléments de la mémoire de travail. C’est la méthode WorkingMemory->Retention() qui effectue le travail. Son fonctionnement est assez simple, il s’agit de parcourir tous les éléments d’un regroupement et de calculer le coefficient d’importance de l’élément à l’aide de l’Équation 3.2 (A = ln(n / √T)). Lorsque tous les éléments du regroupement sont parcourus, la méthode calcule la moyenne des coefficients pour attribuer une valeur au regroupement et passe au prochain « Chunk ».
  • 116. -116- WorkingMemory->Retention() { // Boucle de parcourt chunk par chunk Pour chaque i de 0 à ChunkManager->GetNbChunk() { // Parcourt de tous les éléments du chunk i Pour chaque j de 0 à ChunkManager->GetChunkSize(i) { // Récupération de l’élément j dans le chunk i Element = ChunkManager->GetElement(i,j) // Calcul du coefficient d’importance pour l’élément j Element->Coefficient = ln(Element->n / √element->T) } // Assignation de la force du chunk i force = Moyenne des coefficient des éléments du chunk i ChunkManager->SetChunkForce(i, force) } } Figure 4.7 : Algorithme de rétention de la mémoire de travail Une autre fonctionnalité importante de la mémoire de travail est l’accès aux éléments. Lorsque le module comportemental a besoin d’accéder aux éléments de la mémoire de travail, il appelle la méthode WorkingMemory->GetElement(). L’appelant de la fonction peut spécifier en paramètre sur quel groupement il veut accéder aux éléments. Les regroupements représentent les besoins à satisfaire et sont identifiés par une chaîne de caractère. L’autre paramètre est l’index de l’élément à accéder (index de 0 à GetSize()). //Accès à tous les éléments du Chunk Faim Pour chaque i de 0 à WorkingMemory->ChunkManager->GetChunkSize(«faim») { Element = WorkingMemory->ChunkManager->GetElement(« faim », i) } Figure 4.8 : Accès à un élément du "chunk" Faim Avant de retourner l’élément, la méthode GetElement() applique la fonction de rétention pour s’assurer que l’élément est toujours valide.
  • 117. -117- 4.3 Mémoire à long terme Les fonctionnalités de la mémoire à long terme ressemblent à celles de la mémoire de travail ; les méthodes sont donc très similaires. Lorsque la méthode de rétention de la mémoire de travail est appliquée, elle évalue le coefficient d’importance et s’il est supérieur au seuil fixé par l’utilisateur, la méthode ajoute l’élément dans la mémoire à long terme à l’aide de la méthode LTMemory->AddElement(). Cette méthode fonctionne exactement comme celle de la mémoire de travail à l’exception qu’elle ne fait aucune vérification sur le nombre de regroupements présents dans la mémoire. AddElement() effectue la gestion du mécanisme de répétitions des éléments ainsi que des regroupements dans la mémoire à long terme. Ensuite, il y a la méthode LTMemory->Retention() qui effectue le même travail que la méthode de la mémoire de travail en appliquant l’équation 1 sur les éléments afin de calculer le coefficient d’importance. La seule façon d’accéder aux éléments de la mémoire à long terme, c’est avec la méthode WorkingMemory->Filter() qui applique les filtres sur les éléments de la mémoire. Si un des filtres s’applique sur l’élément en cours d’analyse et que cet élément n’est pas sous le seuil de conscience, il est transféré dans la mémoire de travail. 4.4 Contrôle et flux de données La synchronisation de tous ces mécanismes est effectuée par la classe TMemoryState. Elle gère toute la structure du modèle de mémoire et l’accès ne se fait que par cette classe. Les structures de mémoire sous-jacentes ne sont pas accessibles directement. La fonction principale de TMemoryState est la méthode Update(). C’est au moment où cette méthode est appelée que tout le processus s’enclenche. Bien sûr, avant d’appeler Update(), il est préférable d’ajouter les filtres nécessaires au modèle pour effectuer la tâche courante.
  • 118. -118- La méthode Update() commence par actionner le mécanisme de perception. Lorsque celui-ci a terminé son travail, la méthode Filter() est appelée pour transférer les éléments pertinents dans la mémoire de travail. Par la suite, il faut calculer le coefficient d’importance des éléments présents dans la mémoire de travail. Ce processus peut impliquer le transfert de certains éléments dans la mémoire à long terme. Agent TMemoryState TPerceptualMemory TWorkingMemory LTMemory Update() Perception() Filter() Filter() Filter() Retention() AddElement() {Si Coefficient > Seuil} Figure 4.9 : Diagramme de séquence lors de l’appel de TMemoryState->Update() Le diagramme précédent montre que la rétention s’effectue à chaque fois sur les éléments de la mémoire de travail lorsqu’une mise à jour est effectuée. Pour ce qui est de la mémoire de travail, ce calcul est nécessaire à chaque itération du modèle de mémoire puisque la capacité est limitée. La fonction de rétention doit parcourir tous les éléments et calculer le coefficient correspondant. Le processus peut s’avérer long dans le cas de la mémoire à long terme car la capacité de celle-ci est illimitée. Cependant, il n’est pas nécessaire de calculer, à chaque fois, le coefficient d’importance des éléments de la mémoire à long terme. Ce coefficient n’est nécessaire que lorsque l’élément est accédé. Une optimisation serait donc de calculer ce
  • 119. -119- coefficient seulement lorsqu’un élément de la mémoire à long terme est filtré. C’est pourquoi le diagramme de la Figure 4.9 ne montre pas d’appel à la méthode Retention() de la mémoire à long terme. La mise en application du modèle tel que développé dans le chapitre 3 est assez simple. La modélisation du modèle de mémoire a été effectuée avec, en tête, son implantation dans un système de simulation multi-agent temps réel. C’est pourquoi les structures et les mécanismes ont été détaillés et directement implantés. En résumé, ce chapitre a expliqué la mise en oeuvre du modèle de mémoire au niveau de la position qu’il occupe dans un système général, de la synchronisation des mécanismes et de la gestion des structures de données. Nous avons démontré d’une façon claire l’intégration de notre modèle dans le système temps réel multi-agent MAGS.
  • 120. -120- ____________________________________ Chapitre 5 Résultats et Conclusion ____________________________________
  • 121. -121- 5 Résultats et conclusion Nous avons défini, au début du chapitre 3, différentes fonctionnalités que le modèle de mémoire devait fournir tout en respectant certaines contraintes. Maintenant que le modèle est modélisé et intégré dans MAGS, il serait pertinent de vérifier si les spécifications sont respectées. Premièrement, la performance des mécanismes du modèle de mémoire sera analysée afin de mesurer l’impact de la modification de certains paramètres (le rayon de perception par exemple). Ensuite, une analyse générale du modèle de mémoire sera effectuée pour être en mesure de conclure sur la validité du modèle en fonction des contraintes établies. 5.1 Performances des mécanismes du modèle de mémoire MAGS MAGS a été développé sous un environnement Microsoft Windows pour s’exécuter sur un PC standard. Les tests présentés à travers ce chapitre ont été réalisés à l’aide d’un ordinateur Pentium III 1000Mhz avec 512 Mégaoctects de mémoire. Avec les résultats, nous présenterons la complexité des algorithmes, ce qui donnera une idée plus générale des performances du modèle de mémoire. De plus, il faut se positionner dans un contexte temps réel où le temps de calcul par itération du système est limité. Il n’est pas possible de consacrer tout le temps de calcul du système seulement pour l’exécution du modèle de mémoire des agents. Pour qu’une simulation puisse se dérouler correctement, MAGS doit exécuter un certain nombre de tâches par itération : 1. Faire naviguer tous les agents 2. Exécuter les algorithmes du module comportemental sur certains agents 3. Exécuter les algorithmes du modèle de mémoire sur certains agents 4. Effectuer l’affichage de la scène Afin d’obtenir une simulation temps réel cohérente et fluide, les points 1 et 4 doivent être effectués pour tous les agents à chaque itération. Ce sont donc des tâches obligatoires pour chaque cycle, ce qui réduit le temps disponible pour les autres tâches. Cependant, les points 2 et 3 peuvent être répartis sur plusieurs cycles. Autrement dit, il n’est pas nécessaire d’exécuter
  • 122. -122- le modèle de mémoire sur tous les agents dans le même cycle. Si la simulation comporte 1000 agents, il est possible de répartir l’exécution de la mémoire sur 10 cycles à raison de 100 agents par cycle. Il en est de même pour le module comportemental. Voici comment nous avons défini les contraintes temps réel pour le prototype de MAGS. Le temps alloué pour un cycle est de 33ms, ce qui est la norme minimale pour les simulations graphiques temps réel. À chaque cycle, le système doit faire avancer d’un pas tous les agents (navigation) et afficher la scène et cela, peu importe le nombre d’agents contenus dans la simulation. Lorsque ces deux tâches obligatoires sont effectuées, le système peut utiliser le reste du temps du cycle pour les autres tâches. Le temps restant (TR) après l’exécution des tâches obligatoires (TO) est TR = 33ms - TO. Les 2 autres tâches doivent donc se séparer le temps restant TR pour leurs propres calculs. Nous avons décidé, pour les tests du prototype, de donner la moitié du temps restant à chacune des deux tâches (50% pour le modèle de mémoire et 50% pour le module comportemental). Par exemple, si les tâches obligatoires prennent 10ms/cycle pour s’exécuter, il reste 23ms/cycle (33ms - 10ms) dont 11,5ms/cycle (23ms / 2) pour chaque tâche. Le système prend donc 11,5ms pour calculer les algorithmes du modèle de mémoire pour le plus d’agents possible. Lorsque le temps alloué est écoulé, le système passe la main à la tâche suivante. Un cycle de 33ms Tâches Obligatoires Modèle de mémoire Module comportemental Temps restant Figure 5.1 : Temps d'un cycle du système MAGS Évidemment, la répartition du temps restant est à la discrétion de l’utilisateur selon la simulation effectuée. À la limite, il serait possible de ne pas utiliser le modèle de mémoire et laisser la totalité du temps restant au module comportemental. Lorsque l’évaluation de la performance des mécanismes s’effectuera, les résultats seront présentés sous deux formes. La première sera le temps que prend le mécanisme pour un seul
  • 123. -123- agent. Suivant cela, il est possible de calculer le nombre d’agents qui peuvent exécuter le mécanisme dans une seconde lorsque tout le temps de calcul lui est dédié. La raison de présenter les résultats ainsi est qu’il sera plus simple, par la suite, d’attribuer le pourcentage de temps alloué pour un mécanisme en particulier. De plus, le fait de ramener l’unité de temps à une seconde permet de mieux présenter les résultats. Il n’est pas nécessairement évident de bien saisir les données lorsqu’elles sont présentées en millisecondes. La milliseconde est une unité de mesure moins commune que la seconde. 5.1.1 Perception L’algorithme de perception, présenté dans le chapitre 3, a une complexité O(n2) où n est le rayon de perception. Voici les résultats obtenus de l’algorithme de perception du modèle de mémoire avec un champ de perception de 90 degrés : Rayon de perception Nombre de cellules parcourues Temps de perception pour 1 agent 20 cellules 202 = 400 0,44 ms 40 cellules 402 = 1600 1,364 ms 60 cellules 602 = 3600 3,67 ms 80 cellules 802 = 6400 6.667 ms 100 cellules 1002 = 10000 10 ms * Dans MAGS, 1 cellule = 0,678 mètres Figure 5.2 : Résultat du mécanisme de perception Cet algorithme peut devenir très coûteux si le rayon de perception devient grand. Le problème avec cet algorithme c’est le nombre important de cellules à parcourir pour effectuer la perception dynamique de l’environnement. La Figure 5.3 montre que la valeur de rayon optimale de l’algorithme est lorsque que celui-ci est fixé environ à 40 cellules. Par la suite, il devient beaucoup trop coûteux de percevoir dans un contexte temps réel.
  • 124. -124- Temps de calcul de la perception 12 10 8 Temps (ms) 6 4 2 0 0 20 40 60 80 100 120 Rayon (m) Figure 5.3 : Temps de calcul de la perception par rapport au rayon de perception En considérant un rayon de perception de 40 cellules, le système MAGS est en mesure de faire percevoir 730 agents par seconde lorsque tout le calcul est dédié à cette tâche. La Figure 5.4 montre un agent (point rond) et son champ de perception (zone noire quadrillée) à travers des bâtiments et des maisons. Lorsque l’algorithme de perception a été présenté dans le chapitre 3, il y avait 3 modes d’approximation possibles. Voici la différence entre le mode d’approximation minimum (à gauche) et le mode d’approximation maximum (à droite). Figure 5.4 : Visualisation de la zone de perception d’un agent
  • 125. -125- La différence entre les deux modes d’approximation est assez marquante. Le mode minimum pourrait être qualifié comme une perception dans le meilleur cas. C’est-à-dire que, lorsqu’il y a une ambiguïté sur la zone de perception, elle est résolue en considérant la zone visible. Le mode maximum, quant à lui, est qualifié comme un mode de perception dans le pire cas. La signification du pire cas est que la zone considérée visible est perçue sans aucun doute. C’est donc une bonne façon de pouvoir simuler des phénomènes « pessimistes » où les agents ont une perception en pire cas pour bien évaluer les impacts d’une décision. Par exemple, un organisme a la responsabilité d’évaluer l’impact de la construction d’un bâtiment sur un passage pour piétons. Dans ce cas, il serait intéressant de pouvoir simuler des piétons et des automobilistes avec une perception dans le pire cas. Si, avec ce mode de perception, les piétons et les automobilistes sont en mesure de percevoir correctement pour éviter les risques, cela désigne que l’impact du bâtiment sur la visibilité du passage pour piétons est minime. 5.1.2 Mécanisme de Filtre L’algorithme servant à filtrer les éléments de la mémoire perceptuelle vers la mémoire de travail est présenté dans le chapitre 4. Il est très difficile de donner une idée sur les performances de ce mécanisme puisqu’elles sont très changeantes. Contrairement à la perception qui dépend seulement du rayon utilisé, le filtre dépend du nombre de filtres et du nombre d’éléments qui se trouvent dans la mémoire perceptuelle. En fait, chaque élément de la mémoire perceptuelle est analysé par tous les filtres. Suivant cela, il est simple de conclure que l’algorithme a une complexité O(f * e) où f est le nombre de filtres et e le nombre d’éléments dans la mémoire perceptuelle. À partir de la complexité et de quelques tests, il sera possible d’obtenir une idée générale des performances. Une chose est certaine cependant, c’est que ce mécanisme ne consomme pas beaucoup de ressources puisque le nombre de filtres et d’éléments perçus ne sont jamais très grands (environ 15 éléments perçus).
  • 126. -126- Nous avons testé l’algorithme avec 10 filtres et 12 éléments perçus et les résultats étaient très satisfaisants : 8 microsecondes par agent. Donc en considérant la complexité comme Cst * f * e, la constante cachée est de Cst * 10 * 12 = 0,008 ms => Cst = 0,008 / 120 = 0,0000667. Avec la valeur de cette constante, il est possible d’estimer le temps d’exécution du mécanisme de filtre avec n’importe quelle quantité de filtres et d’éléments. Par exemple, si l’agent possède 10 filtres et qu’il perçoit 50 éléments, le temps de filtrage devrait être d’environ 0,033 ms (0,0000667 * 10 * 50). C’est donc un mécanisme négligeable dans le modèle de mémoire compte tenu du temps que prend la perception. 5.1.3 Mécanisme de Rétention Le mécanisme de rétention est, en soi, très simple à analyser. C’est un algorithme qui parcourt tous les éléments de la mémoire de travail afin de calculer leur coefficient d’importance. La complexité est donc linéaire O(a) où a est le nombre d’éléments présents dans la mémoire de travail. Généralement, la mémoire de travail ne contient pas un grand nombre d’éléments ce qui rend l’exécution du mécanisme très rapide. Nos tests réalisés avec MAGS confirment que le nombre d’éléments au même moment dans la mémoire de travail ne dépasse pas 10 [Pelletier, 2003]. La mémoire à long terme a aussi un mécanisme de rétention qui est exactement le même que celui de la mémoire de travail. La différence dans l’analyse de la performance est le nombre d’éléments que la mémoire à long terme peut contenir. Cependant, la fonction de rétention de la mémoire à long terme ne s’applique que lorsqu’un élément est accédé, ce qui rend ce mécanisme O(1) en terme de complexité. C’est, par conséquent, un mécanisme secondaire qui se confond dans le reste du modèle de mémoire.
  • 127. -127- 5.2 Analyse générale du modèle de mémoire Le modèle de mémoire semble relativement efficace compte tenu de la performance des différents mécanismes. Pour s’en assurer, la première chose à faire sera de présenter les résultats pour l’exécution de tout le modèle de mémoire. Par la suite, l’analyse et la discussion des résultats présentés seront effectuées pour déterminer la cohérence du modèle avec les spécifications énoncées. Pour les tests du modèle de mémoire, des mesures ont été effectuées en utilisant différents rayons de perception. Le filtre contient 10 filtres et le nombre moyen d’éléments dans la mémoire de travail est de 7. Avec cette configuration, voici les résultats obtenus : Rayon de perception Temps de calcul pour 1 agent 20 cellules 0,517 ms 40 cellules 1,58 ms 60 cellules 3,5 ms 80 cellules 5,75 ms 100 cellules 10 ms Figure 5.5 : Résultats du modèle de mémoire (grille) Temps de calcul du modèle de mémoire 12 10 Temps (ms) 8 6 4 2 0 0 20 40 60 80 100 120 Rayon de perception (m) Figure 5.6 : Résultats du modèle de mémoire (graphique)
  • 128. -128- En analysant les résultats, on s’aperçoit qu’ils sont presque identiques aux résultats obtenus par le mécanisme de perception. En fait, c’est le cas puisque les autres mécanismes sont négligeables comparativement au temps de calcul de la perception. La complexité du modèle de mémoire est la somme de la complexité de tous les mécanismes puisqu’ils s’exécutent séquenciellement : Complexité = O(n2) + O(f*e) + O(a) Dans l’équation précédente, n est le rayon de perception, f est le nombre de filtres, e est le nombre d’éléments de la mémoire perceptuelle et a est le nombre d’éléments présents dans la mémoire de travail. Pour bien comparer ces complexités, il faut ramener toutes ces valeurs en relation avec une seule. Étant donné que f,e et a sont généralement inférieures à n, nous pouvons estimer la complexité du modèle à O(n2). Donc le modèle de mémoire a une complexité générale de O(n2) où n est le rayon de perception. Cette analyse est cohérente avec les tests effectués qui montrent que la perception est le mécanisme central sur lequel les performances du modèle reposent. Avec ces résultats, il est possible d’exécuter le modèle de mémoire pour 632,9 agents dans une seconde. Ce nombre est obtenu lorsque le rayon de perception est de 40 cellules et que tout le temps de calcul est consacré à la mémoire. Maintenant, nous allons effectuer les tests en simulation réelle, ce qui veut dire que toutes les autres tâches seront présentes (navigation, affichage, comportement, mémoire). Le système consacrera 50% du temps restant pour le modèle de mémoire et 50% pour le module comportemental. Les tests seront réalisés dans un environnement 3D contenant 200 agents.
  • 129. -129- Voici la performance des différents modules : Affichage 2 ms Navigation 4 ms Mémoire 14 ms pour 10 agents Comportement 7 ms pour tous les agents (200) Total du cycle 27 ms Figure 5.7 : Temps de calcul des composantes de MAGS Suivant ces résultats, le temps pour les tâches obligatoires est de 6ms, ce qui donne un temps restant de 27ms (33ms - 6ms). Ce temps restant est divisé à part égale et alloué à la mémoire (13,5ms) et au module comportemental (13,5ms). Le modèle de mémoire est en mesure de calculer 10 agents pendant son 13,5ms. À ce rythme, les 200 agents de la simulation prendront 20 cycles pour qu’ils puissent tous exécuter leurs mécanismes de mémoire. À 27 ms / cycle, le système prendra 540ms, environ une demie seconde, pour que tous les agents perçoivent et mémorisent. Le module comportemental, quant à lui, ne prend pas tout le temps qui lui est alloué puisqu’il réussit à exécuter le comportement de tous les agents en 7 ms. C’est pour cette raison que le cycle dure 27 ms et non 33 ms. Étant donné que la performance du modèle de mémoire ne dépend pas du nombre d’agents présents dans la simulation, il est possible d’augmenter considérablement le nombre d’agents tout en restant cohérent. Par exemple, si le nombre d’agents d’une simulation est de 1000, le système prendra 1,4 sec ((1000 agents) * (1,4 ms / agent)) pour exécuter le modèle de mémoire de tous les agents. Cela signifie qu’un agent percevra et mémorisera son environnement à toutes les secondes et demi. La Figure 5.8 est une visualisation d’une simulation de foule de 10 000 agents réalisée avec MAGS dans un l’environnement 3D de la ville de Québec.
  • 130. -130- Figure 5.8 : Visualisation d'une simulation Le problème avec notre modèle de mémoire est que les résultats ne se visualisent pas très bien. La raison est la nature temporelle de la mémoire. Cependant, il est quand même possible de visualiser certains aspects de la mémoire. Par exemple, la Figure 5.9 représente une carte de mémoire d’un agent à un instant donné. La trace blanche correspond au trajet effectué par l’agent jusqu’au moment où la « photo » de la carte de mémoire a été prise. Les éléments mémorisés sont représentés par les couleurs sur la carte. Plus la couleur est foncée, plus la force de trace de l’élément en mémoire est basse et vice-versa. Donc les éléments plus pâles ont une trace en mémoire beaucoup plus forte. Il est possible, avec cette carte, d’analyser certains aspects de cohérence notamment le fait qu’un élément perçu il y a quelque temps et qui n’est pas répété s’effacera graduellement en mémoire. C’est ce qu’on remarque dans la
  • 131. -131- carte avec les éléments au début du trajet qui sont moins forts en mémoire que ceux récemment perçus. Figure 5.9 : Carte de mémoire d'un agent à un instant donné 5.3 Discussion et conclusion sur le modèle de mémoire Maintenant que le modèle de mémoire a été modélisé, intégré, testé et qu’il a produit des résultats, il faut analyser la conformité de ces résultats. La question à laquelle il faut répondre est la suivante : le modèle de mémoire respecte-t-il les contraintes souhaitées et offre-t-il les fonctionnalités demandées? La première chose que nous avons faite est une revue bibliographique dans le domaine de la recherche sur la mémoire humaine. Cette revue a permis de situer les principaux concepts et les principales fonctionnalités que la mémoire doit posséder. Suivant cela, nous avons établi les fonctionnalités nécessaires à un modèle de mémoire pour qu’il représente, d’une façon relativement cohérente, les phénomènes de la mémoire humaine. Les fonctionnalités que notre modèle de mémoire devaient respecter sont les suivantes : • Perception de l’environnement
  • 132. -132- • Discrimination d’éléments • Mémorisation d’éléments • Récupération des éléments mémorisés • Oubli progressif (semblable aux mécanismes cognitifs de la mémoire humaine) L’un des mécanismes les plus importants est la perception et notre modèle de mémoire supporte cette fonctionnalité. Il est possible de percevoir l’environnement dynamique avec une certaine distance (rayon de perception paramétrable). Les informations perçues sont stockées dans une structure appelée la mémoire perceptuelle. La validité du mécanisme de perception s’appuie sur le fait qu’il est basé sur la technique des lignes de vue qui est la plus répandue dans ce domaine d’application. Le mécanisme de filtre répond très bien au besoin de discrimination d’éléments. Il sert à identifier les éléments pertinents pour l’agent en filtrant, à travers tous les éléments perçus, les éléments qui sont utiles à l’agent pour effectuer sa tâche courante. Évidemment, le but premier d’un modèle de mémoire est de mémoriser des éléments. Notre modèle le fait très bien à l’aide de deux structures : la mémoire de travail et la mémoire à long terme. De plus, notre modèle permet de mémoriser non seulement des éléments, mais aussi des relations entre ces éléments, ce qui offre une expressivité de mémorisation satisfaisante. Il est naturellement possible de récupérer les éléments mémorisés à travers la structure de la mémoire de travail qui effectue le travail de gestion des éléments mémorisés. Un point important que notre modèle de mémoire modélise très bien est sa capacité à oublier des éléments. Cela peut paraître évident, mais c’est un problème assez complexe. Il ne faut pas modéliser seulement l’oubli mais aussi le phénomène d’acquisition et de répétition d’un élément. Par la suite, il faut intégrer ces concepts à celui de la rétention de l’information pour former la force de la trace d’un élément en mémoire. En adoptant la technique de Altmann et Schunn [Altmann & Schunn, 2003], nous avons doté le modèle de mémoire d’un mécanisme pouvant faire évoluer la trace d’un élément en fonction du nombre de répétitions et en fonction du temps écoulé depuis l’acquisition.
  • 133. -133- C’est donc dire que notre modèle de mémoire a la possibilité de fournir toutes les fonctionnalités que nous avions énoncées au départ et même plus. La question maintenant est de savoir si le respect de ces fonctionnalités permet de satisfaire les contraintes du système. En fait, nous avions trois principales contraintes de performances qui étaient : 1. Tous les mécanismes devront s’exécuter en temps réel (i.e 33ms ou moins) afin que la mémoire n’occupe pas tout le temps de calcul. 2. Chaque agent devra posséder ses propres structures et ses propres mécanismes (pas de données, de structures ou de connaissances partagées). 3. Le modèle doit se limiter aux contraintes d’un ordinateur personnel (mémoire limitée, vitesse d’exécution faible, etc.). Avant d’aborder la performance du modèle, nous avons d’abord modélisé et intégré celui-ci dans le système MAGS. Le choix de la modélisation a été fait en respectant totalement le point 2 précédent: chaque agent possède ses propres structures et ses propres mécanismes tels que décrits dans le chapitre 4. Ensuite, le modèle de mémoire a été testé afin de démontrer qu’il était en mesure de s’exécuter en temps réel sur un ordinateur personnel (voir chapitre 4). Suite à cela, nous pouvons conclure en disant que le modèle de mémoire, présenté dans le cadre de ce document, respecte les fonctionnalités nécessaires pour mémoriser des éléments dans un système multi-agent en temps réel. Le modèle de mémoire tel que décrit correspond bien à nos besoins. Évidemment il n’est pas complet. En effet, plusieurs choix ont été faits afin d’alléger les mécanismes pour que le modèle s’intègre dans le système temps réel MAGS. Suite à ces choix, certains phénomènes cognitifs de la mémoire ne sont pas représentés. La suite logique du travail serait, à court terme, d’étendre les fonctionnalités du modèle de mémoire afin de simuler un plus grand nombre de mécanismes cognitifs. Par exemple, un volet intéressant serait d’introduire des mécanismes de généralisation d’éléments. Le concept de généralisation est le même que celui du système cognitif humain, c’est-à-dire avoir la capacité de créer des prototypes généraux représentatifs des éléments mémorisés. Actuellement, notre modèle de mémoire ne fait que mémoriser des éléments. Ainsi, si un agent a mémorisé le modèle de voiture Porsche, il sera
  • 134. -134- incapable de dire qu’une BMW est aussi une voiture. Évidemment, ce genre de phénomènes se rapproche beaucoup plus de l’apprentissage que de la mémorisation, mais ces concepts sont quand même intimement liés. À ce stade-ci des recherches, il est très difficile d’évaluer la cohérence des données produites par le modèle de mémoire. Pour y arriver, il faudrait être en mesure de comparer les données du modèle avec les données de la mémoire humaine dans un contexte donné. Il y a tellement de variables dans le comportement humain qu’il est, actuellement, impossible de reproduire exactement un phénomène cognitif de haut niveau comme celui que nous avons présenté. En fait, il ne s’agit pas seulement d’expérimenter la mémoire sur un phénomène précis mais d’évaluer le comportement global du système cognitif de la mémoire humaine dans une certaine situation. La preuve formelle de la cohérence du comportement de mémorisation est donc un enjeu de taille et d’avenir. Pour terminer, il est évident qu’il reste beaucoup de choses à explorer dans ce domaine où presque tout reste à faire. Nous pensons avoir fait un pas dans la bonne direction en proposant un modèle de mémoire flexible et efficace capable de s’intégrer dans une simulation multi- agent en temps réel. Avec ce modèle, les agents possèdent maintenant un outil supplémentaire pour évoluer dans une simulation virtuelle à l’aide de comportements se basant sur des aspects cognitifs.
  • 135. -135- ____________________________________ Bibliographie ____________________________________
  • 136. -136- 6 Bibliographie [Aginsky & Tarr, 2000] Aginsky, V., & Tarr, M. J. (2000) : How are different visual properties of a scene encoded in visual memory? Visual Cognition, 7 (1/2/3), 147-162. [Reprinted in Change Blindness and Visual Memory, D. J. Simons (ed.), England: Taylor & Francis Books] [AJ, 1954] A. J. (1954) : Mayne Biometrica 41, 375-389. [Altmann & Schunn, 2003] Altmann, E. M. & Schunn, C. D. (2003) : Integrating decay and interference: A new look at an old interaction. Proceedings of the 24th annual meeting of the Cognitive Science Society. Hillsdale, NJ : Erlbaum. [Aloimonos, 1994] Aloimonos, Y. (1994) : What i have learned. CVGIP : Image understanding, 60(1), pages 74- 85. [Anderson, 1998] Anderson, J., & Lebiere, C. (1998) : Atomic Components of Thought: Lawrence Erlbaum. [Anderson, 1978] Anderson, J. R. (1978) : Arguments concerning representations for mental imagery. Psychological Review, 85(4), 249-277. [Anderson, 1990] Anderson, J.R. (1990) : The adaptive character of thought. Hillsdale, NJ: Lawrence Erlbaum. [Anderson, 1993] Anderson, J.R. (1993) : Rules of the Mind. Hillsdale, NJ: Lawrence Erlbaum. [Anderson & Fincham, 1999] Anderson, J. R., Fincham, J. M. & Douglass, S. (1999) : Practice and retention: A unifying analysis. Journal of Experimental Psychology: Learning, Memory, and Cognition, 25, 1120- 1136 [Ashford, 1976] Ashford, N., O'Leary, M. & McGinity, P. D (1976) : Stochastic modelling of passenger and baggage ows through an airport terminal. Traffic Engineering and Control 17, 207-210. [Atkinson & Shiffrin, 1968]
  • 137. -137- Atkinson, R.C. & Shiffrin, R.M. (1968) : Human memory: A proposed system and its control processes. In K.W. Spence & J.T. Spence (Eds.), The psychology of learning and motivation New York: Academic Press. [Baddeley, 1998] A. D. Baddeley (1998) : Recent development in Working Memory. Current opinion in neurobiology. [Baddeley, 1986] A. D. Baddeley (1986) : Working Memory. Oxford University Press, Oxford. [Bérubé, 1991] Louise Bérubé (1991) : Terminologie de neuropsychologie et de neurologie du comportement. Recherche et réd. Louise Bérubé, 176. [Broadbent, 1958] Broadbent, D. E. (1958) : Perception and communication. New york, Pergamon press. [Brown & Hulme, 1995] Brown, G. D., & Hulme, C. (1995) : Modeling item length effects in memory span: No rehearsal needed? Journal of Memory and Language, 34, 594-624. [Cave, Press] Cave, K.R., & Pashler, H. (in press) : Visual selection mediated by location: Selecting successive visual objects. Perception & Psychophysics. [Cave & Pashler, 1994] Cave, K.R., & Pashler, H. (1994) : Visual selection mediated by location: Selecting noncontiguous locations. Manuscript submitted for publication. [Chase & Simon, 1973] Chase, William G., and Herbert A. Simon. (1973) : Perception in chess. Cognitive Psychology. [Coltheart, 1983] Coltheart, M. (1983) : Ecological necessity of iconic memory. Behavioral and Brain Sciences, 6, 17-18. [Craik & Lockhart, 1972] Craik, F.I.M. & Lockhart, R.S. (1972) : Levels of processing: a framework for memory research. Journal of verbal learning and verbal behavior, 671-684. [Craik & Watkins, 1973] Craik, F. I. M., & Watkins, M. J. (1973) : The role of rehearsal in short-term memory. [Darwin, 1859]
  • 138. -138- Darwin, C. (1975) : The origin of the species (P. Appleman, Ed). New York : W. W. Norton (Original work published 1859). [David, 1998] David. E. Kieras David. E. Meyer (1998): The EPIC architecture : principles of operation. Department of Psychology, University of Michigan. [De Floriani & Jeanne & Nagy, 1993] De Floriani L, Jeanne P and Nagy G (1993) : Visibility-related image features. Pattern Recognition Letters 13, 463–470 [De Floriani & Magillo, 1994] De Floriani L & Magillo P (1994) : Visibility algorithms on DTMs. Int. J. Geographic Information Systems 8(1), 13–41 [DeGroot, 1965] DeGroot, A.D. (1965) : Thought and Choice in Chess. The Hague, the Netherlands: Mouton. [Dosher & MA, 1998] Dosher, B. A. & Ma, J. J. (1998) : Output loss or rehearsal loop? Output-time versus pronunciation-time limits in immediate recall for forgetting-matched materials. Journal of Experimental Psychology: Learning,Memory, and Cognition, 24, 316-335. [Ebbinghaus, 1885] Ebbinghaus, H. (1913) : Memory : A contribution to experimental psychologie. New York : Teachers College, Columbia University. (Original work published 1885). [Fisher, 1993] Fisher PF (1993) : Algorithm and implementation uncertainty in viewshed analysis. Int. J. Geographical Information Systems 7, 331–347 [Franklin & Ray, 1994] Franklin WR & Ray C (1994) : Higher isn’t necessarily better: Visibility algorithms and experiments. in T. C Waugh and R. G Healey, eds, Advances in GIS Research: Sixth International Symposium on Spatial Data Handling. Taylor & Francis Edinburgh pp. 751–770 [Franklin & Graesser, 1997] Franklin, S. & Graesser, A. (1997) : Is it an agent or just a program ?: A taxonomy for autonomous agents. In Muller J. P., Wooldridge M. J. and Jennings N. R. (eds), Intelligent Agents III : Agent theories, architectures and languages, Springer 21-35. [Franklin, 1999] Franklin, WR. (1999) : Terrain visibility ideas. Rensselaer Polytechnique Institute, New York. URL : http://www.ecse.rpi.edu/Homepages/wrf/research/vis/ [Franklin, 2000]
  • 139. -139- Franklin WR (2000) : Applications of analytical cartography. Cartography and Geographic Information Systems 27(3), 225–237 [Franklin, 2002] Franklin, WR. (2002) : Siting observers on terrain. Rensselaer Polytechnique Institute, New York. [Gibson, 1979] Gibson, J. J. (1979) : The Ecological Approach to Visual Perception. Houghton Mifflin, Boston. [Girod, 1997] Bernd Girod, (1997) : Human vision perception. Image and Video compression, chapitre 5, Standford University. [Gillund & Shiffrin, 1984] Gillund, G., & Shiffrin, R. M. (1984) : A retrieval model for both recognition and recall. Psychologicall Review, 91(1),, 1-67. [Gipps, 1985] Gipps, P. G. & Marksjo, B (1985) : Mathematics and Computers in Simulation 27, 95{105. [Glenberg, 1977] Glenberg, A.M., Smith, S.M. & Green, C. (1977) : Type 1 rehearsal: Maintenance and more. Journal of Verbal Learning and Verbal Behavior, 16, 339-352. [Haber, 1983] Haber, R. N. (1983) : The impending demise of the icon: A critique of the concept of iconic storage in visual information processing. Behavioral and Brain Sciences, 6, 1-11. [Henderson, 1974] Henderson, L. F (1974) : On the fluid mechanics of human crowd motion. Transportation Research 8, 509-515. [Helbing, 1998] Dirk Helbing and Peter Molnar (1998) : Self-Organization Phenomena in Pedestrian Crowds II. Institute of Theoretical Physics, University of Stuttgart, 70550 Stuttgart, Germany. [Helbing & Molnar, 1995] Helbing, D. & Molnar, P. (1995) : Social force model of pedestrian dynamics. Physical Review E 51, 4282-4286. [Helbing & Molnar & Schweitzer, 1994] Helbing, D., Molnar, P. & Schweitzer, F (1994) : Computer simulations of pedestrian dynamics and trail formation. In Evolution of Natural Structures, 229-234.
  • 140. -140- [Helbing, 1999] D. Helbing and M. Schreckenberg (1999) : Cellular automata simulating experimental properties of traffic flows. Physical Review E 59, R2505-R2508. [Hoffman, 1981] Hoffman, J.E. & Nelson, B. (1981) : Spatial selectivity in visual search. Perception & Psychophysics, 30, pages 283-290. [Hintzman, 1988] Hintzman D (1988) : Judgments of frequency and recognition memory in a multiple-trace memory model. Psychological Review 95: 528-551. [Hoffman, 1972a] Eriksen, C. W., and Hoffman, J. E. (1972): Some characteristics of selective attention in visual perception determined by vocal reaction time. Perception and Psychophysics, 11, 169-171. [Hoffman, 1972b] Eriksen, C. W., and Hoffman, J. E. (1972) : Temporal and spatial characteristics of selective encoding from visual displays. Perception and Psychophysics, 12, 201-204. [Hoffman & Nelson, 1981] Hoffman, J.E. & Nelson, B. (1981) : Spatial selectivity in visual search. Perception & Psychophysics, 30, pages 283-290. [Hull, 1952] Hull, C. L. (1952) : A Behavior System. New Haven: Yale University Press. [Just & Carpenter, 1992] Just, M. A. & Carpenter, P. A. (1992) : A capacity theory of comprehension: individual differences in working memory. Psychological Review, 1, 122-149. [Kahneman, 1973] Kahneman, D. (1973) : Attention and Effort. New York: Prentice-Hall. [Kahneman & Treisman, 1984] Kahneman, D. & Treisman, A. M. (1984) : Changing views of attention and automaticity. In R. Parasuraman & D. R. Davies (eds.), Varieties of Attention, 29-61, Acad. Press. [Kieras & Meyer, 1997] Kieras, D. E, and Meyer, D. E. (1997) : An overview of the EPIC architecture for cognition and performance with application to human-computer interaction. Human-Computer Interaction, Vol. 12, 391-438. [Kieras, Meyer, Mueller & Seymour, 1999]
  • 141. -141- Kieras, D. E., Meyer, D. E., Mueller, S., & Seymour, T. (1999) : Insights into working memory from the perspective of the EPIC architecture for modeling skilled perceptual-motor and cognitive human performance. In A. Miyake & P. Shah (Eds.), Models of working memory: Mechanisms of active maintenance andexecutive control (pp. 183-223). New York: Cambridge University Press. [Koch & Ullman, 1985] Koch, C., & Ullman, S. (1985) : Shifts in selective visual attention: Towards the underlying neural circuitry. Human Neurobiology, 4, pages 219-227. [Laberge, 1983] LaBerge, D. (1983) : Spatial extent of attention to letters and words. Journal of Experimental Psychology: Human Perception and Performance, 9, pages 371-379. [Langton, 1997] Langton C. (1997) : Artificial Life an Overview. MIT Press, Cambridge, MA [Legault, 2003] Legault F. (2003) : Approche multi-agent pour la simulation des consommateurs dans un centre commercial. Québec, Université Laval. [Laberge, 1983] LaBerge, D. (1983) : Spatial extent of attention to letters and words. Journal of Experimental Psychology: Human Perception and Performance, 9, pages 371-379. [Lewandowsky & Murdock, 1989] Lewandowsky, S., & Murdock, B. B., Jr. (1989) : Memory for serial order. Psychological Review, 96, 25-58. [Lovas, 1993] Lovas, G. G (1993) : Modelling and simulation of pedestrian trafic flow. In Modelling and Simulation 1993, 469-473, Lyon, France. [Luck & Fan & Hillyard, 1993] Luck, S.J., Fan, S., & Hillyard, S.A. (1993) : Attention-related modulation of sensory-evoked brain activity in a visual search task. Journal of Cognitive Neuroscience, 5, pages 188-195. [Mack & Rock, 1998] Mack, A & Rock, I (1998) : Inattentionnal blindness. Cambridge, MA: The MIT Press. [Marr, 1982] Marr, D. (1982) : The philosophy of the approach. Chapitre 1 dans Vision. San Francisco, W. H. Freeman and Company. [McKoon & Ratcliff, 1986]
  • 142. -142- McKoon, G. & Ratcliff, R. (1986) : Inference about predictable events. Jounal of experimentale psychology : Learning, memory and cognition, 12. [Melton, 1963] Melton, A.W. (1963) : Implications of short-term memory for a general theory of memory. Journal of Verbal Learning and Verbal Behavior, 2, 1-21. [Murdock, 1997] Murdock, B. B. (1997) : Context and mediators in theory of distributed associative memory (TODAM2). Psychological review, 104, 839-862. [Miller, 1956] Miller, G.A. (1956) : The magical number seven plus or minus two: Some limits on our capacity for processing information. Psychological review 63, 81-97. [Neisser, 1967] Neisser, U. (1967) : Cognitive psychology. New York: AppletonCentury-Crofts. [Neath, 1998] Neath, I (1998) : Human memory, an introduction to research, data and theory. Brooks/Cole publishing company. [Newell, 1973] Newell, A. (1973) : Production systems: Models of control structures. In W. G. Chase (Ed.), Visual Information Processing . New York: Academic Press. Newell, A. (1980a). Physical symbol systems. Cognitive Science, 4, 135-183. [Newell, 1980b] Newell, A. (1980) : Reasoning, problem solving and decision processes: The problem space as a fundamental category. In R. Nickerson (Ed.), Attention and Performance VIII . Hillsdale, NJ: Erlbaum. [Newell, 1990] Newell, A. (1990) : Unified Theories of Cognition. Cambridge, Massachusetts: Harvard University Press. [Newell, 1992a] Newell, A. (1992) : Precis of Unified Theories of Cognition. Behavioral and Brain Sciences, 15(3), 425-492. [Newell, 1992b] Newell, A. (1992). SOAR as a unified theory of cognition: Issues and explanations. Behavioral and Brain Sciences, 15(3), 464-492. [Newell, 1981]
  • 143. -143- Newell, A., & Rosenbloom, P. (1981) : Mechanisms of skill acquisition and the law of practice. [Newell, 1958] Newell, A., Shaw, J. C., & Simon, H. A. (1958) : Elements of a theory of human problem solving. Psychological Review, 65, 151-166. [Newell & Simon, 1972] Newell, A., & Simon, H. A. (1972) : Human Problem Solving. Englewood Cliffs, NJ: Prentice-Hall. [Nissen, 1985] Nissen, M. J. (1985) : Accessing features and objects. [Palmer, 1995] Chris Palmer (1995) : Limiting the displayed portion. URL : http://www.isometrix.org/archives/articles/chris_palmer/view.htm [Pavlov, 1927] Pavlov, I. P. (1927) : Conditioned reflex. Oxford : Oxford University Press. [Pelletier, 2003] Pelletier P. (2003) : Simulation de comportements de foule. Québec, Université Laval. [Posner & Cohen, 1984] Posner, M.I. & Cohen, Y. (1984) : Components of visual orienting. Dans H. Bouma & D. Bowhuis (Eds.), Attention and Performance X, Hillsdale, NJ: Erlbaum, pages 531-556. [Posner & Snyder & Davidson, 1980] Posner, M. I., Snyder, C. R. R., & Davidson, B. J. (1980) : Attention and the detection of signals. Journal of Experimental Psychology, General 109, pages 160-174. [Renault et al., 1990] O. Renault, N. Magnenat-Thalmann, D. Thalmann (1990) : A vision-based approach to behavioural animation. The journal of visualisation and computer animation, Vol. 1, No. 1 pages 18-21. [Rensink, 1997] Rensink, R., O'Regan, J. & Clark, J. (1997) : To See or Not to See: The Need for Attention to Perceive Changes in Scenes. Psychological Science 8, pages 368-373. [RIC, 1996] Rickert M. and P. Wagner (1996) : Parallel Real-time Implementation of Large-scale, Route- plan-driven Traffic Simulation. http://www.zpr.unikoeln.de/GroupBachem/VERKEHR.PG/ [Rosenbloom, 1992]
  • 144. -144- Rosenbloom, P. S., Laird, J. E., & Newell, A. (Eds.). (1992) : The SOAR Papers: Research on Integrated Intelligence. Cambridge, MA: MIT Press. [Rosenbloom, 1986] Rosenbloom, P. S., & Newell, A. (1986) : The chunking of goal hierarchies: A generalized model of practice. In R. S. Michalski, J. Carbonell, & T. Mitchell (Eds.), Machine Learning: An Artificial Intelligence Approach II . Los Altos, California: Morgan Kaufman. [Rumelhart & McClelland, 1986] Rumerhart, D. E. & McClelland, J. L. (1986) : Parallel distributed processing : Exploration in the microstructure of cognition. (vol. 1). Cambridge, MIT Press. [Rubin & Wenzel, 1996] Rubin, D. C. & Wenzel, A. E. (1996) : One hundred years of forgetting: A quantitative description of retention. Psychological Review, 103, 734-760. [Rundus, 1971] Rundus, D. (1971) : An analysis of rehearsal processes in free recall. Journal of Experimental Psychology, 89, 63-77. [Sakitt, 1976] Sakitt, B. (1976) : Iconic memory. Psychological Review, 83, 257-276. [Skinner, 1953] Skinner, B. F. (1953) : Science and Human Behavior. New York: Macmillan. [Squire, 1993] Squire, L.R., Knowlton, B., and Musen, G. (1993) : The structure and organization of memory. Ann. Rev. Psychology 1993 44: 453-495. [Still, 2003] Keith Still (2003) : Crowd Dynamics Limited. The Mill House. Staveley Mill Yard, Staveley, Kendal, Cumbria. United Kingdom, www.crowddynamics.com. [Shiffrin & Steyvers, 1997] Shiffrin, R. M. & Steyvers, M. (1997) : A model of recognition memory : REM-retrieving effectively from memory. Psychonomic Bulletin and Review, 4, 145-166. [Sperling, 1960] Sperling G. A (1960) : The information available in brief visual presentation. Psychological monographs, 74. [Thalmann, 2000] D. Thalmann, S. Musse, M. Kallmann (2000) : Virtual Humans: From Individual to Social and Crowd Behaviors, Proc. International Workshop on Human Modeling and Animation, Seoul, Korea
  • 145. -145- [Tolman, 1947] Tolman, E. C. & Richie, B. F. & Kalish, D. (1947) : Studies in spatial learning : V Response learning vs place learning by the non-correction method. Journal of experimental psychologie, 37, 285-292. [Thorndike, 1898] Thorndike, E. L. (1898) : Animal Intelligence : An experimental study of the associative processes in animals. Psychological Monographs, 2 (whole No. 8). [Treisman, 1985] Treisman, A. (1985) : Preattentive processing in vision. CVGIP: Image Understanding, 31, pages 156-177. [Tsal & Lavie, 1988] Tsal, Y. & Lavie, N. (1988) : Attending to color and shape: The special role of location in selective visual processing. Perception & Psychophysics, 44, pages 15-21. [Tulving, 1989] Tulving, E. (1989) : Remembering and knowing the past. American scientist, 77. [Watson, 1930] Watson, J. B. (1930) : Behaviorism. [Revised Edition]. Chicago: Chicago University Press. [Wheeler, Stuss, & Tulving, 1997] Wheeler, Stuss, & Tulving (1997) : Towards a theory of episodic memory: The frontal lobes and autonoetic consciousness. Psychological Bulletin, 121, 331-354. [Wickelgren, 1972] Wickelgren, W. (1972) : Trace resistance and the decay of long-term memory. Journal of Mathematical Psychology, 9, 418-455. [Wickelgren, 1974] Wickelgren, W. (1974) : Single-trace fragility theory of memory dynamics. Memory & Cognition, 2, 775-780. [Yuhaski, 1989] Yuhaski, S. J. Jr. & Smith, J. M (1989) : Modelling circulation systems in buildings using state dependent queueing models. Queueing Systems 4, 319-338.