5.1 Bilan
Nous avons vu dans ce rapport que l’évaluation des agents développementaux et intrinsèquement motivés est un réel problème. Les environnements de simulation actuels étant conçu pour des agents dont le but est de résoudre des problèmes, ne sont pas adaptés. L’enjeu était alors de proposer un modèle et une implémentation d’un nouvel environnement de simulation répondant à des critères spécifiques (interactivité, immersivité, en ligne, multi-agent, ergonomie, évolutivité et interactionniste). Ces critères résument la volonté de produire un nouveau protocole de test destiné aux concepteurs d’agent développementale et intrinsèquement motivé, qui reste simple d’utilisation et adaptable aux différents cas d’utilisation.
Nous avons alors proposé un modèle qui tient compte de deux niveaux d’utilisateur afin de séparer les concepteurs d’agent, qui prépare les simulations, et les observateurs, qui jouent les simulations. Le partage des résultats évolue des valeurs statistiques traditionnelles vers la possibilité de rejouer les simulations, de modifier leur cours afin d’étudier l’apprentissage des agents, au même titre que les psychologues étudient l’apprentissage chez l’être humain. Nous avons ensuite centré notre modèle sur les interactions. D’un côté, les interactions agent-environnement permettent de ne plus faire de distinction entre les processus d’action et de perception. La perception se fait au travers de l’action. D’un autre côté, les interactions observateur-environnement permettent de faire participer l’humain aux simulations, sans qu’il n’agisse directement sur l’agent, comme pour les apprentissages à base de récompenses. Enfin, nous avons précisé l’importance des traces qui sont des résultats de simulation permettant d’étudier a posteriori les comportements et l’apprentissage des comportements des agents.
La présentation de SECA, implémentation du modèle mis en place, est venue par la suite. Nous avons décrit son architecture, l’interactivité du point de vue de l’observateur qui devient acteur à part entière dans les simulations et le tableau de bord qui offre une représentation des stimuli reçus par l’agent et de son état interne.
5.1.1 Retour sur la problématique
Rappelons que la frontière entre un agent et un environnement simulé est floue. Afin de situer cette frontière dans notre modèle, nous avons mis en place un modèle d’interaction. L’interaction est alors vue comme un couple indissociable d’une action et d’un stimulus. Cette frontière n’est
cependant pas fixe. Elle dépend du niveau d’abstraction et du niveau de détails des interactions. Elle reste ajustable par le concepteur d’agent qui choisit ces niveaux d’abstraction et de détails. Pour modifier le niveau d’abstraction, il est nécessaire d’avoir recours à un système sensori-moteur dans l’agent. En revanche, pour modifier le niveau de détails, il suffit d’utiliser les six processus présentés : fusion, généralisation, spécification, différenciation, diversification et simplification.
L’étude et l’analyse du comportement des agents sont rendues possibles à pendant la simulation et après celle-ci. Lors de la simulation, c‘est la participation de l’observateur à la simulation et les indicateurs du tableau de bord qui permettent à celui-ci de suivre, voire de guider l’apprentissage d’un agent. Après la simulation, il reste les traces. Elles permettent une étude plus approfondie et objective de la chronologie des événements, des comportements, or l’apprentissage d’un agent se reflète dans l’évolution de ses comportements.
5.1.2 Retour sur le comparatif des environnements
En reprenant les critères utilisés lors de l’état de l’art, nous pouvons observer que SECA répond bien à l’ensemble de ces critères (Tableau 5.1), conformément à l’implémentation désirée. Il y a cependant une petite exception pour l’analyse de comportements car, actuellement, SECA propose uniquement d’enregistrer les traces des agents. Les traces correspondant aux interactions de l’observateur sur l’environnement font encore défaut.
Critères
Environnements « généralistes » Environnements « ad hoc »
SECA
oRis RoboCode/dTank Vacuum Gridland Environnement de Perotto et al Environnement de Guerin et al Interactivité + - + - - - + Immersivité - + + - - - + En ligne - + - - - - + Multi-agent + + - + - - + Ergonomie -- + + + + + + Evolutivité ++ - + - - - + Interactionniste - - - + + - + Analyse de comportements - - - +/-
5.2 Perspectives
Bien que l’environnement SECA permette déjà de tester et d’évaluer des agents, il reste encore à implémenter l’enregistrement des traces de l’environnement. En effet, seules les traces des
agents sont actuellement enregistrées donc les actions de l’observateur ne peuvent pas être prises en compte lors de l’étude des traces.
De plus, bien que l’environnement ait été codé pour des simulations en trois dimensions, les agents testés n’évoluaient que dans un plan de la scène, en deux dimensions donc. Il sera intéressant de vérifier le passage à des scènes en trois dimensions utiles.
Un travail d’optimisation du rendu 3D donnerait de meilleures performances et permettrait de créer des scènes de plus grande dimension.
Bibliographie
Brooks, R. A. (1991). Intelligence Without Representation. Artificial Intelligence 47(2), 139-159. Cañamero, D. (1997). Modeling motivations and emotions as a basis for intelligent behavior. In
Proceedings of the first international conference on Autonomous agents, 148-155.
Cohen, M. A., Ritter, F. E., & Haynes, S. R. (2005). Herbal: A high-level language and development environment for developing cognitive models in Soar. Proceedings of the 14th Conference of Behavior Representation in Modeling and Simulation, 133-140.
De Loor, P., Manac'h, K., & Tisseau, J. (2010). Enaction-Based Artificial Intelligence: Toward Co- evolution with Humans in the Loop. Minds and Machine, num 19, 319-343.
Drescher, G. L. (1991). Made-Up Minds, Aconstructivist Approach to Artificial Intelligence. MIT Press. Eisenstein, J. (2003). Evolving Robocode Tank Fighters. Memo AIM-2003-023, MIT AI Lab.
Guerin, F., & McKenzie, D. (2008). Apiagetian Model of Early Sensorimotor Development. Proceedings of the Eighth International Conference on Epigenetic Robotics: Modeling Cognitive Development in Robotic Systems, 29-36.
Harrouet, F. (2000, December). oRis : s’immerger par le langage pour le prototypage d’univers virtuels à base d’entités autonome.
Le Moigne, J.-L. (1995). Les épistémologies constructivistes. Dans J.-L. Le Moigne, Les épistémologies constructivistes (pp. 70-74). PUF, "Que sais-je ?".
Li, S. (2002, January 01). Rock 'em, sock 'em Robocode! Retrieved July 13, 2011, from IBM Web site: www.ibm.com/developperworks/java/library/j-robocode/
Oudeyer, P.-Y., Kaplan, F., & Hafner, V. V. (2007). Intrinsic Motivation Systems for Autonomous Mental Development. IEEE Transactions on Evolutionary Computation, Vol. 11, 265-286. Perotto, F. S., & Alvarez, L. O. (2006, December 26). Incremental Inductive Learning in a
Constructivist Agent. Proc. of SGAI, 129-144.
Piaget, J. (1937). The construction of reality in the child. New York: Basic Books.
Ritter, F. E., Kase, S. E., & Bhandarkar, D. (2007). dTank Updated: Exploring Moderated Behavior in a Light-weight Synthetic Environment. Proceedings of the 16th Conference on Behavior Representation in Modeling and Simulation, 51-60.
Russel, S., & Norvig, P. (1995). Artificial Intelligence: A Modern Approach. Englewoods Cliffs: Prentice- Hall.
Suchman, L. A. (1987). Plans and situated actions. Cambridge: Cambridge University Press. Wilson, M. (2002). Six views of embodied cognition. Psychonomic Bulletin & Review, 625-636.
Annexe A : Correspondance entre les noms de classes français de SECA
et les noms de classes réels en anglais
Noms de classe français Noms de classe réels
SECA SECA
Tableau de Bord DashboardManager
Moteur de simulation SimEgnine
Moteur de rendu Renderer
Gestionnaire de sons SoundManager
Scène SceneManager
Caméra Camera
Bloc Block
Forme Mesh
Matière Material
Corps d’un agent AbstractModel
Animation d’un agent AbstractAnim
Boite à outils Line, Quad, Triangle
AxisAlignedBox, Plane, PlaneBoundedVolume, Sphere Ray
ArcGrid, ArcGridIterator, CircularGrid, CircularGridIterator SecaColor, SecaMath, SecaPrimitiveFactory, SecaTextRenderer Keys
Pair, RandomString
Service de traces XMLStreamTracer
Corps Ernest 7 Ernest7Model
Animation Ernest 7 Ernest7Anim
Corps Ernest 10 Ernest10Model
Annexe B : Commandes propres à SECA
Commandes de SECA Actions associées
F1 Afficher uniquement les sommets des objets de la scène
F2 Afficher uniquement les arrêtes des objets de la scène
F3 Afficher les objets de la scène avec leur couleur uniforme
F4 Afficher les objets de la scène avec leur texture
↑ ↑↑
↑ (ou NUM(ou NUM(ou NUM(ou NUM7777 8)8)8) 8) Déplacer la caméra vers le haut
↓ ↓↓
↓ (ou NUM 2)(ou NUM 2)(ou NUM 2) (ou NUM 2) Déplacer la caméra vers le bas ←
←←
← (ou NUM 4)(ou NUM 4)(ou NUM 4) (ou NUM 4) Déplacer la caméra vers la gauche →
→→
→ (ou NUM 6)(ou NUM 6)(ou NUM 6) (ou NUM 6) Déplacer la caméra vers la droite NUM 5
NUM 5NUM 5
NUM 5 Placer la caméra au Sud du point visé, dirigée vers le Nord
Page précédente ( Page précédente (Page précédente (
Page précédente (⇞)⇞)⇞)⇞) Zoomer Page suivante (
Page suivante (Page suivante (
Page suivante (⇟)⇟)⇟)⇟) Dézoomer CTRL +
CTRL + CTRL +
CTRL + ↑↑↑↑ Translater la caméra vers l’avant
CTRL + CTRL + CTRL +
CTRL + ↓↓↓↓ Translater la caméra vers l’arrière
CTRL + CTRL + CTRL +
CTRL + ←←←← Translater la caméra vers la gauche
CTRL + CTRL + CTRL +
CTRL + →→→→ Translater la caméra vers la droite
ALT + ALT + ALT +
ALT + ↑↑↑↑ Translater le curseur clavier vers le Nord de la scène
ALT + ALT + ALT +
ALT + ↓↓↓↓ Translater le curseur clavier vers le Sud de la scène
ALT + ALT + ALT +
ALT + ←←←← Translater le curseur clavier vers l’Ouest de la scène ALT +
ALT + ALT +
ALT + →→→→ Translater le curseur clavier vers l’Est de la scène ALT + Page précédente (
ALT + Page précédente (ALT + Page précédente (
ALT + Page précédente (⇞)⇞)⇞)⇞) Translater le curseur clavier vers le haut de la scène ALT + Page suivante (
ALT + Page suivante (ALT + Page suivante (
ALT + Page suivante (⇟)⇟)⇟)⇟) Translater le curseur clavier vers le bas de la scène Tabulation (
Tabulation (Tabulation (
Tabulation (↹)↹)↹)↹) Changer de caméra (la permutation est cyclique)
7