Description de comportements d agents autonomes évoluant dans des mondes virtuels



Documents pareils
Partie 2 : Des leçons pour l entrepreneur

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Partie 2 : Des leçons pour l entrepreneur

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

Évaluation et implémentation des langages

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

L apprentissage automatique

Modélisation multi-agents - Agents réactifs

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

L essentiel. Coopérative, flexible, très performante : la plateforme Engineering Base. web aucotec.com

FÊTE DE LA SCIENCE 2005 (Village des Sciences)

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

Table des matières. CHAPITRE 1 Le conseil en organisation : bilan et perspectives... 15

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique

Comment gérer toutes mes tâches logicielles d automatisation dans un seul environnement?

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

LES OUTILS DU TRAVAIL COLLABORATIF

Les Architectures Orientées Services (SOA)

Conception des systèmes répartis

Métiers d études, recherche & développement dans l industrie

L OUTIL NUMERIQUE CARACTERISTIQUES ET FONCTIONNALITES

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

La philosophie Ludi. recréer cet esprit chaleureux et amical afin de faire passer des bons moments à ses internautes autour d une même passion.

Sciences Humaines et Sociales. Informatique et applications. VIGNERON Vincent STIC Traitement du signal et des images

Licence professionnelle Réseaux et Sécurité Projets tutorés

l Université de Bretagne Occidentale

L intelligence artificielle distribuée appliquée aux jeux d équipe situés dans un milieu dynamique : l exemple de la RoboCup

MEMOIRE POUR UNE HABILITATION A DIRIGER DES RECHERCHES

Introduction au datamining

Intelligence Artificielle et Robotique

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Créer le schéma relationnel d une base de données ACCESS

Les apports de l informatique. Aux autres disciplines

Introduction aux concepts d ez Publish

Conception et contrôle des SMA tolérants aux fautes

Hypervision et pilotage temps réel des réseaux IP/MPLS

Développement d un interpréteur OCL pour une machine virtuelle UML.

les outils du travail collaboratif

ANNEXE - INNOVATIONS. processus, nom masculin

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Introduction: 1. définition d un ETL 2. importance et diversité des données spatiales utilitédes ETL géographiques

Rousseau Nadia. Abécédaire

QU EST-CE QUE LE DECISIONNEL?

MMORPG (Massively Multiplayer Online Role Playing Game) ou MMO (Massively Multiplayer Online)

Extrait des Exploitations Pédagogiques

Solutions 3D innovantes pour la communication, la vente et la formation.

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

Bien architecturer une application REST

Journée SITG, Genève 15 octobre Nicolas Lachance-Bernard M.ATDR Doctorant, Laboratoire de systèmes d information géographique

Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique

Environnement Architecture de controle. Décisions

Prenez le PLM express

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Présentation du module Base de données spatio-temporelles

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Réseau Global MIDI Note applicative

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Relever les défis des véhicules autonomes

Créateur d innovation 3D

Cours Master 2, 2011

Cloud Computing et SaaS

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Le ranking de Augure Influencers La méthodologie AIR en détails

Chapitre 1 Qu est-ce qu une expression régulière?

Utiliser un tableau de données

Formations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI SYNALTIC 24 RUE DE L EGLISE VINCENNES

COR-E : un modèle pour la simulation d agents affectifs fondé sur la théorie COR

Journées PERF-RV Octobre B. Arnaldi

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Etude de la simulation de systèmes multiagents pour la conception vivante d agents dans la méthode ADELFE

Qu'est-ce que le BPM?

PROGRAMME DE CRÉATION ET INNOVATION TECHNOLOGIQUES EN CLASSE DE SECONDE GÉNÉRALE ET TECHNOLOGIQUE Enseignement d exploration

PASS_Compagnia. Dommages et Vie LE CHOIX DE L INNOVATION. Étude de cas HDI Assicurazioni

1. Smart Energy Management System (SEMS)

Machines virtuelles Cours 1 : Introduction

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Conception, architecture et urbanisation des systèmes d information

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Les Entrepôts de Données

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Rapport d'analyse des besoins

les GDT dans le Système d Information informatisé Muriel Pinel Laurent Tabourot

Programmation orientée agents #1. v 1.3. M1 S2 - Université de Montpellier II"

LECTURE CRITIQUE. Accompagner les enseignants et formateurs dans la conception d une formation en ligne

Méthodologie de conception des Systèmes d Aide à l Exploitation des Simulateurs d Entraînement

données en connaissance et en actions?

eduscol Ressources pour la voie professionnelle Français Ressources pour les classes préparatoires au baccalauréat professionnel

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Objet du document. Version document : 1.00

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

Implantation des protocoles de communication FIPA dans la plate-forme GAMA

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Transcription:

Thèse présentée pour obtenir le grade de docteur de l École Nationale Supérieure des Télécommunications Spécialité : Informatique et Réseaux Description de comportements d agents autonomes évoluant dans des mondes virtuels Nadine Richard Composition du jury : Frédéric Boussinot, CMA (INRIA/EMP) - Président Marc Cavazza, University of Teesside - Rapporteur Jean-Pierre Jessel, IRIT - Rapporteur Alexis Drogoul, LIP6 - Examinateur Philippe Codognet, LIP6 - Directeur de thèse Alain Grumbach, ENST - Co-directeur de thèse

2

À Roger Blanc, mon grand-père adoré, homme attentionné, réservé et généreux, qui attendait avec impatience la fin de cette thèse mais qui n a pas eu la force de m accompagner jusqu au bout. 3

4

Remerciements Je tiens à remercier les personnes qui m ont offert l opportunité d effectuer cette thèse dans les meilleures conditions. En tout premier lieu, je remercie Philippe Codognet et Alain Grumbach, qui ont su me guider avec patience et gentillesse, qui m ont fait profiter de leur grande expérience, qui m ont fait partager leur passion pour l art numérique, et avec qui j ai eu de nombreuses discussions enrichissantes à tout point de vue. Je remercie également les différents laboratoires qui m ont accueillie chaleureusement : le Département Informatique et Réseaux de l ENST, au sein duquel j ai réalisé mes travaux dans des conditions particulièrement agréables, tant sur le plan logistique que sur le plan humain ; l INRIA, qui m a accordé un financement de trois ans pour effectuer ma thèse au sein du projet LOCO (devenu projet CONTRAINTES) ; le thème OASIS du LIP6, en particulier l équipe MIRIAD et l AnimatLab, qui m ont accueillie comme membre à part entière de leurs laboratoires. Je tiens également à remercier ceux qui m ont fait l honneur d accepter de participer au jury de soutenance : Marc Cavazza et Jean-Pierre Jessel, qui ont assumé la lourde tâche de rapporteur ; Frédéric Boussinot, dont les travaux ont en partie inspiré le langage MARVIN, et Alexis Drogoul, grâce à qui j ai un jour envisagé de faire une thèse. Je tiens ensuite à exprimer ma reconnaissance à tous ceux qui ont eu le courage et la patience de relire ce manuscrit, et grâce à qui il a pu être sensiblement amélioré : Pierre Beyssac (ENST), Jean-Jacques Bourdin (Paris VIII), Emmanuel Chailloux (Paris VII), Jean-Louis Dessalles (ENST), Guillaume Moreau (École des Mines de Paris), et tout particulièrement Samuel Tardieu (ENST). Merci aussi à ceux qui m ont aidée tout au long de cette aventure, et en particulier à Isabelle Demeure pour son aide précieuse et ses conseils avisés, à Olivier Hainque pour les cours particuliers d ESTEREL, à Olivier Hudry pour les cours particuliers d algorithmie des graphes, à Thomas Quinot alias L A TEX master, à Hayette Soussou toujours prête à rendre service (et avec le sourire, s il vous plaît). Un grand merci également à ceux qui m ont rendu la vie au bureau agréable, même dans les pires moments : Laleh et Jean-Louis pour les pauses thé rafraîchissantes et stimulantes à la fois, François qui a réponse à tout, Didier pour le soutien des premiers mois, Laurent pour le soutien (mutuel) des derniers mois, Jean-Philippe et Romain qui ont fait l intense expérience de la fin de thèse avant même de commencer la leur. 5

6 Enfin, je remercie ma famille pour leur confiance et pour leur soutien constant malgré notre éloignement, ainsi que mes amis (Lyonnais, Parisiens, Visiteurs du Mercredi et tous les autres) et ma «belle-famille» pour leur patience et leur compréhension face à mes absences répétées. Merci à Nicolas, Alexis et surtout, surtout à Sam.

Résumé Les mondes virtuels habités sont des applications de Réalité Virtuelle dans lesquelles interagissent des entités autonomes et des utilisateurs représentés par leur avatar. De nombreux outils sont maintenant disponibles pour créer des mondes virtuels multi-utilisateurs, centrés sur l interaction avec les autres utilisateurs. Peu de ces outils permettent cependant de décrire facilement les comportements des entités autonomes peuplant les mondes virtuels. Nous avons choisi de nous concentrer sur l aspect comportemental de la création de mondes virtuels, nous rapprochant en ce sens des travaux de F. Harrouet concernant l environnement de développement ORIS. Notre objectif, à terme, est de fournir des outils facilitant la description de comportements d agents virtuels. Ces outils formeront l atelier INVIWO (Intuitive Virtual Worlds), accessible à un public ne possédant pas obligatoirement des connaissances en programmation (artistes, scénaristes de jeux vidéos, biologistes, etc.). Le travail présenté dans ce mémoire pose les bases de cet atelier. Nous avons choisi de considérer un monde virtuel habité comme un système multiagents homogène, dans lequel certains agents (les avatars) peuvent être contrôlés par des opérateurs humains. Tout objet d un monde INVIWO est ainsi un agent, capable de percevoir tout ou partie du monde, puis de réagir aux événements en effectuant des actions sur le monde en fonction de son état interne et de ses motivations. Nous proposons une architecture générique d agent virtuel, la plus simple possible. Un agent est ainsi composé : d attributs qui le caractérisent ; de capteurs, associés à des filtres, permettant à l agent de percevoir les modifications de son environnement et de son état interne ; d un organe de décision proposant des actions à réaliser ; d effecteurs, associés à des arbitres, chargés de réaliser les actions choisies. Il est possible d ajouter ou de retirer chacun de ces composants au cours de la vie de l agent, la structure d un agent INVIWO est donc entièrement dynamique. Concernant l organe de décision d un agent INVIWO, nous avons défini une architecture de sélection de l action distribuée, basée sur des modules comportementaux réactifs et concurrents, et sur un mécanisme d arbitrage permettant de combiner les décisions prises par les différents modules. À chaque pas d exécution de l agent, les modules comportementaux réagissent aux événements internes et externes en proposant des actions aux arbitres. Chaque arbitre choisit ensuite parmi ou à partir des propositions reçues les actions que les effecteurs devront finalement réaliser à la fin du pas de temps. Les arbitres encapsulent des méthodes de sélection plus ou moins complexes (d une simple moyenne des valeurs proposées à un réseau de neurones par exemple). 7

8 Le réseau dynamique formé par les modules comportementaux fonctionne selon le modèle réactif synchrone, en s inspirant en particulier du langage ESTEREL. Pour décrire la partie réactive des modules comportementaux, nous avons défini le langage MARVIN, proche d ESTEREL. Nous y avons ajouté des caractéristiques orientées-objets et orientées-agents, permettant de décrire entièrement un agent IN- VIWO. Nous avons de plus introduit la notion de contraintes dans notre langage, notamment sous la forme de contraintes-buts, telles que définies par P. Codognet. Nous avons développé une plate-forme d exécution d agents INVIWO, puis testé ce prototype sur plusieurs exemples. Le comportement d un agent peut être spécifié en utilisant le langage MARVIN, mais nous n avons pas encore intégré d interpréteur à la plate-forme.

Table des matières I Introduction 17 1 Introduction 19 1.1 Décrire des comportements d agents virtuels.............. 21 1.2 Motivations............................... 23 1.3 Contribution............................... 23 1.3.1 Mondes et agents INVIWO................... 24 1.3.2 Architecture de sélection de l action.............. 25 1.3.3 MARVIN............................ 25 1.3.4 Contraintes et comportements d agents............ 26 1.4 Organisation du mémoire........................ 26 II Définitions et état de l art 27 2 Agents autonomes et systèmes multi-agents 29 2.1 Introduction............................... 29 2.2 Caractéristiques d un agent....................... 30 2.2.1 Autonomie........................... 30 2.2.2 Environnement......................... 30 2.2.3 Comportement adaptatif.................... 31 2.2.4 Intelligence........................... 32 2.2.5 Sociabilité........................... 33 2.3 Perception................................ 34 2.3.1 Perception interne et perception externe............ 34 2.3.2 Modularité........................... 35 2.3.3 Niveau d abstraction...................... 36 2.4 Action et interaction.......................... 37 2.4.1 Action.............................. 37 2.4.2 Communication......................... 38 2.4.3 Actions sur l environnement.................. 39 2.5 Connaissances.............................. 39 2.5.1 Catégories de connaissances.................. 39 2.5.2 Représentation de l environnement.............. 40 2.6 La conception de systèmes multi-agents................ 40 2.6.1 ZEUS (H. Nwana et al.).................... 41 2.6.2 AGENTBUILDER........................ 41 2.6.3 ORIS (F. Harrouet)....................... 41 2.6.4 MADKIT (O. Gutknecht).................... 42 9

10 TABLE DES MATIÈRES 2.7 Synthèse................................. 43 3 Le problème de la sélection de l action 45 3.1 Introduction............................... 45 3.2 L approche «orientée-comportements»................. 47 3.3 Architectures basées sur les comportements.............. 49 3.3.1 L animation comportementale................. 49 3.3.2 L architecture de subsomption................. 50 3.3.3 Les schèmes moteurs de R. Arkin............... 52 3.3.4 L architecture ascendante de P. Maes............. 53 3.3.5 DAMN............................. 53 3.3.6 L architecture de B. Blumberg................. 55 3.3.7 Boucle SCA et PAT-NETS................... 57 3.3.8 Le modèle HPTS........................ 58 3.3.9 Les systèmes dynamiques................... 59 3.4 Synthèse................................. 60 3.4.1 Stratégies de coordination................... 60 3.4.2 Mécanismes comportementaux................. 61 4 Systèmes et langages réactifs synchrones 63 4.1 Introduction............................... 63 4.2 Approche synchrone pour les systèmes réactifs............ 63 4.2.1 Systèmes transformationnels, interactifs et réactifs...... 63 4.2.2 Systèmes réactifs temps-réel.................. 65 4.2.3 Approches traditionnelles................... 65 4.2.4 Approche réactive synchrone.................. 66 4.2.5 Langages et outils....................... 67 4.3 Le langage ESTEREL.......................... 68 4.3.1 Principes du langage...................... 68 4.3.2 Modules............................ 69 4.3.3 Signaux............................. 71 4.3.4 Manipulation de données.................... 72 4.3.5 Signaux valués et capteurs................... 74 4.3.6 Préemption........................... 75 4.3.7 Exceptions........................... 77 4.3.8 Composition de modules.................... 78 4.3.9 Tâches asynchrones...................... 79 4.3.10 Compilation d un programme ESTEREL............ 80 4.4 Machine d exécution.......................... 81 4.5 Réseaux de processus réactifs...................... 83 4.6 Objets synchrones et objets réactifs................... 84 4.6.1 Objets synchrones....................... 85 4.6.2 Objets réactifs......................... 86 4.7 Synthèse................................. 87 III Le modèle INVIWO 89 5 Agents et mondes INVIWO 91 5.1 Introduction............................... 91

TABLE DES MATIÈRES 11 5.2 Interaction et communication...................... 92 5.3 Composants d un agent InViWo.................... 93 5.3.1 Attributs............................ 94 5.3.2 Processus de décision...................... 94 5.3.3 Capteurs et effecteurs...................... 94 5.3.4 Le cas de la perception active................. 95 5.4 Filtrage et arbitrage........................... 96 5.4.1 Capteurs et filtres........................ 96 5.4.2 Effecteurs et arbitres...................... 97 5.5 Synthèse................................. 98 6 Avatars INVIWO 101 6.1 Introduction............................... 101 6.2 Définition classique de l avatar..................... 101 6.2.1 Le système d interaction.................... 101 6.2.2 L avatar............................. 102 6.3 L avatar INVIWO............................ 104 6.3.1 Incarner l utilisateur...................... 104 6.3.2 Assister et contraindre l utilisateur............... 106 6.4 Interfaces utilisateurs.......................... 107 6.5 Synthèse................................. 107 IV Décrire des comportements d agents virtuels 109 7 Les modules comportementaux 111 7.1 Introduction............................... 111 7.2 Structure d un module comportemental................ 112 7.2.1 Interface et structure interne d un module........... 112 7.2.2 Modules et sous-modules.................... 113 7.3 Signaux et canaux............................ 113 7.3.1 Manipulation de signaux en sortie............... 115 7.3.2 Envoi unique et réception multiple............... 115 7.4 Chaîne de réaction........................... 116 7.4.1 Interaction avec les autres composants............. 117 7.4.2 Gestion du temps........................ 118 7.4.3 Arbitrage et gestion des priorités................ 119 7.5 Ordonnancement de l exécution des modules............. 120 7.5.1 Ordonnancement initial des modules comportementaux.... 121 7.5.2 Ajout d un canal........................ 123 7.5.3 Ajout d un module comportemental.............. 125 7.5.4 Retrait d un canal........................ 125 7.5.5 Retrait d un module comportemental............. 126 7.5.6 Circuits, retards et problèmes de causalité........... 127 7.6 Synthèse................................. 128

12 TABLE DES MATIÈRES 8 Le langage MARVIN 133 8.1 Introduction............................... 133 8.2 Agents et objets............................. 134 8.2.1 Comparaison.......................... 134 8.2.2 Objets prédéfinis........................ 135 8.3 Les modules comportementaux..................... 136 8.3.1 Les règles réactives....................... 137 8.3.2 Les blocs de règles réactives.................. 139 8.3.3 Les signaux valués....................... 142 8.3.4 Avortement........................... 144 8.3.5 Trappes............................. 145 8.4 Capteurs et effecteurs.......................... 145 8.4.1 Protocoles d interaction.................... 146 8.4.2 Réception multiple de signaux................. 146 8.4.3 Définition d un capteur..................... 147 8.4.4 Définition d un effecteur.................... 152 8.5 Définition de canaux.......................... 155 8.6 Sous-modules.............................. 155 8.6.1 Faire un pas........................... 155 8.6.2 Se déplacer jusqu à une position donnée............ 156 8.6.3 Se déplacer aléatoirement................... 158 8.7 Définition de mondes, d agents et d avatars.............. 159 8.7.1 Un agent autonome....................... 159 8.7.2 Un avatar semi-autonome................... 161 8.7.3 Un monde INVIWO...................... 162 8.8 Synthèse................................. 162 9 Contraintes et comportements d agents 165 9.1 Introduction............................... 165 9.2 Contraintes : résolution et programmation............... 166 9.2.1 Contraintes-buts et recherche adaptative............ 167 9.3 Contraintes et agents INVIWO..................... 168 9.3.1 Contraintes-buts........................ 168 9.3.2 Agents-contraintes....................... 171 9.3.3 Autres applications....................... 172 9.4 Synthèse................................. 173 V Résultats 175 10 Implémentation et exemples 177 10.1 Introduction............................... 177 10.2 MARVIN en JAVA............................ 178 10.2.1 Types et objets prédéfinis.................... 178 10.2.2 Instructions........................... 180 10.2.3 Composants comportementaux................. 181 10.2.4 Les agents............................ 182 10.2.5 Expressions et instructions retardées.............. 183 10.2.6 Règles réactives......................... 184 10.2.7 Blocs de règles......................... 185

TABLE DES MATIÈRES 13 10.3 Couche de communication....................... 185 10.4 Un exemple complet.......................... 186 10.4.1 Les protocoles d interaction.................. 187 10.4.2 L agent mobile......................... 187 10.4.3 L agent immobile........................ 189 10.4.4 L avatar............................. 189 10.5 Synthèse................................. 191 VI Conclusion et perspectives 193 11 Conclusion 195 12 Perspectives 199 VII Annexes 203 A Grammaire du langage MARVIN 205 B Traduction en Java d exemples en MARVIN 215 B.1 Factorielle................................ 215 B.2 Bizarre love triangle.......................... 217 VIII Bibliographie 231

14 TABLE DES MATIÈRES

Table des figures 1.1 L aquarium du Diamond Park...................... 21 1.2 Le monde des lapins........................... 24 2.1 Architecture typique d agent hybride.................. 33 2.2 Principes du système perceptif d un agent................ 35 2.3 La perception classique.......................... 35 2.4 La perception modulaire......................... 36 2.5 La fusion de percepts........................... 36 2.6 Distinction entre la communication et l interaction avec l environnement. 37 2.7 Synthèse des caractéristiques d un agent autonome........... 43 3.1 Exemple d architecture de subsomption sur 3 niveaux.......... 51 3.2 Exemple de schèmes moteurs et de schèmes de perception....... 53 3.3 Exemple d architecture ascendante (tiré de [135])............ 54 3.4 Exemple d arbitre DAMN........................ 55 3.5 Exemple de comportement, selon l architecture de B. Blumberg.... 56 3.6 Schéma général de la mise en œuvre de systèmes comportementaux.. 60 4.1 Exécution d un système de type transformationnel........... 64 4.2 Exécution d un système de type interactif................ 64 4.3 Exécution d un système de type réactif................. 64 4.4 Un exemple d exécution d un système synchrone............ 67 4.5 Attente concurrente et émission de signaux............... 69 4.6 De l importance des délimiteurs de blocs................ 69 4.7 Représentation de l interface d un module ESTEREL.......... 70 4.8 Premier module et premières instructions réactives........... 70 4.9 Manipulation des valeurs de signaux................... 74 4.10 Combinaison de signaux de sortie.................... 75 4.11 Suspension sur réception de signal.................... 76 4.12 Avortement fort sur réception de signal................. 76 4.13 Avortement faible sur réception de signal................ 76 4.14 Levée d exception............................ 77 4.15 Exemple de composition de modules avec substitution de signaux... 78 4.16 Exemple de composition de modules utilisant un signal local...... 79 4.17 Exemple de correspondance ESTEREL/C................ 81 4.18 Principes d une machine d exécution pour ESTEREL.......... 81 4.19 Communication entre objets synchrones ou réactifs........... 84 5.1 Interaction et communication, telles que présentées dans le chapitre 2. 91 15

16 TABLE DES FIGURES 5.2 Interaction et communication pour un agent INVIWO......... 92 5.3 Un monde INVIWO composé de trois agents.............. 92 5.4 Les composants d un agent INVIWO et leurs principales interactions. 93 5.5 Détail des interactions entre composants d un agent INVIWO..... 95 5.6 Capteur couplé à un filtre......................... 96 5.7 Effecteur couplé à un arbitre....................... 97 5.8 Architecture synthétique d un agent INVIWO.............. 98 6.1 Le système d interaction......................... 102 6.2 Une discussion entre avatars au café du Diamond Park......... 103 6.3 L avatar classique............................. 103 6.4 L avatar INVIWO............................ 104 6.5 Extension du modèle de capteur..................... 105 6.6 Extension du modèle d effecteur..................... 105 6.7 Avatar INVIWO et interface utilisateur................. 106 7.1 Interface d un module comportemental................. 112 7.2 Structure interne d un module comportemental............. 112 7.3 Exemple d encapsulation d un réseau comportemental......... 113 7.4 Communication entre un module-père et un module-fils........ 114 7.5 Un exemple de chaîne de réaction.................... 117 7.6 Exemple d interaction avec un attribut.................. 117 7.7 Quatre solutions pour gérer les priorités................. 119 7.8 Exemple d ordonnancement de modules comportementaux....... 121 7.9 Exemple de graphe de dépendances à parcourir............. 121 7.10 Ajout d un canal et repartitionnement du graphe............ 124 7.11 Ajout d un module comportemental et repartitionnement du graphe.. 125 7.12 Retrait d un canal et repartitionnement du graphe............ 126 7.13 Retrait d un module comportemental et repartitionnement du graphe.. 127 7.14 L agent comme machine d exécution d un réseau comportemental... 130

Première partie Introduction 17

Chapitre 1 Introduction Un monde virtuel est un environnement synthétique, dans le sens d un univers réel ou imaginaire simulé par ordinateur ; dans cet univers, un utilisateur est représenté par son avatar. Dans le cadre d une application de Réalité Virtuelle 1, le monde virtuel correspond à l environnement simulé avec lequel un utilisateur peut interagir par l intermédiaire de divers périphériques d entrée (acquisition) et de sortie (rendu). Les mondes virtuels sont de plus en plus présentés à l utilisateur en trois dimensions, facilitant ainsi l interaction et tout particulièrement l exploration du monde de façon relativement naturelle ; les objets 3D qu ils contiennent sont généralement animés. Il existe également des mondes virtuels représentés en deux dimensions ou utilisant une interface uniquement textuelle. Par exemple, alors qu ils existent depuis plus de 20 ans, les MUD (Multi-User Dungeons) sont des environnements virtuels textuels encore très prisés, car ils permettent de dialoguer avec les autres joueurs tout en participant à un jeu (exploration du monde, énigmes, combats, etc.). Les MMORPG (Massively Multiplayer On-line Role Playing Game), tels qu EVERQUEST [4], sont les descendants directs de ces MUD : ces jeux de rôles en 3D massivement multi-utilisateurs accueillent un nombre toujours croissant de joueurs 2. Bien que certains mondes virtuels cantonnent l utilisateur au simple rôle d observateur, la plupart des environnements permettent à un ou plusieurs utilisateurs d agir sur le monde, non seulement par son exploration mais aussi par la manipulation des objets qu il contient et par l interaction avec des entités autonomes (créatures virtuelles, assistants artificiels, etc.). Parmi les principales utilisations des mondes virtuels 3D, nous pouvons citer : les outils pédagogiques utilisant la simulation interactive [119, 46], intégrant éventuellement des tuteurs personalisés artificiels comme STEVE [85] ou HER- MAN THE BUG [89] ; la téléopération, qui permet de contrôler un robot à distance : le monde virtuel est alors une reconstitution de l environnement réel ayant pour but de faciliter la manipulation du robot [136] ; la simulation scientifique, permettant principalement l observation de phénomènes physiques (tels que les collisions de particules) ou éthologiques (tels que les colonies de fourmis ou les sociétés de grands singes [60, 61, 64]), et par- 1 Voir par exemple l ouvrage de G. Burdea et P. Coiffet [45], celui de H. Rheingold [111] ou encore la thèse de D. Verna [136] pour une introduction aux concepts et aux applications de la Réalité Virtuelle. 2 Il y a aujourd hui près de 50000 utilisateurs connectés simultanément aux serveurs d EVERQUEST. 19

20 CHAPITRE 1. INTRODUCTION fois l interaction, par exemple dans le cas de la manipulation de composés chimiques ; le grand domaine du divertissement, comprenant entre autres : les jeux vidéos, en particulier les MMORPG et les jeux faisant intervenir des entités autonomes, telles que des «animaux de compagnie virtuels» comme dans CREATURES [3] ou des humains virtuels comme dans THE SIMS [8] ; la création dynamique d histoires dans des mondes virtuels (virtual storytelling) [14, 48, 80, 97, 107] ; les effets spéciaux pour le cinéma (mouvements de foules, fumée, etc.) [109, 110] ; ou encore le prototypage virtuel [86, 132], la création artistique [21, 82, 84] et la thérapie [105]. Le domaine de la représentation graphique des mondes virtuels progresse continuellement, en particulier lorsqu il s agit de réaliser des simulations les plus réalistes possible. Les jeux vidéos évoluent eux aussi très rapidement, avec une qualité graphique et une fluidité toujours plus surprenantes. Grâce aux nouveaux périphériques d entrée/sortie, l exploration d un monde et la manipulation des objets 3D se font de plus en plus naturellement. L utilisateur peut attraper un objet pour l examiner en utilisant un gant de données, puis modifier sa forme avec un stylet à retour d effort ; il peut également explorer le monde en manipulant un joystick 3D et visualiser le tout dans un casque qui prend en compte les mouvements de sa tête. Malgré ces progrès technologiques, il reste de gros efforts à faire au niveau des modalités d interaction avec le monde, en particulier en ce qui concerne l interaction avec des entités autonomes. Dans le domaine de la conception de mondes virtuels, il est de plus en plus important de pouvoir définir des entités artificielles autonomes, habituellement appelées agents virtuels, qui peuplent les mondes afin de les rendre plus attractifs auprès des utilisateurs. Ces agents virtuels sont plus ou moins réactifs et plus ou moins «intelligents». Nous nous sommes plus spécifiquement intéressés aux mondes virtuels habités, c est-à-dire aux environnements virtuels dans lesquels interagissent des agents virtuels et des utilisateurs. Le DIAMOND PARK [138] est un exemple particulièrement intéressant de monde virtuel habité. Il s agit d un parc de loisirs virtuel dans lequel divers agents divertissent ou assistent les utilisateurs. La figure 1.1 illustre une scène typique pouvant se dérouler dans ce parc, montrant à la fois des agents virtuels et des avatars. Les poissons de l aquarium et le conducteur de bus sont des agents autonomes. Les utilisateurs peuvent dialoguer entre eux et explorer le monde selon deux modes de déplacement (vélo et monocycle). De nombreux agents virtuels ont été conçus spécifiquement pour interagir avec les utilisateurs. Dans les MUD, ces agents sont habituellement appelés des bots ; comme JULIA [94], ils sont utilisés pour assister les utilisateurs et dialoguer avec eux. Dans d autres types de mondes virtuels, l utilisateur peut interagir avec des animaux artificiels comme dans le système ALIVE [95] ou encore avec des humains virtuels [15, 129, 138].

1.1. DÉCRIRE DES COMPORTEMENTS D AGENTS VIRTUELS 21 FIG. 1.1 L aquarium du Diamond Park. 1.1 Décrire des comportements d agents virtuels De nombreux outils permettent de créer des mondes virtuels 3D multi-utilisateurs, centrés sur l interaction entre les participants. Peu de ces outils permettent cependant de décrire facilement les comportements des entités autonomes peuplant les mondes virtuels. D autre part, de nombreux travaux en Intelligence Artificielle (IA) portent sur la description de comportements d agents autonomes. Il existe actuellement deux grandes tendances en IA : l approche cognitive (IA classique) et l approche réactive («nouvelle IA»). L IA classique s attache à réaliser des agents cognitifs, qui possèdent des capacités de raisonnement sur des représentations symboliques de leur environnement, ces capacités leur permettant de planifier des actions à long-terme. L approche réactive, fortement inspirée de la biologie et de l éthologie, s oppose à l approche cognitive depuis une quinzaine d années en proposant des modèles reliant fortement la perception et l action, sans passer par le raisonnement symbolique. Cette approche a été appliquée avec succès à l animation de créatures artificielles [72, 99, 123] et à la simulation étonnamment réaliste de comportements de groupes (navigation, évitement de collision, poursuites, etc.) [110]. En intégrant des capacités d apprentissage non-symbolique ou d évolution, l approche réactive a aussi permis de mettre en œuvre des animats, ces robots virtuels ou réels dont le comportement s inspire de celui des animaux. Dans le cadre de notre travail, nous nous intéressons cependant plus spécialement aux outils de description explicites de comportements, en laissant de côté les techniques permettant de faire émerger le comportement. Les automates à états finis ont beaucoup été utilisés pour décrire des comportements d agents. Les automates séquentiels sont difficiles à décrire manuellement pour exprimer des comportements complexes, la taille de l automate augmentant rapidement. Le

22 CHAPITRE 1. INTRODUCTION principal inconvénient des automates à états finis tient à leur faible maintenabilité : une petite modification de la spécification du comportement peut nécessiter la redéfinition d une partie importante de l automate. Les automates hiérarchiques parallèles, qui réduisent la complexité des automates définis et qui permettent de décrire des comportements concurrents, ont servi entre autres à décrire le comportement de personnages de jeux vidéos [87], de conducteurs et de piétons en milieu urbain [103, 131] ou encore d humains virtuels [17]. Leur utilisation reste cependant complexe pour un public non-informaticien. En parallèle, des langages spécifiques pour la description de comportements ont été définis, en particulier pour donner des capacités cognitives aux agents réactifs utilisés dans le domaine de l animation. Pour leur système IMPROV, K. Perlin et A. Goldberg ont proposé un langage proche de l anglais, permettant de scénariser l animation de plusieurs acteurs virtuels ; l introduction de probabilités explicites dans un script permet d obtenir des comportements moins prévisibles et donc plus réalistes [107]. De son côté, J. Funge a créé le langage CML (Cognitive Modeling Language) permettant de définir d une part des buts, et d autre part des actions à réaliser pour parvenir à ces buts ; les actions sont décrites par leurs préconditions d exécution et par leurs conséquences [65, 66]. L approche de J. Funge est adaptée à la description des connaissances permettant à un agent de raisonner sur une situation et de planifier ses actions en conséquence, mais la description de comportements réactifs en CML n est pas évidente. Enfin, B. Loyall a conçu un langage pour la description de comportements d «agents crédibles» (believable agents), capables de choisir des actions physiques ou mentales pour réaliser leurs buts [92]. Son langage, qui est une extension de LISP, permet d assembler des actions primitives physiques prédéfinies (animations) et des actions mentales quelconques qu il faut programmer en C. Outre les outils graphiques de conception de systèmes multi-agents que nous étudierons dans le chapitre 2, certains travaux portent sur la programmation graphique de comportements d agents virtuels. M. Travers propose par exemple un modèle permettant à des non-programmeurs de définir graphiquement des comportements d entités autonomes animées [133]. Il existe d autre part des outils commerciaux de création de mondes virtuels multi-utilisateurs, permettant de décrire graphiquement des comportements d objets animés. La société VIRTOOLS propose ainsi un atelier graphique, NEMO CREATION, réservé aux non-programmeurs [6]. Cet outil permet de combiner des blocs comportementaux prédéfinis et de les associer à des objets 3D. La programmation graphique manipule hélas des blocs de trop bas-niveau, ce qui rend la description de comportements d entités autonomes rapidement complexe. Pour pouvoir définir de nouveaux blocs comportementaux, il faut être capable de programmer en C++. De son côté, la société CRYO-NETWORKS a développé le SCS (Site Construction Set), un atelier graphique basé sur le langage SCOL (Standard Cryo Online Language) [7]. Cet atelier permet de décrire un monde multi-utilisateurs en interconnectant des modules, qui représentent des fonctionnalités du serveur et de l interface client. La définition de nouveaux modules nécessite l apprentissage du langage SCOL, certes plus abordable que C++ mais nécessitant de gérer des aspects réseau. Pour ces deux outils commerciaux, nous constatons qu il existe un fossé entre les possibilités données à l utilisateur au niveau de l atelier graphique et la maîtrise nécessaire d un langage de programmation sous-jacent dès qu il s agit de décrire plus que des animations prédéfinies.

1.2. MOTIVATIONS 23 1.2 Motivations À notre connaissance, il n existe pas encore d outil qui possède à la fois les caractéristiques suivantes : accessible aux non-programmeurs, de façon similaire à la partie graphique du SCS ou de NEMO ; basé sur un modèle spécifique à la description de créatures virtuelles ; intégrant complètement les utilisateurs ; définissant une architecture de décision robuste et déterministe, adaptée à la description graphique de comportements par assemblage de composants et par programmation graphique de haut-niveau. D un autre côté, les langages dits synchrones s avèrent adaptés pour la description de comportements déterministes de systèmes réactifs modulaires. Le langage ESTE- REL présente en particulier une syntaxe pratique et concise pour décrire des comportements réactifs correspondant au déclenchement d actions sur l arrivée de certains événements. L objectif du projet INVIWO (Intuitive Virtual Worlds) est de donner les moyens de concevoir des mondes virtuels habités à un public ne possédant pas obligatoirement des compétences en programmation (grand public, artistes, biologistes, scénaristes de jeux vidéos, etc.). Nous nous intéressons plus particulièrement à la description du comportement de créatures virtuelles, dans le sens d agents crédibles mais pas forcément réalistes 3, correspondant en partie aux believable agents de K. Perlin. Les caractéristiques de ces entités sont les suivantes, ces caractéristiques étant fortement liées : réactivité : les créatures doivent réagir à leur environnement dans un temps raisonnable et doivent s adapter aux modifications de cet environnement; autonomie : les créatures ont le contrôle total de leur processus de décision et de leur état interne ; pertinence : les actions choisies par une créature ont un sens que l observateur peut appréhender, c est-à-dire qu elles doivent visiblement tendre à la réalisation d un objectif ou de plusieurs objectifs simultanés. La figure 1.2 illustre un exemple de monde INVIWO : les habitants de ce monde sont des lapins qui se déplacent sur un damier. Chaque lapin doit atteindre un certain nombre de points cibles. Lorsqu un lapin détecte un risque de collision, il essaie d éviter l obstacle tout en essayant de ne pas s éloigner trop de sa trajectoire. Les obstacles peuvent être statiques (cube immobile) ou mobiles (autres lapins, avatar). Notre objectif est, à terme, de fournir des outils de haut-niveau basés sur un langage spécifique de description de comportements d agents. Le modèle d agent sous-jacent a été conçu de façon à être une synthèse et une simplification des architectures d agents existantes, afin de présenter au concepteur non-programmeur un ensemble minimal de composants. 1.3 Contribution Notre travail a posé des bases solides pour le développement d outils graphiques permettant de décrire des comportements d agents autonomes, dans le contexte des 3 En particulier, nous ne nous préoccupons pas de la simulation des lois physiques.

24 CHAPITRE 1. INTRODUCTION FIG. 1.2 Le monde des lapins. mondes virtuels multi-utilisateurs. Nous proposons un modèle de mondes virtuels homogènes, considérés comme des systèmes multi-agents uniformes intégrant complètement les utilisateurs. Ce modèle permet de mettre en œuvre des mondes locaux aussi bien que répartis, sans modification de la description du monde et des agents le constituant 4. Notre modèle d agent est volontairement minimaliste, tout en permettant de représenter des créatures virtuelles, c est-à-dire des agents situés évolutifs. 1.3.1 Mondes et agents INVIWO Un monde INVIWO est simplement un ensemble d agents en interaction : toute entité, que ce soit un objet, un agent virtuel ou un avatar, est représenté dans le monde sous la forme d un agent. L environnement d un agent est donc composé uniquement de l ensemble des autres agents. Nos agents cohabitent dans un monde virtuel : ils n ont a priori pas de comportement collaboratif. L interaction et la communication entre agents INVIWO se fait par l intermédiaire de messages typés, appelés stimuli externes, pouvant contenir des informations structurées. Cela permet de définir différents niveaux d interaction, et donc de mettre en œuvre aussi bien des agents réactifs que cognitifs, voire des agents conversationnels. Une caractéristique importante d un agent est sa capacité à réagir à des stimuli de façon autonome, c est-à-dire selon ses propres motivations et ressources. Un agent IN- VIWO est composé d attributs, de capteurs, d effecteurs et d organes de décision appelés modules comportementaux. Les attributs de l agent correspondent à ses ressources 4 La répartition est gérée indépendamment par la plate-forme d exécution.

1.3. CONTRIBUTION 25 internes et à ses motivations. Les capteurs reçoivent les stimuli externes et internes, les traitent puis les redistribuent au processus de décision. Les effecteurs réalisent soit des actions internes, correspondant à la gestion des attributs et de la structure de l agent, soit à des actions externes, correspondant à l interaction avec les autres agents. Les agents INVIWO sont d abord réactifs, mais ils peuvent posséder une mémoire (en tant qu attribut), et donc une représentation interne de leur environnement, ce qui les rendra éventuellement capables de raisonnement spatio-temporel. Ce modèle d agent sera détaillé dans le chapitre 5. Enfin, notre modèle prend en compte les utilisateurs de façon homogène, car c est une spécificité importante des mondes virtuels. L avatar INVIWO est donc un agent, capable de communiquer avec un opérateur humain via une interface utilisateur. Notre modèle d avatar sera présenté dans le chapitre 6. 1.3.2 Architecture de sélection de l action Le processus de décision doit amener l agent à choisir les actions internes et externes à effectuer en fonction des stimuli perçus et de son état interne. Il existe deux grands types d architectures de sélection de l action : les architectures monolithiques, difficiles à étendre et à maintenir, fiables dans des environnements similaires mais assez peu robustes aux imprévus ; les architectures distribuées, dites «basées sur les comportements», plus robustes et plus faciles à maintenir car modulaires, mais nécessitant une phase supplémentaire d arbitrage. Dans une architecture distribuée, le mécanisme d arbitrage permet de sélectionner une seule action parmi plusieurs actions conflictuelles, et dans certains cas de combiner plusieurs actions. La décision se fait alors en deux phases : la proposition d actions par différents modules de décision, puis l arbitrage de ces propositions. L architecture de sélection de l action choisie pour le modèle INVIWO est distribuée et repose sur un mécanisme d arbitrage homogène, permettant aussi bien de sélectionner une action parmi plusieurs propositions que de combiner ces propositions. Les modules comportementaux concurrents proposent des actions à effectuer en fonction du contexte courant, puis les arbitres sélectionnent à partir de ces propositions une action qui sera réalisée. Notre architecture est de plus basée sur le modèle synchrone nous garantissant un comportement déterministe de l ensemble des modules comportementaux. Cette architecture sera étudiée en détail dans le chapitre 7. 1.3.3 MARVIN Nous proposons un langage de spécification dédié, appelé MARVIN et basé sur notre architecture de sélection de l action. La syntaxe de ce langage est fortement inspirée de celle d ESTEREL ; nous y avons ajouté des caractéristiques orientées-objets et orientées-agents. Il permet ainsi de décrire tous les composants d un agent INVIWO, ainsi que les données manipulées par l agent et les messages échangés entre agents. Les corps des modules comportementaux sont principalement constitué de règles réactives concurrentes, qui facilitent la description du comportement d un agent. Notre langage comporte un ensemble d instructions permettant de gérer simplement le temps et l attente d événements, à la façon des constructions réactives d ESTEREL. Ce langage sera décrit dans le chapitre 8.

26 CHAPITRE 1. INTRODUCTION 1.3.4 Contraintes et comportements d agents Nous avons étudié diverses solutions d intégration de la notion de contraintes dans notre modèle, afin de faciliter la description de certains comportements de haut-niveau. Nous proposons en particulier d «agentifier» au besoin les contraintes multidirectionnelles entre agents, afin de centraliser la gestion de ces contraintes tout en conservant l autonomie et l encapsulation de nos agents. Par ailleurs, le modèle de contraintes-buts et la méthode de recherche adaptative proposés par P. Codognet [51, 116] s intègrent naturellement à notre architecture de sélection de l action ainsi qu au langage MAR- VIN. Nous détaillerons ces différentes solutions dans le chapitre 9. 1.4 Organisation du mémoire Ce mémoire se compose de quatre grandes parties : la première partie correspond à un état de l art nous permettant de définir le contexte dans lequel s insère notre travail ; la deuxième partie s attache à décrire le modèle INVIWO, constitué : d un modèle de mondes virtuels (chapitre 5) ; d un modèle d agent autonome (chapitre 5) ; d un modèle d avatar (chapitre 6). la troisième partie présente les outils de description de comportements que nous proposons, à savoir : une architecture de sélection de l action (chapitre 7) ; un langage dédié à la description de nos agents selon cette architecture (chapitre 8) ; l introduction de contraintes pour faciliter la description de certains comportements (chapitre 9). la quatrième partie est une description de l implémentation de la plate-forme d exécution. La première partie est composée de trois chapitres correspondant à un ensemble de définitions et à un état de l art concernant trois grandes influences de notre travail : 1. les travaux sur les agents autonomes, qui nous ont permis de dégager les caractéristiques et les besoins spécifiques aux agents virtuels (chapitre 2) ; 2. un état des lieux des architectures de sélection de l action basées sur une approche réactive, qui nous a guidé dans notre choix d une architecture de décision de l agent (chapitre 3) ; 3. un tour d horizon des systèmes réactifs et des langages dits synchrones, en particulier des caractéristiques du langage ESTEREL, des réseaux de processus réactifs et des objets synchrones, dont nous nous sommes largement inspirés pour proposer à la fois l architecture de sélection de l action et les bases du langage MARVIN (chapitre 4).

Deuxième partie Définitions et état de l art 27

Chapitre 2 Agents autonomes et systèmes multi-agents «- C est quoi l IM? - L intelligence machinique. Je trouve le terme artificielle à la fois méprisant et inexact. Mon intelligence n a rien d artificiel, mais je suis une machine.» Extrait du roman «Le problème de Turing», co-écrit par H. HARRISON et M. MINSKY (oui, le Marvin MINSKY). 2.1 Introduction Un agent est simplement une entité qui agit ou opère. Le terme agent pourrait donc s appliquer à n importe quel programme informatique qui produit des résultats. Il est d ailleurs utilisé pour désigner des concepts très différents, même dans le seul domaine de l Intelligence Artificielle, et il apparaît de plus en plus pour de discutables raisons de marketing 1. Puisqu il est difficile de donner une définition précise de ce qu est un agent, nous allons énoncer un certain nombre de caractéristiques qui nous paraissent importantes pour distinguer un agent d un programme informatique quelconque. Dans son mémoire de thèse, Z. Guessoum résume ainsi les caractéristiques qui émergent de différentes définitions données au terme agent depuis le début des années 90 : un agent est une entité active, autonome mais sociable, qui peut être intelligente et qui interagit avec un environnement dynamique, auquel elle doit s adapter [71]. Cette définition se place dans le contexte des systèmes multi-agents (SMA), elle implique donc que plusieurs agents peuvent coexister dans le même environnement. Elle implique également qu un agent est obligatoirement coopératif et capable de s adapter à son environnement; ces deux dernières caractéristiques correspondent effectivement aux qualités des agents de la plate-forme DIMA (Développement et Implémentation 1 Cette tendance à vouloir utiliser et vendre la notion d «agent» à tout bout de champ, parce que ce paradigme est à la mode, est entre autres vivement critiquée par M. Wooldridge et N. Jennings [139]. 29

30 CHAPITRE 2. AGENTS AUTONOMES ET SYSTÈMES MULTI-AGENTS de systèmes Multi-Agents) développée par l auteur, mais elles ne nous semblent cependant pas indispensables à tous les types d agents. Nous adopterons donc par la suite la définition personnelle suivante : Un agent est une entité active et autonome, qui interagit avec un environnement dynamique, et qui peut être intelligente, adaptative ou sociable. Après avoir détaillé ces différentes caractéristiques, nous préciserons en quoi consiste d une part la perception d un agent, d autre part l interaction d un agent avec son environnement. Notons au passage que les capacités de communication avec les autres agents sont généralement séparées des capacités d interaction avec l environnement : cette distinction sera détaillée dans la section 2.4. Nous nous intéresserons ensuite aux connaissances utilisées par un agent pour améliorer son comportement, puis nous terminerons sur une courte synthèse. 2.2 Caractéristiques d un agent 2.2.1 Autonomie D après J. Ferber, un agent est une entité physique ou virtuelle 2 qui possède ses propres ressources, compétences et objectifs [64]. Son état interne et son processus de décision sont entièrement encapsulés. Son comportement tend à satisfaire les objectifs en fonction des ressources et des compétences, mais aussi de la perception et éventuellement de la représentation que l agent a de son environnement, ainsi que des communications réalisées avec d autres agents. Un agent autonome est capable d agir seul, c est-à-dire de prendre des décisions selon des critères qui lui sont propres et sans l intervention d un autre agent ou d un opérateur humain, voire sans stimulation environnementale. Les agents qui peuvent agir sans stimulation extérieure sont parfois qualifiés de «pro-actifs». Cette autonomie implique évidemment que l agent doit être capable de gérer les conflits éventuels entre ses objectifs et son état interne ou l état de son environnement. Les mécanismes permettant de sélectionner des actions et de résoudre les conflits font l objet de nombreuses recherches, dont une partie est présentée dans le chapitre 3. J. Ferber distingue par ailleurs cinq catégories de motivations, c est-à-dire de raisons qui poussent un agent à agir [64]. Nous en retiendrons trois : les motivations personnelles tendent à satisfaire les besoins et objectifs internes de l agent ; les motivations environnementales sont produites par ce que perçoit l agent de son environnement; les motivations sociales découlent de l organisation des agents imposée par le concepteur du système. 2.2.2 Environnement L environnement est l ensemble des conditions naturelles (physiques, chimiques, biologiques) et culturelles (sociologiques) susceptibles d agir sur les organismes vi- 2 Nous ne nous attarderons pas sur la distinction entre les agents physiques et les agents simulés : la réalisation d un agent physique doit prendre en compte des contraintes plus fortes, comme la perception bruitée ou les risques de panne, mais les caractéristiques générales d un agent s appliquent aussi bien à un robot réel qu à un robot simulé.

2.2. CARACTÉRISTIQUES D UN AGENT 31 vants et les activités humaines. Par extension, l environnement est l ensemble des conditions extérieures susceptibles d agir sur le fonctionnement d un système. Un agent autonome évolue de façon continue dans un environnement, dans lequel peuvent exister d autres agents. Puisqu un agent agit sur son environnement et que l environnement agit sur l agent, il existe une réelle interaction entre ces deux entités. Du point de vue d un agent, l environnement correspond à «tout ce qui lui est extérieur» : les autres agents font aussi a priori partie de l environnement. Cependant, l environnement est souvent considéré comme une structure centralisée dynamique mais non autonome, qui contient l ensemble des entités avec lesquelles interagissent les agents mais qui ne sont pas des agents. C est le cas dans la plate-forme DIMA par exemple [71]. Cette approche sépare nettement la communication directe entre agents et la manipulation des objets de l environnement. Cette décomposition facilite la mise en œuvre de systèmes basés sur des agents cognitifs qui travaillent sur des connaissances partagées. Elle simplifie par ailleurs le maintien de la cohérence du système, en centralisant à la fois les données que nous qualifierons de publiques (position, forme géométrique, etc.) et les règles appliquées à ces données publiques pour tous les agents (cf. section 2.4.3). Selon Z. Guessoum, la connexion entre un agent et son environnement peut être plus ou moins forte selon la façon dont l agent acquiert l information en provenance de l environnement [71]. À partir des informations obtenues, l agent peut créer et modifier sa propre représentation de l environnement (cf. section 2.5.2). La connexion agent-environnement est forte dans le cas d un agent situé, c est-à-dire lorsque l agent possède des capteurs et des effecteurs. Les capteurs sont capables de percevoir directement (mais souvent partiellement) les éléments de l environnement ou les modifications survenues dans cet environnement (cf. la section 2.3 consacrée à la perception). Les effecteurs permettent à l agent d agir sur son environnement (cf. la section 2.4 concernant l interaction d un agent avec son environnement). L environnement d un agent situé est habituellement un espace à deux ou trois dimensions constitué de cellules géométriques pouvant contenir des éléments perceptibles et modifiables par les agents [88]. La connexion agent-environnement est très forte dans le cas d agents qui ne communiquent pas directement avec les autres agents mais perçoivent leur présence et leur influence uniquement à travers les modifications de l environnement. Dans le cas extrême des agents tropiques, qui ne possèdent ni état interne ni représentation de leur environnement, les stimuli perçus à chaque instant suffisent aux agents pour agir, par exemple pour se guider à l odeur ou au son vers une cible. Pour L. Steels [128] ou R. Brooks [42], la connexion agent-environnement est faible quand l agent n est pas nettement «ancré» (grounded) dans son environnement, c est-à-dire s il ne perçoit pas uniquement des informations non symboliques en provenance de cet environnement par l intermédiaire de ses capteurs. La connexion agent-environnement est minimale si l agent ne peut prendre connaissance de l état de l environnement qu à partir des informations fournies par d autres agents. Dans le cas extrême d un ensemble d agents purement communicants, l environnement n existe tout simplement pas et les agents peuvent seulement communiquer entre eux. 2.2.3 Comportement adaptatif Un agent adaptatif est capable de modifier son comportement et ses objectifs en fonction de ses interactions avec son environnement et avec les autres agents. En par-