De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier,...

156
De la simulation multi-agents à la simulation multi-niveaux Pour une réification des interactions Mémoire d’Habilitation à diriger des recherches de l’Université Lille 1 Spécialité : Informatique présenté par : Sébastien Picault Laboratoire d’Informatique Fondamentale de Lille Présentation prévue le 6 décembre 2013 Composition du jury : Yves Demazeau DR CNRS, Grenoble Rapporteur Amal El F allah Seghrouchni Pr., Université Pierre et Marie Curie Rapporteur Jacques Ferber Pr., Université Montpellier II Rapporteur Rémy Courdier Pr., Université de La Réunion Examinateur Anne Ruas Chercheur, IFFSTAR Examinateur Sophie T ison Pr., Université Lille 1 Présidente Philippe Mathieu Pr., Université Lille 1 Directeur

Transcript of De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier,...

Page 1: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

De la simulation multi-agentsà la simulation multi-niveaux

Pour une réification des interactions

Mémoire d’Habilitation à diriger des recherchesde l’Université Lille 1

Spécialité : Informatiqueprésenté par :

Sébastien PicaultLaboratoire d’Informatique

Fondamentale de Lille

Présentation prévue le 6 décembre 2013

Composition du jury :Yves Demazeau DR CNRS, Grenoble RapporteurAmal El Fallah Seghrouchni Pr., Université Pierre et Marie Curie RapporteurJacques Ferber Pr., Université Montpellier II RapporteurRémy Courdier Pr., Université de La Réunion ExaminateurAnne Ruas Chercheur, IFFSTAR ExaminateurSophie Tison Pr., Université Lille 1 PrésidentePhilippe Mathieu Pr., Université Lille 1 Directeur

Page 2: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

— ii —

Page 3: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Table des matières

Remerciements v

Avant-propos vii

Liste des figures x

Liste des tableaux xi

Liste des définitions xiii

I Synthèse des travaux 1

1 Introduction : la simulation de systèmes complexes 31.1 Présentation du domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 La simulation multi-agents de systèmes complexes . . . . . . . . . . . . 7

1.3 Questions méthodologiques . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 La simulation orientée interactions : principes et outils 132.1 Contexte scientifique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2 L’approche orientée interactions (IODA) . . . . . . . . . . . . . . . . . . . 16

2.3 L’univers IODA : quelques outils . . . . . . . . . . . . . . . . . . . . . . . 29

2.4 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3 La simulation orientée interactions : applications 353.1 Formulation d’hypothèses en biologie . . . . . . . . . . . . . . . . . . . . 35

3.2 Serious Games : l’humain dans la boucle . . . . . . . . . . . . . . . . . . 47

3.3 Diffusion de l’approche orientée interactions . . . . . . . . . . . . . . . . 56

II Travaux en cours et perspectives 67

4 La simulation multi-niveaux 694.1 Contexte scientifique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

— iii —

Page 4: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

TABLE DES MATIÈRES

4.2 Un modèle homogène pour les simulations multi-niveaux (PADAWAN) 74

4.3 Un exemple de modèle PADAWAN . . . . . . . . . . . . . . . . . . . . . 82

4.4 Transposition à la généralisation cartographique . . . . . . . . . . . . . . 84

5 Informer les simulations par les données 895.1 L’identification statistique de caractéristiques d’agents . . . . . . . . . . 90

5.2 Étapes du processus de recherche d’information . . . . . . . . . . . . . . 91

5.3 La simulation de clients statistiquement réalistes . . . . . . . . . . . . . . 96

5.4 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

6 Projet de recherche 1016.1 Développements de l’approche orientée interactions . . . . . . . . . . . . 101

6.2 Simulation multi-niveaux et utilisation de données . . . . . . . . . . . . 103

6.3 Par-delà la simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

6.4 ... et encore au-delà ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

III Pièces annexes 109

Curriculum Vitae 111État-civil et coordonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Parcours professionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Activité de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Publications personnelles 117

Références bibliographiques 123

Index général 137

Colophon 141

Résumé 142

Abstract 142

— iv —

Page 5: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Remerciements

La rédaction d’un mémoire qui résume une grosse décennie de travaux scientifiquesest l’occasion par excellence de mesurer à quel point la recherche est un processuscollectif. Je voudrais donc ici exprimer ma gratitude à tous ceux qui y ont contribuédirectement ou indirectement, et d’avance solliciter la clémence de ceux, rares j’espère,qu’un injuste oubli aurait lésés.

Je souhaite tout d’abord adresser mes remerciements à Yves Demazeau, Amal ElFallah Seghrouchni et Jacques Ferber, qui m’ont fait l’honneur d’être rapporteurs pource mémoire, en dépit d’un emploi du temps lourdement chargé et d’un délai assezserré. Je suis également très reconnaissant à Rémy Courdier, Anne Ruas et SophieTison de l’intérêt qu’ils ont manifesté à l’égard de ce travail en acceptant de participerau jury. Quant à Philippe Mathieu, j’ai envers lui une dette considérable, pour m’avoird’abord accueilli chaleureusement en 2002 au sein de l’équipe SMAC, puis témoignéune confiance indéfectible et amicale, que ce soit en matière de recherche ou d’ensei-gnement. Ses conseils, ses encouragements et son énergie communicative sont pourbeaucoup dans l’achèvement ce mémoire.

Mes remerciements vont également aux doctorants qui se sont lancés avec enthou-siasme sur des sujets difficiles : Yoann Kubera, qui, après m’avoir forcé à préciser ceque j’entendais par « simulation », a été un défenseur inexpugnable de l’approche orien-tée interactions et un pilier de l’équipe SMAC pendant plus de quatre ans ; et AdrienMaudet, qui a assimilé avec une rare célérité les subtilités de la cartographie et se livreavec équanimité à un numéro d’équilibriste entre résolution de problèmes et simula-tion orientée interactions. Quant au succès des projets Format-Store et Galaxian,il doit énormément à l’implication enthousiaste de ses participants : David Panzoli,Jean-Baptiste Leroy et Marc-Antoine Dupré, ainsi qu’aux échanges stimulants avec lescollaborateurs d’Idées-3Com, notamment Dominique Ringeval.

L’évolution de notre métier vers un fonctionnement par projets censés s’enchaînerà un rythme soutenu ne doit pas nous faire oublier que c’est souvent du temps consa-cré à la discussion et à l’échange informel que naissent les idées les plus riches. Jesuis donc très reconnaissant à Cécile Duchêne et à Guillaume Touya de s’être lancésavec moi dans une confrontation de nos problématiques. Il en résulte une coopéra-tion fructueuse et amicale, concrétisée à travers la thèse d’Adrien Maudet. De même,j’ai été très heureux des liens tissés avec des collègues biologistes, sources de ques-tionnement et d’inspiration pour chacun, notamment François-Yves Bouget, FlorenceCorellou, Christian Schwartz et leurs étudiants (Observatoire océanographique de Ba-

— v —

Page 6: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

REMERCIEMENTS

nyuls) ainsi que Christophe Guinet et Frédéric Bailleul (Centre d’Études Biologiquesde Chizé). Enfin, je souhaite souligner également la qualité des discussions qui ont lieuchaque année au sein de la communauté multi-agents francophone à l’occasion desJFSMA, et faute de pouvoir être exhaustif je mentionnerai dernièrement les échangesavec Gildas Morvan et Fabien Michel sur la simulation multi-niveaux.

Une bonne part des travaux présentés dans ce mémoire n’auraient pas vu le joursans la participation d’étudiants motivés et dynamiques : Jérémy Scafi, Benoît Gosse,Cyril Moreau, Nicolas Petitprez, Virgile Bourse, Mickaël Delacroix, Lisa Allali, Ben-jamin Kubiak, Valentin Ribeiro Dubois, Laëtitia Bonte, Benoît Lacroix, Nicolas War-daega, François Gaillard, Florent Delhaye, Ala Atrash, Thomas Clément et dernière-ment Guillaume Dauster. Si certains d’entre eux se sont engagés sur la voie rocailleusede la recherche ou de l’enseignement, j’ose espérer y avoir quelque peu contribué —et surtout qu’ils n’en éprouvent aucun regret.

Mon intégration dans le Nord tient largement aux qualités humaines d’accueil,d’écoute et d’amitié que j’ai ressenties au sein du LIFL, de l’équipe SMAC, et de l’IUToù j’ai effectué la plus grande part de mon service d’enseignement. Qu’en soientremerciés tout particulièrement (et entre autres) : Bruno Beaufils, Yann Secq, Jean-Christophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, BrunoMahiddine, Antoine Nongaillard, Iryna Veryzhenko, Omar Rihawi, Lisa Rougetet,Cédric Dinont, Damien Devigne, Julien Derveeuw, Marie-Hélène Verrons, FrançoisBoulier, François Lemaire, Jean-Marie Place, Isabelle Simplot-Ryl, Patricia Hecquet,Élodie Cimetière, Régine Derache, Marie-Claude et Michel Delecour, Michel Deblock,Éric Triquet, Mohammed Hamdi, Jacques Marengo, Georges Grimonprez, SylvestreVanuxem, Gildas Barbot, Pierre Le Brun, Max Chlebowski et Moulay-Driss Benchi-boun. Je dois dire également que j’ai pris beaucoup de plaisir à enseigner au sein dudépartement informatique de l’IUT, et plus spécialement en Licence Pro SIL da2i oùl’ambiance toujours chaleureuse des promotions m’a souvent aidé à surmonter lescoups de fatigue inhérents à ce métier.

Je dois à Alexis Drogoul d’avoir fait naître en moi, il y a plus de quinze ans, un inté-rêt jamais démenti pour l’intelligence collective et les agents réactifs, et de m’avoir in-sufflé son énergie lorsqu’il dirigeait ma thèse. Mes premiers pas sur cette voie doiventégalement beaucoup à Jean-Pierre Briot et Anne Collinot. Je voudrais en outre évoquerle souvenir de quelques figures qui ont marqué mon parcours, d’étudiant d’abord,puis d’enseignant-chercheur, et que je qualifierais de passeurs : leur talent pédago-gique, leur enthousiasme pour leur discipline, leur disponibilité pour des discussionsà bâtons rompus m’ont ouvert des domaines entiers dont, sans eux, j’aurais continuélongtemps d’ignorer les attraits, si ce n’est l’existence. J’espère n’oublier personne encitant, par ordre approximatif d’apparition dans mon environnement cognitif : YvesJeanneret, Julien Feydy, Alain Grumbach, Jean-Louis Dessalles, Jacques Pitrat, Jean-François Perrot, Jean-Daniel Zucker et Alain Cardon.

Enfin, merci à tous ceux qui, de près ou de loin, en esprit ou par leur présence,ont accompagné mon cheminement : Dimitri, Samuel, Frédéric, David... et bien sûrma famille, tout spécialement Anne, Esther, Yves et Marc, dont la patience et l’amourm’ont été indispensables pour mener à bien ce manuscrit.

h a g

— vi —

Page 7: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Avant-propos

La rédaction de ce mémoire de synthèse d’habilitation à diriger des recherches aété pour moi l’occasion de prendre un peu de champ par rapport à mon quotidiend’enseignant-chercheur. Il s’agit d’abord de se retourner sur une douzaine d’annéesde vie professionnelle pour examiner d’un regard rétrospectif et critique les travauxpoursuivis depuis ma thèse de doctorat. C’est aussi le moment de développer unecertaine idée des questions scientifiques importantes du domaine, et de l’activité derecherche en général.

Après ma thèse de doctorat en informatique [50], qui s’est déroulée au LIP6 (Pa-ris VI) de 1997 à 2001, sous la direction d’Alexis Drogoul, j’ai été recruté en septembre2002 au sein du LIFL (Lille 1), dans l’équipe SMAC dirigée par Philippe Mathieu. Mesactivités de recherche depuis cette date ont consisté à développer des méthodes et ou-tils de simulation multi-agents permettant de modéliser efficacement et simplementdes systèmes complexes à large échelle, en utilisant la notion d’interaction. Aprèsun premier prototype de validation (plateforme PASPAS, en Prolog) j’ai d’abord tra-vaillé sur les techniques de simulation à large échelle (projets SimuLE et MiSC), avantd’entamer à partir de 2005 une refonte complète de l’approche orientée interactionsà travers le projet IODA, que Yoann Kubera dans sa thèse (2007–2010) a décliné àtravers une plateforme d’expérimentation (JEDI) accompagnée d’un IDE de concep-tion de simulations (JEDI-Builder). Le stage de François Gaillard a permis d’ajouterune couche « méta » grâce à l’explorateur LEIA (2008) qui permet de manipuler etcomparer divers modèles de simulations en parallèle. Parallèlement à ces travaux,j’ai eu l’opportunité de mettre IODA en application sur des problématiques de biolo-gie (rythmes circadiens, 2006–2007), ainsi qu’à travers un serious game immersif (projetFormat-Store, 2010–2011) et une démonstration en réalité virtuelle (projet Galaxian,2011–2012).

J’ai par ailleurs cherché à étendre l’approche orientée interactions en direction dessimulations multi-niveaux, d’abord dans le cadre de la simulation large échelle (stagede Laetitia Bonte, 2005) puis dans le cadre de IODA (PADAWAN, 2010–2013). Cestravaux ont permis la naissance d’une collaboration avec l’IGN sur des probléma-tiques de résolution de problèmes en cartographie, qui se traduit par la thèse d’AdrienMaudet (commencée en 2012). Enfin, il est apparu plus récemment nécessaire, pouraccroître la fiabilité des simulations, de s’intéresser également à l’extraction d’infor-

— vii —

Page 8: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

AVANT-PROPOS

mations à partir de données issues de systèmes réels, pour paramétrer judicieusementles populations d’agents (2012–2013).

Ce document est organisé comme suit. La première partie dresse un bilan des tra-vaux menés depuis mon doctorat et qui ont été largement publiés, exploités, discutésdans la communauté SMA. Après avoir présenté le domaine et les problématiquesscientifiques afférentes (chap. 1), j’aborde les techniques de « simulation orientée inter-actions » que j’ai contribué à développer ainsi que les recherches connexes (chap. 2) ;enfin je décris les projets applicatifs que nous avons menés au moyen de cette mé-thode et qui ont permis une validation empirique de notre démarche (chap. 3). Cestravaux soulèvent nombre de questions nouvelles et de pistes à explorer qui serontévoquées en conclusion de ce mémoire (chap. 6).

La seconde partie expose quant à elle des travaux en cours, c’est-à-dire commencésdans les deux à trois dernières années, et promis à des développements importantsaussi bien du point de vue conceptuel que logiciel. Ainsi, la simulation multi-niveaux(chap. 4), telle que nous l’avons abordée, constitue certes une extension de la simula-tion orientée interactions, mais elle permet d’attaquer un large ensemble de verrousscientifiques dans la modélisation de comportements. De même, l’analyse de donnéesà des fins de paramétrisation des simulations (chap. 5), pour laquelle nous avons misau point des méthodes originales, s’avère un point crucial pour permettre au domainede la simulation multi-agents de s’attaquer avec efficacité à l’étude de systèmes com-plexes large échelle. C’est sur la base de ces évolutions récentes que je suis en mesurede proposer un projet de recherche cohérent et ambitieux pour les années à venir(chap. 6).

On trouvera également à la fin de ce mémoire mon Curriculum Vitae détaillé, suivide la liste de mes publications, des autres références bibliographiques citées et d’unindex.

N.B. 1 : Par convention typographique, les expressions qui figurent en gras dans lecorps du texte ont un caractère de définition.

N.B. 2 : Prenant acte d’une grande disparité d’usage dans la communauté fran-cophone, j’ai fait le choix d’un pluriel systématique pour l’expression « simulationmulti-agents » (ou « multi-niveaux »), en accord avec Grevisse [125, § 185d].

h a g

— viii —

Page 9: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Liste des figures

2.1 Une vue de la plateforme SimuLE . . . . . . . . . . . . . . . . . . . . . . 18

2.2 Un exemple d’interaction et de primitives . . . . . . . . . . . . . . . . . . 20

2.3 Principe général d’une simulation orientée interactions . . . . . . . . . . 20

2.4 Étapes de la méthodologie IODA . . . . . . . . . . . . . . . . . . . . . . . 28

2.5 La pyramide des outils IODA . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.6 Diagramme de classes simplifié de JEDI . . . . . . . . . . . . . . . . . . . 30

2.7 Vue de l’IDE JEDI-Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.8 Implémentation d’un modèle IODA via JEDI-Builder . . . . . . . . . . . 31

2.9 L’applet de démonstration de JEDI . . . . . . . . . . . . . . . . . . . . . . 32

2.10 Une vue du navigateur LEIA . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.1 Données biologiques : horloge d’O. tauri . . . . . . . . . . . . . . . . . . 38

3.2 Régulation d’un gène par lui-même . . . . . . . . . . . . . . . . . . . . . 40

3.3 Régulation croisée de deux gènes . . . . . . . . . . . . . . . . . . . . . . . 41

3.4 Résultats de simulation (1 gène) . . . . . . . . . . . . . . . . . . . . . . . 44

3.5 Résultats de simulation (1 gène, lumière) . . . . . . . . . . . . . . . . . . 45

3.6 Résultats de simulation (2 gènes) . . . . . . . . . . . . . . . . . . . . . . . 45

3.7 Simulation multi-agents d’O. tauri . . . . . . . . . . . . . . . . . . . . . . 46

3.8 L’architecture logicielle de Format-Store . . . . . . . . . . . . . . . . . . 53

3.9 Format-Store : le joueur . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.10 Problématiques d’un serious game immersif . . . . . . . . . . . . . . . . . 54

3.11 Format-Store : interactions conversationnelles . . . . . . . . . . . . . . 54

3.12 Galaxian : vues augmentées . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.13 IODA-NetLogo : gabarit des modèles . . . . . . . . . . . . . . . . . . . . 61

3.14 IODA-NetLogo : définition des interactions . . . . . . . . . . . . . . . . . 62

3.15 IODA-NetLogo : définition des matrices . . . . . . . . . . . . . . . . . . . 63

3.16 IODA-NetLogo : exemple de primitives . . . . . . . . . . . . . . . . . . . 64

4.1 PADAWAN : graphes d’inclusion et autres . . . . . . . . . . . . . . . . . 77

4.2 PADAWAN : intégration dans JEDI . . . . . . . . . . . . . . . . . . . . . 81

4.3 PADAWAN : la pompe sodium-potassium . . . . . . . . . . . . . . . . . 82

4.4 PADAWAN : la pompe sodium-potassium (graphe) . . . . . . . . . . . . 83

4.5 PADAWAN : représentation d’une impasse (cartographie) . . . . . . . . 86

— ix —

Page 10: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

LISTE DES FIGURES

5.1 Tracé des chemins suivis par les clients simulés dans le magasin virtuel 98

— x —

Page 11: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Liste des tableaux

2.1 Un exemple de matrice d’interaction . . . . . . . . . . . . . . . . . . . . . 21

2.2 Un exemple de matrice de mise à jour . . . . . . . . . . . . . . . . . . . . 22

2.3 Matrice d’interaction avec héritage . . . . . . . . . . . . . . . . . . . . . . 25

3.1 Matrice d’interaction (1 gène) . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2 Matrice d’interaction (2 gènes) . . . . . . . . . . . . . . . . . . . . . . . . 43

3.3 Format-Store : matrice d’interaction . . . . . . . . . . . . . . . . . . . . 55

3.4 Galaxian : matrice d’interaction . . . . . . . . . . . . . . . . . . . . . . . 58

4.1 PADAWAN : la pompe sodium-potassium (matrices) . . . . . . . . . . . 83

5.1 Résumé des notations pour l’analyse de transactions . . . . . . . . . . . 92

5.2 Exemple de matrice d’appariement entre deux transactions . . . . . . . 93

5.3 Matrice d’interaction de la simulation de clients . . . . . . . . . . . . . . 97

— xi —

Page 12: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

LISTE DES TABLEAUX

— xii —

Page 13: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Liste des définitions

I Définition : Système multi-agents . . . . . . . . . . . . . . . . . . . . . . . 5

II Définition : Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

III Définition : Simulation multi-agents . . . . . . . . . . . . . . . . . . . . . 6

IV Définition : Approche orientée interactions . . . . . . . . . . . . . . . . . 16

V Définition : Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

VI Définition : Primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

VII Définition : Relation de situation . . . . . . . . . . . . . . . . . . . . . . . 74

VIII Définition : Relation d’encapsulation . . . . . . . . . . . . . . . . . . . . . 75

IX Définition : Inclusion d’environnements . . . . . . . . . . . . . . . . . . . 76

X Définition : Hébergement d’agents . . . . . . . . . . . . . . . . . . . . . . 76

— xiii —

Page 14: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

LISTE DES DÉFINITIONS

— xiv —

Page 15: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

The proof of the pudding is in the eating.

Proverbe anglais

Première partie

Synthèse des travaux

Page 16: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,
Page 17: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Chapitre 1

Introduction : la simulation desystèmes complexes

Entre la théorie et l’expérience, entre laformalisation mathématique et l’observationphénoménologique, la simulation offre unetroisième voie : l’exploration algorithmique.

Quéau [177, p. 147]

Dans ma thèse de doctorat [50], intitulée Modèles de comportements sociaux pour lescollectivités d’agents et de robots, j’avais tout d’abord travaillé à des problématiques clas-siques de modélisation et de simulation, à savoir la recherche des modèles minimauxqui permettraient de reproduire certaines caractéristiques des sociétés de primates.L’objectif était, alors, de mettre en évidence des algorithmes, des comportements, desreprésentations qu’il serait possible de transposer dans des applications distribuées,sur des agents physiquement situés tels que des robots, pour leur permettre de gérerde façon autonome la question de leur organisation sociale. À mi-parcours, je dressaisun constat d’échec de cette démarche et en appelais plutôt à l’utilisation de techniquesfondées sur le développement, la sélection et l’évolution pour permettre un ancrageefficace et adaptatif des comportements de robots dans leur environnement physique.Parti de la simulation, j’avais fini par œuvrer pour les systèmes physiquement distri-bués...

D’une certaine façon, les années qui ont suivi ont été l’occasion d’un retour à lasimulation, à ses problèmes spécifiques, à ses techniques. Je concluais mon mémoirede doctorat sur la nécessité, pour l’informaticien et plus encore pour le chercheuren IA distribuée, de donner une réalité opérationnelle à chacune des métaphoresqu’il entendait employer, à travers « quelques principes généraux qui restent fécondsen toutes circonstances : parcimonie, incrémentalité et démarche expérimentale ». Je nepouvais être plus en phase avec l’équipe SMAC du LIFL où j’arrivais à la rentrée 2002,

— 3 —

Page 18: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 1 — INTRODUCTION : LA SIMULATION DE SYSTÈMES COMPLEXES

puisque la mise en œuvre pratique des modèles et leur évaluation y ont toujours étél’indispensable pierre de touche de la modélisation et de la démarche théorique.

Depuis, je me suis attaché, de concert avec mes collègues, à approfondir quelques-unes des questions que soulève la simulation multi-agents, en articulant constammentla nécessité d’une méthode de modélisation facile à appréhender pour des thémati-ciens, la réduction des biais d’implémentation, et la mise en œuvre efficace des tech-niques correspondantes.

Ce chapitre introductif vise à présenter le domaine de la simulation multi-agentsainsi que les principes méthodologiques qui ont guidé mes travaux.

1.1 Présentation du domaine

Les Systèmes Multi-Agents : origines et influences

Le domaine des Systèmes Multi-Agents (SMA) est né dans les deux dernières dé-cennies du xx

e siècle, avec un décollage très net depuis les années 1990. D’un point devue informatique, on peut dire qu’il résulte de la confrontation entre d’une part lesproblèmes de programmation objet et de programmation distribuée, notamment leslangages d’acteurs de Hewitt [128], et d’autre part les besoins de communication etde distribution pour la résolution de problème en Intelligence Artificielle, en particu-lier les architectures de type tableau noir de Hayes-Roth [127]. Les SMA s’inscriventdans le cadre plus large de l’Intelligence Artificielle Distribuée (IAD) [108, 79, 201]qui englobe par ailleurs la résolution distribuée de problèmes (ou de problèmes dis-tribués, cf. la polysémie naturelle de l’expression Distributed Problem Solving [110]).

Toutefois, ce domaine naissant a subi beaucoup d’autres influences, parfois de dis-ciplines éloignées de l’informatique, qui l’ont irrigué de concepts, de métaphores,de méthodes qui leur étaient propres. Le courant de la Vie Artificielle initié parLangton [141] a par exemple entraîné une étude assez féconde des mécanismesd’auto-organisation ou de l’émergence de structures spatiales ou temporelles à partirde comportements individuels très simples. La sociologie a fourni nombre de mo-dèles d’organisation, de représentation des normes ou de la confiance [83, 149]. Enfin,l’éthologie, science de l’étude comparée des comportements animaux dans leur mi-lieu, constituée au cours du xx

e siècle mais structurée et vulgarisée principalement àtravers les travaux de Lorenz [146], a exercé un ascendant indéniable, notamment enraison de son lien direct avec l’usage des SMA à des fins de simulation.

Si ce domaine a connu une croissance considérable depuis sa création, tant en ma-tière de techniques que d’applications, il n’en garde pas moins une relative immaturitéd’un point de vue scientifique. Écartelés entre des usages fort différents, qui vont dela simulation à la robotique mobile en passant par la résolution (distribuée ou non)de problèmes (eux-mêmes distribués ou non), la construction de mondes artificiels ouencore de nouvelles formes de génie logiciel [110], les SMA sont en outre pris entreles feux croisés des tenants d’une unification logicielle et de ceux qui n’y voient qu’uncadre de modélisation.

À ce jour, et en dépit de tentatives de normalisation (orchestrée notamment par laFIPA, Foundation for Intelligent Physical Agents de l’IEEE Computer Society), il n’existe

— 4 —

Page 19: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

1.1 – PRÉSENTATION DU DOMAINE

toujours pas de consensus quant à la forme logicielle que doit prendre un agent ou unsystème multi-agents. En effet, force est de constater que les concepts, architectures,algorithmes qui sous-tendent l’approche SMA ne se traduisent pas nécessairementpar une implémentation univoque. Inversement, il n’est pas raisonnable de réduireles SMA à un simple cadre conceptuel destiné à faciliter la décomposition d’un pro-blème : d’une part, cette approche ne se veut pas une simple méthodologie et ne pos-sède pas non plus de formalisme théorique qui permettrait par exemple de démontrerdes propriétés formelles ; d’autre part, de nombreuses propositions ont été élaboréeset confrontées pour répondre à des problèmes très pratiques d’implémentation, et siune grande diversité subsiste, il s’y dessine néanmoins des schémas récurrents, enparticulier pour chaque sous-domaine.

SMA, agent : définition minimaleCette articulation entre concepts et implémentation fera l’objet de nombreuses dis-

cussions au fil de ce mémoire. Provisoirement, contentons-nous de définitions a mi-nima, quitte à les enrichir en chemin.

Définition I — Système multi-agents.Un système multi-agents est essentiellement un système composé d’entités autonomes(appelées agents) qui peuvent interagir les unes avec les autres au sein d’un environ-nement commun.

Cet environnement est un espace ou plus souvent une portion d’espace, continu oudiscret, de topologie quelconque : il peut s’agir aussi bien d’un espace euclidien qued’une « grille », d’un graphe (par exemple pour décrire des relations d’accointance) ;il peut éventuellement se réduire à un point si l’on considère que le système n’estpas « spatialisé ». Mais son rôle premier est de servir de support à l’activité ou à lacommunication des agents.

Quant à l’agent, la manière la plus simple de le définir est celle de Russell etNorvig :

Définition II — Agent.Un agent est tout ce qui peut être vu comme percevant son environnement au moyende capteurs et agissant sur cet environnement au moyen d’effecteurs (« an agent isanything that can be viewed as perceiving its environment through sensors and acting uponthat environment through effectors » [189]).

Ces critères peu restrictifs s’appuient uniquement sur la description de ce que faitl’agent, et ne fait aucune hypothèse quant aux mécanismes internes utilisés pour perce-voir, décider et agir. La définition donnée par Ferber [110] est plus précise sur ce point(en imposant à l’agent des buts au moins implicites et des moyens pour les atteindre),

— 5 —

Page 20: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 1 — INTRODUCTION : LA SIMULATION DE SYSTÈMES COMPLEXES

plus proche de ce fait d’une spécification opérationnelle, mais plus exigeante aussi enimposant un couplage assez fort entre les actions de l’agent et l’accomplissement deses objectifs. Nous aurons l’occasion au chapitre 2 de revenir sur cette discussion.

La simulation multi-agents

Les travaux que j’ai menés au cours de ma thèse, et surtout depuis, s’inscriventprincipalement dans un sous-domaine des SMA, la simulation multi-agents, en an-glais Multi-Agent Based Simulation (MABS). Le terme de « simulation », dans le cadreinformatique, recouvre en fait au moins deux pratiques complémentaires.

— La première correspond à l’acception scientifique de ce terme, et consiste à « pra-tiquer des tests sur un substitut de la situation réelle [...] (le substitut étant sup-posé reproduire fidèlement les caractéristiques pertinentes essentielles à la situa-tion à caractériser) » [199], et ce afin d’évaluer la plausibilité des hypothèses quisous-tendent un modèle. Comme dans une expérience, il s’agit donc de contrôlerles conditions dans lesquelles se déroulent les événements à étudier, afin d’aiderà l’évaluation d’un modèle issu d’une autre discipline scientifique.

— La seconde correspond à l’usage courant du terme « simulation » : l’animationd’un monde artificiel, proche ou non du monde réel, et dont l’usage peut être lu-dique (jeu vidéo, cinéma), pédagogique (simulateur de conduite, Serious Game),artistique [132]...

En pratique, les objectifs visés dans chacune de ces deux grandes catégories peuventêtre assez diversifiés : prédiction de l’évolution d’un système, explication de ses méca-nismes, découverte de phénomènes inattendus, preuve, entraînement, divertissement,remplacement d’acteurs humains, etc. [58].

Cela nous amène à proposer la définition suivante pour les simulations multi-agents :

Définition III — Simulation multi-agents.La simulation multi-agents est le domaine qui étudie les méthodes et algorithmes,dans le cadre conceptuel et opérationnel des SMA, qui permettent de construire destechniques de représentation et de production des connaissances ainsi que de calculd’événements, à la fois :

— fiables, c’est-à-dire sans biais introduits dans les résultats par des choix im-plicites de modélisation ou d’implémentation ;

— efficaces en termes de temps d’exécution ou de volume d’information pou-vant être traité ;

— manipulables autant que possible par des thématiciens (experts non informa-ticiens du domaine auquel s’applique la simulation visée) qui doivent pouvoirparamétrer voire programmer eux-mêmes les outils de simulation ;

— intelligibles en ce qui concerne la représentation du modèle et l’interprétationdes résultats de simulation par ces mêmes thématiciens ;

— modulaires pour permettre une révision aisée de parties du modèle ;

— 6 —

Page 21: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

1.2 – LA SIMULATION MULTI-AGENTS DE SYSTÈMES COMPLEXES

— polyvalentes, autrement dit permettant de traiter de la même façon non seule-ment des simulations scientifiques appliquées à des domaines variés, mais éga-lement des simulations destinées à produire des mondes artificiels.

L’une des difficultés de la conception d’une simulation réside dans le fait qu’ellesuit un processus complexe au cours duquel le modèle du phénomène établi par lethématicien, dit « modèle thématique » (parfois appelé « modèle non formel »), estd’abord reformulé dans le cadre d’un formalisme donné, pour constituer un « modèleconceptuel » (ou « modèle formel ») [191, 182]. Celui-ci est à son tour transformé enun « modèle computationnel » (ou « modèle exécutable », ou encore « modèle opé-rationnel ») [106, 99] qui comporte les spécifications nécessaires à l’implémentation.Enfin ce dernier est traduit en pratique en un programme informatique au moyend’un langage de programmation ou au sein d’une plateforme de simulation. Chacunede ces étapes est susceptible de déroger aux exigences que nous avons formuléesci-dessus [105, 115].

Domaines proches

On trouvera également dans la littérature la terminologie « Individual-Based Mo-deling » (IBM) ou « Agent-Based Modeling » (ABM) [130, 68]. Le recouvrement avecla simulation multi-agents est très large ; toutefois l’accent y est en général moinsmis sur la notion de collectif (et d’interactions) que sur l’individuation des entitésqui composent le système. Ces domaines sont issus majoritairement de la socio-logie et de l’écologie, où l’idée même de descendre au niveau de granularité desindividus pour formuler des hypothèses qui se prêtent à l’expérience est relative-ment récente, les dénominations IBM et ABM visant précisément à marquer cettespécificité par rapport à l’approche dominante. En pratique, on constate que la dif-férence avec la simulation multi-agents s’amenuise constamment. Ainsi par exemple,Craig Reynolds maintient une liste de simulations mettant en œuvre des « Individual-Based Models » qui sont pour une très vaste majorité des modèles multi-agents(http://www.red3d.com/cwr/ibm.html).

1.2 La simulation multi-agents de systèmes complexes

En raison de sa capacité d’une part à fournir des « laboratoires virtuels » qui mani-pulent des entités informatiques isomorphes à celles des thématiciens, et d’autre partà évaluer des modèles explicatifs et non seulement prédictifs, la simulation multi-agents a progressé de façon constante et surtout couvre des domaines sans cesse plusvariés.

De ses domaines applicatifs de prédilection, comme l’éthologie [23, 98, 205], la so-ciologie [92, 121], le trafic routier [109] ou l’économie [184], la simulation multi-agentss’attaque désormais à la biologie systémique [183], aux systèmes physiques ou chi-miques [207, 210], aux écosystèmes [84, 74], aux processus de diffusion [112], à la

— 7 —

Page 22: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 1 — INTRODUCTION : LA SIMULATION DE SYSTÈMES COMPLEXES

finance [57, 75], aux phénomènes de foule [68, 165, 196], aux réseaux sociaux [181].Ces domaines d’application récents présentent des caractéristiques communes quisoulèvent des difficultés tout à fait nouvelles pour les SMA :

— La modélisation y est dominée très largement par l’approche « systèmes dy-namiques », c’est-à-dire une approximation continue basée sur des systèmesd’équations différentielles, parfois tempérée par des méthodes stochastiques :les SMA ont donc en général à y faire la preuve de leur intérêt, au contraire desdomaines « historiques ».

— Cette prédominance du continu vient évidemment du fait qu’on se trouve face àun très grand nombre d’entités plus ou moins interchangeables : l’hypothèse que cesentités sont identiques dans leur comportement général (en dépit de possiblesvariations de leurs propriétés), même si elle n’est pas vérifiée en permanence,constitue souvent une assez bonne approximation.

— Le recours à la simulation multi-agents vient souvent du besoin de gagner enintelligibilité et en flexibilité pour pouvoir à la fois tenir un discours explicatif àpartir d’un modèle qui rend compte correctement des observations, et le modi-fier facilement lorsque d’autres hypothèses doivent être testées.

— Les comportements individuels, lorsqu’ils se différencient, sont mal connnuscar il est plus difficile d’observer les entités du système que lorsqu’il s’agit de« gros » individus comme en éthologie : les méthodes d’acquisition de ces in-formations sont souvent statistiques ou destructives (broyage de cellules parexemple).

— Enfin, ces nouveaux domaines sont producteurs de quantités de données colos-sales, notamment en raison des méthodes de mesure automatique qu’elles ontdéveloppées durant les dernières décennies, confortées par l’accroissement descapacités de traitement et de stockage numériques.

Systèmes complexes, systèmes large échelle

En fait, si l’on considère ces nouveaux domaines, on constate qu’ils se situent àl’intersection de deux ensembles de phénomènes :

— D’un côté, on trouve les systèmes complexes, constitués d’entités qui inter-agissent les unes avec les autres de façon locale et non triviale (non linéairenotamment, ou avec des boucles de rétroaction), de sorte que l’évolution du sys-tème ne peut être prédite par l’intégration pure et simple des lois qui régissentles entités : la prédiction nécessite une expérimentation ou une simulation. Unsytème complexe peut être composé de très peu d’entités, par exemple le fameuxproblème gravitationnel des trois corps pour lequel il existe bien une solutionanalytique formulée par Sundman [200], mais qui ne permet de tirer aucuneprédiction de long terme sur les trajectoires des corps et leur stabilité.

— L’autre versant est constitué par les systèmes large échelle qui impliquent untrès grand nombre d’agents, appartenant à des familles variées et liées entre ellespar une grande diversité d’interactions. Un système large échelle peut être sou-mis à une évolution macroscopique déterministe et formulable de façon simple,comme par exemple dans la théorie cinétique des gaz de Boltzmann [67].

— 8 —

Page 23: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

1.3 – QUESTIONS MÉTHODOLOGIQUES

La conjonction de ces deux groupes de systèmes complique considérablement latâche du modélisateur : les systèmes large échelle ne peuvent plus passer par des mé-thodes statistiques ou équationnelles dès lors que les interactions entre les entités quiles composent ne sont plus triviales ; mais réciproquement, les approches plus « qua-litatives » (théorie des systèmes [66], cybernétique [214], systèmes multi-agents, etc.)qui ont aidé à comprendre les mécanismes à l’œuvre dans les systèmes complexes,doivent se doter de nouvelles armes pour faire face à l’effet de masse du passage aularge échelle.

Pour ce qui est des systèmes multi-agents, originellement appliqués à la simula-tion ou à la production de systèmes complexes, le principal problème serait donc depasser au large-échelle. Mais il ne s’agit pas seulement d’un changement de volume,dont viendrait aisément à bout l’accroissement régulier des capacités de calcul desmachines : il faut également revoir la façon de représenter les connaissances pourrendre celles-ci plus lisibles, permettre facilement la révision de modèles dont l’expres-sion est de plus en plus compliquée, et de façon générale faciliter et simplifier l’accèsdu thématicien au modèle conceptuel.

Nous verrons dans le prochain chapitre comment l’appproche orientée interactionscherche à répondre à ces préoccupations.

1.3 Questions méthodologiques

Il n’est pas sûr que la nature soit simple. Pouvons-noussans danger faire comme si elle l’était ?

Poincaré [175, p. 173]

Durant ces travaux, je me suis appuyé sur quelques principes épistémologiques queje considère comme majeurs.

Le principe de parcimonie

Le premier d’entre eux est le principe de parcimonie ou « rasoir d’Ockham », selonlequel on se doit de ne pas multiplier les entités plus que nécessaire. Ce principe quis’affichait au fronton du temple de Delphes (sous la forme Μηδὲν ἄγαν : « rien detrop ») est devenu un des fondements des sciences empiriques modernes, et conduit àprivilégier les modèles qui font appel au nombre d’hypothèses le plus faible, et à aussipeu de concepts que possible, ces concepts se devant en contrepartie d’offrir un champd’application étendu. Comme le rappelait Poincaré [175], « si nous construisons unethéorie fondée sur des hypothèses multiples, et, si l’expérience la condamne, quelleest parmi nos prémisses celle qu’il est nécessaire de changer ? Il sera impossible dele savoir. Et inversement, si l’expérience réussit, croira-t-on avoir vérifié toutes ceshypothèses à la fois ? ».

— 9 —

Page 24: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 1 — INTRODUCTION : LA SIMULATION DE SYSTÈMES COMPLEXES

Or le passage à la simulation informatique introduit mécaniquement de nom-breuses questions qui ne se posaient pas nécessairement au thématicien mais quel’informaticien doit résoudre : le modèle conceptuel et le modèle computationnel dé-finissent en effet les propriétés du substrat numérique qui vient se substituer à lasituation réelle, et c’est donc sur les choix qui y sont faits en matière de représenta-tion des connaissances, d’algorithmique et d’implémentation, que repose la fiabilitéde l’expérience virtuelle, autrement dit sa capacité à « reproduire fidèlement les ca-ractéristiques pertinentes essentielles à la situation à caractériser » [199]. Bien évidem-ment le principe de parcimonie s’applique aussi bien aux hypothèses des thématiciensqu’au processus d’élaboration des modèles conceptuels et computationnels.

La parcimonie se pose ainsi en indispensable garant de l’intelligibilité et de la fiabi-lité de nos systèmes artificiels : car, lorsque l’on cherche à reproduire un phénomènecollectif intéressant à partir du comportement des entités qui le composent, la moindredes choses est de pouvoir expliquer très précisément ce que font chacune de ces enti-tés prises individuellement et comment le calcul de leurs interactions est mené à bien.Ce principe nous conduit donc à rechercher des modèles et méta-modèles minimaux et àviser une reproductibilité parfaite des expériences. Il se traduit aussi par une volontéd’unifier des concepts, quand c’est possible, par une généralisation pertinente (commenous le verrons pour la notion d’agent plus loin).

L’explicitation des hypothèses

Pour pouvoir appliquer le principe de parcimonie aux modèles thématiques (et parsuite, conceptuels), il faut être en mesure d’expliciter toutes les hypothèses d’un mo-dèle, ce qui ne va certainement pas de soi. Les thématiciens élaborent leurs hypothèsesdans un cadre théorique qui leur est propre, et comporte un grand nombre d’élémentsimplicites ; lorsque l’informaticien pense transcrire ces modèles sous une forme com-putationnelle, il s’expose non seulement à oublier ces présupposés qui n’ont pas pourlui de caractère d’évidence, mais en outre à introduire dans sa propre construction deschoix liés au type de modèle qu’il conçoit, à l’implémentation qu’il en donne, voireà l’architecture de calcul qu’il utilise. Or, il apparaît que les simulations multi-agentssont tout particulièrement exposées à ce travers : par la métaphore de l’individu et del’environnement, elles peuvent aisément prêter le flanc à l’illusion d’une transpositionimmédiate d’un concept du modèle thématique en un concept du modèle conceptuelou même du modèle computationnel [105, 134].

L’un des efforts de la modélisation consiste donc, d’une part, à forcer le thématicien àexpliciter certaines de ses hypothèses tacites ; d’autre part, à lui fournir un cadre de simu-lation dans lequel la plupart des choix possibles de représentation des connaissanceset d’implémentation ont été répertoriés et où des choix par défaut lui sont explicitementproposés.

Une démarche constructionniste

Le second principe directeur de mes travaux est le constructionnisme, pris dansun sens quasiment mathématique, à savoir que les modèles et les algorithmes quenous proposons n’ont pas de valeur tant qu’ils n’ont pas fait l’objet d’une construction

— 10 —

Page 25: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

1.3 – QUESTIONS MÉTHODOLOGIQUES

qui les fait exister, autrement dit d’un programme que l’on peut traiter par l’étudeexpérimentale et juger à l’aune de ses qualités logicielles. Dans la mesure en effetoù l’IA distribuée ne relève pas de l’informatique théorique et qu’on peut difficile-ment y établir des preuves formelles, il nous semble qu’une validation empirique (quipeut d’ailleurs prendre des formes variées) est la seule démarche applicable à notredomaine.

D’une certaine façon, on peut considérer que, de même l’expérience ou la simula-tion permettent de corroborer ou de réfuter les hypothèses du modèle thématique,de même la mise en œuvre pratique d’une méthodologie ou d’une approche de si-mulation, à travers des plateformes logicielles et des cas d’étude concrets, constitueune expérimentation toujours renouvelée de leurs avantages théoriques, et sans aucundoute profitable car elle contribue ainsi à renforcer leur scientificité. C’est une formede réfutabilité [176] de la démarche théorique, peut-être la seule dont nous puissionsvéritablement faire état dans notre discipline.

Ce constructionnisme peut s’entendre également dans un sens proche de celui dé-fendu par Papert [170], en ce qui concerne la façon dont nous apprenons à manipulerdes outils notamment informatiques. En effet, la simulation multi-agents a vocationà modéliser des problèmes issus de domaines dont les thématiciens sont en généralpeu formés à la programmation, ou même seulement à l’algorithmique. La conceptiond’un modèle de simulation doit leur permettre de procéder par essais et erreurs, et ceà moindres frais du point de vue de l’écriture de code : autrement dit, elle doit êtreincrémentale. Nous nous devons donc de construire nos outils de telle sorte que lesthématiciens n’aient plus, si possible, qu’à assembler correctement les bonnes pièces,sans avoir à se préoccuper de leur fonctionnement interne.

h a g

— 11 —

Page 26: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 1 — INTRODUCTION : LA SIMULATION DE SYSTÈMES COMPLEXES

— 12 —

Page 27: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Chapitre 2

La simulation orientéeinteractions : principes et outils

Une méthode excellente finit par perdre safécondité si on ne renouvelle pas son objet.

Bachelard [59, p. 14]

Lors des deux dernières décennies, la simulation multi-agents n’a cessé d’étendreson emprise sur des domaines toujours plus nombreux, et ce me semble-t-il précisé-ment en raison de sa capacité à rendre compte des causes des phénomènes et passeulement à prédire leur évolution sous certaines circonstances. Sous l’influence dé-terminante de l’éthologie, cette discipline a opérationnalisé les concepts d’individu,de groupe, de comportement, de réflexe, d’environnement d’une façon particuliè-rement féconde. L’idée prédominante de la dernière décennie du siècle passé étaitd’ailleurs que la simulation de systèmes sociaux naturels, des insectes aux hommesen passant par d’autres primates, allait fournir de nouvelles méthodes informatiquespour organiser des sociétés d’agents artificiels ou résoudre des problèmes collectifs.J’ai moi-même souscrit à l’optimisme de ces recherches avant d’en reconnaître leslimites [50].

Certes, la simulation de sociétés naturelles a permis de synthétiser des points devue qui s’exprimaient de façon éparse dans diverses disciplines, et d’illustrer à tra-vers de nombreux exemples convaincants ces mécanismes qui font apparaître desphénomènes complexes à partir d’acteurs simples. Mais, hélas ! hormis un ensemblede mécanismes, maintenant assez bien connus (rétroactions négatives mais surtoutpositives, ordre par le bruit, brisure de symétrie, stigmergie, localité des perceptionset des actions tant dans l’espace que dans le temps, effets de seuil et de masse critique)qui somme toute avaient déjà été identifiés par la cybernétique et par l’étude des sys-tèmes dissipatifs, et à l’exception de quelques techniques comme le flocking [180] ou

— 13 —

Page 28: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

le routage « fourmis » [93], force est de reconnaître que n’a pas vraiment conduit àune révolution algorithmique.

Aussi, une divergence s’est-elle progressivement installée entre le domaine de la si-mulation multi-agents et celui de la conception d’applications informatiques utilisantles SMA. Par simulation, nous devons entendre la création de programmes destinés àreproduire des phénomènes, que ce soit à visée scientifique (évaluation d’hypothèses,prédiction, aide à la décision), ludique (cinéma, jeux vidéo), pédagogique (formation,entraînement, sensibilisation) ou artistique. Seuls les objectifs de ces simulations dif-fèrent, mais nous verrons qu’il est possible, pour les réaliser, d’employer les mêmesprocédés. Dans ce chapitre, nous allons donc voir quel genre d’approche spécifique àla simulation nous avons choisi de construire, et nous reviendrons dans le chap. 6 surla question de la conception d’applications multi-agents.

2.1 Contexte scientifique

Une focalisation excessive sur l’individu

Dans les domaines d’application visés à l’origine par les simulation multi-agents,tels que l’éthologie [205, 98, 23], la sociologie [92, 121], le trafic routier [109] ou l’écono-mie [184], la notion d’individu est centrale. Certes, l’individu n’existe pas en tant que tel,isolé, mais en tant que membre d’un groupe ou du moins comme entité en relationavec d’autres. Néanmoins, c’est bien sur l’individu que porte l’effort de modélisa-tion : ses propriétés, ses représentations mentales (numériques ou symboliques), sesbuts implicites ou explicites, et... son comportement.

Par ailleurs, force est de constater que l’approche multi-agents est née est s’estdéveloppée dans le contexte historique de la programmation orientée objets. Nombrede ses inventeurs viennent du monde des objets des acteurs ou des composants [117,218, 129], et l’on sent très tôt la nécessité de définir une frontière entre agents etobjets [110]. Réciproquement, il est évidemment pratique de programmer un SMAdans un langage orienté objets en faisant dériver d’un même ancêtre les diversesfamilles d’agents nécessaires au modèle.

Une des conséquences de cette origine commune est sans doute la prédominancede la structure (l’entité agent) sur la fonction (le comportement attribué à l’agent).On constate en effet que dans les architectures classiques d’agent, le comportementest vu comme une fonction propre à l’agent, codée en tant que méthode (au pire)ou composant logiciel (au mieux) de l’agent. La conception d’un modèle de simulationpasse par l’identification des agents, puis par la définition du comportement de chacund’entre eux. L’implémentation commence elle aussi par les agents, puis s’intéresse àleurs comportements.

Cette sujétion du comportement vis-à-vis de l’agent est, selon nous, source de nom-breux problèmes, parmis lesquels :

— le manque de réutilisabilité des développements d’une simulation à une autre : il estdifficile d’affecter un comportement à un agent autre que celui pour lequel il aété écrit, car le comportement développé s’appuie sur les spécificités de l’agentdont il provient ;

— 14 —

Page 29: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

2.1 – CONTEXTE SCIENTIFIQUE

— le manque de flexibilité des modèles de simulation : si un agent a été caractérisé parun ensemble de comportements, il est parfois difficile de lui en ajouter ou delui en retirer sans compromettre la cohérence de l’ensemble ; a fortiori si des« objets » dépourvus de comportements mais utilisables comme ressources ontété introduits en tant que tels dans la simulation, il est compliqué de les doter aposteriori d’un comportement qui correspondrait à une évolution nécessaire dumodèle ;

— le caractère fortement procédural ou algorithmique du comportement, qui ne va pasforcément de soi pour des thématiciens, souvent plus habitués à une formulationà base de règles ;

— dans le pire des cas, une perte complète de l’intelligibilité des comportements lorsqueceux-ci sont construits à partir d’architectures numériques (réseaux de neurones,algorithmes génétiques, etc.) — heureusement, cela concerne moins la simula-tion que la conception d’applications SMA ;

— le risque de perdre une partie de la connaissance initiale lors du passage aumodèle computationnel, car des similarités connues dans les comportementseffectués par des agents de familles différentes peuvent se trouver masquéesprécisément par l’encapsulation de ces comportements au sein des agents.

Séparer le déclaratif du procédural

Cette dépendance du comportement vis-à-vis de l’agent est d’autant plus surpre-nante que parmi les disciplines qui ont influencé les SMA, on en compte au moinsdeux qui auraient pu conduire à des orientations radicalement différentes. En premierlieu, l’éthologie [146], qui a fortement imprégné les méthodologies et les architectures,identifie de grandes familles de comportements indépendamment des variantes dont leurexécution peut faire l’objet : ces comportements « génériques » sont caractérisés parleur fonction (alimentation, reproduction, défense du territoire, etc.). Ils présentent uncaractère téléonomique [161], c’est-à-dire qu’ils sont dotés d’une finalité implicite qui aété construite par l’évolution et rend l’ensemble de leur comportement aussi cohérentque s’ils planifiaient leurs actions pour atteindre un but explicite. Cette caractérisa-tion fonctionnelle est à la base même de la conception de comportements dans unearchitecture d’agent réactif [110], mais sa mise en œuvre ne pousse pas au maximumla logique sous-jacente d’une forme d’universalité des comportements.

De même les systèmes experts, dont sont dérivés les architectures de tableaux noirsancêtres des SMA, doivent leur succès passé à la mise en œuvre efficace d’une sépara-tion entre les aspects déclaratifs (connaissances constituées de bases de faits et de basesde règles) et les aspects procéduraux (moteurs de chaînage avant, arrière ou mixte) deleur conception et de leur implémentation.

De fait, cette séparation existe dans l’architecture d’agent BDI (Belief, Desire, In-tention) de Rao et Georgeff [178], mais celle-ci impose une modélisation d’un hautdegré cognitif qui, d’une part, est impraticable pour bon nombre de thématiciens desdomaines couramment visés par la simulation multi-agents, et d’autre part, supposedes représentations et des inférences dont la complexité ne permet pas de montée encharge.

Une première grande orientation de notre démarche a donc été de tenter de remé-dier à ces problèmes. Dans le même temps, nous avons dû garder à l’esprit que les

— 15 —

Page 30: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

domaines d’application nouveaux que visait la simulation multi-agents étaient nonpas seulement des systèmes complexes, mais aussi des systèmes large échelle.

2.2 L’approche orientée interactions (IODA)

interaction : action de deux ouplusieurs objets l’un sur l’autre.

Littré [144]

� http://www.lifl.fr/SMAC/projects/ioda/

L’idée d’utiliser explicitement des règles impliquant plusieurs agents pour décrirede façon abstraite leurs comportements est née dans l’équipe SMAC de Lille au débutdes années 2000 [150]. C’est la base même de l’approche orientée interaction que l’onpeut définir comme suit :

Définition IV — Approche orientée interactions.L’approche orienté interactions repose sur les points suivants :

1. toute entité susceptible de jouer un rôle dans le modèle du phénomène à simulerest représentée par un agent ;

2. tout comportement réalisable par des agents est décrit de façon abstraite (c’est-à-dire en exprimant ce qu’il a de général) sous la forme d’une règle appeléeinteraction ;

3. le moteur de simulation est totalement indépendant des agents et des interactions,il ne fait qu’appliquer des algorithmes qui déterminent quelles interactions sontexécutées, et par quels agents.

L’une des caractéristiques majeures qu’il faut souligner ici est bien la volonté d’uni-fication (et par conséquent, de simplification) des concepts utilisés ordinairement dansun SMA. Contrairement à l’approche canonique où les « agents » véritables (i.e. lesentités dotées d’un « comportement ») cohabitent avec des « objets » ou « ressources »,voire avec des « artefacts », des « objets actifs » ou autres hybrides, dans l’approcheorientée interactions tout est agent [39], au sens où toute entité pertinente pour lamodélisation est représentée dans le simulateur par un agent, et ce quels que soientle degré et la complexité des actions où cette entité est impliquée. Nous reviendronssur ce choix plus loin (p. ??).

Cette position du tout-agent ne concerne que les entités du modèle : l’environne-ment, quant à lui, est d’abord un espace contenant ces entités (cf. p. 5) et à ce titre, n’a

— 16 —

Page 31: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

2.2 – L’APPROCHE ORIENTÉE INTERACTIONS (IODA)

pas vocation à être agentifié. Nous verrons ultérieurement que cette distinction entreentités et espace permet également de donner une cohérence unificatrice à l’approchemulti-niveaux que nous défendons (ch. 4).

Une telle démarche vise à séparer au maximum les aspects déclaratifs des aspectsprocéduraux d’un modèle de simulation multi-agents. Elle s’est déclinée au sein del’équipe SMAC à travers deux axes principaux :

— la simulation de comportements pour agents rationnels situés, à travers le projetCoCoA (pour COgnitive COllaborative Agents) dirigé par Jean-Christophe Rou-tier, qui vise notamment à doter les personnages virtuels de jeux vidéo de capa-cités à raisonner sur leurs buts de façon réaliste, en tenant compte par exempled’une perception limitée, de traits de personnalité et de planification de com-portements d’équipe [90, 186, 103] ;

— la simulation d’agents situés plutôt réactifs dans des systèmes large échelle,c’est-à-dire faisant intervenir de grandes quantités d’agents et de famillesd’agents, chacune susceptible d’interagir de nombreuses façons avec beaucoupd’autres : dans la suite, je me focaliserai principalement sur ce dernier axe quiconstitue le cœur de mes travaux depuis 2002 (date de mon arrivée dans l’équipeSMAC).

Les pièges du « large échelle »

Les premiers efforts dans ce sens nous ont beaucoup appris, au sens où ils ontpermis de découvrir des impasses et d’élaborer les moyens d’en sortir.

Durant mes premières années dans l’équipe SMAC (2002–2005), je me suis foca-lisé sur les procédés techniques permettant d’aborder des simulations large échelleau moyen d’un SMA, ce qui a conduit à développer la plateforme de simulation Si-muLE (pour « SIMUlation Large Echelle »), permettant de faire cohabiter plusieursdizaines de milliers d’agents, disposant vues paramétrables, de workflows de traite-ment des observables, etc. (fig. 2.1) et donnant une première implémentation de lanotion d’interaction [33, 45].

Plusieurs étudiants ont participé à ce projet, soit durant leur stage de DEA (BenoîtGosse en 2004, Laetitia Bonte en 2005), soit à l’occasion d’un projet de DESS (MickaelDelacroix et Virgile Bourse du DESS IAGL en 2005) ou d’ingénieur (Nicolas Petitprezet Cyril Moreau, ainsi que Benjamin Kubiak et Valentin Ribeiro Dubois de Polyte-ch’Lille en 2005 et 2006 respectivement), ou d’autres stages (Lisa Allali, 2

e année,ENS).

Toutefois, il est apparu au fur et à mesure de l’élaboration de cette plateforme qu’ilne servait à rien de pouvoir monter à l’échelle en termes de nombre d’agents sansdisposer en premier lieu d’un cadre approprié pour élaborer les modèles conceptuelssous-jacents, pour discuter avec les experts et pour analyser les comportements obser-vés. Les choix de conception effectués restaient encore fortement teintés de l’approchemulti-agents « classique » et, si la simulation elle-même offrait des performances in-téressantes, la conception d’un modèle et son analyse présentaient parfois une com-plexité proche de celle du phénomène ciblé !

Les travaux sur les systèmes à large échelle se sont également concrétisés à tra-vers la plateforme MiSC, dédiée à l’étude des modèles de temps et d’espace pour lasimulation de foules [31, 44].

— 17 —

Page 32: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

Figure 2.1 – Une vue de la plateforme SimuLE.

Néanmoins c’est principalement à partir d’une « déconstruction » méthodique despoints problématiques rencontrés lors de la mise au point de la plateforme SimuLEque nous avons pu élaborer l’approche orientée interactions sous sa forme actuelle.Nous nous sommes également appuyés sur un autre prototype que je ne fais que men-tionner, la plateforme PASPAS (stage de Jérémy Scafi, Polytech’Lille, 2003), dotée d’unmoteur en Prolog, qui permettait d’approfondir l’usage de règles pour la descriptionde comportements.

Le projet IODA

Le projet IODA (pour : Interaction-Oriented Design of Agent simulations) a pris nais-sance courant 2005 et vise à définir un cadre conceptuel de description des comporte-ments des agents sous la forme d’interactions, mais également une méthodologie deconception de simulations et des algorithmes permettant d’une part d’implémenterun moteur de simulation efficace, fiable et hautement configurable, et d’autre partd’automatiser une bonne part du passage du modèle conceptuel au code.

Dans la mesure où ces travaux ont déjà fait l’objet de publications nombreuses, jeme contenterai dans ce qui suit d’en retracer les grandes lignes, en renvoyant aux ar-ticles correspondants pour de plus amples détails, plus particulièrement à l’articles desynthèse de 2011 [2] et à la thèse de doctorat particulièrement roborative de Kubera

[134].

2.2.1 Un cadre d’expression des connaissances

Dans les nouveaux domaines d’application de la simulation multi-agents, l’indi-vidu n’est plus comme on l’a vu au centre des préoccupations des thématiciens. Bien

— 18 —

Page 33: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

2.2 – L’APPROCHE ORIENTÉE INTERACTIONS (IODA)

souvent, les hypothèses portent non pas sur les caractéristiques des entités (car ces ca-ractéristiques sont soit connues de longue date, soit mesurables statistiquement, soitdu ressort d’une autre discipline, soit pratiquement inconnaissables), mais bien sur lesrelations que ces entités entretiennent les unes avec les autres. Autrement dit, il s’agitde déterminer quelles sont les entités qui assurent chacune des fonctions du système.

Aussi, il est indispensable de pouvoir exprimer explicitement les hypothèses dumodèle en séparant au maximum les aspect procéduraux des aspects déclaratifs, etde séparer en outre dans le comportement ce qui est générique (son « essence », ce quifait qu’on peut identifier ce comportement sous un nom univoque) de ce qui est propreà l’agent (les modalités du comportement qui résultent des capacités élémentaires deperception et d’action des agents qui y participent). Pour y parvenir, nous avons étéamenés à donner une réalité opérationnelle à la notion d’interaction.

Tout comportement est une interaction

La notion d’interaction est utilisée depuis longtemps dans la terminologie des SMA,par exemple pour décrire une situation dans laquelle deux agents agissent l’un surl’autre dans une longue durée [110] (c’est une définition « éthologisante » de l’interac-tion [152, article « Interactions entre animaux »]), ou comme élément de méthodologied’analyse et de conception [88]. Nous avons néanmoins choisi de conserver le terme,tout en lui redonnant une connotation plus physique (action mutuelle de deux corpsl’un sur l’autre) :

Définition V — Interaction.Une interaction est une règle conditions/actions impliquant plusieurs agents. L’un desagents est dit source de l’interaction : c’est lui qui effectue l’interaction ; les autresagents, qui subissent l’interaction, sont appelés cibles.

Une interaction est composée :— d’un déclencheur (trigger) qui exprime les motivations implicites ou les butsexplicites de l’interactions ;

— d’une condition déclenchement qui vérifie des prérequis physiques ou lo-giques nécessaires à l’accomplissement des actions ;

— d’une séquence d’actions affecter les agents participants et leur environne-ment.

Le but d’une telle règle est de donner une forme cohérente à une séquence d’ac-tions impliquant plusieurs agents, de façon à vérifier la définition d’une « interactionforte » (strong interaction) au sens de Michel et al. [157]. Pour préserver l’autonomiedes agents et le caractère générique de l’interaction, il est exclu de faire appel dansle déclencheur, la condition ou les actions à des propriétés des agents amenés à yparticiper. L’expression de ces trois composantes doit donc passer par des fonctionset procédures abstraites : des primitives (fig. 2.2).

Le seul prérequis pour qu’un agent puisse être source ou cible d’une interaction,c’est donc qu’il possède les primitives nécessaires et leur donne sa propre implémen-

— 19 —

Page 34: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

INTERACTION : manger(Source, Cible)DECLENCHEUR : Source.A_FAIM()CONDITION : Cible.BON_ETAT()ACTIONS : Source.ASSIMILER(Cible), Cible.DETRUIRE()

L’interaction Manger

Figure 2.2 – Un exemple d’interaction et de primitives. L’interaction Manger est réalisableentre un agent source et un agent cible si, 1

o il existe une motivation pour cela (l’agent sourcedoit « avoir faim » : primitive A_FAIM de la source), 2

o les conditions sont vérifiées (l’agentcible doit être en bon état, mûr, ou simplement comestible : primitive BON_ETAT de la cible).Dans ce cas les actions peuvent être effectuées : d’abord la source utilise sa cible commesource d’énergie par exemple (primitive ASSIMILE de la source), puis la cible est retirée de lasimulation (primitive DETRUIRE de la cible).

tation. Du point de vue de la modélisation, ces primitives peuvent être vues commeles capacités élémentaires de perception et d’action des agents.

Le principe général pour la réalisation d’une simulation orientée interactions estdonc de doter les agents de la possibilité d’effectuer ou de subir certaines interactionsavec d’autres agents, puis de les placer dans un même environnement. Schémati-quement, une interaction se déclenche dès qu’un agent pouvant en être la source etun agent pouvant en être la cible sont proches et qu’ils vérifient les déclencheurs etconditions de l’interaction (fig. 2.3).

Figure 2.3 – Principe général d’une simulation orientée interactions. Deux agents sont sus-ceptibles de participer à une interaction (ici, Cut) si l’un est capable d’effectuer cette interaction(ici, le bûcheron) et l’autre (ici, l’arbre) capable de la subir (emprunté à Routier [186]).

Cela suppose d’avoir préalablement défini quels agents pouvaient interagir entreeux et avec quelles interactions.

Qui fait quoi, avec qui : la matrice d’interaction

Pour spécifier quelles sont les familles d’agents qui peuvent interagir, et selonquelles modalités, nous avons opté pour une représentation matricielle. Chaque lignecorrespond à une famille d’agents pouvant jouer un rôle en tant que source, chaquecolonne à une famille pouvant jouer un rôle en tant que cible. La matrice d’interac-

— 20 —

Page 35: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

2.2 – L’APPROCHE ORIENTÉE INTERACTIONS (IODA)

tion qui en résulte permet donc de visualiser très clairement qui peut faire quoi, etavec qui (tab. 2.1). Chaque membre d’une famille présente sur une ligne peut effectuercertaines interactions avec les membres des familles de chaque colonne.

Cette représentation matricielle permet de spécifier également une relation d’ordreentre les interactions réalisables, du point de vue de l’agent source, au moyen d’unepriorité. On peut aussi imposer à l’interaction de ne se dérouler que dans un rayon li-mité en indiquant une garde de distance. C’est à partir de cette matrice que le moteur desélection d’interaction (cf. §2.2.3) détermine quelle interaction un agent va réellementeffectuer et avec quelle(s) cible(s).

XXXXXXXXXXXXSources

Cibles∅ Arbre Herbe Mouton Chèvre Loup

Arbre

HerbePousser (0)

SePropager (1)

MoutonMourir (3) Manger (2 ; 0) Procréer (1 ; 0)

Errer (0)

ChèvreMourir (4) Grimper (3 ; 1) Manger (2 ; 0) Procréer (1 ; 0)

Errer (0)

LoupMourir (4) Manger (3 ; 1) Manger (2 ; 1) Procréer (1 ; 0)

Errer (0)

Table 2.1 – Un exemple de matrice d’interaction, appliqué à un écosystème-jouet. Chaquecase contient les interactions réalisables entre familles d’agents, la source étant donnée par laligne et la cible par la colonne. On notera la colonne ∅ qui représente les interactions réflexives,i.e. pour lesquelles c’est l’agent source lui-même qui sert de cible (p. ex. les déplacementsou la mort). Par ailleurs chaque interaction est accompagnée d’un niveau de priorité (premiernombre) relativement aux autres interactions réalisables par la même source, et d’une garde dedistance pour les interactions non réflexives (second nombre) qui donne la distance maximaleentre les agents pour que l’interaction puisse avoir lieu. Dans cet exemple, un agent Loup peuteffectuer l’interaction Manger sur un agent Chèvre, ou encore Procréer avec un autre agent Loup ;il peut également effectuer Errer si aucune autre interaction n’est réalisable.

Certaines interactions sont effectuées de façon réflexive : cela correspond à des situa-tions dans lesquelles la cible de l’interaction est en fait la source elle-même (colonnenotée ∅). En général il s’agit de situations où la règle sous-jacente ne concerne qu’unseul agent, mais par souci d’uniformité elles sont représentées de la même façon queles règles impliquant des agents différents.

L’intérêt de cette représentation est qu’elle permet de spécifier des modèles de façontrès visuelle, en quelque sorte par glisser-déposer comme c’est le cas dans la démons-tration de la plateforme JEDI (cf. §2.3.1). Pour le thématicien, une fois définies lesfamilles d’agents et les interactions pertinentes pour une classe de phénomènes don-née, il ne reste plus qu’à placer des interactions dans cette matrice, ce qui peut êtrefait de façon incrémentale en testant la simulation après chaque modification.

On pourrait objecter que l’existence d’une telle structure centralisée érode le prin-cipe d’autonomie des agents, dans la mesure où la matrice semble « dicter » à l’agentce qu’il doit faire et avec qui sans lui laisser apparemment beaucoup d’alternatives.Or, en pratique, il faut tempérer cette observation :

— 21 —

Page 36: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

— En premier lieu, nous travaillons en simulation, ce qui implique que le cadrecomportemental donné aux agents est fixé (par le modèle thématique) : à cetitre, il est essentiel, pour des raisons de lisibilité, de disposer dans le modèleconceptuel d’une vue globale de tous les comportements qui peuvent avoir lieu ;quant au modèle computationnel, il est plus efficace de centraliser l’ensembledes affectations d’interactions au niveau par exemple de l’environnement quede les répartir au sein de chaque agent. Néanmoins, si l’on souhaitait utiliserl’approche orientée interactions dans le cadre d’agents physiquement distribués(par exemple des robots), rien ne s’oppose à doter chaque agent de la ligne etde la colonne de la matrice qui le concernent.

— Deuxièmement, la matrice ne fait que décrire des potentialités : pour qu’uneinteraction se réalise effectivement, il faut entre autres vérifier des gardes dedistance et surtout les déclencheur et conditions des interactions : or ces der-nières sont exprimées, comme nous l’avons vu, au moyen de primitives, ce quigarantit l’autonomie de chaque agent à ce stade.

Changements d’état : la matrice de mise à jour

En complément de la matrice d’interaction, nous avons été amenés à définir unematrice de mise à jour. Elle consiste en fait en un vecteur-colonne qui définit pourchaque famille d’agent la liste (ordonnée) des interactions à réaliser avant de com-mencer la sélection d’interaction proprement dite (voir le fonctionnement du moteurIODA, §2.2.3). Ces interactions sont toutes réflexives, et elles sont toutes effectuées(dans l’ordre donnée par leur priorité) si leurs déclencheur et condition sont vérifiés.

Cette matrice permet de définir les changements d’état qui affectent les agents, in-dépendamment du fait qu’ils puissent avoir une activité ou non dans la simulation.Ainsi, par exemple, si l’on souhaite introduire une notion d’âge chez les animauxde notre écosystème-jouet, il ne suffit pas d’introduire une interaction réflexive Vieillir,car elle serait en concurrence avec d’autres : un Loup ne pourrait vieillir que s’il n’ef-fectue pas Manger par exemple, alors qu’il va de soi que le vieillissement se produitinéluctablement et quelle que soit l’activité du loup.

Pour cet exemple, on aurait donc la matrice de mise à jour suivante (tab. 2.2)

UPDATEArbreHerbe

MoutonVieillir (2)

TomberMalade (1)

ChèvreVieillir (2)

TomberMalade (1)

Loup Vieillir (1)

Table 2.2 – La matrice de mise à jour qui complète la matrice d’interaction précédente(tab. 2.1). Ici on a fait en sorte que tous les agents vieillissent, et en outre les herbivorespeuvent tomber malades (avec une certaine probabilité testée dans le déclencheur de l’inter-action). Chaque interaction est associée à une priorité qui indique dans quel ordre (relatif) lesinteractions de mises à jour sont effectuées.

— 22 —

Page 37: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

2.2 – L’APPROCHE ORIENTÉE INTERACTIONS (IODA)

Si l’on souhaitait par exemple modifier le modèle conceptuel pour faire pousser lesarbres et l’herbe, il suffirait de rajouter une interaction Pousser dans la matrice de miseà jour, sur la ligne de chacune de ces familles.

L’intérêt du tout-agent

La définition que nous avions donnée de l’agent (déf. II p. 5) était assez peu restric-tive. Ce choix bien sûr n’était pas tout à fait innocent et ouvrait la voie à l’approche« tout agent » qui est au cœur de IODA.

Mais il s’appuie aussi sur des justifications plus profondes. La distinction que faitFerber [110] entre les « vrais » agents, dotés de buts que les comportements visentà satisfaire, et les simples objets, utilisés comme ressources, fait en vérité peser delourdes contraintes sur la révisabilité des modèles. Il en va de même pour des ap-proches qui tentent d’introduire un soupçon d’activité dans les objets, par exempleAgents & Artifacts de Omicini et al. [168] ou d’autres recensées par Kubera [134] : ellesintroduisent un typage rigide des entités impliquées dans la simulation, de sorte ques’il devient nécessaire de doter un « objet » de comportements, une partie substantielledu code correspondant doit être réécrite.

Au contraire, dans l’approche IODA, toutes les entités sont traitées de façon homo-gène. En revanche, leur activité peut être caractérisée dynamiquement en fonction ducontenu des matrices, et cela est fort utile pour écrire un moteur de simulation efficace(cf. §2.2.3). On peut ainsi attribuer trois propriétés (non mutuellement exclusives) auxagents IODA :

les agents actifs sont ceux qui ont une ligne non vide dans la matrice d’interaction,autrement dit ceux qui sont capables d’effectuer des interactions ;

les agents passifs sont ceux qui ont une colonne non vide dans la matrice d’interaction,autrement dit ceux qui sont susceptibles de subir des interactions ;

les agents labiles sont ceux qui ont une cellule non vide dans la matrice de mise àjour, autrement dit ceux qui peuvent changer d’état en dehors de tout autrecomportement.

Dans notre exemple (tab. 2.1 et 2.2), tous les agents sauf l’Arbre sont actifs ; tous sontpassifs car ils peuvent subir des interactions, et tous sauf l’Herbe et l’Arbre sont labilescar ils peuvent changer d’état (Vieillir).

Comme ces caractéristiques sont déterminées dynamiquement par le moteur, chan-ger l’affectation des interactions aux familles d’agents (donc transformer des « ob-jets » en « agents » ou vice-versa, selon la terminologie classique) n’a aucun coût pourle concepteur du modèle (sous réserve que les primitives correspondantes aient étéécrites) : la simulation peut être relancée aussitôt.

Généricité et diversité des comportements : les primitives

Exprimer les comportements indépendamment des agents, au moyen d’interac-tions, c’est évidemment permettre la réutilisation de ces interactions dans des contextesdifférents. Des bibliothèques d’agents et d’interactions peuvent être développées sé-parément et mise en relation seulement lors de la construction du modèle.

— 23 —

Page 38: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

Néanmoins, cela ne doit pas uniformiser les comportements manifestés par les agentsdans les simulations. Un loup ne mange pas comme le fait un mouton. Ce respect dela diversité des comportements est assuré par le mécanisme des primitives.

Définition VI — Primitive.Une primitive est une fonction ou une procédure qui est abstraite dans la définitionde l’interaction, et implémentée concrètement dans le code de l’agent (ou de l’environ-nement) [2].

Par exemple, dans l’interaction Manger donnée en exemple ci-dessus (cf. fig. 2.2), laprimitive A_FAIM doit être implémentée par tout agent qui peut être source de l’inter-action. Mais elle peut être codée d’une façon arbitrairement complexe, par exemplecomme la comparaison d’une variable à un seuil chez les herbivores, ou comme ladurée écoulée depuis le dernier repas chez le loup, ou encore comme une fonction del’heure chez l’homme, etc.

Cette stratégie de délégation de la variabilité comportementale aux primitives desagents reflète simplement le fait que les modalités selon lesquelles un agent évalueune situation ou réalise une action dépendent bien évidemment de ses spécificitésperceptives, motrices et cognitives. En outre, d’un point de vue logiciel, il s’agit sim-plement d’une adaptation du concept de polymorphisme des langages orientés objets.Nous verrons dans les exemples applicatifs (chap. 3) l’intérêt de cette méthode.

Relations entre familles d’agents

Dans de nombreuses disciplines, certaines entités manipulées sont liées entre ellespar des relations d’espèce à sous-espèce (qui peuvent prendre des formes variées :catégories et sous-catégories socio-professionnelles, familles et sous-familles de molé-cules, genres, espèces, variétés d’êtres vivants, etc.). D’un point de vue sémantique,il s’agit de la classique relation sorte-de (kind-of ). Dans la mesure où cette relationse rencontre fréquemment dans les modèles thématiques, il est nécessaire d’offrir lapossibilité de la représenter aisément dans le modèle conceptuel, et si possible de laconserver dans le modèle computationnel.

Dans IODA, la relation sorte-de peut être spécifiée dans l’écriture de la matrice d’in-teraction, simplement en l’indiquant par le symbole «: ».

La relation sorte-de ainsi construite est indépendante du langage utilisé pour implé-menter la simulation, elle permet donc à une famille d’agents d’être une sous-famillede plusieurs autres groupes. Dans sa thèse, Kubera [134, chap. 8] a proposé des opé-rateurs permettant l’ajout, la modification et même la suppression d’interactions etdécrit les algorithmes utilisés pour ce faire. Il est ainsi possible d’exprimer de façontrès synthétique la façon dont familles et sous-familles diffèrent, y compris en intro-duisant des exceptions (comportements présents dans la famille mais pas dans unesous-famille).

— 24 —

Page 39: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

2.2 – L’APPROCHE ORIENTÉE INTERACTIONS (IODA)

XXXXXXXXXXXXSources

Cibles∅ Arbre Herbe Mouton Chèvre Loup

Arbre

HerbePousser (0)

SePropager (1)

AnimalMourir (4)

Errer (0)

Herbivore : Animal Manger (2 ; 0)

Mouton : Herbivore Procréer (1 ; 0)

Chèvre : Herbivore Grimper (3 ; 0) Procréer (1 ; 0)

Loup : Animal Manger (3 ; 1) Manger (2 ; 1) Procréer (1 ; 0)

UPDATEArbreHerbeAnimal (Vieillir ; 2)

Herbivore : Animal (TomberMalade ; 1)

Mouton : HerbivoreChèvre : HerbivoreLoup : Animal

Table 2.3 – Réécriture des matrices d’interaction et de mise à jour précédentes (tab. 2.1 et 2.2)avec l’utilisation de relations sorte-de. Ici le Mouton est une sorte d’Herbivore donc il bénéficieautomatiquement de la capacité à effectuer Manger sur les agents Herbe ; les Herbivores sonteux-mêmes une sorte d’Animal, etc.

2.2.2 Un cadre méthodologique

Le projet IODA comporte également un volet méthodologique, qui a fait l’objet denombreux développements par Kubera [134]. De façon succincte, on peut décrire laméthode de conception de simulation liée à IODA comme une approche descendante« par paliers », qui ne contraint pas l’utilisateur à suivre des étapes dans un ordrerigide, mais lui permet au contraire de procéder par approfondissements successifsde parties du modèle (fig. 2.4 p. 28).

On doit dans un premier temps définir la topologie de l’environnement, le nom desfamilles d’agents et des interactions, ce qui permet d’écrire d’une part les matricesd’interaction et de mise à jour, et d’autre part les interactions elles-mêmes. L’affecta-tion d’interactions aux agents avec une priorité et une garde de distance, ainsi queles noms de primitives utilisées pour ces interactions permettent alors de déterminerquelles primitives doivent être implémentées par chacune des familles d’agents et parl’environnement. Ces primitives à leur tour peuvent s’appuyer sur des caractéristiquespropres aux agents ou à l’environnement et ainsi suggérer les structures de donnéesnécessaires.

2.2.3 Un cadre algorithmique : le moteur IODA

Le moteur de simulation a pour fonction le contrôle des comportements des agentset de la dynamique de l’environnement ; il existe de nombreuses façons de le réali-ser. En tout état de cause, un simulateur doit pouvoir gérer la succession des actions

— 25 —

Page 40: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

dans le temps et la concurrence de l’activité des agents. Le formalisme DEVS (DiscreteEvent Systems Specification) [219] par exemple repose sur l’ordonnancement des diversévénements qui peuvent survenir. En simulation multi-agents, on s’appuie en généralplutôt sur des approches à temps discret, dans lesquelles le temps est divisé en in-tervalles de durée constante δt appelés pas de temps. Le temps de la simulation estdonc représenté par un intervalle entier [0, Tmax] ; au pas de temps ti, le temps écoulédepuis le début de la simulation est donc tiδt. Si cette représentation du temps est fortdifférente du temps continu de la physique, c’est en revanche celle que nous savonsle plus facilement construire dans les systèmes artificiels, de la clepsydre à l’horlogeatomique.

Reste à gérer la simultanéité des actions des agents au sein de chaque pas de temps.Lorsque l’on construit un outil de simulation, il est indispensable que les expériencesréalisées soient reproductibles. En effet, le simulateur doit être considéré avec la mêmerigueur qu’un appareil de mesure en physique, dont il est essentiel de connaître l’in-certitude. Si les résultats d’une expérience varient, il faut pouvoir faire la part entre lesvariations intrinsèques au phénomène étudié, celles qui sont introduites à dessein parexemple sous forme de tirages pseudo-aléatoires, et enfin les biais qui résultent d’unemaîtrise incomplète de l’outil utilisé [12]. Entre autres biais qu’il est facile d’élimi-ner, on trouve toute forme de délégation de l’ordonnancement des actions au langageutilisé ou au système de la machine (par exemple, l’usage de threads en Java).

Pour construire un tel ordonnanceur, il ne reste que deux méthodes :— L’approche synchrone consiste à évaluer toutes les actions que souhaitent réali-

ser les agents à partir d’une perception identique de l’environnement et de l’étatdes autres agents, puis à calculer la résultante de toutes ces actions pour définirl’état du monde au pas de temps suivant (comme dans le jeu de la vie [116]). Lereprésentant le plus abouti de cette approche pour la simulation multi-agents estle modèle IRM4S de Michel [154] qui découpe le pas de temps de simulationen une phase d’influences émises par les agents et une phase de réaction pouren calculer la synthèse. Toutefois, la difficulté majeure reste la définition de cettefonction de réaction.

— L’approche séquentielle consiste à faire percevoir et agir chacun des agents l’unaprès l’autre au cours du même pas de temps (méthode qu’on appelle également« tour de parole »). Ce procédé, qui ne cherche pas à garantir que les agentsperçoivent le « même » monde durant un pas de temps et par conséquent ne visepas à offrir une véritable simultanéité, est en revanche plus simple à mettre enœuvre que l’approche synchrone et se rapproche statistiquement d’une méthodeévénementielle, pour peu que l’on réordonne aléatoirement les agents au débutde chaque pas de temps. C’est cette approche que nous avons retenue pour lemoteur IODA.

Les connaissances représentées par des interactions et leur affectation aux famillesd’agents sous forme matricielle, font l’objet d’un traitement générique par un mo-teur de simulation. Le moteur le plus simple qui puisse être construit sur cette baseconsiste à évaluer, pour chaque agent, quelles sont les interactions réalisables en fonc-tion des agents perçus dans son voisinage, puis à choisir l’une de ces interactionspossédant le plus haut niveau de priorité et à l’effectuer sur une des cibles possibles.

— 26 —

Page 41: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

2.2 – L’APPROCHE ORIENTÉE INTERACTIONS (IODA)

La mise en œuvre concrète n’est pas si facile. Si l’on souhaite éviter l’introduction debiais dans les résultats de simulation, il est préférable que le moteur prenne en chargeexplicitement un certain nombre des choix d’implémentation qui pourraient être faitsimplicitements par le programmeur [12] : le moteur doit donc être paramétrable etproposer des politiques (ou des stratégies) chaque fois qu’un choix doit être fait. Parexemple, il est nécessaire de prévoir à chaque pas de temps un tour de parole pourproposer à chaque agent d’agir : l’ordonnancement choisi pour ces agents constitueune politique, et la meilleur politique à suggérer par défaut est celle qui conduit aumaximum d’équité, c’est-à-dire un réordonnancement aléatoire des agents à chaquepas de temps. De même, lorsqu’un agent recense les couples (interaction, cible)pour lesquels il peut agir comme source, il lui faut ensuite choisir une interaction etune cible : là encore, une politique doit être définie.

En outre, le choix du tout agent, s’il s’avère très fécond pour la conception des mo-dèles, risquait de grever lourdement les performances du moteur. Nous avons doncélaboré un algorithme de simulation qui permet de tenir compte dynamiquement ducaractère actif, passif ou labile des agents présents dans l’environnement [39, 2]. Leprincipe général consiste, chaque fois qu’un agent est introduit dans l’environnementoù en est retiré, ou chaque fois qu’a lieu un changement des matrices d’interactionou de mise à jour, à réactualiser des listes recensant les agents actifs, passifs et la-biles. Il suffit alors d’utiliser les listes appropriées pour chacune des opérations quiinterviennent dans la simulation d’un pas de temps, comme suit :

1. Phase de mise à jour des agents

Pour tous les agents labiles a` (ordonnés selon une politique Π`) :— Pour toutes les interactions Ik de la matrice de mise à jour de a`, triées par

priorité décroissante :— si les déclencheur et condition de Ik sont vérifiés pour a`, alors effectuer

les actions de Ik

2. Phase de sélection d’interaction

Pour tous les agents actifs aact (ordonnés selon une politique Πact) :

(a) aact perçoit dans son voisinage des agents passifs V = {ai} ;

(b) on retire de V ceux qui ne peuvent pas être cible de aact ;

(c) pour toutes les interactions {Ip1 , ..., Ip

n} de la matrice d’interaction de aact, dumême niveau de priorité p (en commençant avec la plus forte valeur de p) :

i. on calcule les couples d’interactions réalisables Rp = {(Ipk , ai)} pour les-

quels les déclencheur et condition de Ipk sont vérifiés pour aact et ai (en

prenant ai = aact si Ipk est réflexive) ;

ii. si Rp 6= ∅, on applique une politique de sélection de cible ΠTSP :Rp 7→(I?, L?) qui choisit une interaction à réaliser et une liste L? d’agents cibles(vide si I? est réflexive), puis on exécute les actions de I? sur L? ;

iii. sinon on recommence avec les interactions de priorité inférieure à p.

Ce moteur s’est avéré parfaitement capable de réaliser des simulations performantestout en assurant une réduction du risque de biais au moyen de diverses politiques [12,2].

— 27 —

Page 42: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

Figure 2.4 – Étapes de conception et d’implémentation d’un modèle avec IODA. Une assezgrande souplesse est laissée au concepteur dans une approche descendante qui raffine etdétaille pas à pas les divers points clefs (emprunté à Kubera [134]).

Figure 2.5 – La pyramidedes outils IODA : la pla-teforme JEDI, l’environne-ment de développement etde génération de code JEDI-Builder, et LEIA, le navi-gateur dans l’espace dessimulations.

— 28 —

Page 43: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

2.3 – L’UNIVERS IODA : QUELQUES OUTILS

2.3 L’univers IODA : quelques outils

Une méthode, un cadre formel, des algorithmes ne valent, nous l’avons dit, ques’ils sont implémentés, testés, appliqués à des situations réelles. Autour de IODA, ouplutôt au-dessus, se sont donc construits un certain nombre d’outils, le premier étantune plateforme d’expérimentation, JEDI. La séparation déclaratif/procédural permetde générer automatiquement une grande partie du code de simulation à partir dumodèle conceptuel : c’est le rôle de JEDI-Builder. Enfin, pour un ensemble d’agents etd’interactions donné, il est possible de générer automatiquement des matrices d’inter-action et de soumettre les simulations qu’elles engendrent à un processus évolution-niste : c’est ce que fait LEIA, un navigateur dans l’espace des simulations. La figure 2.5résume cette pyramide d’outils dont nous allons dire quelques mots.

2.3.1 JEDI : une plateforme d’expérimentation

� http://www.lifl.fr/SMAC/projects/ioda/jedi/

La méthode IODA se veut particulièrement adaptable aux besoins de ses utilisa-teurs dans divers domaines applicatifs, tout particulièrement lorsqu’ils ne sont pasformés à l’algorithmique ou à la programmation. Il serait paradoxal, dès lors, de vou-loir diffuser cette approche par le biais d’une plateforme unique, qui plus est écriteen Java et d’un haut niveau de technicité. De plus, le meilleur moyen de s’assurerque l’approche orientée interactions est indépendante d’un langage et même du para-digme objet, consiste à réaliser des implémentations du moteur sous des architecturesdiversifiées. Nous en verrons d’ailleurs quelques exemples plus loin (cf. §3.2.1, §3.3.1et §3.3.2).

Le rôle de la plateforme JEDI (pour : Java Environment for the Design of agent Inter-actions), entièrement développée par Kubera [134], n’a donc pas pour objectif d’êtreLA plateforme universelle de diffusion de l’approche. En revanche, elle est destinée àexpérimenter tous les détails de l’approche orientée interactions, tous ses algorithmes,toutes ses politiques, et à en donner une implémentation aussi fiable et efficace quepossible. C’est en quelque sorte pour IODA une « théorie matérialisée » selon le motde Bachelard [59, p. 16]. L’étude des biais de simulation et des façons de les évi-ter [12] a été au cœur de la conception de cette plateforme. Actuellement JEDI compteprès de 15 000 lignes de code réparties dans une centaine de classes et d’interfaces,et peut faire tourner plusieurs centaines de milliers d’agents. Elle est extrêmementmodulaire et actuellement distribuée par l’équipe SMAC sous la forme d’une archiveJAR. Nous donnons sur la figure 2.6 un diagramme de classes extrêmement simplifié du« cœur » de JEDI.

Au-delà de ces considérations de génie logiciel, le point le plus important résultede la séparation déclaratif/procédural : il est en effet possible d’automatiser dans unetrès large mesure le passage d’un modèle conceptuel IODA au modèle computation-nel correspondant et à son implémentation au sein de JEDI, grâce à un environnementde développement intégré qui s’appuie sur la plateforme : JEDI-Builder (fig 2.7).

JEDI-Builder met en œuvre la méthodologie associée à IODA (cf. §2.2.2) en per-mettant à l’utilisateur de concevoir son modèle de simulation de façon interactive,

— 29 —

Page 44: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

Figure 2.6 – Diagramme de classes simplifié à l’extrême du cœur du simulateur JEDI.

notamment en créant la matrice d’interaction par glisser-déposer, puis en analysant lesprimitives nécessaires à chaque classe d’agent et en générant soit le code complet, soitle squelette du code à écrire. La figure 2.8 montre que les tâches dévolues au seulprogrammeur sont réduites d’une part à la définition des déclencheur, condition etactions des interactions, et d’autre part à l’écriture du code des primitives : la tâche,lourde, de concevoir une simulation multi-agents, est donc en partie automatisée, lereste étant découpé en petites portions de code indépendantes les unes des autres.

Enfin, JEDI contribue à la diffusion de l’approche orientée interactions, sous laforme d’une applet qui met en scène d’une part des agents identifiés par leur cou-leur et placés dans une grille 2D, d’autre part des interactions très simples (commese dupliquer, tuer un autre agent, etc.). Cet outil à vocation pédagogique permet deconstruire des simulations par des modifications incrémentales de la matrice d’inter-action pour en voir aussitôt le résultat (fig. 2.9), et en dépit de la simplicité de sescomportements, autorise la reproduction de phénomènes assez intéressants commedes dynamiques de ségrégation à la Schelling [193] ou de réactions chimiques os-cillantes du genre BZ [64, 220].

� http://www.lifl.fr/SMAC/projects/ioda/jedi/demonstration.php

2.3.2 LEIA : un navigateur dans l’espace des simulations

Dans une simulation multi-agents, l’espace des simulations possibles est généra-lement réduit à l’espace des paramètres qui peuvent modifier l’état des agents ou ledéroulement des comportements [204]. Il en va tout autrement avec IODA, puisquel’affectation des interactions aux familles d’agents fait partie des « éléments » consti-tutifs du modèle. L’espace des simulations possibles s’accroît donc considérablement.

Loin de constituer un handicap pour la conception de simulations, c’est au contraireune situation particulièrement favorable. En effet, dans de nombreux domaines, ilpeut être intéressant d’examiner des variantes d’un modèle donné pour savoir si leshypothèses qui ont été formulées et testées sont nécessaires, suffisantes, ou s’il existedes alternatives radicalement différentes pour rendre compte du même phénomène.

L’outil LEIA (pour : LEIA lets you Explore your Interactions for your Agents) conçu parGaillard et al. [4] est une sorte de « navigateur » qui permet d’explorer l’espace des

— 30 —

Page 45: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

2.3 – L’UNIVERS IODA : QUELQUES OUTILS

Figure 2.7 – Vue de l’IDE JEDI-Builder (emprunté à Kubera [134]).

Topologie de l'environnement

Identificateur des interactions

Matrice d'interaction brutePréconditions, déclencheur et actions des interactions

Matrice de mise à jourMatrice d'interaction raffinée

Primitives abstraites des entités

Halo des entités

Attributs des entités

Primitives de l'environnement

Matrice de mise à jour ordonnée

Identificateur des entités

A

C

B

D E

F

G H

I

J

KL

+

+

+

+

+

+

Attributs de l'environnement

M

Défini dans JEDI

Édité dans JEDI-Builder

Édité après génération de code par JEDI-Builder

Figure 2.8 – Répartition des tâches entre JEDI, JEDI-Builder et le développeur lors de l’utili-sation de JEDI-Builder pour l’implémentation d’un modèle IODA (emprunté à Kubera [134]).

— 31 —

Page 46: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

Figure 2.9 – L’applet de démonstration de JEDI, dans laquelle on peut interactivementconstruire une matrice d’interaction à partir des agents et des interactions existantes (à gauche)et en visualiser immédiatement le résultat dans la simulation (à droite).

Figure 2.10 – Une vue du navigateur LEIA, avec ici quatre simulations lancées en parallèle.L’utilisateur peut choisir un mode de sélection automatique ou interactif, et définir ses proprescritères d’évaluation en plus ou à la place des critères intrinsèques prédéfinis.

simulations de façon soit automatique, soit interactive. Il consiste à définir, pour unensemble d’agents et un ensemble d’interactions fixés, un modèle dit « de base ». Cemodèle est transformé par un certain nombre d’opérateurs (qui peuvent être choisisselon les objectifs visés), tels que le déplacement d’une interaction d’une case de lamatrice vers une autre, l’ajout ou la suppression d’une interaction dans une case, lamodification de la priorité, etc., de façon à produire N modèles « dérivés ». Ces N mo-dèles sont exécutés dans autant d’instances de JEDI en parallèle, et un score leur estattribué. Ce score peut être calculé selon des critères intrinsèques au déroulement dela simulation (existence de cycles dans les comportements, densité des agents, évolu-tion des populations, etc.) ou selon des critères propres au domaine considéré. Enfin,les meilleurs modèles (sélectionnés sur leur score ou par un observateur humain)sont hybridés à l’aide d’opérateurs de fusion de matrices afin de créer un nouveau« modèle de base », et le processus est itéré autant que nécessaire (fig. 2.10).

— 32 —

Page 47: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

2.4 – BILAN

Un tel outil constitue en pratique une première ébauche de générateur de SMA,capable à partir d’une bibliothèque d’agents et d’une bibliothèque d’interactions deproduire un nombre colossal de simulations qui diffèrent considérablement les unesdes autres et peuvent satisfaire des contraintes portant aussi bien sur la structure dumodèle que sur les comportements observés. On voit par là que la séparation, dans lemodèle, des aspects déclaratifs et procéduraux, ainsi que des diverses connaissances(agents et interactions) permet une manipulation aisée du niveau « méta » au sens dePitrat [174].

Enfin, avouons aussi que LEIA peut avoir un usage créatif : c’est un outil d’explo-ration libre d’un champ de possibilités extrêmement vastes, et à ce titre il permet dedécouvrir des associations entre interactions et agents dont le résultat peut être sur-prenant. Il peut donc être vu comme un support d’expériences créatives comme lesuggère Hofstadter [131].

2.4 Bilan

L’approche orientée interactions, en procédant essentiellement à une séparation desaspects déclaratifs et procéduraux d’un modèle de simulation, et en s’appuyant surle polymorphisme des primitives de perception et d’action, permet d’améliorer laqualité des simulations multi-agents, suivant les critères que nous avions définis pré-cédemment :

— Fiabilité : les choix de conception et d’implémentation sont rendus aussi expli-cites que possible, quitte à ce que des choix par défaut soient proposés.

— Efficacité : des algorithmes appropriés permettent de garder de bonnes perfor-mances en temps d’exécution, quelles que soient les modifications apportéesdynamiquement au modèle.

— Manipulabilité : grâce à l’automatisation du passage du modèle conceptuelau code, ce qui reste à programmer se réduit à des capacités élémentaires deperception et d’action.

— Intelligibilité les comportements effectués par les agents sont lisibles d’un coupd’œil sur les matrices d’interaction et de mise à jour ; les interactions sont expri-mées en clair, sous formes de règles conditions/actions.

— Modularité : elle découle de la séparation agents/interactions.Il nous reste à ce stade un point à démontrer : la polyvalence de notre approche,

autrement dit sa capacité à permettre aussi bien la conception de simulations à viséescientifique que la création de mondes artificiels. C’est l’objet du prochain chapitre,où nous verrons la méthode IODA appliquée à des situations fort diverses.

h a g

— 33 —

Page 48: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 2 — LA SIMULATION ORIENTÉE INTERACTIONS : PRINCIPES ET OUTILS

— 34 —

Page 49: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Chapitre 3

La simulation orientéeinteractions : applications

Concevoir un cadre original pour la simulation de systèmes complexes et largeéchelle nous a demandé, comme on vient de le voir, une élaboration théorique etpratique assez importante, dont les développements (JEDI-Builder, LEIA) montrentpleinement l’intérêt d’un point de vue informatique. Néanmoins, nous nous sommesattachés, tout au long de ces travaux, à illustrer également l’intérêt de notre approchepour les disciplines visées par la simulation multi-agents.

Nous allons en particulier détailler deux projets très différents dans lesquels l’ap-proche IODA a été particulièrement utile : le premier a consisté à tester des hypo-thèses en biologie cellulaire, le second à réaliser un Serious Game immersif destiné à laformation d’étudiants en marketing. Enfin, pour clore ce chapitre nous présenteronsles efforts déployés pour diffuser les concepts, algorithmes et méthodes de l’approcheorientée interactions, notamment à travers un outil de démonstration pédagogique (leprojet Galaxian) et le développement d’une extension IODA pour la plateforme desimulation NetLogo.

3.1 Formulation d’hypothèses en biologie

En premier lieu, nous allons dans cette partie résumer l’activité menée en biologieet montrer comment la méthode IODA a montré aussi bien ses capacités à investir cedomaine qu’à y apporter une aide à la formulation d’hypothèses.

3.1.1 Contexte et objectifsLes travaux que nous présentons ici s’inscrivent dans des recherches menées en

2006–2007 au sein d’un groupe de travail pluridisciplinaire, en vue de proposer etcomparer divers modèles pour rendre compte du fonctionnement de l’horloge circa-dienne d’une algue verte : Ostreococcus tauri, étudiée par l’équipe « Rythmes Circa-diens et Division Cellulaire » de François-Yves Bouget (Observatoire Océanologiquede Banyuls-sur-Mer). Ce groupe était composé de diverses équipes de l’UniversitéLille 1 :

— 35 —

Page 50: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

— le laboratoire de Physique des Lasers, Atomes, Molécules ;— l’Unité de Glycobiologie Structurale et Fonctionnelle ;— le Laboratoire d’Informatique Fondamentale de Lille (équipes Calcul Formel et

SMAC).Les compétences couvertes vont ainsi de la dynamique non linéaire à la simulationmulti-agents, en passant par le calcul formel pour la réduction des modèles équation-nels.

La plupart des êtres vivants voient leur activité régulée par divers rythmes, certainsappelés circadiens étant caractérisés par une période proche de 24h. Ces rythmes, ca-pables de se synchroniser avec des variations environnementales (alternance jour/nuitprincipalement), sont endogènes, c’est-à-dire produits par des processus biologiquesinternes : en l’occurrence, ils résultent souvent de mécanismes de régulation de l’ex-pression de certains gènes [126]. Rappelons que les gènes (codés par l’ADN) fontl’objet d’une transcription en une séquence d’ARNm (ARN messager) qui à son tourpasse par une phase de traduction en protéines, effectuée par des structures cellu-laires appelées ribosomes. La régulation de l’expression d’un gène peut intervenir àune ou plusieurs de ces étapes en activant ou en réprimant la transcription du gène,la traduction de l’ARNm, ou même l’activité de la protéine (voir par exemple lesschémas ci-après, fig. 3.2 ou 3.3).

Le grand nombre d’espèces moléculaires susceptibles de jouer un rôle dans lesmécanismes de l’horloge complique l’étude de ces réseaux de régulation. Toutefois,l’algue verte unicellulaire Ostreococcus tauri [85], qui est le plus petit eucaryote (cel-lule à noyau) connu, possède un génome très compact [89], donc relativement moinsd’acteurs moléculaires.

Les travaux de simulation que le groupe de travail a menés visaient à :— examiner, en termes de systèmes dynamiques, la plausibilité des hypothèses biolo-

giques concernant la structure de l’horloge moléculaire ;— comparer plusieurs modèles et identifier les acteurs moléculaires susceptibles d’in-

tervenir dans l’horloge circadienne ;— étudier diverses hypothèses relatives aux voies d’entrée des signaux lumineux ;— suggérer aux biologistes, sur la base du comportement des systèmes simulés,

des expériences complémentaires pour conforter ou infirmer leurs hypothèses.La méthode prédominante pour la modélisation de réseaux de régulation géné-

tique consiste à décrire l’évolution dans le temps des concentrations des diversesmolécules impliquées, au moyen de systèmes d’équations différentielles ordinaires(ODE) [123, 145, 73]. Les ODE permettent une étude analytique, ainsi qu’une pré-diction de résultats d’ensemble par intégration numérique. De plus ils fournissentun cadre uniforme de modélisation des circuits de régulation génétique [113]. En re-vanche, ils reposent sur un ensemble d’hypothèses qui ne sont pas toujours tenables :

— la notion de concentration est supposée toujours valide, alors que le nombre demolécules mis en jeu peut devenir très faible, ou que la croissance de la taille dela cellule durant sa réplication provoque en fait une dilution, etc. ;

— les équations sont déterministes : se pose donc la question de la robustesse deces systèmes au bruit et aux événements à caractère stochastique (fixation d’unrégulateur transcriptionnel sur l’ADN par exemple) ;

— 36 —

Page 51: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.1 – FORMULATION D’HYPOTHÈSES EN BIOLOGIE

— la cellule est considérée comme homogène, il est donc difficile de modéliser leshétérogénéités spatiales, comme le simple fait que transcription et traductionont lieu dans des compartiments cellulaires différents.

Pour compenser ces problèmes, de nombreux auteurs soumettent leurs modèles àdes simulations stochastiques pour évaluer l’influence du bruit [124] ou introduisentdes délais dans les équations pour remplacer le transport de molécules au sein de lacellule [143].

Or la simulation multi-agents, par sa nature intrinsèquement stochastique et spa-tialisée, est un outil adéquat pour la modélisation de ces phénomènes. En particulier,la méthode IODA se prête volontiers à la formulation d’hypothèses successives etla révision des modèles associés. Nous allons d’abord expliquer la méthode suiviepour la conception des modèles et leur validation, avant de résumer les deux modèlesd’horloge retenus et les résulats de simulation obtenus ; de plus amples détails sontdisponibles dans l’article [30].

3.1.2 Contraintes et méthodologie

De nombreuses contraintes pèsent sur la forme que peuvent prendre les modèles etsur la calibration des simulations.

Contraintes sur les données

En premier lieu, l’acquisition des données expérimentales relatives aux rythmescircadiens d’O. tauri est longue et coûteuse : tracer une courbe significative pour l’ex-pression de l’ARNm demande au minimum un prélèvement, toutes les 3h pendantune semaine, d’une fraction de la culture de cellules, qui est alors broyée. L’ARNm estamplifié pour mesurer son niveau relatif. La mesure des protéines peut être optique (enayant fusionné le gène cible avec un gène de molécule luminescente) ou effectuée parmicropuce (avec un coût financier important). De plus les expériences sont limitéesdans le temps car après une semaine de culture, les cellules sont trop nombreusesdans le milieu.

En aucun cas on ne dispose de mesure individuelle (au niveau d’une cellule) ni absolue :toutes les données concernent des populations de cellules. Outres les difficultés demesures individuelles, les biologistes font en effet implicitement l’hypothèse que lesmillions ou milliards d’individus d’un milieu de culture sont interchangeables : is-sus d’une même souche, ils sont génétiquement identiques, et soumis aux mêmesconditions environnementales. Pourtant, lorsqu’une oscillation disparaît ou changede période et d’amplitude, on ne peut pas rigoureusement déterminer si c’est parcequ’il n’y a plus d’oscillations dans les cellules, ou parce que celles-ci ne font que sedésynchroniser.

De plus les mesures ont une forte incertitude (fig. 3.1), on observe une importantevariabilité quantitative d’une expérience à une autre, et les amplitudes sont norma-lisées par rapport à des gènes « de référence ». La comparaison entre l’expressionde deux gènes est donc surtout qualitative, ce qui rend indétectables des oscillationsde faible amplitude. Toutefois, les résultats qualitatifs expérimentaux sont reproduc-tibles en termes d’acuité des pics, de déphasage entre courbes, etc. : c’est donc cescaractéristiques que l’on peut s’attacher à reproduire par simulation.

— 37 —

Page 52: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

Figure 3.1 – Données expérimentales du groupe Horloge circadienne et cycle cellulaire del’Observatoire océanologique de Banyuls, donnant les niveaux d’expression (quantité norma-lisée d’ARNm) de deux gènes d’O. tauri (TOC et CCA) en fonction du temps circadien (ZT),mesurés en alternance jour/nuit (bandes blanches et noires).

Contraintes sur les résultats

L’objectif des travaux de simulation menés soit par des méthodes équationnelles,soit par des méthodes multi-agents, était en premier lieu de déterminer des modèlesminimaux d’horloge impliquant une régulation de la transcription génétique. Unequestion critique était celle du choix des paramètres de ces modèles (taux de transcrip-tion des gènes, demi-vie des ARNm et des protéines, etc.), étant donné que nous nedisposions pas de données biologiques précises. Deux voies étaient envisageables.

La première consiste à chercher à identifier ces paramètres par diverses méthodesd’apprentissage, en comparant les courbes simulées pour divers jeux de paramètresaux courbes expérimentales. Cela pourrait être envisagé dans les modèles équation-nels, sans garantie toutefois d’obtenir des paramètres biologiquement plausibles, sur-tout à haut niveau de bruit et sans réduction préalable du modèle [72]. Dans le cas desimulations multi-agents, cette méthode n’a aucun sens puisque les échelles (d’espace,de nombre d’agents, de dimension, etc.) ne peuvent pas être respectées.

La démarche alternative consiste à trouver des jeux de paramètres, conformes auxordres de grandeur connus dans la littérature, qui respectent les propriétés dyna-miques des circuits de régulation génétique, en particulier pour les critères liés àl’évolution temporelle du système :

— le déphasage entre les courbes d’ARNm et de protéines doit être le même qu’ob-servé expérimentalement ;

— le déphasage entre les courbes d’expression des acteurs du modèle à plusieursgènes (déphasage entre l’ARNm de A et celui de B, entre la protéine A et laprotéine B) ;

— la possibilité d’entraîner le système à une fréquence légèrement inférieure à safréquence naturelle (24h au lieu de 25h) ;

— 38 —

Page 53: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.1 – FORMULATION D’HYPOTHÈSES EN BIOLOGIE

— la possibilité pour le système de continuer à osciller en lumière ou en obscuritécontinues.

Méthode de calibration des simulations

Pour calibrer les simulations, nous avons donc cherché à appliquer ces critères enprocédant « à rebours » :

1. Déterminer des jeux de paramètres (biologiquement plausibles) donnant lieu àdes oscillations ;

2. Calculer la période T∗ (en nombre de pas de temps) de ces oscillations en régimelibre : cette valeur est censée représenter la période naturelle de l’horloge d’O.tauri soit environ 25h ;

3. Introduire un signal lumineux de période T légèrement inférieure à T∗ ; T re-présente par construction la durée d’une journée (24h) et permet ainsi d’établirla durée que représente un pas de temps ;

4. Vérifier que le système oscille en alternance jour/nuit, mais également en jourcontinu et en nuit continue, conformément aux observations biologiques ;

5. Vérifier le déphasage entre les courbes d’ARNm et de protéine d’un même pro-duit (entre 2 et 5h) ;

6. Dans les modèles à plusieurs gènes, vérifier les déphasages entre les diversARNm ou protéines ainsi que l’heure des pics pour les comparer aux données.

Un jeu de paramètres peut être éliminé dès qu’il ne satisfait plus à l’un de cescritères.

3.1.3 Recherche de modèles minimaux

Les modèles étudiés visaient à déterminer combien de gènes au minimum devaientêtre impliqués dans l’horloge. Nous avons donc d’abord examiné les caractéristiquesd’une horloge construite à partir de la régulation d’un seul gène, puis de deux.

Modèle à 1 gène

La boucle de régulation la plus simple est composée d’un gène auto-réprimé(fig. 3.2) : les protéines issues de ce gène inhibent sa transcription. Il s’agit d’unerétroaction négative dont on peut s’attendre à ce qu’elle produise des oscillations : eneffet, comme l’ARNm et les protéines de dégradent au cours du temps, le gène finitpar repasser dans l’état libre et la transcription peut redémarrer.

Dans ce genre de modèle, on suppose ordinairement que le taux de dégradationde l’ARNm et des protéines est constant au cours du temps (d’où suit une loi ex-ponentielle : dM

dt = −δM M). Toutefois, l’étude menée dans notre groupe de tra-vail par Boulier et al. [73] démontre analytiquement qu’il faut envisager des mé-canismes supplémentaires pour obtenir un système oscillant : délais dans les équa-tions [143], transport de protéines entre cytoplasme et noyau [142], modifications fonc-tionnelles des protéines [122] ou plus simplement dégradation des protéines par une

— 39 —

Page 54: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

Figure 3.2 – Modèle le plus simple : gène réprimé par sa propre protéine. Le gène G àl’état non régulé (à gauche) est transcrit sous forme d’ARN messager (M) à un taux supposéconstant au cours du temps (τb). M est à son tour traduit en protéine (P). M et P subissentune dégradation exponentielle au cours du temps (resp. δM et δP). La protéine P peut se fixersur un site régulateur de G et réprimer sa transcription (à droite) : G est alors transcrit à untaux τr� τb — cf. [30].

enzyme [123]. Faute d’indications biologiques spécifiques, c’est ce dernier processus,très bien connu, qui a été retenu.

Les simulations numériques de Morant et al. [162] montrent d’ailleurs que desoscillations apparaissent facilement en introduisant un processus de dégradation en-zymatique représenté par la réaction suivante : P + E C → E dans lequella protéine P forme avec une enzyme (protéase) E un complexe C plus ou moinsstable, qui dégrade la protéine en libérant l’enzyme. En situation quasi-stationnaire,la dégradation des protéines suit alors la dynamique de Michaelis et Menten [153] :dPdt = −VmaxP

K+P (où Vmax et K s’expriment en fonction des constantes cinétiques de laréaction). L’intérêt de ce mécanisme est de produire un effet de saturation lorsquela quantité de protéine à dégrader est très supérieure au seuil K, car on a alorsdPdt ∼ −Vmax (dégradation linéaire), alors que pour une quantité de protéines assezinférieures à K, on a au contraire dP

dt ∼ −Vmax

K P (dégradation exponentielle) : autre-ment dit, ce processus tend à instaurer deux régimes : un niveau haut de protéinescaractérisé par une dégradation relativement faible et un niveau bas où la dégradationest plutôt forte.

Modèle à 2 gènes

Si le circuit à 1 gène auto-réprimé offre l’avantage de la parcimonie, il est biologi-quement peu plausible car moins robuste : de fait plusieurs horloges circadiennes deplantes impliquent au moins deux gènes : ainsi, chez Arabidopsis thaliana, deux gènescentraux de l’horloge [190, 145] ont des homologues chez O. tauri : ce sont TOC etCCA, considérés comme de bons candidats par l’équipe de l’Observatoire océanolo-gique. Le mécanisme présumé est le suivant : la protéine TOC active la transcriptiondu gène CCA, tandis que la protéine CCA réprime la transcription de TOC (fig. 3.3en posant A = TOC et B = CCA). Les résultats expérimentaux obtenus sur O. taurimontrent des oscillations sur ces gènes au niveau des transcrits et des protéines, aussibien en alternance jour/nuit qu’en lumière ou en nuit continues (fig. 3.1).

— 40 —

Page 55: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.1 – FORMULATION D’HYPOTHÈSES EN BIOLOGIE

Figure 3.3 – Modèle à deux gènes, avec régulation croisée : les protéines A et B, produitesrespectivement par transcription et traduction des gènes GA et GB, régulent la transcriptionrespective de B et A. Il peut s’agir d’une activation ou d’une répression.

Action de la lumière

Une horloge circadienne dispose d’un mécanisme de recalage sous l’action de la lu-mière. Le modèle d’horloge génétique stricto sensu s’accompagne donc d’hypothèsesquant aux voies d’entrée de la lumière : sur quel(s) acteur(s) moléculaire(s) a-t-elle uneffet (ARNm, protéine, métabolites intermédiaires...) et lequel (dégradation, modifi-cation de la fonction biologique, changement de compartiment cellulaire...) ? Toujoursdans un souci de parcimonie, l’hypothèse de travail retenue en concertation avec lesbiologistes était délibérément simpliste : nous avons supposé que la lumière agissaitdirectement sur la protéine TOC en la dégradant. Les éclairages apportés sur cette hypo-thèse par les résultats de simulation sont discutés au § 3.1.5.

3.1.4 Agentification via IODA et expériences

À partir de ces modèles thématiques à 1 ou 2 gènes, nous avons élaboré et simulédes modèles conceptuels multi-agents dans le cadre de la méthode IODA en éva-luant la capacité des simulations à reproduire correctement la dynamique globale dusystème en fonction des acteurs et de leurs interactions, ainsi que ses réponses auxcontraintes environnementales et aux perturbations endogènes.

L’environnement

L’environnement est l’intérieur d’une cellule unique, vue comme une surface to-rique 2D (pour s’affranchir des problèmes de frontière), avec une zone centrale quijoue le rôle de noyau et détermine la position des ribosomes.

— 41 —

Page 56: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

Les agents

Les biologistes ont identifié les familles d’agents suivantes qui reflètent très direc-tement les entités de leurs modèles :G Les gènes, qui codent des protéines, peuvent être dans l’état libre, activé ou réprimé,

chacun étant caractérisé par un taux de transcription qui donne la probabilité, àchaque pas de temps, d’être transcrit en ARNm.

M Les ARNm, issus de la transcription d’un gène, diffusent à l’intérieur de la cellule etsubissent une décroissance exponentielle : autrement dit, à chaque pas de tempsun agent ARNm a une probabilité constante δM de disparaître.

R Les ribosomes, placés à la périphérie du noyau, ont pour fonction d’effectuer latraduction d’un ARNm en la protéine correspondante.

P Les protéines, issues de la traduction des ARNm par les ribosomes, diffusent à l’in-térieur de la cellule et peuvent soit subir une décroissance exponentielle (pro-babilité constante δP), soit être dégradées par des enzymes spécifiques appeléesprotéases. Une protéine peut par ailleurs jouer un rôle régulateur et activer ouinhiber la transcription d’un gène cible.

∆ Les protéases sont des enzymes qui diffusent dans la cellule et dégradent des pro-téines spécifiques (selon le processus de Michaelis et Menten [153]).

Bien évidemment, les nombres de molécules ne peuvent être strictement respectés, àla fois faute d’informations détaillées dans les mesures biologiques et pour des raisonsévidentes de capacité de calcul. Nos agents représentent donc des sortes de quanta demolécules, un peu à la façon des agents « boule d’eau » utilisés en hydrologie parServat [195].

Enfin, pour tenir compte du rôle de la lumière, deux solutions étaient envisa-geables : soit placer dans l’environnement une information globale « intensité lu-mineuse », soit agentifier la lumière au moyen d’agents « photons » (notés ϕ) : une foisencore la pertinence de ce choix sera discutée plus loin (§ 3.1.5).

Les interactions

Conjointement à la définition des agents, il a été assez facile aux biologistes despécifier les différentes interactions susceptibles de se produire dans le système :

Mourir décroissance exponentielle : l’agent source peut disparaître spontanément avecune probabilité constante dans le temps ;

Diffuser diffusion de l’agent source dans la cellule (déplacement aléatoire) ;Transcrire transcription d’un gène : le gène qui effectue cette interaction peut produire

un ARNm avec une probabilité qui dépend de son état (libre, activé ou réprimé) ;Détruire dégradation de l’agent cible par l’agent source ;Traduire traduction par un ribosome d’un ARNm en la protéine correspondante ;Reprimer l’agent source se fixe sur l’agent cible et change l’état de ce dernier en « ré-

primé » ;Activer l’agent source se fixe sur l’agent cible et change l’état de ce dernier en « activé » ;Avancer déplacement en ligne droite.

— 42 —

Page 57: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.1 – FORMULATION D’HYPOTHÈSES EN BIOLOGIE

Formulation des hypothèses

La formulation des hypothèses concernant la structure de l’horloge s’exprime en-suite très simplement au moyen d’une matrice d’interaction : cette façon de représen-ter visuellement les interactions réalisables entre familles d’agents a été d’une grandeaide pour expliciter l’expertise des biologistes. En particulier, on voit que le passaged’un modèle à l’autre consiste essentiellement à agrandir la matrice en y plaçant lesinteractions correspondant aux nouvelles hypothèses. Les tableaux 3.1 et 3.2 donnentles matrices d’interaction respectives des modèles à 1 gène auto-réprimé avec dégra-dation enzymatique de P et un modèle à 2 gènes avec décroissance exponentielle deTOC et CCA.

`````````Sources

Cibles ∅ G M P

G Transcrire (0)

M Mourir (1)

Diffuser (0)

R Traduire (0 ; 1)

P Diffuser (0) Réprimer (1 ; 1)

∆ Diffuser (0) Détruire (1 ; 1)

ϕ Avancer (0) Détruire (1 ; 1)

Table 3.1 – Matrice d’interaction d’un modèle à 1 gène G dont la protéine P réprime latranscription. Dans la situation présentée ici, les photons ϕ détruisent directement la protéineP. Les colonnes vides ne sont pas affichées.

`````````Sources

Cibles ∅ GTOC GCCA MTOC MCCA PTOC

GTOC Transcrire (0)

GCCA Transcrire (0)

MTOC Mourir (1)

MCCA Mourir (1)

Diffuser (0)

R Traduire (0 ; 1) Traduire (0 ; 1)

PTOC Mourir (2) Activer (1 ; 1)

Diffuser (0)

PCCA Mourir (2) Réprimer (1 ; 1)

Diffuser (0)

ϕ Avancer (0) Détruire (1 ; 1)

Table 3.2 – Matrice d’interaction d’un modèle à deux gènes GTOC et GCCA, la protéine PTOC

activant la transcription du gène GCCA et la protéine PCCA réprimant la transcription du gèneGTOC. Ici, les ARNm et les protéines subissent une décroissance exponentielle. Par ailleurs, lesphotons ϕ détruisent directement les protéines PTOC.

Les simulations ont été ensuite codées au moyen d’une version « préhistorique »de l’extension IODA pour Netlogo (cf. §3.3.2), d’accès relativement facile à des non-informaticiens.

— 43 —

Page 58: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

Figure 3.4 – Résultats typiques de la simulation à 1 gène du modèle multi-agents, en l’ab-sence de tout signal lumineux : en haut, courbe de l’ARNm ; en bas, celle des protéines. Axedes abscisses : nombre de pas de temps de simulation.

Quelques résultats des simulations

L’étude théorique du modèle à 1 gène avec dégradation enzymatique des pro-téines [162] prévoit des oscillations pour une plage réduite de valeurs de paramètres.Au contraire, en simulation multi-agents, on obtient très fréquemment des courbesdu type de celles de la figure 3.4. Ces oscillations, dont la régularité reste précaire,tiennent à l’aspect spatial du phénomène, absent des modèles équationnels classiques.Par comparaison, les équations à délais [143], qui visent à tenir compte du temps dediffusion des acteurs moléculaires, prévoient des oscillations. Le manque de régularitédes pics, en revanche, est lié au caractère stochastique de la fixation d’une protéinesur l’ADN ou de sa libération, et donc à l’initiation ou à l’arrêt de la transcription dugène.

En dépit de cette variabilité, on constate (fig. 3.5) que le système peut être synchro-nisé par un signal lumineux carré dont la période est la moyenne de l’écart entre lespics de la fig. 3.4. De plus, si l’on passe après la phase d’entraînement jour/nuit enlumière continue comme dans les conditions de laboratoire, les oscillations persistentde façon plus robuste qu’en régime libre.

Quant au modèle à 2 gènes, de nombreux jeux de paramètres conduisent à desoscillations en régime libre, qui peuvent être forcées en alternance jour/nuit, et per-sistent lors du passage en lumière continue (fig. 3.6). Les déphasages entre les quatrecourbes sont proches de ce que l’on peut observer in vivo. Ces résultats confortentdonc plutôt l’hypothèse d’une boucle de régulation impliquant ces deux gènes.

— 44 —

Page 59: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.1 – FORMULATION D’HYPOTHÈSES EN BIOLOGIE

Figure 3.5 – Résultats obtenus dans le modèle multi-agents à 1 gène avec l’introduction d’unsignal lumineux carré suivi d’un signal lumineux continu. Les pointillés verticaux indiquentla période de forçage.

Figure 3.6 – Résultats typiques de la simulation à 2 gènes : en haut, courbe des ARNm deTOC et CCA ; en bas, courbe des protéines. La cellule est entraînée d’abord par un signallumineux carré (T = 5000 pas) puis on passe en lumière continue. Ici on a δMA = δMB =1,5.10−3, ce qui équivaut à une demi-vie des ARNm d’un peu plus de 2 h (compatible avecla littérature). À noter : le déphasage progressif en jour continu, le système retournant à sapériode libre légèrement supérieure à 24 h.

— 45 —

Page 60: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

Figure 3.7 – Vue du modèle de simulation multi-agents, ici pour un modèle à 2 gènes.Environnement : tore plat 2D représentant l’intérieur d’une cellule ; les ribosomes sont à lapériphérie du noyau (en grisé). Agents : Au centre, un brin d’ADN contenant deux agentsgène (TOC en bleu, CCA en rouge) : chacun produit des ARNm (bâtonnets) qui diffusent dansla cellule. Lorsque ceux-ci passent à proximité de ribosomes (en vert à la périphérie du noyau),ces derniers les traduisent en protéines (en bleu). Ces protéines peuvent diffuser se fixer prèsdu gène pour le réprimer, ou disparaître.

3.1.5 Discussion

Dans cet exemple applicatif, la méthode IODA a montré sa capacité à être utiliséepar les thématiciens pour l’élaboration d’un modèle conceptuel, et la modification dece modèle par l’ajout de nouvelles hypothèses quant aux relations entre les acteursimpliqués dans le système. Ainsi par exemple le passage du modèle à 1 gène aumodèle à 2 gènes consiste à ajouter des lignes et des colonnes dans la matrice pourles nouvelles familles d’agents, et à placer au bon endroit les interactions envisagées.

Ces modèles peuvent être facilement étendus par l’ajout de nouveaux comporte-ments : par exemple on peut introduire une dégradation enzymatique des protéinesdans le modèle à deux gènes, tenir compte de la « marche » des facteurs de transcrip-tion le long de l’ADN en ajoutant une interaction de déplacement pour les protéines,etc.

Un des points les plus féconds a été la réflexion sur les hypothèses qui avaient étéfaites quant à la synchronisation de l’horloge par les signaux lumineux. Nous savionsque l’action directe de la lumière sur une des protéines du système était peu vraisem-blable, mais il était nécessaire, dans une démarche parcimonieuse et incrémentale, decommencer par là. L’agentification de la lumière au moyen d’agents « photons », quiétait en premier lieu une conséquence de l’approche IODA qui veut que toute entitéjouant un rôle soit un agent, a permis d’affiner ces hypothèses. On constate en effetque les résultats les plus proches des données expérimentales sont obtenus pour unnombre d’agents « photons » relativement faible. Cela suggère une interprétation assezoriginale de ces agents.

— 46 —

Page 61: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.2 – SERIOUS GAMES : L’HUMAIN DANS LA BOUCLE

En voici la raison : lorsque la présence de lumière est un « état de l’environnement »,les protéines se dégradent à un rythme constant dans le temps durant toute la duréedu jour, ce qui donne la « pseudo-réaction » chimique suivante :

Pk1−→ ∅ d’où la cinétique :

d[P]dt

=−k1[P]

Au contraire, si l’on considère que les protéines doivent être « touchées » pard’autres entités pour être détruites, l’équation change de forme et devient :

P + ϕk2−→ ∅ d’où une cinétique différente :

d[P]dt

=−k2[P][ϕ]

On voit clairement que si l’on a un grand nombre d’agents « photons », alors[ϕ] [P], ce qui redonne la dégradation exponentielle précédente (avec k1 = k2[ϕ]). Enrevanche, si le nombre de « photons » est relativement faible, ils ont un effet limitantsur la cinétique de dégradation des protéines lorsque ces dernières sont nombreuses,comme dans la dégradation enzymatique de Michaelis et Menten [153]. Aux ni-veaux d’éclairement utilisés en pratique, il ne peut donc s’agir réellement de photonsmais de photorécepteurs, c’est-à-dire de molécules présentes en quantité limitée, quis’activent en présence de lumière et vont ensuite réagir avec les protéines pour lesdégrader. Il s’avère que c’était déjà une des hypothèses de travail de l’équipe de Ba-nyuls, non introduite explicitement dans nos modèles : la simulation a donc permis,d’emblée, de conforter la pertinence de nouvelles hypothèses.

3.2 Serious Games : l’humain dans la boucle

Pour être un tant soit peu polyvalent et pouvoir en particulier être utilisé pour laproduction de jeux vidéo, de simulateurs de conduite, etc., un moteur de simulationdoit être en mesure de gérer non seulement des simulations « classiques » n’impli-quant que des agents logiciels, mais également des situations dans lesquelles certainsagents ont une matérialité extérieure au système : c’est le cas par exemple quand ondoit interagir avec des réseaux de capteurs, des robots ou encore pire, des humains.

Ces simulations participatives demandent la mise en œuvre de techniques spé-cifiques pour calibrer le déroulement de la simulation, puisque les agents logicielsdoivent impérativement s’adapter au rythme de leurs partenaires physiques. Maissurtout, quand elles impliquent des acteurs humains, elles constituent un banc d’es-sai redoutable pour tester la crédibilité des comportements donnés aux agents logiciels,puisque ces derniers doivent être jugés « vrais » (plus exactement, « vraisemblables »)par les humains qui prennent part à la simulation. Si ce n’est qu’un facteur de succèscommercial pour les jeux vidéo, c’est en revanche un point crucial dans les simula-teurs de conduite par exemple, où le comportement d’un conducteur ne peut êtreanalysé avec pertinence que si l’environnement où il est immergé est suffisammentréaliste, y compris dans les comportements « déviants » des véhicules simulés [136].Dans une certaine mesure, on peut donc parler de « test de Turing » [212] distribué :les agents artificiels et les agents pilotés par des humains doivent, autant que possible,être indiscernables.

— 47 —

Page 62: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

Dans cette partie, nous allons illustrer ce problème à travers le projet Format-Store

où l’agent humain est un apprenti vendeur confronté aux demandes de ses clients.

3.2.1 Contexte : le projet Format-Store

� http://www.lifl.fr/SMAC/projects/formatstore/

Le projet Format-Store a fait l’objet d’un contrat de fin 2009 à fin 2011, financépar le ministère de l’Économie, des Finances et de l’Industrie dans le cadre de l’appelà projet Serious Game. Il a été conduit en collaboration avec Idées-3Com, entreprisespécialisée dans la création et la navigation dans des mondes virtuels en 3D, et Enaco,école de commerce, tous deux implantés dans la métropole lilloise. Les images du jeumontrées ci-après sont la propriété de Idées-3Com.

Ce projet a mobilisé à plein temps dans notre équipe un post-doctorant spécialistedes serious games, David Panzoli (13 mois), ainsi qu’un ingénieur de Polytech’Lille,Jean-Baptiste Leroy (16 mois), qui ont tous deux travaillé en contact étroit avec lesingénieurs d’Idées-3Com. Il a été en effet nécessaire d’intégrer à la plateforme devisualisation 3D, réalisée en VRML et Javascript, un moteur IODA « allégé », IODA-light, qui ne reprend que les fonctionnalités centrales de JEDI pour les adapter à cettearchitecture logicielle (fig. 3.8).

La mise au point et la validation des comportements des clients simulés se sontappuyées sur les experts en management et en marketing d’Enaco, ainsi que sur notrepropre expérience de simulation dans ce domaine [10]. Je ne mentionnerai ici queles points essentiels du projet, en renvoyant aux articles correspondants pour plus dedétails [1, 8, 25, 38]. Format-Store a également fait l’objet d’une démonstration aucours de la conférence PAAMS’2012 [37].

Le but de ce projet était de compléter une formation traditionnelle aux techniquesde vente et à la gestion de la relation clientèle par la réalisation d’un serious game(ou « jeu sérieux ») immersif, autrement dit une simulation de type jeu vidéo maisdont le caractère ludique doit servir des objectifs pédagogiques balisés. Pour cela,l’apprenant est placé dans des situations, scénarisées ou non, qui le confrontent à desproblèmes vus en cours et auxquels il doit apporter des réponses appropriées. Il estimpératif que le joueur humain se sente pleinement impliqué dans la simulation, sansquoi il peut relâcher son effort et ne pas chercher à satisfaire toutes les demandes ;il faut également que ce qu’il voit lui semble familier et réaliste, sous peine de nepas identifier correctement les situations à problème ; enfin, le jeu doit présenter desdifficultés modulées en fonction des performances du joueur afin de le maintenir dansune attitude active sans le submerger.

Le cadre général retenu dans Format-Store est celui d’un apprenant placé à tra-vers son avatar (fig. 3.9) dans la situation d’un vendeur d’un magasin de détail desuperficie moyenne (de type épicerie ou supérette). Pour réaliser cette simulation, ila fallu définir non seulement les comportements que devaient manifester les clientssimulés et les autres entités présentes dans le magasin (articles, caisses, panneaux designalisation, éléments de structure comme les rayonnages, etc.), mais également lescomportements « corrects » attendus de la part du joueur afin de pouvoir l’évaluer.Outre les tâches quotidiennes (mise en rayon, vérification des dates de péremption,

— 48 —

Page 63: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.2 – SERIOUS GAMES : L’HUMAIN DANS LA BOUCLE

nettoyage, élimination des emballages, commande d’articles en rupture, etc.), le ven-deur est confronté à des situations-problèmes, qui se présentent en pratique sous laforme de dialogues interactifs avec un client. La mise en contexte des apprentissagesclassiques est donc enrichie par la nécessité, dans le jeu, de prioriser ces diversestâches en trouvant des compromis entre la qualité des réponses apportées ou desactions engagées et la gestion du temps disponible.

3.2.2 Serious Games et SMAL’immersion du joueur dans un serious game résulte habituellement de la confluence

entre le réalisme visuel du jeu et la scénarisation des interactions avec les personnagesnon-joueurs (PNJ). L’accent peut être mis tantôt sur le premier [63, 169], auquel cas lesPNJ ont des capacités comportementales extrêmement réduites (comme par exempletransmettre des informations), tantôt sur le second en réduisant drastiquement laliberté du joueur à travers des scénarios scriptés assez rigides.

La simulation multi-agents permet donc a priori de restaurer un équilibre entreces deux pôles, en associant au réalisme visuel d’agents représentés dans un monde3D une richesse comportementale qui vient de leur autonomie et de leur capacitéd’adaptation. En outre, comme nous allons le voir, l’approche IODA permet d’intro-duire facilement une scénarisation des comportements, et d’enrichir le jeu ad libitumen fonction des besoins.

Toutefois, la difficulté de la réalisation d’un serious game immersif au moyen d’unSMA réside dans la poursuite simultanée de plusieurs objectifs (fig. 3.10) : l’immersiondans un monde simulé réaliste, le maintien de l’attention et de la motivation par lesaspects ludiques et la transmission de contenus pédagogiques — et donc dans larésolution conjointe des problématiques spécifiques de chacun de ces axes. En tantque jeu dans lequel l’apprenant doit être immergé, le serious game immersif introduitles contraintes suivantes :

1. La simulation doit être participative, autrement dit prendre en compte les dif-férences de modalité et de temporalité entre l’humain et les PNJ. Pour autant,puisqu’il s’agit aussi d’une simulation, le joueur humain doit pouvoir être rem-placé par un agent autonome : c’est d’ailleurs une façon de valider les compor-tements des PNJ.

2. Le comportement des agents doit être perçu par le joueur humain (ou pard’autres observateurs) comme réaliste et cohérent pour favoriser l’immersion dansle jeu.

3. Le comportement des agents doit s’adapter non seulement à un environnementdynamique mais aussi aux actions du joueur, relativement imprévisibles.

De plus, les contenus pédagogiques doivent être intégrés à la simulation à traversles comportements des agents :

4. Les comportements des agents doivent être définis de façon modulaire pour gé-rer des capacités de complexités différentes : se déplacer, interagir, raisonner,communiquer, etc.

5. Pour faciliter les échanges avec les experts, la formulation des comportementsdoit être explicite et intelligible.

— 49 —

Page 64: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

6. La conception de la simulation étant essentiellement incrémentale et sa valida-tion empirique (par l’observation des comportements qui se déroulent et leurmodification), le modèle doit être aisément révisable.

Enfin, le seul fait de réaliser un jeu à contenu pédagogique entraîne aussi descontraintes :

7. L’apprenant est évalué durant sa session de jeu, selon des modalités qui peuventêtre extrêmement diversifiées et doivent pouvoir être combinées.

8. La transmission des contenus pédagogiques doit être scénarisée, mise en contextedans le jeu pour que l’apprenant se sente impliqué : cela suppose de pouvoirsusciter des situations d’une façon relativement contrôlée en dépit de l’autonomielaissée aux agents.

Comme nous allons le voir, l’approche orientée interactions permet de répondre àces diverses contraintes.

3.2.3 Mise en œuvre par approche orientée interactions

Comportement des clients virtuels

La spécification des comportements des clients simulés a été menée en collaborationavec les experts d’Enaco. En règle générale, chaque client entre dans le magasin avecune liste de courses qu’il s’efforce de satisfaire : pour cela il se déplace de façonautonome à la recherche de ses produits et les place dans son panier. Lorsqu’il aterminé ses achats, il se dirige vers les caisses, puis sort du magasin. On peut enoutre lui affecter une situation-problème qui va lui demander de trouver le vendeuret d’engager un dialogue : dans cette situation (fig. 3.11), le joueur doit sélectionnerles bonnes réponses aux questions du client, après quoi le client poursuit son activité.Toutefois, sa patience est limitée, de sorte que s’il ne trouve pas ses articles, ou s’iln’est pas satisfait des réponses du vendeur ou de l’état du magasin, il abandonne sesachats et sort.

Construction du modèle

Outre les clients simulés, le magasin est également peuplé de nombreux autresagents, en vertu de la méthode IODA selon laquelle toute entité doit être représentéepar un agent. Or, parmi les situations-problèmes non dialogiques, on trouve des per-turbations introduites suite aux actions du vendeur (encombrement d’une allée aprèsdéballage d’articles remis en rayon) ou à d’autres événements (rupture d’approvision-nement d’un article, péremption, panne d’un éclairage, allée souillée par la chute d’unarticle, etc.).

Pour les experts, la participation à la modélisation a donc consisté essentiellement àrecenser toutes les entités impliquées dans le magasin et à définir leurs interactions, cequi n’a pas posé de difficulté. La formulation du comportement des agents sous formed’interactions, c’est-à-dire de règles, est très naturelle en marketing et son placementdans la matrice intuitif (tab. 3.3).

Les groupes d’agents ainsi identifiés sont donc les suivants :— le Vendeur ;

— 50 —

Page 65: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.2 – SERIOUS GAMES : L’HUMAIN DANS LA BOUCLE

— les Clients ;— les Articles ;— les panneaux (Affichage) utilisés pour orienter les clients dans le magasin ;— les Portes (qui créent ou éliminent des clients) ;— les Caisses ;— les files d’attente (FileAttente) engendrées par ces caisses ;— les emballages utilisés chaque fois qu’un article est remis en rayon (Carton) ;— les Taches qui résultent de certaines interactions et doivent être nettoyées.Bon nombre de ces agents, qui dans des approches de conception multi-agents

classiques seraient implémentés au moyen d’autres types d’entités (par exemple desobjets, des ressources, des artefacts, etc.) ont en fait un rôle actif à jouer. Par exemple,plutôt que de considérer que les clients cherchent des informations dans leur envi-ronnement pour s’orienter, ce sont les affichages qui informent les clients (avec desconditions liées entre autres à l’orientation des agents).

L’intégralité du comportement de chaque agent est ainsi représenté de manièreextrêmement intelligible (point 5 de la fig. 3.10). En outre, on constate que beaucoupd’interactions sont suffisamment génériques pour être utilisées par plusieurs famillesd’agents. Cela tient bien entendu au polymorphisme des primitives à partir desquelleselles sont écrites, et qui sont implémentées de façon différenciée dans les diversesfamilles d’agents.

La matrice d’interaction a été élaborée de façon incrémentale et constitue un modèletrès simplement révisable (point 6) par ajout, suppression, déplacement, changementde paramètres (priorité ou distance) des interactions, chaque modification pouvantêtre testée immédiatement sans réécriture de code.

Qu’en est-il des autres points soulevés par la réalisation d’un serious game immersifau moyen d’un SMA ? La modularité des comportements (point 4) découle directementde leur externalisation sous la forme d’interactions définies de façon indépendante, etqui peuvent avoir une complexité arbitraire.

La scénarisation (point 8), autrement dit l’intégration des contenus pédagogiquesau sein du jeu, que ce soit dans le comportement des PNJ ou dans des événements,est également facilitée par l’approche orientée interactions : soit par des dialoguesqui constituent une interaction parmi d’autres, soit par la succession d’interactionsqui se déclenchent en cascade du simple fait que leurs conditions ou déclencheursdeviennent valides. Par exemple, si un client tente d’effectuer Prendre sur un article etle lâche (ce qui se produit avec une probabilité dépendant du niveau de jeu), l’articlepeut effectuer GénérerTache, et le nouvel agent Tache pourra soit subir Nettoyer de la partdu Vendeur, soit effectuer Contrarier sur les autres Clients.

Réalisme des comportements

Comme l’a signalé Kubera [134], l’approche IODA permet, sans chercher à en don-ner une implémentation stricto sensu, de se rapprocher du concept d’affordances.D’après Gibson [119], les fonctions possibles d’un objet dans son environnement(donc ses capacités d’interaction) peuvent être interprétées comme étant suggéréespar l’objet lui-même, selon sa forme, sa position, etc. Cette théorie est fréquemmentutilisée dans les jeux vidéo et a fortiori dans la conception d’interfaces ergonomiques.

— 51 —

Page 66: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

Comme toutes les entités sont des agents, il est tout à fait naturel de doter des « objets »de la capacité à effectuer des interactions et non seulement à en subir.

Par ailleurs, pour ce qui est des agents « humanoïdes », la priorité, les déclen-cheurs et conditions des interactions qu’ils peuvent effectuer ont été définis de tellesorte que, sans se succéder de façon déterministe, ces interactions ont lieu selon unordre logique. Ainsi les clients simulés semblent suivre un plan et sont bien per-çus comme dotés de comportements réalistes (point 2), impression renforcée par le faitchaque client simulé est doté de sa propre liste de courses, d’une connaissance plus oumoins précise de l’organisation spatiale du magasin, et de capacités de mémorisationet d’apprentissage qui lui permettent de s’orienter selon un parcours vraisemblable.

Ce même mécanisme garantit également leur adaptativité (point 3) et leur diversité.En effet, la capacité des clients à trouver les articles de leur liste de courses ne dépendpas de leur connaissance préalable du magasin : les produits peuvent donc être dé-placés, retirés, les allées obstruées, sans affecter leur capacité à faire leurs achats.

Les clients, qui sont différenciés par leur apparence visuelle, le sont aussi par lesprofils comportementaux qui leur sont donnés, notamment par l’affectation de listesde courses différentes, de niveaux variables de patience, outre bien sûr les situations-problèmes dont ils peuvent être les vecteurs. Ces capacités d’adaptation des PNJ et ladiversité de leur comportement sont essentielles à la crédibilité de la simulation, doncà l’immersion du joueur humain.

L’humain dans la boucle

Le serious game étant également une simulation participative (point 1), les agents lo-giciels partagent leur environnement avec l’apprenant, qui doit donc être intégré defaçon non bloquante. Dans Format-Store, comme le montre la matrice d’interaction(tab. 3.3), le Vendeur est bien représenté par un agent : celui-ci est couplé à l’avatarde l’apprenant dans le jeu. Lorsque le joueur commande son avatar, ses ordres sontenvoyés à l’agent par un système de boîte à lettres qui se substitue au mécanisme or-dinaire de sélection d’interaction, de sorte que l’inaction du joueur laisse simplementla simulation suivre son cours normalement. Du reste, une des étapes de la validationa consisté à laisser tourner la simulation sans vendeur.

Il en découle également que le joueur humain, par ce procédé, peut si nécessairecontrôler n’importe quel autre agent de la simulation (par exemple on peut envisager,même si cela ne correspondait pas aux objectifs de Format-Store, qu’un enseignantprenne le contrôle d’un Client).

En tant qu’outil pédagogique, la simulation doit permettre une évaluation flexible(point 7) de la performance de l’apprenant. Cette évaluation repose en l’occurrencesur deux critères : le premier est calculé à l’issue de chaque dialogue avec un client(en fonction de la pertinence des réponses fournies), et la diversité des comportementset des événements garantit un large éventail de situations d’évaluation ; le deuxièmeintègre le niveau de satisfaction de chaque client qui sort du magasin, ce qui dépendde sa capacité à avoir trouver ses articles et des interactions qui peuvent avoir affectésa patience (saleté du magasin, allées encombrées, etc.). Les paramètres qui gèrent lesflux de clients entrants et la probabilité des événements sont adaptés en fonction duscore du joueur [1].

— 52 —

Page 67: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.2 – SERIOUS GAMES : L’HUMAIN DANS LA BOUCLE

Figure 3.8 – L’architecture logicielle de Format-Store. Pour la partie simulation, l’anima-tion 3D a été assurée par Idées-3Com ; les intervenants de l’équipe SMAC ont géré toute lapartie comportementale, ainsi que l’intégration des dialogues correspondant aux situations-problèmes identifiées par les experts, et le contrôle adaptatif de la difficulté du jeu (source :David Panzoli — rapport interne).

Figure 3.9 – Dans Format-Store, le joueur est placé dans un magasin via un avatar contrôléau clavier ; il peut aussi interagir avec les clients et les articles en utilisant la souris.

— 53 —

Page 68: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

Jeu Pédagogie

Simulation

SG

intégration de l'humain

simulationparticipative

expertise

évaluationflexible

comportements

scénarisation

interactivitérévisabilité

modularité

intelligibilitéadaptativité

réalisme

immersion

modèle

contenus pédagogiques

1

2

3

4

5

6

7

8

Figure 3.10 – Interdépendance des problèmes soulevés par un serious game immersif. Lestrois composantes d’un tel jeu (pédagogie, jeu, réalisme) engendrent des problématiques quileur sont propres, mais dont la résolution est compliquée par la nécessité de maintenir uneéquilibre entre les trois objectifs (source : [25]).

Figure 3.11 – Les dialogues de situations-problèmes donnent lieu à des interactions conver-sationnelles, par le biais d’une interface spécifique.

— 54 —

Page 69: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.2–

SERIOU

SG

AM

ES:L’H

UM

AIN

DA

NS

LABO

UC

LE

XXXXXXXXXXXXSources

Cibles ∅ Vendeur Client Porte Affichage Caisse FileAttente Article Tache Carton

VendeurDialoguer (1 ; 0) Ôter (5 ; 0) Nettoyer (3 ; 0) Ranger (3 ; 0)

Réapprovisionner (5 ; 0)

Ranger (5 ; 0)

ClientErrer (0) Repérer (10 ; 9) Sortir (1 ; 8) Payer (5 ; 6) Entrer (2 ; 4) Prendre (5 ; 2)

AllerVers (1) Patienter (2 ; 3) SePlacer (1 ; 5)

Sortir (1 ; 7)

Porte GénérerClient (1) Informer (10 ; 0)

Affichage Informer (10 ; 0)

CaisseInformer (10 ; 0)

Encaisser (2 ; 1)

FileAttente

ArticlePérimer (3) Informer (10 ; 0)

GénérerTache (4) Contrarier (1 ; 1)

GénérerCarton (4) AvertirRupture (1 ; 2)

Tache Contrarier (1 ; 0)

Carton Contrarier (1 ; 0)

Table 3.3 – Matrice d’interaction utilisée dans Format-Store. On voit que des agents habituellement considérés comme objets, ressourcesou artefacts jouent en fait un rôle actif, p. ex. Tache ou Article (cf. [25]).

—55

Page 70: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

3.2.4 Bilan

Tout au long du déroulement de ce projet, l’approche IODA a montré son intérêttant en ce qui concerne la méthodologie de conception de modèles de simulation,construits de façon incrémentale sous une forme explicite qui peut faire l’objet dediscussions avec les experts et de remaniements peu coûteux, que pour ce qui est dela réalisation d’une simulation capable d’intégrer des joueurs humains et d’interagiravec une architecture logicielle tierce en charge du monde virtuel.

Les serious games immersifs induisent des problématiques couplées de pédagogie,de jeu et de simulation, qui sont résolues assez simplement du seul fait de la sé-paration déclaratif/procédural opérée par IODA. Par ailleurs le choix de faire detoute entité un agent s’avère une fois de plus très naturel et facilite l’explicitation desconnaissances des experts, en se rapprochant de théories psychologiques comme celledes affordances.

3.3 Diffusion de l’approche orientée interactions

Outre des applications concrètes répondant à des problématiques spécifiques à telou tel domaine, nous nous sommes efforcés de diffuser autant que possible notredémarche à la fois dans la communauté multi-agents et chez des thématiciens quiutilisent des modèles centrés individus, et d’en montrer les avantages.

Je présenterai ici deux actions notables dans ce sens : premièrement, le projet Ga-laxian, qui a débouché sur la réalisation d’une démonstration capable de tournerpendant des heures dans une salle de réalité virtuelle, tout en permettant d’expliquerle fonctionnement de simulations orientées interactions ; deuxièmement, l’extensionIODA pour la plateforme NetLogo, qui permet de toucher une large communauté deconcepteurs de modèles à base d’agents et d’enseigner aisément nos concepts soit àdes thématiciens, soit à des étudiants en informatique.

3.3.1 Le projet Galaxian

� http://www.lifl.fr/SMAC/projects/galaxian

Contexte

Le projet Galaxian [36] a été réalisé en 2011–2012 au sein de l’équipe SMAC, enréponse à un appel à démonstration du LIFL, dans le cadre de la plateforme PIRVI 1

(Plateforme Interactions-Réalité Virtuelle-Images) de l’IRCICA à Lille. Il a pour objec-tif de montrer la mise en œuvre de la méthode de simulation IODA dans un cadreapplicatif ludique : en l’occurrence, une bataille 3D entre divers types de vaisseauxspatiaux.

Le simulateur de démonstration de bataille a été implémenté en C# au sein du mo-teur de jeu professionnel Unity3D 2 par Marc-Antoine Dupré (ingénieur contractuel

1. http://www.lifl.fr/pirvi/2. http://unity3d.com/

— 56 —

Page 71: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.3 – DIFFUSION DE L’APPROCHE ORIENTÉE INTERACTIONS

INRIA) et David Panzoli (post-doctorant), à partir d’une implémentation d’un moteurde simulation IODA que j’avais réalisé pour Unity3D. Il est capable d’animer une ba-taille spatiale en continu, sans répétitions, durant des dizaines d’heures, et tournesur un mur-écran de 6m de large avec un son spatialisé. Par ailleurs il encapsule sonpropre matériel pédagogique sous forme d’une part de diapositives et d’animations,d’autre part d’informations de contrôle (« gizmos ») qui peuvent être ajoutées à la vuede la bataille : cela permet une présentation impromptue du fonctionnement du mo-teur de simulation lors des démonstrations. Enfin, grâce à la portabilité de Unity3D, ladémonstration est également disponible en ligne à partir de la page web de l’équipe.

Présentation

La bataille oppose deux équipes, l’une blanche, l’autre noire, chacune composée deplusieurs familles d’agents, dont certaines leur sont spécifiques :

— les chasseurs (Fighter) blancs sont les unités combattantes de l’équipe blancheet affrontent les chasseurs noirs, et vice-versa — ces chasseurs ont un très largehalo de perception ;

— les croiseurs (Cruser) blancs (resp. noirs) envoient des fournées de chasseursblancs (resp. noirs) à l’assaut de l’équipe adverse, lorsque le nombre de chas-seurs est tombé en-dessous d’un certain seuil — dans la démonstration ces bâti-ments sont indestructibles afin de garantir que de nouveaux chasseurs peuventêtre relancés en permanence ;

— les frégates (Frigate), propres à l’équipe noire, sont des vaisseaux indestructibles,de taille intermédiaire, armés de tourelles puissantes destinées à repousser leschasseurs ennemis — elles ne peuvent pas être attaquées par des chasseurs iso-lés ;

— les escadrilles (ou escouades, Squad) sont propres à l’équipe blanche : elles sontformées graduellement par des chasseurs qui décident de se regrouper, puisattaquent les frégates, avant de se disperser soit parce qu’elles ont terminé leurraid, soit parce que trop de chasseurs ont été abattus — en pratique dans lasimulation, les escadrilles existent bel et bien en tant qu’agents mais ne sont pasreprésentées par un objet graphique du moteur de jeu ; on peut les visualiser en« vue augmentée » sous la forme d’une sphère plus grande que celle des autresagents.

Les comportements de ces agents ont été définis via la matrice d’interaction ci-dessous (tab. 3.4) :

Afin de suivre les détails des comportements, il est possible de visualiser cer-taines informations, telles que les relations de perception entre agents, ou les relationssource-cible qui donnent lieu a une interaction (fig. 3.12).

Bilan

Outre son fort impact 3 en tant que démonstration, le projet Galaxian a été l’occa-sion de montrer plusieurs qualités de l’approche IODA. D’une part, les algorithmesque nous avons développés pour la simulation orientée interactions sont capables

3. Galaxian a obtenu le prix IBM de la meilleure démonstration à la conférence PAAMS’2013.

— 57 —

Page 72: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

PPPPPPPPPSources

Cibles

∅ BFighter WFighter BFrigate WSquad

BFighter

(ChercherCible ; 0)

(Tirer ; 8)

(Exploser ; 9)

(Affronter ; 2 ; 1000)

(Intercepter ; 3 ; 1000)

(Engager ; 4 ; 1000)

(Fuir ; 5 ; 1000)

WFighter

(ChercherCible ; 0)

(Tirer ; 8)

(Exploser ; 9)

(Affronter ; 2 ; 1000)

(Intercepter ; 3 ; 1000)

(Engager ; 4 ; 1000)

(Fuir ; 5 ; 1000)

(CréerEscouade ; 2 ; 30)(Rejoindre ; 6 ; 100)

(Suivre ; 7 ; 1000)

BFrigate (Riposter ; 0 ; 200)

BCruser (LancerChasseur ; 0)

WCruser (LancerChasseur ; 0)

WSquad(Disparaître ; 0)

(Tirer ; 3)(Engager ; 1 ; 5000) (Fusionner ; 5 ; 50)

Table 3.4 – Matrice d’interaction utilisée pour la définition des comportements des agentsdans Galaxian.

Figure 3.12 – Deux vues augmentées de la simulation Galaxian : à gauche, les traits repré-sentent les relations de perception entre agents ; à droite, la couleur des sphères autour desagents code l’interaction qu’ils effectuent et le trait les relie à leur cible.

— 58 —

Page 73: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.3 – DIFFUSION DE L’APPROCHE ORIENTÉE INTERACTIONS

de s’insérer dans un moteur de jeu professionnel sans perte de performance, et per-mettent une dissociation entre la gestion des comportements de haut niveau (choixdes interactions par les agents) par le moteur IODA, à pas de temps fixes, et la gestiondes événements graphiques (collisions, mouvements) par le moteur de jeu qui tourneavec un framerate variable.

D’autre part, l’approche orientée interactions a été utilisée pour définir des com-portements d’agrégation d’agents en groupes eux-mêmes dotés de comportementspropres.

Enfin, en tant que méthode de conception de simulations, la méthode IODA s’estparticulièrement bien prêtée à une conception incrémentale des comportements, encommençant par exemples par le réglage des interactions de navigation et de pour-suite (ChercherCible, Affronter, Engager, Fuir) pour s’assurer d’une couverture homogène de lazone de bataille et du placement de la caméra, puis l’ajout d’interactions de combat(Tirer, Exploser, LancerChasseur, etc.) calibrées pour maintenir une population équilibrée dechasseurs de chaque camp ; enfin, les comportements de groupe (CréerEscouade, Rejoindre,Suivre, Disparaître) ont été introduits après validation (empirique et visuelle) des compor-tements précédents. La simulation peut ainsi être complexifiée et enrichie étape parétape de façon très modulaire.

3.3.2 IODA pour NetLogo

The only way to get rid of atemptation is to yield to it.

Wilde [215]

� http://www.lifl.fr/SMAC/projects/ioda/ioda_for_netlogo/

Contexte

La plateforme de simulation multi-agents NetLogo, développée par Wilensky [217]et son équipe au Center for Connected Learning and Computer-Based Modeling (CCL) dela Northwestern University, est (avec Repast [166]) l’une des plus utilisées, tout par-ticulièrement en-dehors de la communauté des informaticiens. Son utilisation est eneffet particulièrement aisée, car elle fournit un environnement intégré comprenantdes outils de construction d’interface graphique, d’analyse statistique, de planifica-tion d’expériences, d’exportation sous forme d’applet etc., le tout programmable dansun langage d’un assez haut niveau d’abstraction 4 avec une syntaxe simple fonction-arguments (en fait dérivée de LISP — sans les parenthèses !). Il est possible de définir

4. Parmi les primitives de NetLogo on trouve par exemple des fonctions permettant de calculer ungradient dans l’environnement ou demandant à tous les agents d’effectuer une procédure de façonconcurrente.

— 59 —

Page 74: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

des familles d’agents (breeds) en plus de celles par défaut : les « tortues » (turtles),les patches (discrétisation de l’environnement en carrés unitaires) et les liens entreagents (links). En outre, elle est distribuée avec une documentation détaillée, des tu-toriels et plus d’une centaine d’exemples de modèles issus de nombreuses disciplines(biologie, physique, chimie, sciences sociales, économie, etc.). Enfin, elle garantit unereproductibilité totale des résultats de simulation à graine aléatoire fixée, ce qui estévidemment un critère de scientificité crucial.

D’un point de vue épistémologique, NetLogo s’inscrit dans le prolongement de ladémarche constructionniste de Papert [170], inventeur du langage LOGO, et de sondisciple Resnick [179] qui est l’auteur de StarLogo, version parallèle (multi-tortues)du LOGO et précurseur de NetLogo. L’objectif n’est pas de fournir une plateformedotée d’une puissance de calcul redoutable, mais bel et bien de permettre à des thé-maticiens d’exprimer leur modèle de façon simple et d’en tester des prototypes pouravoir un retour rapide sur leurs hypothèses.

Il n’en reste pas moins, comme nous l’avons déjà signalé [13, 12, 3], que la program-mation correcte (i.e. sans erreur susceptible d’introduire des biais dans les résultats)d’un moteur de simulation est loin d’être aisée pour un thématicien mal formé àl’algorithmique, voire pour certains informaticiens.

La tentation à laquelle nous avons succombé était donc grande, de profiter de l’au-dience de NetLogo pour lui « greffer » un moteur IODA, en vue d’une part, de simpli-fier et d’uniformiser la conception de modèles en séparant le déclaratif du procédural,et d’autre part, de réduire le code à écrire à des procédures ou fonctions de petite taille(les primitives de perception et d’action des agents).

J’ai mis au point les premières versions de l’extension IODA pour NetLogo en 2007

(notamment pour la simulation de l’horloge d’Ostreococcus tauri (§3.1.1), puis l’archi-tecture a été entièrement revue courant 2011 pour en améliorer les performances etprofiter des améliorations offertes par les nouvelles versions de NetLogo (4.1.3 puis 5) ;je présenterai donc ici la version 2 de cette extension qui est celle distribuée depuisdébut 2012 (v. 2.2 depuis octobre 2013).

Architecture

La plateforme NetLogo s’appuie sur la machine virtuelle Java, de sorte que le lan-gage utilisé pour la programmation des modèles dans la plateforme est d’abord byte-compilé. L’API de la plateforme est ouverte et (légèrement) documentée. Pour étendreles commandes et structures de données disponibles, on peut procéder de deux fa-çons : soit écrire un fichier séparé dans le langage NetLogo et l’inclure dans les mo-dèles qui en ont besoin, soit écrire ses propres classes Java et les empaqueter au seind’une archive JAR.

Après les premières versions exclusivement en NetLogo, faciles à maintenir maispeu performantes, j’ai décidé de suivre une voie hybride : les structures de données(définition des interactions, matrices d’interaction et de mise à jour) et leurs algo-rithmes propres (notamment lecture et analyse des fichiers de configuration) ont étéécrits directement en Java, tandis que le moteur IODA proprement dit, susceptibled’être modifié pour des besoins différents, a été écrit comme fichier d’inclusion enNetLogo, qui définit par ailleurs diverses politiques concernant l’ordonnancementdes agents ou la sélection des cibles des interactions.

— 60 —

Page 75: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.3 – DIFFUSION DE L’APPROCHE ORIENTÉE INTERACTIONS

Cela permet d’écrire le code d’un modèle de simulation en IODA-NetLogo à partird’un gabarit (fig. 3.13), à savoir :

— les clauses d’inclusion de code et de chargement de l’extension ;— la procédure d’initialisation setup qui se termine par la lecture des fichiers de

configuration définissant les interactions et les matrices ;— la procédure go exécutant chaque pas de temps de la simulation, qui délègue

l’exécution à une procédure de l’extension (ioda:go).Après quoi, il reste à écrire le code de chacune des primitives utilisées par chaquefamille d’agents : il s’agit de fonctions (reporters) ou de procédures NetLogo portantle nom de la primitive préfixé par le nom de la famille d’agents.

__includes ["IODA_2_2.nls"]extensions [ioda]

to setupclear-allioda:load-interactions "interactions.txt"ioda:load-matrices "matrix.txt" " \t()"ioda:setupreset-ticks

end

to goioda:gotick

end

model.nlogo

Figure 3.13 – Le gabarit utilisé pour l’écriture des modèles de simulation en IODA-NetLogo.

Selon la méthodologie descendante de IODA, mieux vaut commencer par décrireles interactions réalisables, ainsi que la matrice d’interaction et la matrice de mise àjour. Pour cela, deux fichiers texte de configuration doivent être définis :

— l’un pour décrire les interactions : nom, déclencheur, condition et actions(fig. 3.14) ;

— l’autre pour définir les matrices d’interaction et de mise à jour, au format CSV(fig. 3.15).

Dans l’exemple donné ici (fig. 3.15), la première ligne hors commentaires du fi-chier (Ants Take (30) Food (1) BEST:quality) s’interprète de la façon suivante : lafamille d’agents Ants peut effectuer l’interaction Take sur des agents de la famille Food,avec une priorité de 30, à une distance maximale de 1, et en utilisant une politique desélection de cible qui maximise la primitive quality de la cible. Comme l’interactionTake utilise les primitives can-take-load? et take-target pour la source et die pourla cible, il faut donc déclarer dans le code NetLogo les deux familles ants et food, etécrire :

— une procédure ants::filter-neighbors pour définir le halo de perception desfoumis (agents actifs) ;

— 61 —

Page 76: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

interaction Followtrigger foraging?actions follow-target target:decrease-strength

end

interaction Takecondition can-take-load?actions take-target target:die

end

interaction MoveRandomlyactions wiggle

end

interaction ReturnToNesttrigger carrying-food?actions drop-pheromone move-to-home

end

interaction DropFoodcondition carrying-food?actions drop-load turn-back

end

interaction Dietrigger too-weak?actions die

end

interaction Evaporateactions decrease-strength

end

interaction UpdateViewactions update-label

end

interaction Stealtrigger foraging?condition target:carrying-food?actions steal-load

end

interactions.txt

Figure 3.14 – Fichier texte de définition des interactions. L’exemple est tiré de la réécritured’un modèle classique de NetLogo, la recherche de nourriture par des fourmis avec consti-tution de pistes [216]. Chaque déclencheur ou condition est constitué d’une conjonction deprimitives booléennes, et la partie actions d’une séquence de primitives.

— 62 —

Page 77: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.3 – DIFFUSION DE L’APPROCHE ORIENTÉE INTERACTIONS

; FILE FORMAT:; Source Interaction (priority) [UPDATE]; or; Source Interaction (priority) Target (distance) [<TARGET-SELECTION-POLICY>]

; interactions performed by antsAnts Take (30) Food (1) BEST:qualityAnts DropFood (30) Nests (1)Ants Follow (20) Food (5) BEST:qualityAnts Follow (10) Pheromones (5) BEST:strengthAnts ReturnToNest (10)Ants MoveRandomly (0)

; interactions performed by pheromonesPheromones Die (20)Pheromones Take (10) Pheromones (0.8)Pheromones MoveRandomly (0)Pheromones Evaporate (10) UPDATE

; interactions performed by nestsNests UpdateView (0) UPDATE

matrix.txt

Figure 3.15 – Fichier CSV définissant les matrices d’interaction et de mise à jour. Mêmeexemple que précédemment.

— une fonction (reporter) ants::can-take-load? qui teste si la fourmi peut prendreune charge ;

— une procédure ants::take-target pour charger la fourmi avec sa cible ;— une procédure food::die pour éliminer le morceau de nourriture prélevé ;— une fonction food:quality qui donne une évaluation de la qualité de la nourri-

ture.Le code correspondant est donné ci-après (fig. 3.16). Le principal avantage est le

découpage d’un code habituellement « lourd » (avec des branchements explicites pourgérer les diverses situations) en des comportements explicites sous forme texte et depetits morceaux de code indépendants. On procède ainsi pour chaque nouvelle ligneajoutée dans la matrice d’interaction ou dans la matrice de mise à jour. Par souci decommodité nous avons défini dans l’extension une procédure qui donne le patron desprimitives nécessaires qui ne sont pas encore écrites.

Si l’on compare le modèle « Ants » originel de NetLogo à notre simulation, outrecette simplification du code les phéromones et la nourriture ont été agentifiées etpeuvent ainsi être dotées de caractéristiques propres susceptibles d’enrichir le modèle,comme par exemple la qualité de la nourriture par exemple, ou encore un déplace-ment anisotrope des phéromones sous l’effet du vent, etc. De plus, dans l’exemplecomplet fourni en tant que tutoriel, on peut tester le modèle avec des matrices d’inter-action différentes, autorisant des variantes comportementales comme la « capture »de nourriture sur le modèle de robots « dockers » [97].

Nous avons également implémenté plusieurs politiques de sélection de cibled’usage courant, comme par exemple ALL (appliquer l’interaction à toutes les cibles

— 63 —

Page 78: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 3 — LA SIMULATION ORIENTÉE INTERACTIONS : APPLICATIONS

; définition des familles d’agentsbreed [ants ant]breed [food]

; définition de leurs attributsants-own [carrying? motivation quality]food-own [ quality]

; définition de la perception des agentsto ants::filter-neighbors

ioda:filter-neighbors-in-radius 5end

; définition des primitives nécessaires; pour la 1e ligne de la matrice d’interactionto-report ants::can-take-load?

report not carrying?end

to ants::take-targetset motivation 1set carrying? trueset color redset quality [quality] of ioda:my-target

end

to food::dieioda:die

end

to-report food::qualityreport quality

end

ajouts dans model.nlogo

Figure 3.16 – Les ajouts dans le code du modèle NetLogo correspondant 1o à la définition

des familles d’agents, de leurs propriétés et de leur perception, et 2o à l’implémentation des

primitives nécessaires pour la première ligne du fichier matrix.txt.

— 64 —

Page 79: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

3.3 – DIFFUSION DE L’APPROCHE ORIENTÉE INTERACTIONS

qui vérifient les conditions), BEST:prop (choisir la cible qui maximise la primitiveprop), NUMBER:n (choisir obligatoirement n cibles), etc.

Utilisation et distribution

Cette extension est accompagnée d’un dictionnaire des fonctions et procédures dis-ponibles, et surtout d’un tutoriel détaillé avec une douzaine d’exemples de complexitécroissante pour permettre une prise en main graduelle des concepts de l’approcheorientée interaction et de sa mise en œuvre dans NetLogo.

Depuis début 2012, ce paquet est diffusé en téléchargement libre sous licence GPL 3.Il est destiné en première intention aux thématiciens familiers de NetLogo qui souhai-teraient rendre les comportements de leurs modèles plus lisibles (en pratique, moinsdépendants du code) et plus facilement révisables. Une fois les interactions écrites, ilsuffit de commenter ou de démasquer une ligne de la matrice pour changer complè-tement le modèle ; de plus des fichiers de configuration différents peuvent être écritset chargés selon l’expérience à effectuer.

En pratique, nous l’utilisons également systématiquement en Master 2, avec desrésultats très encourageants, pour la formation des étudiants aux techniques de simu-lation multi-agents, en particulier pour les initier à la simulation orientée interactions.Chaque rentrée universitaire est donc de fait l’occasion un peu forcée de se livrer àune maintenance qui intègre les retours des étudiants et les sujets des projets réalisés,ainsi que des mises à jour consécutives à celles de NetLogo et l’élimination de bugsrésiduels.

Enfin, l’équipe de NetLogo nous a fait l’amitié de référencer notre extension direc-tement à partir du site web de la plateforme, ce qui permet d’assurer une visibilitéplus grande (les deux tiers des visiteurs proviennent de cette source, d’après GoogleAnalytics).� http://ccl.northwestern.edu/netlogo/resources.shtml, rubrique « Tools »

h a g

— 65 —

Page 80: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,
Page 81: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

A change of work is the best rest.

Doyle [94]

Deuxième partie

Travaux en cours et perspectives

Page 82: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,
Page 83: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Chapitre 4

La simulation multi-niveaux

Lorsque nous y serons parvenus par l’art du discoursou du calcul, [...] philosophant le long des degrés del’échelle, c’est-à-dire de la nature, pénétrant touteschoses depuis le centre jusqu’au centre, alors nouspourrons tantôt descendre en démembrant avec uneforce titanesque l’un dans le multiple, [...] tantôt monteren rassemblant avec une force apollinienne le multipledans l’un.

Pic de la Mirandole [159]

Nous avons montré au début de ce mémoire que la simulation multi-agents, depuisquelques années, était utilisée pour modéliser, expliquer et prédire le fonctionnementde systèmes complexes fonctionnant sur une large échelle : c’est cette évolution quinous a poussés à développer l’approche orientée interactions (IODA).

Toutefois, l’examen des problématiques auxquelles nous sommes confrontés de fa-çon récurrente suggère que la question du large échelle se subdivise en plusieurs sous-problèmes distincts, certains appelant des réponses logicielles, d’autres une modéli-sation adaptée, tels que :

— des architectures logicielles permettant le traitement (en termes de temps d’exé-cution, de mémoire, de distribution physique, etc.) d’un nombre d’agents trèsélevé (de l’ordre de 105 – 106) ;

— la représentation de niveaux d’observation plus ou moins fins ;— le choix de modéliser un sous-système par un seul agent ou par une organisation

d’agents ;— la représentation des comportements d’une entité selon qu’elle opère comme

membre d’une organisation ou comme extérieure à cette organisation ;— le regroupement de micro-agents en un macro-agent capable soit d’agréger l’en-

semble de leurs comportements, soit de réifier une abstraction structurelle ouorganisationnelle.

— 69 —

Page 84: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 4 — LA SIMULATION MULTI-NIVEAUX

Ces problématiques ont conduit depuis quelques années seulement à une refor-mulation des infléchissements à donner au domaine de la simulation multi-agents.La première de ces nouvelles orientations, que nous allons aborder dans ce chapitre,consiste à tenter de décomposer les simulations en tenant compte de l’existence dedivers niveaux d’organisation ou d’abstraction. Dans le chapitre 5, nous étudieronsla possibilité de paramétrer ou même de construire des comportements à partir desmasses de données issues de l’observation des systèmes réels. Enfin, nous dirons éga-lement quelques mots dans le chapitre 6 de la façon dont la question des architectureslogicielles s’articule par rapport aux autres.

4.1 Contexte scientifique

4.1.1 L’émergence de la simulation multi-agents multi-niveaux

Les problèmes que soulèvent les systèmes complexes large échelle ne viennent pastant de l’échelle de la simulation (i.e. la quantité d’agents ou de familles d’agents) quede la coexistence de différents niveaux d’organisation ou d’analyse, ou de différentes échelles.Par exemple, la biologie manipule des entités allant de l’organisme à la molécule, enpassant par les tissus et les cellules [56]. Les physiciens, quant à eux, ont depuis long-temps développé leurs propres méthodes de modélisation multi-échelles à partir desystèmes équationnels [107, 104]. On voit également se développer des simulationsmulti-modèles [69, 86] qui cherchent à coupler des paradigmes différents (équations,réseaux bayésiens, automates cellulaires, systèmes multi-agents) selon le niveau d’ob-servation à représenter. Ces approches partagent un inconvénient majeur : le manqued’intelligibilité des modèles pour les thématiciens, et leur faible révisabilité. En outre,le couplage de modèles de natures différentes accroît le risque d’introduire des biaisdans les résultats de simulation.

La simulation multi-niveaux, d’après Morvan [163], pose au moins trois grandesquestions théoriques :

— l’établissement de méta-modèles génériques et de moteurs de simulations ;— la détection et la réification de phénomènes émergents ;— la définition de représentations génériques pour les entités agrégées.

Un objectif à long terme : agentifier les structures émergentes

Ces deux derniers points présentent un intérêt certain et les problématiques qu’ilssoulèvent sont particulièrement stimulantes. Les travaux précurseurs dans ce domainesont ceux de Servat [195] autour de la réification de structures hydrologiques (projetRIVAGE, IRD). Les agents « boules d’eau » s’agrègent automatiquement pour formerdes entités macroscopiques hydrologiques (mares, ravines, etc.). Les agents corres-pondants sont créés dynamiquement pour remplacer les boules d’eau quand celles-cisont entourées d’agents similaires. Inversement, le macro-agent peut se dissoudre enmicro-agents lorsque des conditions d’extinction sont remplies (par exemple débor-dement d’une mare). Néanmoins, l’automatisation des comportements et de la créa-tion/destruction de macro-agents est largement simplifiée par le caractère physiqueet indifférencié des boules d’eau.

— 70 —

Page 85: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

4.1 – CONTEXTE SCIENTIFIQUE

Depuis, d’autres travaux ont été menés pour identifier, voire réifier des structuresémergentes [102, 138, 87, 78] mais la difficulté majeure reste l’agrégation automatiquede comportements pertinents. Toutefois, si l’on souhaite construire une approche desimulation multi-niveaux générique, il semble plus judicieux (quoique peut-être plusaustère) de commencer par définir un cadre général pour cela, à la fois en termes deforme des modèles conceptuels associés et d’algorithmes de simulation.

Un cadre générique pour le multi-niveaux

Notre objectif à plus court terme, dans ces travaux commencés courant 2010 [9, 26],est donc plutôt de construire une méthode de simulation multi-niveaux « homogène »en terme de paradigme, c’est-à-dire dans laquelle on puisse, du niveau macroscopiqueau niveau microscopique, ne manipuler que des agents et leurs interactions au seind’environnements correspondant à des niveaux d’analyse différents. Cette homogénéitéde paradigme n’a de pertinence, à notre sens, que si l’on opte pour une intégrationforte des niveaux du modèle, impliquant un partage des agents entre les niveaux [163].

Il faut pour cela résoudre deux problèmes relativement indépendants :

1. La question de « l’emboîtement » : si les systèmes complexes sont souvent com-posés de sous-systèmes, ces derniers peuvent intervenir dans plusieurs struc-tures macroscopiques, de sorte qu’une décomposition arborescente peut s’avé-rer très vite restrictive. La première étape consiste donc à formaliser les relationsqui peuvent être nécessaires entre agents et environnements pour représenter dans unparadigme homogène la diversité des rapports entre systèmes et sous-systèmes,et ce d’une façon générique (indépendante de tout cadre applicatif) et dynamique(ces relations peuvent évoluer au cours de la simulation).

2. La question de la dépendance des comportements au contexte : le compor-tement d’un agent, dans un système complexe, dépend en général du sous-système dans lequel il opère. La séparation déclaratif/procédural introduite parIODA nous sera fort utile pour cela.

Bien entendu, un tel cadre de modélisation n’a d’intérêt que s’il conduit à un mo-dèle computationnel et à une implémentation. C’est bien le cas de notre proposition,PADAWAN (pour Pattern for an Accurate Design of Agent Worlds in Agent Nests) quenous décrivons ci-après (§4.2). Nous verrons aussi que cette approche initialementconçue pour la simulation trouve également des applications à travers des méthodesde résolution distribuée de contraintes en cartographie (cf. §4.4). Enfin, nous revien-drons dans le chap. 6 sur les possibilités d’extension de notre approche par des mé-thodes d’identification et de réification de structures émergentes.

4.1.2 Travaux connexes

Définition de structures emboîtées

L’idée de décomposer un système en sous-systèmes n’est pas neuve dans le cadredes SMA. La plateforme SWARM [158] est une des premières qui ait explicitementintroduit des échelles multiples dans les simulations centrées individus, à travers uneorganisation récursive en swarms contenant des agents et leur ordonnanceur, les agents

— 71 —

Page 86: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 4 — LA SIMULATION MULTI-NIVEAUX

pouvant être eux-mêmes des swarms. C’est toutefois un modèle strictement arbores-cent, figé, où le comportement d’un swarm est réduit au comportement collectif desagents qui le constituent.

D’autres plateformes, comme GEAMAS [148] ou GAMA [203], permettent égale-ment de représenter des agrégations d’agents, voire de les détecter automatiquement ;toutefois elles reposent comme SWARM sur l’imbrication d’agents les uns dans lesautres et ne permettent encore qu’une représentation arborescente, ce qui est plutôt li-mitatif. Il en va de même pour des architectures comme les systèmes holoniques [118].D’autres approches permettent d’éviter une structure arborescente, mais elles ont sou-vent plutôt comme objectif une distribution physique des tâches [187].

Les méthodologies fondées sur une approche organisationnelle des SMA ont égale-ment proposé un cadre théorique et pratique pour la décomposition en sous-systèmes,comme AGRE (Agents, Groupes, Rôles + Environnement) [111] qui permet à un agentd’être à la fois dans l’environnement physique et de prendre part à environnementssociaux (groupes et organisations). Cette approche peut être adaptée à la simulation,par exemple en utilisant les groupes pour représenter des niveaux d’organisation dansun écosystème [54]. Néanmoins cette dichotomie physique/social nous semble restric-tive dans la mesure où elle instaure une division arbitraire entre deux (et seulementdeux) catégories d’environnements, tout en imposant l’unicité de l’environnementphysique. Or l’environnement physique peut impliquer des milieux distincts où lesrègles pertinentes changent (par exemple, aquative vs. terrestre), et dans ce cas aumoins il est sans doute plus simple de le découper en compartiments relativementindépendants.

Spécification locale de comportements

Il ne suffit pas de savoir décomposer un système : il faut encore pouvoir exprimer lefait que les comportements des agents sont dépendants du sous-système dans lequell’agent est placé. Un formalisme intéressant nous est donné par les P-systèmes [171],un modèle de calcul Turing-complet inspiré de la biologie, qui repose sur les élémentssuivants :

— des membranes contenant des symboles et des règles, et emboîtées de façonsarborescente ;

— des symboles contenus dans les membranes sous forme de sacs (ou multien-sembles), éventuellement étiquetés pour leur permettre de franchir une mem-brane ; un symbole spécial (δ) permet de dissoudre la membrane qui le contient ;

— des règles décrivant la transformation d’un sac de symboles en un autre (parexemple : aab→ ac) ; les règles placées dans une membrane expriment la façondont les symboles qui y sont présents peuvent être transformés.

Le calcul, non-déterministe, consiste à appliquer itérativement le plus grandnombre possible de règles dont tous les symboles sont présents. Cette méthode seprête difficilement à la modélisation d’entités très complexes. Toutefois, on noteraque les symboles n’ont aucun comportement en tant que tel, seul l’ensemble des règlesprésentes dans la membrane où se trouvent ces symboles permet de définir leur fonction. Au-trement dit, on a d’une part séparation entre entités et comportements, et d’autre partdéfinition locale des comportements. Ce principe est très proche de ce que nous avons faitdans IODA et souhaitons obtenir en modélisation multi-niveaux.

— 72 —

Page 87: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

4.1 – CONTEXTE SCIENTIFIQUE

4.1.3 Vers un cadre multi-niveaux fortement intégré

Il apparaît dans les travaux cités ci-dessus que, la plupart du temps, l’accent est missur les problématiques de structuration des entités (ou d’emboîtement) du niveau mi-croscopique ou atomique jusqu’au plus haut niveau de composition, en laissant ausecond plan la question de la modification des comportements en fonction du niveauoù l’agent opère. C’est d’ailleurs sans doute le principal obstacle pour construire descadres généraux permettant une intégration forte des différents niveaux d’observa-tion. La seule autre approche à notre connaissance permettant d’aller dans ce sensest IRM4MLS [164], quasiment contemporaine de PADAWAN, et qui, étant basée surIRM4S [154], peut exprimer de façon très claire les influences émises et les réactionscalculées à chaque niveau. Néanmoins cette approche utilise un modèle à temps dis-cret synchrone qui soulève des difficultés pour spécifier la fonction de réaction.

Il semble donc bien que ce qui pose problème dans le multi-niveaux, c’est la no-tion même de niveau... d’ailleurs Morvan [163] recense également les dénominations« multi-échelles » (multi-scale), « multi-couches » (multi-layer), « multi-perspectives »,« multi-interactions », « multi-points de vue » (multi-view), etc. : autant dire que leconcept est assez mal défini. Le principe de parcimonie réclame sa tête, mais nousallons surseoir à l’exécution.

En fait, il y a déjà assez de concepts utiles dans un SMA, pour se dispenser tem-porairement de celui de niveau. En effet, c’est le fait pour un agent d’être situé dansson environnement (autrement dit d’avoir une perception limitée, des relations devoisinage avec d’autres agents, la possibilité ou non de se mouvoir, etc.), qui rend soncomportement adaptable aux changements et permet de construire des solutions co-hérentes et éventuellement orientées vers des buts, explicites ou non. L’environnementest le cadre spatial ou social fondamental qui structure les comportements d’un agent. Parconséquent, la première étape à envisager pour introduire plusieurs niveaux, est des’appuyer sur la notion d’environnement. Bien entendu, l’environnement doit égalementêtre associé à une échelle d’observation qui permet de caractériser la granularité tem-porelle et spatiale des phénomènes qui s’y déroulent, et de déterminer les agents quiont vocation à y opérer.

Pour permettre une adaptation locale des comportements des agents au « niveau »,et pour autoriser l’appartenance des agents aux divers « niveaux », la simulation« multi-niveaux » doit avant tout être une simulation « multi-environnements ». Cettecondition nécessaire n’est pas suffisante et nous proposons de lui adjoindre les ca-ractéristiques ci-dessous, dont nous montrerons comment les réaliser dans la sectionsuivante :

— Appartenance multiple : toute entité doit pouvoir appartenir simultanément àplusieurs environnements ;

— Dynamicité : un agent doit pouvoir changer de niveau (d’environnement) à vo-lonté si cela fait sens dans le modèle ; de plus il ne doit pas y avoir de limitationde principe à la création ou à la dissolution d’un niveau si cela est pertinent ;

— Localité : le comportement d’un agent doit être le résultat de sa présence dansun environnement donné (l’espace qui définit ses conditions d’existence) ;

— Homogénéité : dans IODA toute entité est un agent et tout comportement, uneinteraction ; de même il faut que la décomposition du monde ne s’appuie quesur des environnements.

— 73 —

Page 88: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 4 — LA SIMULATION MULTI-NIVEAUX

4.2 Un modèle homogène pour les simulations multi-niveaux (PADAWAN)

Le modèle PADAWAN, que nous avons construit pour répondre aux critères ci-dessus, repose sur deux principes (nous renvoyons aux publications correspondantespour plus de détails [9, 26]) :

— autoriser un agent à être situé dans plusieurs environnements simultanément, sanspréjuger de ce que représentent ces environnements (monde physique, groupes,organisations, mémoire spatiale ou sociale, etc.), façon de généraliser les ap-proches de type AGRE ;

— permettre l’encapsulation dynamique d’un environnement par un agent, doncconstruire les bases d’une structure récursive relativement classique (SWARM,P-systèmes), mais non figée.

Il s’appuie donc sur deux relations entre agents et environnements : la situation etl’encapsulation.

Dans la suite, nous désignerons par E l’ensemble des environnements utilisés dansune simulation, et par A l’ensemble des agents. Ces environnements doivent être vuscomme des espaces de topologie quelconque, de dimensions quelconques. Nous allonsmontrer également comment les doter en outre d’une échelle temporelle propre et derègles comportementales différenciées qui s’appliquent aux agents qu’ils contiennent.

4.2.1 Relations entre agents et environnements

Relation de situation

Nos agents sont situés, donc ils appartiennent à au moins un environnement, danslequel ils peuvent percevoir et agir. Nous autorisons un agent à être situé dans plu-sieurs environnements, ce qui nous amène à définir la relation de situation d’unagent dans un environnement :

Définition VII — Relation de situation.Un agent a ∈ A est situé dans un environnement e ∈ E , noté : a ^ e, lorsque a peutpercevoir, être perçu, agir ou subir des actions, dans e.

On note dans la suite respectivement le lieu de a (l’ensemble des environnementsoù a est situé) et le contenu de e (l’ensemble des agents situés dans e) :

∀a ∈A, location(a) def= {e ∈ E | a ^ e} et ∀e ∈ E , content(e) def

= {a ∈A | a ^ e}

On se donne également le droit d’écrire par exemple location(a)← {e1, e2} pourexprimer le fait qu’on place a exactement dans les environnements e1 et e2 (i.e. qu’onétablit une relation de situation entre a et e1 et une autre entre a et e2). Le fait detravailler avec des agents situés impose : a ∈A | location(a) = ∅.

— 74 —

Page 89: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

4.2 – UN MODÈLE HOMOGÈNE POUR LES SIMULATIONS MULTI-NIVEAUX (PADAWAN)

On appelle agent simplement situé tout agent a ∈ A situé dans un environnementunique. L’ensemble des agents simplement situés est noté S :

S def= {a ∈A | ∃e ∈ E , location(a) = {e}}

De même, on appelle agent multi-situé tout agent a ∈ A situé dans plusieursenvironnements simultanément.

Les agents simplement situés et les agents-muti-situés sont bien entendu caractérisésdynamiquement : il n’y a donc pas de typage préalable et un agent peut changer destatut au cours de la simulation.

Un agent multi-situé peut représenter des situations très diverses : par exemple, ilpeut s’agir d’un agent jouant un rôle de frontière entre deux environnements phy-siques (une porte), qui doit donc percevoir ou être perçu par les autres agents de cesenvironnements. On peut aussi s’en servir pour représenter l’appartenance socialed’un agent ou sa présence dans des espaces appartenant à des échelles différentes(par exemple une micropipette qui est à la fois à l’intérieur d’une cellule et dans lamain du biologiste).

Relation d’encapsulation

La seconde relation du modèle représente la capacité, pour a priori n’importe quelagent, d’encapsuler un environnement (dans lequel vont pouvoir se situer d’autresagents). Comme nous l’avons dit, il est conceptuellement important de maintenir ladistinction entre agent (entité) et environnement (espace), ne serait-ce que parce queles relations métriques ou topologiques « à l’intérieur » d’un agent sont bien despropriétés de l’espace et non de l’agent lui-même ; mais jusqu’à un certain point onpeut considérer que ces agents « jouent le rôle » d’un environnement.

Définition VIII — Relation d’encapsulation.Un agent a ∈ A encapsule un environnement e ∈ E , noté : a ∼ e, lorsque a« contient » e. Un agent ne peut encapsuler qu’un seul environnement à la fois, etun environnement n’être encapsulé que par un seul agent.

Par construction, on pose qu’il existe un environnement unique e0 non encapsulépar un agent (e0 correspond à « l’Environnement » unique d’un SMA classique). Cetenvironnement est appelé « environnement racine » (ou « environnement zéro ») de

la simulation. On note E? def= E \ {e0} l’ensemble des environnements encapsulés par

des agents.On appelle agent régulier tout agent n’encapsulant pas d’environnement, et agent-

compartiment tout agent encapsulant un environnement. L’ensemble des agents-

compartiments est noté C : C def= {a ∈ A | ∃e ∈ E?, a ∼ e} L’ensemble des agents

réguliers est noté R : R def= A \ C

— 75 —

Page 90: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 4 — LA SIMULATION MULTI-NIVEAUX

Par ailleurs on définit respectivement l’hôte de e comme l’unique agent qui encap-sule e, et l’espace de a comme l’unique environnement encapsulé par a :

∀e ∈ E?, host(e) def= ! a ∈ C | a ∼ e et ∀a ∈ C , space(a) def

= ! e ∈ E? | a ∼ e

Utilisation conjointe des deux relations

En combinant la situation dans un environnement et l’encapsulation d’un envi-ronnement par un agent, on peut définir de nouveaux concepts et les bases d’unearchitecture multi-niveaux.

En particulier, on peut caractériser la structure de la simulation au moyen de nou-velles relations : l’inclusion et l’hébergement.

Définition IX — Inclusion d’environnements.Un environnement e1 est inclus dans un environnement e2 (noté e1 ⊂ e2) si et seule-ment si :

∃a ∈ C | a ∼ e1 ∧ a ^ e2

Définition X — Hébergement d’agents.Un agent a1 est hébergé par un agent a2 (noté a1 < a2) si et seulement si :

∃e ∈ E? | a1 ^ e ∧ a2 ∼ e

Ces deux relations permettent de construire le graphe d’inclusion (ou graphe d’en-vironnements) d’une simulation, graphe orienté défini par l’ensemble des relationsd’inclusion (⊂) entre environnements. Ce graphe est dynamique puisqu’il représenteles relations effectives de situation et d’encapsulation à chaque instant dans la simu-lation. De même, le graphe d’hébergement (ou graphe d’agents) d’une simulation estle graphe orienté défini par l’ensemble des relations d’hébergement (<) entre agents.On peut également construire un graphe mixte en identifiant les environnements en-capsulés à leur compartiment (cf. fig. 4.1 ci-dessous, ainsi que 4.4 dans la section 4.3).Exemple. — Soient les environnements e1 et e2, les agents {ai}i=1...6 tels que :a1 ∼ e1, a2 ∼ e2, location(a1) = location(a2) = {e0}, location(a3) = {e1}, location(a4) ={e1, e2}, location(a5) = {e2}, location(a6) = {e0}. La figure 4.1 présente les graphesd’inclusion (4.1a) et d’hébergement (4.1b), ainsi que le graphe mixte (4.1c) corres-pondant à cette situation. En pratique, les agents qui peuvent interagir sont : a1, a2 eta6 (dans e0), a3 et a4 (dans e1), a4 et a5 (dans e2).

Par extension, on note e1 ⊆ e2 (inclusion transitive) si et seulement si : e1 = e2 ou e1 ⊂e2 ou ∃e ∈ E | e1 ⊆ e ∧ e ⊆ e2 (i.e. s’il existe un chemin entre e1 et e2 dans legraphe d’inclusion) ; de même a1 v a2 (hébergement transitif) si et seulement si :a1 = a2 ou a1 < a2 ou ∃a ∈A | a1 v a ∧ av a2.

— 76 —

Page 91: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

4.2 – UN MODÈLE HOMOGÈNE POUR LES SIMULATIONS MULTI-NIVEAUX (PADAWAN)

e0

e1 e2

a1

a3 a4

a2

a5

a6

e0

e1

a3 a4

e2

a5

a6

a1 a2

(a) (b) (c)

Figure 4.1 – (a) Graphes d’inclusion (resp. (b) d’hébergement, et (c) mixte) correspondantà l’exemple décrit dans le texte (p. 76). Par convention les agents sont représentés par descercles, les environnements par des carrés. La superposition cercle/carré (c) correspond àl’encapsulation d’un environnement par un agent (∼). Les arcs représentent respectivementla relation ⊂ (a), la relation < (b), et la relation ^ (c).

Pour éviter des situations paradoxales (comme deux agents qui s’hébergent mu-tuellement), on impose dans toute la suite qu’à tout moment le graphe d’inclusion dela simulation ne comporte pas de cycles. Cela revient à dire que la relation ⊆ est une re-lation d’ordre (le graphe d’inclusion est alors un demi-treillis de borne supérieure e0).

Dès lors, la notion quelque peu qualitative de niveau d’un environnement (ou ducompartiment associé) peut alors être définie formellement comme la distance minimaleà e0, ce qui permet de caractériser une partie de l’organisation d’un système et de sessous-systèmes. On voit par là que dans PADAWAN, le concept de niveau n’est paspremier : c’est l’environnement qui prime, le niveau n’en est qu’une propriété.

Comme nous allons le voir, l’encapsulation d’un environnement quelconque (c’est-à-dire un espace) dans un agent doté de ses propres comportements, permet unegrande variété d’usages, dans la mesure où chaque environnement peut modéliseraussi bien un espace physique qu’un réseau d’accointances ou toute forme d’organi-sation. On peut aussi bien les utiliser pour représenter des points de vue différentssur le système, que pour rendre compte d’un « emboîtement » de structures et desous-structures, où « zoomer » d’un système à ses composants revient à passer d’unagent compartiment vu de façon atomique aux agents qu’il héberge.

À l’aide des relations ainsi construites, il est possible non seulement de définir lastructure initiale d’une simulation et son évolution, mais également de donner auxagents les briques comportementales (primitives) nécessaires pour manipuler cettestructure de façon cohérente. Nous allons maintenant détailler ce point.

4.2.2 Dépendance des comportements au contexte : force de IODA

La séparation que l’approche IODA introduit entre entités (agents) et comporte-ments (interactions) est particulièrement utile lorsque l’on veut pouvoir spécifier descomportements différents selon le niveau où agit un agent. En effet, il suffit essentiel-lement d’associer une matrice d’interaction Mi à chaque environnement ei. À ce principegénéral s’ajoutent plusieurs mécanismes que nous expliquons ci-dessous.

— 77 —

Page 92: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 4 — LA SIMULATION MULTI-NIVEAUX

Notion de face d’un agent

Dans le cas général d’un agent a tel que location(a) = {e1, ..., en}, nous procédonsen une décomposition de l’agent a en une partie « centrale » non située, et en unensemble de parties « périphériques » situées dans chaque environnement ei. Nousappelons « noyau de a » la partie non située (notée a|•) et « face de a dans ei »(notée a|ei

) la partie de a située dans ei (soit en fait a vu comme agent du seul envi-ronnement ei). À a|ei

sont associées des propriétés spécifiques à sa situation, commeune position dans ei ainsi qu’un halo de perception qui permet de calculer les voisinsde a dans ei, i.e. les agents de ei avec lesquels a peut tenter d’interagir selon la ma-trice d’interaction Mi de ei. Enfin, pour agir en tant qu’hôte vis-à-vis des agents qu’ilhéberge, un agent compartiment doit également disposer d’une face située dans l’en-vironnement qu’il encapsule — avec cette caractéristique particulière que sa distanceà n’importe lequel des agents hébergés est nulle (il les perçoit tous et est à portéed’action de tous). Cette « face-hôte » (hostface) est notée a|2.

Ainsi, on peut voir un agent issu du modèle multi-niveaux comme la superpositiond’un agent « désincarné » qui ne perçoit ni n’agit (il se limite à un ensemble d’état et àdes fonctions de calcul, de décision) et d’un ou plusieurs organes sensori-moteurs plusou moins élaborés qui chacun, pris individuellement dans l’environnement où ils sontsitués, peuvent être traités tout à fait comme des agents d’une simulation ordinaire. Lepseudo-agent a|ei

(ou a|2) est simplement soumis au principe de sélection d’interactionclassique de IODA relativement à l’environnement ei et à la matrice d’interaction Mi,la seule différence avec une approche « plate » (dans un environnement unique) étantque les primitives exécutées par a|ei

ont accès si nécessaire à l’état et aux fonctions dupseudo-agent noyau a|•.

Spécificité des matrices d’interaction liée à l’encapsulation

Par rapport à l’approche IODA « classique », il faut également pouvoir exprimerdes interactions « verticales », i.e. entre les agents compartiments et ceux qu’ils hé-bergent. Pour cela, il suffit d’ajouter une ligne et une colonne dans chaque matriced’interaction.

Interactions hébergeur-hébergé. En général, un agent compartiment doit pouvoir in-teragir avec les agents qu’il héberge. Pour réaliser cela, il suffit d’ajouter dans lamatrice d’interaction une ligne générique « hôte » : elle sert à spécifier quellesinteractions le compartiment peut effectuer avec l’environnement qu’il encap-sule et avec les agents qu’il héberge (voir l’exemple §4.3).

Interaction hébergé-hébergeur. Réciproquement, un agent doit aussi pouvoir inter-agir avec l’agent compartiment qui l’héberge, ne serait-ce que pour pouvoir ensortir. Il suffit ici d’ajouter à la matrice d’interaction une colonne générique« hôte » qui spécifie quelles interactions le compartiment peut subir de la partdes agents qu’il héberge.

Grâce à ces deux extensions, l’uniformité de IODA est respectée car seule la matriced’interaction est modifiée, sans aucun changement dans les algorithmes de sélectiond’interaction, comme nous allons l’expliquer ci-dessous.

— 78 —

Page 93: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

4.2 – UN MODÈLE HOMOGÈNE POUR LES SIMULATIONS MULTI-NIVEAUX (PADAWAN)

Gestion des échelles de temps et ordonnancement de la simulation

La simulation multi-niveaux demande de gérer non seulement diverses échellesspatiales, mais aussi des échelles de temps différentes. Dans la plupart des plate-formes qui offrent cette possibilité, deux méthodes sont principalement utilisées. Lapremière s’appuie sur le formalisme à événements discrets DEVS [219], déjà men-tionné à propos du moteur IODA (§2.2.3). La seconde consiste à doter les macro-agents (ceux qui « contiennent » les autres) de leur propre ordonnanceur (SWARM,GAMA).

Notre approche en la matière ne vise pas à proposer une solution universelle, maisil nous semble plus élégant et cohérent de considérer que le temps est une propriétéliée à l’espace donc à l’environnement, et non aux directement aux agents. Notre proposici est seulement de montrer comment doter les environnements de caractéristiquestemporelles propres et quelles en sont les conséquences pour l’ordonnanceur, aussiavons-nous choisi de conserver des simulations à temps discret à approche séquen-tielle, avec un pas de temps δt. Néanmoins, notre approche est compatible avec desmodèles plus sophistiqués, comme le modèle à temporalité de Payet et al. [172].

Dans ce cadre, chaque environnement est associé à sa propre échelle de temps, aumoyen de la fonction suivante :

χ : E → N∗ ×N

e 7→ (N, ϕ)

où N et ϕ représentent la période et la phase attachées à l’environnement e.La période permet d’indiquer qu’il « se passe quelque chose » dans e tous les Nδt ; la

phase, que e est « décalé » par rapport au début de la simulation d’un temps ϕδt. Rienn’empêche que cette assignation change au cours de la simulation (par exemple pourtenir compte des variations d’activité d’une cellule en fonction de la température) :dans ce cas χ est alors aussi fonction de t.

On peut alors dire qu’un environnement e est activé au temps t lorsque : t ≡ϕ(mod N). On désigne par Eact(t) l’ensemble des environnements activés au temps t.

Les agents susceptibles d’agir au temps t (i.e. agents actifs susceptibles d’effectuerune interaction, ou labiles susceptibles de changer d’état, cf. §2.2.1) sont donc ceuxsitués dans les environnements activés au temps t. En pratique, comme chaque agentagit selon la matrice d’interaction de l’environnement où il se trouve, il faut recenserles faces situées dans des environnements activés, soit les couples (a, e) ∈A×E activésà l’instant t : on les désigne par Aact(t).

Aact(t)def=

⋃e∈Eact(t)

⋃a∈content(e)

{(a, e)}

L’algorithme que nous utilisons pour l’ordonnancement des agents est une version

simplifiée de l’ordonnancement conservatif de HLA [114], dans la mesure où chaqueenvironnement peut être vu comme une simulation basée sur des pas de temps ; il estévidemment capital de prévoir un ordonnancement paramétrable des interactions.

Pour la sélection d’interaction au temps t, les couples de Aact(t) sont donc soumispréalablement à une politique d’ordonnancement (par défaut : mélange aléatoire)

— 79 —

Page 94: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 4 — LA SIMULATION MULTI-NIVEAUX

qui va déterminer l’ordre dans lequel les faces correspondantes évaluent et choisissentles interactions à réaliser. On peut envisager diverses politiques d’ordonnancement,comme un tri portant sur les agents, ou sur les environnements, ou sur les deux. Entreautres, on peut mentionner un tri portant sur les environnements selon leur niveau(tri ascendant ou descendant) : ainsi, faire agir les niveaux les plus élevés en pre-mier pourrait donner une approche « émergentiste » ; ou encore, un tri portant sur lesenvironnements selon leur période (tri ascendant ou descendant). Selon toute vrai-semblance choisir une politique d’ordonnancement pertinente dépend du domained’application.

Une fois établi l’ordre de Aact(t), il reste à opérer une sélection d’interaction clas-sique (à la IODA) sur les faces correspondantes, i.e. pour chaque couple (a, e) la facea|e est susceptible d’interagir comme source au plus une fois. Quant au noyau a|•, iln’effectue ni ne subit par lui-même aucune interaction : seule l’activité de ses faces,via leurs primitives, est susceptible de l’affecter.

Ajout de primitives spécifiques

L’introduction des relations de situation et d’encapsulation dans l’approche orientéeinteractions va de pair avec l’ajout de primitives minimales et génériques permettantaux agents de construire des interactions relatives à la manipulation de ce systèmemulti-niveaux. Nous allons en donner quelques exemples, en montrant que leur sé-mantique peut être définie de façon univoque à partir des notions définies plus haut.Bien évidemment des primitives supplémentaires peuvent être développées selon lesbesoins particuliers de chaque domaine d’application.

Primitives de test. En premier lieu, les agents disposent de fonctions booléennes per-mettant de les caractériser : agent régulier vs. compartiment, agent simplementsitué vs. multi-situé, etc. Un agent peut également tester s’il est hébergé par unautre agent. Cela ne présente guère de difficulté.

Primitives d’action. Définir la sémantique des actions réalisables demande un peude rigueur, notamment parce qu’il faut s’assurer que la définition vaut aussibien pour le cas des agents multi-situés ou des agents compartiments que pourcelui des agents simplement situés ou des agents réguliers. De plus, les primi-tives doivent garantir à tout moment qu’aucun cycle n’apparaît dans le graphed’inclusion.

Ainsi, par exemple, la primitive « entrer dans un compartiment » enter(a,c) n’ade sens que si a et c sont situés dans au moins un environnement commun et quec 6v a : dès lors, il faut modifier le lieu de a en remplaçant tous ses environnementscommuns avec c par l’environnement encapsulé par c : location(a)← (location(a) \location(c)) ∪ {space(c)}

Dans certains cas, la primitive peut être paramétrée par la donnée d’une fonction.Par exemple, la division d’un compartiment c suppose de définir une politique dedéplacement π pour savoir lesquels des agents qui étaient hébergés par ce comparti-ment doivent en changer et se placer dans le nouveau. Pour exécuter divide(c), ondoit donc créer un compartiment c′ situé lui-même dans location(c) puis définir lapolitique : π : content(space(c))→{⊥,>}. Dès lors, pour tout agent a < c pour lequel

— 80 —

Page 95: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

4.2 – UN MODÈLE HOMOGÈNE POUR LES SIMULATIONS MULTI-NIVEAUX (PADAWAN)

Figure 4.2 – Diagramme des classes montrant l’implémentation effective de PADAWANau sein de la plateforme JEDI. Le modèle conceptuel manipule un agent « monolithique »(PADAWAN_Agent) qui est automatiquement décomposé dans la plateforme en un noyau nonsitué et une collection d’agents faces (PADAWAN_Face) situés chacun dans un environnementunique, bénéficiant ainsi du même fonctionnement que des agents JEDI classiques.

π(a) =>, il faut remplacer dans location(a), space(c) par space(c′). La politique pardéfaut est une répartition aléatoire des agents hébergés.

Nous avons de même défini des primitives permettant de détruire (récursivement)un environnement ou un agent, de créer un agent dans des environnements spécifiés,d’entrer et de sortir d’un compartiment, de fusionner des compartiments, de dis-soudre un compartiment (en situant les agents qu’il héberge dans les environnementsoù il était lui-même situé), de transformer un agent régulier en compartiment et vice-versa, de changer d’environnement en « traversant » un agent multisitué (porte), etc.

4.2.3 Implémentation au sein du moteur JEDI

En pratique, pour implémenter PADAWAN dans la plateforme « de référence »JEDI, nous avons réifié le concept de face des agents comme indiqué sur la figure 4.2.L’entité qui apparaît comme un « individu » (utilisée pour l’analyse et manipuléepar l’utilisateur) dérive de la classe PADAWAN_Agent, mais toute mise en situation d’unagent dans un environnement crée en fait une face (PADAWAN_Face) qui se comportecomme un agent JEDI ordinaire dans son environnement unique.

L’ordonnanceur de JEDI a également été modifié pour calculer, à chaque pas detemps, les faces situées dans des environnements activables, puis leur appliquer unepolitique d’ordonnancement, et enfin leur faire réaliser la sélection d’interaction rela-tivement à la matrice de leur environnement. Le choix de la politique d’ordonnance-ment (cf. § 4.2.2) est un paramètre du moteur JEDI (par défaut, ordre aléatoire).

Au cours d’un pas de temps, chaque face (en tant qu’agent JEDI « classique »)peut interagir au plus une fois comme source (au cours du tour de parole), et po-tentiellement plusieurs fois comme cible (i.e. choisi par d’autres agents sources). Unagent PADAWAN possédant des faces dans deux environnements activés est donc

— 81 —

Page 96: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 4 — LA SIMULATION MULTI-NIVEAUX

Figure 4.3 – Principe de la pompe Na+/K+ : la pompe est une protéine membranaire. Quandelle est ouverte vers l’intérieur de la cellule, elle peut capter 3 ions sodium Na+. Une moléculed’ATP peut alors phosphoryler la pompe : sa conformation spatiale change et elle libère lesions sodium hors de la cellule. Dès lors, elle peut capter 2 ions potassium K+, ce qui provoquesa déphosphorylation : elle reprend sa première conformation et libère les ions potassium àl’intérieur de la cellule. (Source de l’image : Wikimedia Commons)

susceptible d’être source de deux interactions (une dans chaque environnement). Ilincombe donc aux interactions (i.e. au concepteur de la simulation) d’assurer le caséchéant la cohérence des actions effectuées par l’agent, via ses faces, dans les environ-nements où il se situe. Si par exemple une face exécute une primitive « grossir » etune autre « maigrir », cela veut dire que deux interactions, comportant chacune l’unede ces primitives, étaient réalisables simultanément : selon l’implémentation donnéeaux primitives, cela peut être une erreur de conception, mais aussi la fusion de forcesantagonistes issues d’environnements différents, ou encore des transformations quin’affectent que les faces et pas le noyau de l’agent (apparence de l’agent dans chaqueenvironnement par exemple).

4.3 Un exemple de modèle PADAWAN

Nous allons maintenant illustrer cette approche au moyen d’un court exemple quivise surtour à expliquer comment les concepts décrits ci-dessus sont utilisés de fa-çon concrète. Un autre exemple est donné dans [26]. Ici, nous modélisons la pompesodium-potassium (qui régule le potentiel de repos des cellules vivantes), dont lefonctionnement Scheiner-Bobis [192] est décrit sur la figure 4.3. La modélisationcommence par l’identification des familles d’agents nécessaires, de leur capacité àhéberger ou non d’autres agents (autrement dit, à être des compartiments), et conduitau graphe mixte de la figure 4.4. Le modèle des comportements fait appel à troismatrices d’interactions (cf. tab. 4.1) qui suffisent à décrire de façon simple le com-portement des agents impliqués en fonction de l’environnement dans lequel ils setrouvent (à l’intérieur de la cellule, à l’intérieur de la pompe ou à l’extérieur de lacellule). La pompe elle-même est un agent compartiment multi-situé qui appartient àla fois à l’intérieur et à l’extérieur de la cellule.

À l’intérieur de la cellule, les agents peuvent se déplacer aléatoirement (Errer) ; lesions sodium peuvent entrer dans la pompe (Entrer possède évidemment des conditionsqui vérifient la conformation de la pompe). La molécule d’ATP a la capacité d’induire

— 82 —

Page 97: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

4.3 – UN EXEMPLE DE MODÈLE PADAWAN

cellule

e0 (espace extra-cellulaire)

pompe

ATP

Na+ K+

K+

Na+

Na+ K+

Figure 4.4 – Graphe mixte (environnements et agents) correspondant à la modélisationmulti-niveaux de la pompe sodium-potassium. Par souci de simplification, un seul agent dechaque famille a été représenté dans chaque environnement (en pratique bien sûr il peut yavoir plusieurs ions sodium dans la cellule, dans la pompe ou à l’extérieur, ou même plusieurscellules chacune dotée de plusieurs pompes, etc.)

Intérieur de la cellulePPPPPPPPPSources

Cibles ∅ Pompe

Na+ Errer (0) Entrer (1 ; 1)

K+ Errer (0)

ATP Errer (0) Phosphoryler (1 ; 1)

Extérieur de la cellulePPPPPPPPPSources

Cibles ∅ Pompe

Na+ Errer (0)

K+ Errer (0) Entrer (1 ; 1)

Intérieur de la pompePPPPPPPPPSources

Cibles ∅ hôte Na+ K+

hôte Déphosphoryler (1) Libérer (0 ; 0) Libérer (0 ; 0)

Na+Errer (0) Sortir (1 ; 0)

SeLier (1 ; 0)

K+ Errer (0) Sortir (1 ; 0)

SeLier (1 ; 0)

Table 4.1 – Les trois matrices d’interaction utilisées dans la simulation de la pompe so-dium/potassium.

— 83 —

Page 98: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 4 — LA SIMULATION MULTI-NIVEAUX

la phosphorylation de la pompe (qui change de conformation). À l’extérieur de lacellule, les agents peuvent se déplacer, et les ions potassium peuvent entrer dans lapompe. À l’intérieur de la pompe, les ions peuvent se déplacer ; ils peuvent égale-ment effectuer deux interactions avec leur hôte (si les conditions de ces interactionssont remplies, i.e. selon l’état de la pompe) : Sortir (si les ions sont libres) et SeLier surun des sites disponibles (déterminés par l’état de la pompe). Enfin, la pompe elle-même, en tant qu’hôte, peut effectuer des interactions : se Déphosphoryler quand deuxions potassium sont fixés, et Libérer des ions selon sa conformation.

L’intérêt de cette décomposition en trois environnements est ici de simplifier consi-dérablement la conception des comportements et de les décrire sous une forme mo-dulaire : un modèle complexe, tel que la représentation de processus biochimiques,peut alors être construit par composition d’environnements et d’agents dont on sait,localement, spécifier les matrices d’interaction.

Cet exemple a été implémenté et testé dans JEDI. La configuration d’une expérienceest un peu plus compliquée que pour une simulation « plate », car il faut définir l’étatinitial des relations d’encapsulation et de situation, d’où l’usage d’un fichier XMLapproprié.

4.4 Transposition à la résolution de contraintes pour lagénéralisation cartographique

Bien que PADAWAN ait été conçu à des fins de simulation, le contexte multi-niveauxoù il se place, et le caractère très générique des relations introduites entre agents etenvironnements, permettent d’envisager de transposer ce formalisme à d’autres do-maines d’utilisation des SMA. En l’occurrence, la présentation du modèle aux JFSMAen 2010 a donné lieu à la découverte de problématiques convergentes avec nos col-lègues Cécile Duchêne et Guillaume Touya du COGIT, à l’IGN [102].

La généralisation cartographique

L’utilisation de SMA en cartographie vise à automatiser un processus complexe etcoûteux : la généralisation cartographique, qui consiste essentiellement, lors d’unediminution d’échelle (autrement dit lorsque l’on souhaite représenter une zone pluslarge sur la même surface), à réduire le niveau de détail dans les données géo-graphiques d’une carte pour la rendre intelligible [60]. Pour cela, les cartographesdoivent vérifier des contraintes portant sur les symboles cartographiques, et appliquerle cas échéant des actions correctives. Les routes, par exemple, doivent respecter unelargeur minimale pour être visibles, sans rapport d’échelle avec leur largeur réelle.Il faut également assurer un espacement minimal entre objets pour pouvoir les sé-parer visuellement sans effort. De même, certaines informations pertinentes doiventêtre accentuées visuellement pour rester compréhensibles, quitte à supprimer certainsdétails, changer la forme et l’orientation des objets, en agréger, etc.

Les recherches menées au COGIT visent notamment à automatiser autant que pos-sible ces opérations. Deux approches principales y ont été développées, mettant enœuvre un processus de résolution de contraintes :

— 84 —

Page 99: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

4.4 – TRANSPOSITION À LA GÉNÉRALISATION CARTOGRAPHIQUE

— le modèle AGENT [139, 188], dans lequel les objets géographiques sont structu-rés de façon arborescente (par exemple des bâtiments contenus dans des îlots,eux-mêmes contenus dans des villes) : il permet à des entités représentant desgroupes organisés d’objets cartographiques, appelés agents « méso », de gérerla résolution des conflits entre agents « micro » (par exemple les îlots peuventéliminer ou déplacer certains de leurs bâtiments, et les villes transformer leursîlots en un bloc compact) ;

— le modèle CartACom [100, 101], dans lequel les objets géographiques inter-agissent au même niveau avec leurs voisins pour résoudre des contraintes lo-cales (espacement, alignement, etc.).

Ces modèles, en l’état actuel, ne sont pas utilisables simultanément. Une méta-heuristique, CollaGen [208], permet de les appliquer alternativement pour optimiserla satisfaction des diverses contraintes en fonction du contexte.

Introduction d’une représentation multi-niveaux

En donnant aux objets cartographiques un cadre multi-niveaux approprié, on peutespérer la possibilité d’uniformiser au moins ces deux approches de résolution, encombinant des interactions verticales et horizontales, mais également de permettredes interactions « diagonales » (par exemple entre un bâtiment et un îlot adjacentdont il ne fait pas partie). De plus, l’utilisation du cadre conceptuel défini dans PA-DAWAN permet de traiter de façon uniforme des groupes correspondant à des « em-boîtements » reflétant des contraintes et des situations très diverses : par exemple, unensemble d’agents peut en utiliser un autre comme support spatial (des stations debus le long d’une route), ou être dans les uns par rapport aux autres dans une relationde composition (groupes de bâtiments formant une structure particulière et pouvantêtre réifiée par un agent méso approprié) [7]. Enfin, la réification explicite des envi-ronnements manipulés (actuellement indissociables de la géométrie des agents carto-graphiques) et de leurs relations avec les agents, ainsi que le principe de séparationentre déclaratif et procédural, prôné par IODA, doivent apporter un gain en généri-cité en permettant de décrire les contraintes et les actions qui peuvent les satisfaireindépendamment de leur résolution.

Nous avons donc entamé une collaboration sur ce sujet à travers un premier stagerelativement exploratoire (Ala Atrash, 2011) qui visait à établir comment transpo-ser logiciellement les relations de situation et d’encapsulation de PADAWAN dansl’architecture utilisée au COGIT. Ce stage a été suivi d’un deuxième, celui d’AdrienMaudet (2012), et poursuivi en thèse sous la direction de Cécile Duchêne, co-encadrépar Guillaume Touya et moi-même.

L’objectif de cette thèse est de transposer le volet « comportemental » de PADAWANdans le contexte de la généralisation cartographique. En particulier, l’objectif est depouvoir représenter la structure d’une carte au moyen d’un graphe mixte (agents etenvironnements) et les comportements possibles sous forme de matrices d’interactionassociées aux environnements. Cela nécessite d’assez grandes transformations.

— D’une part, la représentation des connaissances diffère notablement : les interac-tions à la IODA sont des règles conditions/actions, dont la téléonomie s’exprimedans les déclencheurs, tandis qu’un modèle à base de contraintes a nécessaire-ment une structure téléologique (son objectif est de satisfaire les contraintes et

— 85 —

Page 100: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 4 — LA SIMULATION MULTI-NIVEAUX

Figure 4.5 – Graphe mixte représentant les agents cartographiques et leurs environnements,détectés automatiquement pour une impasse (dead-end). L’impasse est placée dans un îlot(block) et héberge des bâtiments et une route. Cette route est elle-même en intersection avec laroute principale qui borde l’îlot (emprunté à Maudet et al. [7]).

il choisit des actions pour ce faire). Un travail de transposition de la notiond’interaction à la notion de contrainte a donc dû être mené.

— D’autre part, le moteur a dû être modifié substantiellement pour guider le choixdes « interactions » à réaliser en fonction des avis émis par les contraintes et deleur degré d’insatisfaction.

À ce stage, ces modifications ont été implémentées dans la plateforme CartAGendu COGIT, et expérimentées avec succès dans le cadre d’un problème bien délimité,celui de la généralisation des impasses [7]. Une impasse, définie comme une zoned’habitation desservie par une route en cul-de-sac, peut en effet être vue comme unagent hébergé par un îlot, hébergeant des bâtiments et la route en cul-de-sac (fig. 4.5).De plus il faut tenir compte des routes voisines : ainsi, si plusieurs voies formantimpasse se succèdent le long d’une route principale, l’espace situé entre les routes encul-de-sac peut s’avérer trop petit pour représenter lisiblement tous les bâtiments dechacune des impasses, ce qui peut conduire à la suppression de l’une d’entre elles.

Bilan et perspectives

Les avantages de cette collaboration sont réciproques car la confrontation de nosméthodes de simulation aux problèmes fortement « situés » de la cartographie ontsuggéré un certain nombre d’enrichissements pour PADAWAN. Ainsi, par exemple,le pattern d’agent frontière (stage d’Ala Atrash) correspond au cas d’un agent multi-situé, mais dont la suppression provoque systématiquement la fusion des environ-nements où il était situé. Ou encore, il se dessine également (thèse d’Adrien Mau-det) un pattern agent méso, transposition dans PADAWAN du concept d’agent mésod’AGENT, qui correspond à un compartiment muni d’un certain nombre d’interac-tions destinées à gérer la résolution des contraintes des agents qu’il héberge.

Par ailleurs, nous avions dans IODA délibérément focalisé nos recherches sur unmoteur de sélection d’interaction « réactif », c’est-à-dire guidé essentiellement par lastructure téléonomique des interactions (déclencheurs et niveau de priorité). Nousavons, dans le contexte de la résolution de contraintes, l’opportunité d’étendre notreapproche à une vision plus « cognitive », en mettant en œuvre des inférences ou dela planification par exemple. Nous évoquerons dans le chap. 6 quelques pistes sur le

— 86 —

Page 101: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

4.4 – TRANSPOSITION À LA GÉNÉRALISATION CARTOGRAPHIQUE

rapprochement entre les domaines de la simulation et de la résolution distribuée deproblèmes.

Enfin, l’application de PADAWAN au contexte cartographique permet égalementde progresser en direction de la réification de structures émergentes. En effet, siune partie de la structuration des agents et des environnements est donnée initia-lement par la décomposition « hiérarchique » de la carte (celle utilisée dans le modèleAGENT) avec une identification claire par exemple des îlots, certains groupes d’objetsnécessitant un traitement global, donc formant un « niveau », sont détectés dyna-miquement : c’est la cas par exemple des impasses composées de bâtiments autourd’une route ; les relations de situation et d’encapsulation sont donc créées en fonctiondes besoins identifiés par le système. Plus généralement, certains types d’agents mésopeuvent faire l’objet d’une détection automatique [188, chap. C]. On peut donc envi-sager, à terme, une transposition de ces mécanismes en retour vers les techniques desimulation.

h a g

— 87 —

Page 102: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 4 — LA SIMULATION MULTI-NIVEAUX

— 88 —

Page 103: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Chapitre 5

Informer les simulations par lesdonnées

Sans généralisation, la prévision est impossible. Lescirconstances où l’on a opéré ne se reproduiront jamaistoutes à la fois. Le fait observé ne recommencera doncjamais ; la seule chose que l’on puisse affirmer, c’est quedans des circonstances analogues, un fait analogue seproduira. Pour prévoir, il faut donc au moins invoquerl’analogie, c’est-à-dire généraliser.

Poincaré [175, p. 169]

Dans ce que nous avons présenté jusqu’à présent, nous avons vu des thématiciensintervenir dans la construction des modèles pour y apporter l’expertise de leur do-maine tant dans la définition des entités et des comportements que de leurs para-mètres. Cette situation est largement représentative de la pratique de la simulationmulti-agents. Toutefois, cette expertise humaine est comme toujours coûteuse à acqué-rir (au moins en temps), difficile à expliciter, parfois plus qualitative que quantitative,souvent entachée d’une grande part d’incertitude.

Or, les nouveaux domaines d’application des simulations multi-agents sont, nousl’avons dit, pourvoyeurs d’énormes volumes de données. Il devient donc peu à peudangereux, pour la simulation, de prétendre construire des modèles sur la seule based’une expertise humaine et de n’utiliser ces données qu’a posteriori pour valider leshypothèses initiales. Il semble plus judicieux d’élaborer des méthodes capables d’ex-traire des données les informations pertinentes pour la calibration et le paramétraged’un modèle multi-agents relativement qualitatif, préalablement validé par les ex-perts. Ces techniques doivent être adaptées à la fois à la nature de nos modèles et auxobjectifs des simulations, de façon à reproduire les caractéristiques statistiques desentités modélisées et de leurs comportements, tout en conservant leur diversité, quiest le propre de l’approche multi-agents. On constate de fait que l’identification de

— 89 —

Page 104: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 5 — INFORMER LES SIMULATIONS PAR LES DONNÉES

populations d’agents par des moyens statistiques devient une problématique saillanteces dernières années, que ce soit pour initialiser des simulations au moyen de para-mètres appris, afin d’exprimer une diversité comportementale [137], ou pour détecterdynamiquement des groupes émergents [77].

Le problème auquel nous nous sommes attaqués dans ces travaux commencés toutrécemment (courant 2012) consiste à doter des agents de caractéristiques individuellesdifférenciées construites à partir de traces d’activité enregistrées, de telle sorte que lapopulation d’agents produise en simulation des traces similaires à celles des données.Nous avons pour cela fait un certain nombre d’hypothèses à la fois sur la forme de cestraces et sur les comportements qui en sont à l’origine, ce qui restreint le champ destechniques applicables mais permet d’aborder des domaines variés comme l’analysede paniers d’achats, la génomique fonctionnelle ou l’étude des réseaux sociaux. Jevais d’abord expliquer la technique générale d’extraction de données que nous avonsconstruite pour ce cadre, puis présenter l’exemple applicatif où elle a été testée, enl’occurrence la reconstruction de listes de courses à partir de tickets de caisse declients dans un supermarché. De plus amples détails pourront être trouvés dans lesarticles correspondants [6, 24].

5.1 L’identification statistique de caractéristiquesd’agents

5.1.1 Hypothèses et notations

La première de nos hypothèses est que certaines entités du système (réelles ousimulées) produisent des traces d’activité dont la forme est celle de transactions ausens de Agrawal et Srikant [55] : une transaction T est un ensemble d’articles (items),T = {I1, ..., In}. En règle générale les transactions sont de tailles différentes. Noussupposons également que de telles traces sont produites dans une certaine mesurepar des buts qui peuvent être exprimés comme une spécification partielle des transac-tions souhaitées, ce que nous appelons un prototype. Les agents du système, réelsou simulés, tentent de réaliser leurs objectifs (représentés sous forme de transactionsvaguement définies, imprécises ou incomplètes) dans le cadre d’un modèle compor-temental donné et au sein d’un environnement particulier, ce qui peut entraîner desdivergences entre les transactions effectivement réalisées par les agents et les proto-types visés.

La deuxième hypothèse est la possibilité d’identifier des groupes d’agents partageantun même prototype (c’est-à-dire les mêmes buts) au moyen d’une classification ap-propriée des traces d’activité ; ainsi, une analyse des transactions au sein de chacunde ces groupes doit permettre de reconstuire le prototype sous-jacent.

Notre dernière hypothèse est que chaque article d’une transaction est identifié aumoyen d’un tuple d’entiers strictement positifs. Ces entiers sont destinés à représenterdes propriétés décrivant les caractéristiques de l’article en question et dépendent dudomaine d’application. Si κ caractéristiques sont jugées pertinentes, nous notons unarticle sous la forme I = ( f1, ..., fκ), avec ∀i ∈ [1, κ], fi ∈ [1, λi]. L’ensemble des articlesreprésentables est donc I? = [1, λ1]× ...× [1, λκ].

— 90 —

Page 105: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

5.2 – ÉTAPES DU PROCESSUS DE RECHERCHE D’INFORMATION

5.1.2 Des transactions aux prototypes

À partir d’une large base de données D de transactions enregistrées, le processusde recherche d’information consiste à construire un petit ensemble de prototypesvisant à décrire chacun une « transaction cible idéale » et capable de caractériserdes groupes de transactions similaires. Pour ce faire, nous avons également défini leconcept d’article prototype : il s’agit également d’un tuple d’entiers, mais la valeur0 est autorisée pour marquer l’absence de spécification, l’indifférence vis-à-vis de lacaractéristique correspondante. De tels prototypes, construits à partir des donnéesréelles, peuvent aussi être utilisés comme transactions cibles pour des agents simulés,puisqu’en règle générale seuls quelques éléments des articles souhaités sont spécifiés.

Un prototype P est simplement un ensemble d’articles prototypes, soit P =

{ I1, ..., Im}, où les articles prototypes ( Ij) sont de la forme (s1, ..., sκ) avec ∀` ∈ [1, κ], s` ∈[0, λ`]. L’ensemble des prototypes représentables est donc I = [0, λ1]× ...× [0, λκ].

5.1.3 Travaux connexes

Notre démarche s’apparente à la classification multi-label [211], dans la mesure oùnous cherchons à identifier des groupes dont chacun est caractérisé par un prototypeconstitué de plusiers articles prototypes, lesquels pourraient être vus comme des éti-quettes. Cependant, l’espace des étiquettes à considérer serait alors immense, ce quirend de telles méthodes inapplicables.

D’autres méthodes viennent de l’analyse d’affinités, la plus répandue étant l’al-gorithme Apriori [55] destiné à identifier des règles d’association entre ensemblesd’articles (sous la forme X → Y avec X ∩ Y = ∅). À partir des co-occurrences d’ar-ticles dans les transactions, on peut ainsi construire des règles caractérisées par unsupport (proportion des transactions qui contiennent à la fois X et Y) et une confiance(probabilité conditionnelle de trouver dans une transaction les articles de Y lorsqueceux de X y sont déjà). Mais ces règles ne font que fournir une vue globale, statistiquede l’ensemble des transactions, sans identifier de sous-groupes, ce qui n’est pas trèsadapté pour l’amorçage d’une simulation multi-agents.

Nous montrons dans la prochaine section comment construire effectivement lesprototypes à partir des transactions.

5.2 Étapes du processus de recherche d’information

L’analyse des données enregistrées se décompose en deux étapes :

1. Les transactions de la base de données sont réparties en classes en fonction d’unemesure de distance entre transactions construite à cet effet, elle-même basée surla distance entre articles.

2. Au sein de chaque classe, tous les articles présents sont à leur tour classés pourconstruire les articles prototypes pertinents, après quoi les prototypes possibles(unions d’articles prototypes) sont évalués au regard de toutes les transactionsde la classe.

— 91 —

Page 106: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 5 — INFORMER LES SIMULATIONS PAR LES DONNÉES

Notation Description Domaineκ nombre de caractéristiques des articles N∗

λi (i ∈ [1, κ]) nombre de valeurs distinctes de la ie propriété N \ {0,1}fi / fi(I) ith caractéristique d’un article / de l’article I [1, λ]⊂N

I = ( f1, ..., fκ) article I? = [1, λ1]× ...× [1, λκ]T = {I1, ..., In} transaction T = ℘(I?)D = {T1, ...,TN} ensemble de transactions enregistrées ℘(T)

I = (s1, s2, ..., sκ) article prototype I = [0, λ1]× ...× [0, λκ]

P = { I1, ..., Im} prototype ℘(I)ς( f , f ′) / ς(s, s′) similarité entre valeurs de caractéristiques {0,1}σ(I, I′) / σ( I, I′) similarité entre articles / articles prototypes [0,1]⊂R

JBM(T ,T ′) similarité entre transactions selon « best-match Jaccard » [0,1]⊂R

∆BM = (di,j) matrice de distance entre toutes (N) les transactions [0,1]N2

Ci = {T i1 , ...,T i

ni} ie classe de transactions similaires ℘(D)

φi(I) fréquence de l’article I dans les transactions de la classe Ci [0,1]⊂R

ε, θ seuils utilisé pour les articles rares et fréquents [0,1]⊂R

Ri,Fi,Oi articles rares, fréquents et ordinaires de la classe Ci ℘(I?)(Di

j,k) matrice de distance entre articles ordinaires de la classe Ci [0,1]|Oi|2

P?i meilleur prototype pour la classe Ci ℘(I)

Table 5.1 – Résumé des notations utilisées pour l’analyse des transactions et la constructiondes prototypes.

Les notations introduites tout au long de la méthode sont résumées dans le ta-bleau 5.1.

5.2.1 Mesure de similarité des articles

Dans le cas général, les articles qui apparaissent sur des transactions sont différents,même s’ils peuvent présenter des ressemblances. Étant donné que, par hypothèse, lesarticles prototypes sont indifférents à certaines caractéristiques, il n’est pas étonnantque des agents disposant du même prototype produisent des traces légèrement diffé-rentes. Aussi, la distance entre transactions ne peut s’appuyer seulement sur l’égalitédes articles, sans quoi la classification risque d’être défectueuse. Nous avons doncchoisi de moduler la comparaison entre transactions en prenant en compte une dis-tance entre articles.

Une façon simple de procéder est de calculer une distance (ou inversement unindice de similarité) à la Hamming : si deux articles sont représentés par les tuplesI = ( f1, ..., fn) et I′ = ( f ′1, ..., f ′n), leur similarité est définie par :

σ(I, I′) =1n

n

∑i=1

ς( fi, f ′i ), avec ς( fi, f ′i ) = 1 si fi = f ′i ou fi. f ′i = 0, et ς( fi, f ′i ) = 0 sinon.

Cette définition s’applique aussi bien pour les articles concrets que pour les articlesprototypes. De plus, elle peut être remplacée au besoin par toute mesure de similaritéplus pertinente selon le domaine d’application.

5.2.2 Mesure de similarité des transactionsPour comparer les transactions, nous nous sommes appuyés sur un indice utilisé

couramment pour mesurer la similarité d’ensembles de tailles différentes : l’indice de

— 92 —

Page 107: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

5.2 – ÉTAPES DU PROCESSUS DE RECHERCHE D’INFORMATION

Jaccard [133]. Pour deux ensembles X et Y, il est défini comme suit :

J(X,Y) =|X ∩Y||X ∪Y| =

|X ∩Y||X|+ |Y| − |X ∩Y|

Il existe un grand nombre d’indices de similarité et de mesures de distance [81, 71].En pratique notre méthode est utilisable avec d’autres indices employés fréquemment,comme Ochiai [167], Kulczynski [135] et Sørensen-Dice [202, 91], qui peuvent êtreadaptés comme nous l’avons fait pour l’indice de Jaccard. Cette neutralité vis-à-visdes indices a été vérifiée empiriquement par la même procédure que celle que nousprésentons dans la section 5.2.5.

Comme nous l’avons mentionné, l’indice de Jaccard ne peut être utilisé tel quelcar il ne fait pas de différence entre des ensembles disjoints et des ensembles quicontiennent des éléments similaires mais néanmoins distincts. Nous avons doncconstruit une variante de cet indice, basée sur la distance entre articles. Elle consisteà calculer le score du meilleur appariement possible entre les articles des deux transac-tions à comparer. Cet indice, « best-match Jaccard » est noté JBM et calculé au moyende l’algorithme ci-dessous (algo. 1).

Algorithme 1 : Calcul de l’indice « best-match Jaccard »Entrées : T = {I1, ..., Ip},T ′ = {I′1, ..., I′q}

1 calculer la matrice d’appariement (σi,j) i.e. ∀i ∈ [1, p], j ∈ [1, q], σi,j← σ(Ii, I′j)2 pour k← 1 à min(p, q) faire3 µk←max(σi,j)

4 (i?, j?)← un des couples argmin{(i0,j0),σi0,j0=µk}

(∑i 6=i0 σi,j0 + ∑j 6=j0 σi0,j

)5 remplacer (σi,j) par la sous-matrice obtenue en supprimant la ligne i? et la

colonne j?

6 fin

7 µBM←∑min(p,q)k=1 µk

Résultat : JBM(T ,T ′)← µBMp+q−µBM

(µBM joue le même rôle que |X ∩Y| dansl’indice de Jaccard classique)

Exemple. — Si l’on prend deux transactions T ={(1, 1, 2), (3, 5, 8), (13, 21, 34)} etT ′={(1, 1, 2), (3, 6, 8), (12, 13, 14), (1, 1, 34)}. Comme on a T ∩ T ′ ={(1, 1, 2)} seule-ment, on aurait J(T ,T ′)≈ 0.17, tandis que l’on obtient JBM(T ,T ′) = 0.4, car plusieurs

σ(I, I′) (1, 1, 2) (3, 6, 8) (12, 13, 14) (1, 1, 34)(1, 1, 2) 1 0 0 0.6666667

(3, 5, 8) 0 0.6666667 0 0

(13, 21, 34) 0 0 0 0.3333333

Table 5.2 – Exemple de matrice d’appariement entre deux transactions, qui mesure la simi-larité entre tous leurs, utilisée pour calculer la valeur de JBM. Les valeurs des µk sont en gras.On a ici µBM = 2 d’où JBM = 2

3+4−2 = 0.4.

— 93 —

Page 108: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 5 — INFORMER LES SIMULATIONS PAR LES DONNÉES

articles de T et de T ′ sont assez proches comme on peut le voir sur la matrice d’ap-pariement correspondante (tab. 5.2).

5.2.3 Classification des transactions

L’indice best-match Jaccard permet de calculer une matrice de distance ∆BM = (di,j)entre toutes les transactions de la base : ∀i ∈ [1, N], j i, di,j = 1− JBM(Ti,Tj). Une foiscalculée, cette matrice peut être manipulée par des techniques de classification variées.Nous avons pour notre part appliqué un algorithme courant de classification hiérar-chique (en l’occurrence celui implémenté en R par la bibliothèque flashClust [140]).

Le dendrogramme obtenu doit alors être divisé en K classes notées Ci ={T i

1 , ...,T ini}(1 ≤ i ≤ K). La valeur pertinente de K n’est pas connue a priori : dans

nos premières expériences, nous avons estimé empiriquement la hauteur de coupela plus judicieuse à partir de jeux de données dont le nombre de prototypes étaitconnu [6, 24] ; depuis, grâce au stage de Guillaume Dauster (2013) nous avons amé-lioré cette technique en utilisant une évaluation intrinsèque de la qualité de la classi-fication, le critère de silhouette défini par Rousseeuw [185].

5.2.4 Reconstruction du prototype

Construire un prototype pour la classe Ci consiste à trouver un ensemble Pi detuples d’entiers (éventuellement nuls) qui obtient le meilleur score d’appariement (vial’indice best-match Jaccard) avec les ni transactions de la classe. Il est clair qu’un en-semble composé de tuples nuls (0,0, ..., 0) peut s’apparier à toutes les transactions,mais aussi à celles des autres classes, et de plus conduirait les agents des buts com-plètement aléatoires au lieu de ceux observés dans la classe. Le prototype doit doncêtre aussi spécifié que possible en ne généralisant (en n’utilisant de 0) que sur lescaractéristiques réellement neutres. Pour cela, nous procédons d’abord à une analysede fréquence des articles, en calculant :

∀I ∈⋃T ∈Ci

T , φi(I) =1ni

.|{T ∈ Ci, I ∈ T }|

Nous utilisons deux valeurs de seuil ε and θ pour répartir les articles qui appa-raissent dans les transactions de la classe Ci en trois sous-groupes : Ri = {I|φi(I)≤ ε}(les articles rares), Fi = {I|φi(I) > θ} (les articles fréquents) et Oi = {I|ε < φi(I) ≤ θ}(les articles ordinaires).

Nous faisons aussi l’hypothèse que les articles rares sont présents dans la transac-tion « par hasard », et par conséquent ils sont écartés du prototype à construire. Lechoix d’une valeur appropriée pour ε dépend évidemment du domaine d’application ;dans les expériences de validation décrites plus loin (§5.2.5), nois avons utilisé ε = 1

ni,

autrement dit les articles éliminés sont ceux qui n’apparaissent que dans une seuledes transactions de la classe. Inversement, les articles fréquents peuvent être considé-rés comme un but commun à tous les agents de la classe, donc sont conservés telsquels dans le prototype (même remarque pour θ).

Restent les articles ordinaires, qu’il faut à nouveau classifier afin de pouvoir déter-miner, pour des articles similaires, quelles sont les caractéristiques qui doivent avoir

— 94 —

Page 109: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

5.2 – ÉTAPES DU PROCESSUS DE RECHERCHE D’INFORMATION

une valeur particulière et quelles sont celles qui sont indifférentes. Nous calculonsdonc une matrice de distance entre articles :

(Dij,k) avec ∀Ij, Ik ∈Oi, Di

j,k = 1− σ(Ij, Ik)

que nous utilisons pour construire un dendrogramme des articles. À nouveau, lenombre de classes d’articles similaires, Ki, n’est pas connu a priori. Nous appliquonsdonc l’algorithme ci-dessous (algo. 2) pour déterminer le meilleur prototype pour laclasse Ci.

Algorithme 2 : Construction d’un prototype1 pour Ki← 1 à |Oi| faire2 calculer les Ki classes d’articles similaires : χj = {I j

1, ..., I jmj} (1≤ j≤ Ki)

3 pour j← 1 à Ki faire4 calculer un article prototype pour la classe χj : Ij = (s1, ..., sκ) avec

∀` ∈ [1, κ], s`← f`.∏I,I′∈χjς( f`, f ′`) (s`← 0 ssi la `e caractéristique diffère

pour des articles de la classe, sinon on prend la valeur de cettecaractéristique)

5 fin6 construire le prototype candidat pour Ci et Ki : Pi,Ki ←Fi ∪

(⋃j∈[1,Ki]

Ij)

7 calculer le score de ce prototype sur toutes les transactions de la classe :v(Pi,Ki)←

1ni

.∑nik=1 JBM(Pi,Ki ,T i

k )

8 finRésultat : P?

i = argmaxPi,Ki ∀Ki∈[1,|Oi|]

v(Pi,Ki)

5.2.5 Validation du processus

Comme nous l’avons expliqué, les prototypes ont vocation à être utilisé durant la si-mulation pour produire de nouvelles transactions reflétant l’activité des agents. Dansla mesure où ces agents exécutent leurs comportements d’une façon autonome surla base de ces prototypes, mais dans un environnement dynamique, les transactionsobtenues en simulation n’ont pas de raison de coïncider parfaitement avec celles desdonnées d’origine. Pourtant, nous devons nous assurer que la simulation est capablede reproduire le même genre de traces que celles observées dans la réalité. Un bon critèreconsiste à analyser les traces simulées par les mêmes techniques que les traces réelles,et comparer les prototypes obtenus : à ce niveau d’abstraction, il doit y avoir identité.

Toutefois avant même de mener ce genre d’étude sur les résultats d’une simulationmulti-agents, il fallait s’assurer de la robustesse du processus d’analyse lui-même.Cela a été fait au moyen de nombreuses simulations stochastiques, consistant à partird’un ensemble de prototypes aléatoires, à « instancier » ces prototypes en transactions(en remplaçant les 0 par des entiers strictement positifs, et en ajoutant du bruit), puisà reconstruire les prototypes. Deux critères d’évaluation sont utilisés :

— 95 —

Page 110: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 5 — INFORMER LES SIMULATIONS PAR LES DONNÉES

— une matrice de confusion, qui donne la proportion des transactions issues d’unprototype Pi qui ont été regroupées dans la classe Cj : à une permutation desindices près, on doit obtenir une correspondance exacte (toutes les transactionsissues de Pi, et elles seules, doivent constituer la classe Ci) ;

— une matrice de distance entre les profils initiaux Pi et les profils reconstruits P ′j ,distance calculé grâce à l’indice best-match Jaccard (JBM) : là encore, à une permu-tation des indices près, on doit avoir JBM(Pi,P ′i ) = 1.

Les détails de cette évaluation figurent dans [6, 24] et permettent d’affirmer quele processus est résistant à plusieurs formes de perturbations qui sont susceptiblesd’apparaître dans les traces d’activité réelles :

— l’ajout, dans chaque transaction, d’articles ne figurant pas dans le prototyped’origine (traces d’actions effectuées sans avoir été dirigées par des buts) ;

— la suppression aléatoire, dans chaque transaction, d’une petite proportion d’ar-ticles qui auraient dû y figurer (buts non satisfaits) ;

— la présence de transactions aléatoires, c’est-à-dire qui ne sont déterminées paraucun prototype (actions désordonnées d’agents qui n’agiraient pas conformé-ment à des buts homogènes aux autres).

Je vais maintenant présenter le contexte applicatif dans lequel ces méthodes ont étémises en œuvre.

5.3 La simulation de clients statistiquement réalistes

Pour évaluer notre méthode, nous nous sommes placés dans le cadre de simula-tions de comportements de clients dans un magasin, sur la base de nos expériencesantérieures dans ce domaine [10, 38]. L’approche multi-agents est déjà utilisée dans ledomaine de la distribution [194, 197], dans la mesure où la modélisation fine des com-portements individuels permet d’étudier l’impact d’actions commerciales ou de chan-gements dans l’aménagement de la surface de vente. L’utilisation de données pouraccroître le réalisme des clients simulés consitue le projet INBASU (pour « INdividual-BAsed simulation of SUpermakets ») qui s’intéresse à l’élaboration d’outils d’aide à ladécision en marketing sur la base de simulations multi-agents.

Environnement et comportements

Dans de précédents travaux [10], nous avons élaboré une simulation de supermar-chés où les agents sont situés dans un environnement spatialement réaliste. Ce carac-tère situé est nécessaire pour transformer une simulation ad hoc en un véritable outild’aide à la décision, capable de prédire comment les clients réagissent aux change-ments de l’organisation spatiale du magasin, aux événements commerciaux ou encoreà la pression concurrentielle. Néanmoins, il faut aussi pour cela garantir la fidélité desprofils de consommateurs, afin d’assurer le réalisme non pas uniquement des actionseffectuées par les agents simulés, mais également de la diversité de leurs objectifsd’achats.

Le modèle de comportement sur lequel nous nous appuyons est voisin de celuide Format-Store (§3.2.1) avec quelques simplifications (tab. 5.3). Le comportement

— 96 —

Page 111: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

5.3 – LA SIMULATION DE CLIENTS STATISTIQUEMENT RÉALISTES

XXXXXXXXXXXXSources

Cibles ∅ Client Article Caisse FileAttente Porte

ClientErrer (0) AllerVers (2 ; 10) AllerVers (3 ; 10) Entrer (5 ; 2) Quitter (8 ; 1)

ChoisirDest (1) Prendre (4 ; 1) AllerA (6 ; 1)

Sortir (7 ; 1)

Article Informer (1 ; 10)

Panneau Informer (1 ; 10)

CaisseOuvrir (10) Informer (1 ; 15) Traiter (8 ; 1)

Fermer (10) Encaisser (7 ; 1) Interrompre (9 ; 1)

Porte CréerClient (1) Informer (1 ; 10)

Table 5.3 – Matrice d’interaction qui définit le comportement des agents pour la simulationde clients dans un supermarché (cf. [24]).

générique des clients simulés, été validé par des experts en marketing, est ici considérécomme figé. Les clients ont un même comportement d’ensemble, mais diffèrent dansleurs besoins, aussi sont-ils dotés d’une liste de courses qui spécifie, de façon plus oumoins détaillée, quels articles ils sont susceptibles d’acheter dans le magasin. Lestransactions enregistrées sont alors des tickets de caisse, contenant des articles, tandisque les prototypes sont les listes de courses.

Expérimentations multi-agents

Dans un premier temps, afin de comparer les simulations multi-agents aux simu-lations stochastiques utilisées pour évaluer la robustesse du processus d’analyse desdonnées, nous avons utilisé les mêmes prototypes, avec des agents connaissant la po-sition des rayons dans le magasin. Dans ces conditions, les transactions simulées sontcapables de reproduire les classes et les prototypes de départ.

Ces résultats changent légèrement lorsque l’on modifie les conditions environne-mentales ou certains paramètres de simulation. Ainsi, donner aux agents une limitetemporelle pour effectuer leurs achats, lorsque ceux-ci ne connaissent pas l’agence-ment spatial du magasin, peut avoir pour effet que certains agents sortent du ma-gasin sans avoir trouvé tous les articles de leur liste de courses. De la même façon,on peut faire en sorte que certains articles ne soient pas présents en rayon ou malsignalés. Introduites avec modération, ces modifications n’ont pas d’effet sur l’iden-tification des classes de transactions (grâce à la robustesse du processus vis-à-vis desarticles manquants). En revanche, elles peuvent changer les prototypes reconstruitsà partir des transactions simulées : dans une simulation stochastique, faire « dispa-raître » un article des transactions n’a statistiquement pas d’impact car chaque articlea une probabilité uniforme d’être manquant. À l’inverse, lorsque les agents sont sou-mis au caractère éminemment spatial de leur environnement et doivent y trouver lesinformations correctes pour atteindre leurs buts, il peut apparaître un biais statistiqueen défaveur des articles les moins faciles à trouver. L’observation des chemins suivispar les clients dans le magasin (cf. fig. 5.1) met en effet en évidence l’existence de« points chauds » très fréquentés, où les articles sont donc trouvés facilement, ainsique de « points froids » où la fréquentation est faible : les produits manquants sontdonc souvent les mêmes, de sorte que les prototypes reconstruits dans ces conditionsconstituent un sous-ensemble des prototypes d’origine.

— 97 —

Page 112: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 5 — INFORMER LES SIMULATIONS PAR LES DONNÉES

Figure 5.1 – Tracé des chemins suivis par les clients simulés dans le magasin virtuel. Lescouleurs représentent la fréquentation relative de chaque zone de l’environnement (du bleu,minimal au rouge, maximal).

Ce phénomène met en lumière le côté crucial de la mise en situation spatiale des si-mulations, et illustre bien comment utiliser ces outils pour l’aide à la prise de décisionquant au placement des articles en rayon, l’agencement du magasin, la signalisation,les événements commerciaux, etc.

Les expériences en cours (notamment le stage de Guillaume Dauster, 2013) visent àétudier de façon systématique l’impact de ces informations spatiales sur les change-ments qui surviennent dans les prototypes. Par ailleurs nous travaillons à l’intégrationde bases de données de tickets réels et d’environnements de plus grande taille repro-duisant les caractéristiques du magasin où ces tickets ont été collectés. Une grosse partdes efforts porte sur la récupération des informations de positionnement des articleset des dispositifs d’information.

5.4 Bilan

La conception de simulations puisant leur information au plus près des donnéesréelles, en réduisant l’expertise humaine lorsque c’est possible, est évidemment unobjectif de longue haleine, tout particulièrement si l’on vise l’élaboration de méthodesindépendantes du domaine d’application. Nous donnerons dans le chapitre suivantquelques pistes dans ce sens.

D’ores et déjà, comme nous l’avons montré, les algorithmes d’exploration de don-nées que nous avons définis, au lieu de servir à définir un « comportement moyen »valable pour l’ensemble de la population, permettent 1

o d’identifier diverses popula-tions d’agents sur la base des traces laissées par leurs comportements, 2

o d’associerautomatiquement à ces groupes une représentation abstraite de leurs buts (proto-types), et 3

o d’engendrer en simulation des populations d’agents différenciées maisprésentant statistiquement les mêmes caractéristiques que les populations d’origine.

— 98 —

Page 113: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

5.4 – BILAN

La similarité entre résultats de simulation et données sources peut être mesurée fi-nement, en utilisant les mêmes moyens que pour le processus de construction deconnaissances.

Notre méthode a montré son efficacité dans un cadre applicatif où nous bénéfi-cions déjà d’une assez longue expérience. On notera que, contrairement à ce quevisent nombre d’études en marketing, nous ne cherchons nullement à identifier dessegments de clientèle « classiques », mais simplement à reproduire en simulation une« photographie » d’une population : l’instant du cliché, comme la durée de pose, c’est-à-dire le moment et la durée d’enregistrement des transactions, conditionnent évi-demment les caractéristiques qui seront ensuite données aux agents. Ainsi, la mêmeméthode peut, à volonté, intégrer des variations saisonnières, géographiques, etc. se-lon les données recueillies.

Dans le domaine du marketing par exemple, ces recherches permettent, en ren-forçant le réalisme des agents simulés, d’envisager la réalisation d’outils d’aide à ladécision de plus en plus fiables, d’une part en étudiant comment des changementshypothétiques dans la gestion de l’environnement ou dans les événements commer-ciaux sont susceptibles d’affecter une clientèle connue, et d’autre part, en anticipantles réactions possibles de nouveaux profils de consommateurs à un environnementdonné. Dans des domaines scientifiques, elles fournissent une automatisation accruede la conception et de la calibration des modèles, autorisant ainsi les thématiciens àse focaliser sur les aspects les plus qualitatifs (définition et affectation des interactionsnotamment).

Enfin, il nous reste à mettre nos méthodes à l’épreuve d’autres disciplines, parexemple celles qui utilisent déjà des méthodes de classification proches (classificationmulti-label) ou des techniques d’identification de paramètres, comme la génomiquefonctionnelle [61] ou l’écologie [62].

h a g

— 99 —

Page 114: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 5 — INFORMER LES SIMULATIONS PAR LES DONNÉES

— 100 —

Page 115: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Chapitre 6

Projet de recherche

Le problème important — en matière de philosophie dulangage — n’est pas celui de la vérité [...] mais biencelui de l’acceptabilité sémantique, qui définit le mondedes « possibles ». [...] Ici, on ne cherchera pas àconvaince, mais à susciter des représentations, et àétendre l’intelligibilité du monde.

Thom [206]

Les thèmes que j’ai évoqués tout au long de ce mémoire nous ramènent toujoursau même constat : l’étude des systèmes complexes à large échelle au moyen de simu-lations multi-agents nécessite l’élaboration de méthodes et de techniques originales,capables tout à la fois de simplifier le processus de conception autant que possible ducôté du thématicien, que de traiter algorithmiquement des situations de plus en pluscomplexes avec efficacité et fiabilité.

L’approche orientée interactions, conçue dans ce but, est encore largement perfec-tible, et les avantages qu’elle procure en termes d’intelligibilité et de révisabilité desmodèles, méritent qu’on travaille à son évolution. Mais celle-ci ira forcément de pairavec les voies qui se sont ouvertes ces dernières années, en particulier dans le cadrede la simulation multi-niveaux.

6.1 Développements de l’approche orientée interactions

L’approche orientée interactions, sous sa forme actuelle, laisse de côté un certainnombre de problèmes, soit parce que nous avons de bonnes raisons de penser qu’ilspeuvent être résolus par une modélisation adéquate, soit parce qu’ils étaient provisoi-rement écartés par les hypothèses que nous avions choisies.

— 101 —

Page 116: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 6 — PROJET DE RECHERCHE

Les modèles temporels

La première de ces hypothèses est celle du temps discret, et plus encore le choixqu’une interaction se déroule tout entière au cours d’un pas de temps. Cette exigencepeut sembler forte mais elle est souvent à la base de nombreux systèmes réactifs,et Kubera [134] a montré que l’on pouvait décomposer des actions longues en unesuccession d’interactions atomiques. Il est possible également de doter les agents dudegré suffisant de mémoire pour sélectionner comme cible un agent qui était déjàleur cible au pas de temps précédent, par exemple afin d’assurer la persistance descomportements [213].

En revanche, il est plus difficile dans le cadre IODA actuel d’exprimer le fait queles actions, au sein d’une interaction, occupent un certain laps de temps. Pour étendreles possiblités de IODA, il faudrait commencer par doter les primitives d’une durée,après quoi il devrait être possible d’adapter des procédés existants. On peut envisa-ger par exemple de décrire la séquence d’actions à la façon d’une tâche au sens deDrogoul [95], mais le modèle à temporalité proposé par Payet et al. [172] nous sembleplus prometteur, dans la mesure où il conjugue des mécanismes empruntés à la foisà l’approche à temps discret et à l’approche à événements discrets, et se prête sansdoute plus facilement à la gestion du temps pour des systèmes multi-niveaux.

Des moteurs alternatifs

Nous avons également fait le choix dans IODA de construire des simulations àpartir d’un moteur « réactif », au sens où une interaction peut avoir lieu dès queses condition et déclencheur sont vérifiés par les agents candidats, moyennant derespecter la garde de distance. C’est aux priorités qu’il appartient ensuite de définirune relation d’ordre entre les interactions réalisables par un agent source.

Comme nous l’avons mentionné à propos des travaux menés en collaboration avecle COGIT (§4.4), d’autres sortes de moteurs peuvent être construits. En particulier,il est possible d’utiliser le déclencheur d’une interaction pour décrire explicitementson but, ce qui autorise ensuite un moteur à chaînage pour décider des interactions àeffectuer en vue d’un but global.

Syntaxe et interactions

Si l’approche orientée interactions procure une grande intelligibilité aux modèlesde comportements, c’est en somme parce qu’une interaction peut être vue commeun verbe. La source de l’interaction en est le sujet, tandis que la (les) cible(s) peu(ven)têtre vue(s) comme un complément d’objet ou comme un complément d’agent, selon que leverbe est exprimé à la voix active (Manger) ou à la voix passive (ÊtrePorté). Les interactionsréflexives peuvent être interprétées de la même façon, soit comme un verbe réflexif(S’Orienter), soit comme un verbe intransitif (Mourir).

Cet arrière-plan syntaxique donne des pistes intéressantes pour étendre IODA,par exemple en introduisant des rôles supplémentaires à ceux de source et de cible,comme par exemple outil (complément circonstanciel : le Bûcheron effectue Couper surl’Arbre au moyen d’une Hache). Le risque sous-jacent est d’augmenter sensiblement la

— 102 —

Page 117: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

6.2 – SIMULATION MULTI-NIVEAUX ET UTILISATION DE DONNÉES

complexité algorithmique de la recherche des interactions réalisables [28] : il faut doncd’abord évaluer le gain d’expressivité que l’on attend de tels ajouts.

Sémantique et interactions

En tant que méthode de conception de simulations, IODA a été conçue pour mini-miser le contact des thématiciens avec le code, tout particulièrement avec les partiesles plus « sensibles » de ce code comme l’ordonnanceur de la simulation. En utili-sant JEDI-Builder ou IODA-NetLogo, il reste peu de choses à écrire : les primitives dechaque famille d’agents et de l’environnement. C’est peut-être encore trop car nombrede thématiciens sont peu ou pas formés à l’algorithmique.

Une piste serait de spécifier la sémantique des primitives d’une façon plus prochedu langage naturel, pour ensuite les traduire de façon plus ou moins automatiquedans un langage de programmation. Mais il me semble que les solutions les plus réa-listes sont plutôt de nature graphique et constructionniste. Ainsi, par exemple, Ber-sini [65] défend l’usage d’UML comme terrain commun pour définir non seulementles entités d’un modèle de simulation mais également leur comportement (notam-ment au moyen des diagrammes de séquences et d’états). On a lieu de craindre quela conception d’un modèle UML complet soit aussi difficile pour un thématicien quecelle d’un modèle computationnel ; néanmoins la perspective change notablement s’ilne s’agit de définir que les primitives, dont la complexité individuelle est sans com-mune mesure avec celle de l’ensemble. Parmi d’autres alternatives intéressantes, lelangage Scratch [147], conçu en vue d’enseigner la programmation et l’algorithmiqueà de jeunes enfants, fournit une syntaxe visuelle pour représenter des branchements,des boucles, des événements, des fonctions, etc. de sorte que l’on peut construire desprogrammes par assemblage et composition d’éléments visuels.

Dans un cadre plus spécifiquement multi-agents, la « programmation situation-nelle » proposée par Michel et al. [156] semble encore plus prometteuse : elle vise àse détacher de l’algorithmique en demandant au concepteur d’élaborer des situationsà partir de percepts de bas niveau, et de paramétrer un plan, le tout sous une formeégalement graphique. Les limitations inhérentes à cette approche (notamment une as-sez forte dépendance au domaine) pourraient certainement être levées dans le cadrede la forte séparation déclaratif/procédural imposée par IODA.

6.2 Simulation multi-niveaux et utilisation de données

Au vu des recherches menées dans ce domaine depuis quelque temps, il me semblequ’on peut esquisser trois sujets majeurs qui se développent en parallèle, et dontl’interdépendance promet des avancées importantes pour la simulation multi-agentsdans les années à venir :

1. D’abord, on peut signaler avec Morvan [163] l’explosion de l’intérêt (sinon desrecherches) pour la simulation multi-niveaux. Cela tient à la nature même desphénomènes que la simulation multi-agents cherche désormais à étudier, maisil est certain que le « découpage » d’une simulation monolithique en sous-systèmes est en outre une bonne façon de réduire la complexité du phénomène

— 103 —

Page 118: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 6 — PROJET DE RECHERCHE

à modéliser, d’accroître la modularité des simulations et par là même la révisa-bilité des modèles — pour peu qu’on dispose de méthodes génériques pour cefaire.

2. Ensuite, il devient crucial, pour la calibration et le paramétrage des simulations,de disposer de techniques de recherche automatique d’informations dans les im-menses volumes de données issus de ces phénomènes. L’enjeu ne se réduit pasà l’extraction de statistiques simples, mais bien à l’identification et à la construc-tion de connaissances pertinentes dans un cadre multi-agents.

3. Enfin, on voit également se développer une étude détaillée des possibilités dedistribution physique du calcul sur des architectures physiquement distribuéesou simplement parallèles [155, 80, 151]. Cela répond à la montée en échelle descalculs à effectuer, mais ouvre également des perspectives de modélisation detype « champ » [155] qui n’étaient guère abordables jusqu’à présent, et par suitela possibilité de jeter des ponts vers des approches utilisant le continu.

Ce n’est sans doute pas un hasard si ces trois sujets émergent de façon concomi-tante : ils naissent des mêmes besoins. Mais en outre, ils sont susceptibles de s’assistermutuellement :

— la simulation multi-niveaux utilise des techniques de comparaison et de classifi-cation des agents pour détecter les structures émergentes [209, 120, 160, 78, 77],de sorte que les travaux sur les informations qui peuvent être extraites des don-nées pour la calibration des comportements ne peuvent que faire progresser lesrecherches sur l’identification et l’agentification de macro-agents ;

— réciproquement, il est sans doute plus facile de traiter et de rendre intelligiblesde grosses masses de données si l’on est capable de les projeter sur différentsniveaux d’analyse ;

— au fur et à mesure que les simulations gagnent en complexité, elles sont elles-mêmes susceptibles de produire des volumes de données considérables, qu’ilfaut également être capable de représenter d’une façon synthétique et en rapportavec la forme multi-agents des modèles ;

— la simulation multi-niveaux nécessite souvent une montée à l’échelle, de sorteque l’utilisation de méthodes de calcul parallèle permet, comme le montre Mi-chel [155], de traiter des problèmes de grande ampleur en un temps raison-nable — de fait on commence à voir des plateformes de simulation « clas-sique » prendre le tournant du calcul haute performance (High Performance Com-puting) [82].

Le second volet de mon programme de recherche visera donc à prolonger les tra-vaux amorcés sur la simulation multi-niveaux, en y intégrant les problématiques d’ex-traction de connaissances à partir des données.

Problématiques liées au multi-niveaux

Pour ce qui est de la simulation multi-niveaux, nous disposons avec PADAWANd’un cadre de modélisation tout à fait adéquat. Il reste maintenant à travailler sur lespoints suivants :

— 104 —

Page 119: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

6.2 – SIMULATION MULTI-NIVEAUX ET UTILISATION DE DONNÉES

— se servir de régularités observées dans des groupes d’agents pour les agrégerautomatiquement en un agent compartiment, doter celui-ci d’un comportementmacroscopique (sous la forme d’interactions) qui reflète le comportement collec-tif des agents qu’il héberge, qui eux-mêmes peuvent ensuite être éliminés si c’estnécessaire (par exemple pour réduire les coûts computationnels) — on noteraque ces préoccupations rejoignent les travaux autour de la réification de struc-tures émergents mais supposent également un travail en amont sur l’expressiond’une « sémantique » des interactions ;

— inversement, sur la base par exemple des techniques employées pour générerdes populations diversifiées de clients (§5.3) ou pour anticiper l’évolution destructures agrégées [173], élaborer des méthodes qui permettent, à partir ducomportement d’un agent, de recréer automatiquement le système sous-jacent,en générant des micro-agents qui reflètent un état possible de ce système et vontensuite interagir pour produire collectivement un comportement équivalent.

Problématiques liées au traitement des connaissances

Jusqu’à présent nous avons posé une hypothèse forte sur la forme des données.En particulier, une transaction ne garde pas de trace de l’ordre dans lequel l’agent asatisfait (ou cherché à satisfaire) ses buts. Or, il arrive fréquemment dans les systèmesnaturels qu’on dispose d’informations chronologiques : une séquence d’événements ac-complie par les agents. Les traces sont alors ordonnées, voire caractérisées par unedurée. Dans les systèmes artificiels, ces informations peuvent évidemment être re-cueillies à des fins d’analyse.

Afin de généraliser l’approche que nous avons proposée, une prochaine étapeconsistera à mettre au point des méthodes capables de traiter des traces chronolo-giques. Un certain nombre de pistes sont envisageables pour cela, la plus promet-teuse étant semble-t-il à chercher du côté de l’analyse de processus (process analysis) oude workflows [53, 52].

Synthèse

On voit ainsi se dessiner une double approche pour analyser des comportementscollectifs et leurs rapports aux comportements individuels :

— une approche synchronique qui, étant donné une certaine fenêtre temporelle,détermine les propriétés et les buts de groupes d’agents similaires, de façon àpouvoir agréger un groupe en un macro-agent ou inversement, dissoudre unagent en un système d’entités plus fines ;

— une approche diachronique qui, pour un groupe d’agents donné, s’intéresse àla succession de ses actions pour identifier un comportement type, voire inférer lesinteractions sous-jacentes.

Sans vouloir à toute force laisser penser qu’il n’y point de salut en dehors de l’ap-proche orientée interactions, il me semble néanmoins qu’un tel programme ne peutêtre mis en œuvre sans s’appuyer sur des principes assez similaires, en particulierune séparation déclaratif/procédural et une séparation entre entités, comportements

— 105 —

Page 120: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CH. 6 — PROJET DE RECHERCHE

et espaces (ce que nous traduisons dans IODA/PADAWAN par agents, interactionset environnements).

Pour rester dans la « ligne » IODA, nous pourrions appeler ce projet « KENOBI »(pour : Knowledge Extraction from Natural Observations to Build Interactions).

6.3 Par-delà la simulation

De la simulation à la résolution de problèmes

Il me faut également mentionner une autre piste de recherche qui s’est ouverteavec la thèse d’Adrien Maudet sur la généralisation cartographique (IGN). Les trans-formations introduites dans le cadre de PADAWAN pour passer de la simulationmulti-niveaux à la résolution de contraintes dans un cadre également multi-niveaux,offrent en effet une opportunité de concevoir une méthode générale de résolution deproblèmes au moyen d’un SMA multi-niveaux.

Une telle méthode a un intérêt lorsque le problème est par nature multi-niveaux,comme c’est le cas pour résoudre des contraintes cartographiques, mais aussi lorsqueles entités impliquées dans le problème participent à des relations de composition(par exemple pour la gestion de problématiques énergétiques à l’échelle d’un quartierou d’une ville). Mais elle pourrait également s’appliquer s’il est possible de décom-poser le problème en sous-problèmes partiellement disjoints, n’impliquant que desensembles plus réduits d’entités : autrement dit, si une forme d’organisation peut-être déduite des relations entre les entités du problème.

Cette perspective devrait être étudiée par Adrien au cours de sa dernière année dethèse. Elle permettrait de rapprocher à nouveau le domaine de la simulation multi-agents de celui de la résolution distribuée de problèmes (pouvant être eux-mêmes dis-tribués ou non). Ce projet qui faisait partie du bagage originel des SMA, par exempleà travers l’Éco-résolution [96], a depuis lors fait l’objet de très peu de travaux (parexemple [76]) en-dehors de contextes applicatifs.

De la simulation au contrôle de SMA

Par ailleurs, utiliser des interactions pour décrire les comportements indépendam-ment des agents présente des avantages qu’il serait intéressant de transposer versle domaine de la conception d’applications multi-agents, ou encore vers le contrôle deSMA (agents logiciels ou robotiques). Il faudrait sans doute pour cela remplacer l’al-gorithme de sélection d’interaction, centralisé au niveau de l’ordonnanceur du simu-lateur, par des protocoles entre groupes d’agents susceptibles d’interagir de façonasynchrone.

Nous comptons entamer dans les prochains mois une étude exploratoire de cesquestions, dans un cadre de robotique mobile collective. Il s’agira principalement devalider expérimentalement la possibilité de transposer l’approche orientée interac-tions dans ce domaine et d’étudier les transformations techniques mais aussi métho-dologiques à y apporter.

— 106 —

Page 121: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

6.4 – ... ET ENCORE AU-DELÀ ?

6.4 ... et encore au-delà ?

C’est un instrument mathématique qui crée la sciencephysique contemporaine comme le microscope crée lamicrobiologie. Pas de connaissances nouvelles sans lamaîtrise de cet instrument mathématique nouveau.

Bachelard [59, p. 58]

Au début du siècle précédent, comme le remarque Bachelard [59], les mathéma-tiques ont joué un rôle clef en physique, non pas tant par l’efficacité calculatoire deméthodes analytiques nouvelles, mais plus fondamentalement parce que les conceptsmathématiques de l’époque ont forgé de toutes pièces ceux de la physique, relativisteou quantique. Non seulement les modèles de la physique s’expriment au moyen desoutils mathématiques les plus avancés, mais ils n’ont même plus de rapport (autreque linguistique) avec les réalités perceptibles du quotidien : ainsi par exemple les« particules » n’ont plus de matérialité et se réduisent à une fonction d’onde.

Si Bachelard ne cache pas son admiration pour cette hégémonie créatrice des ma-thématiques vis-à-vis d’autres disciplines, à l’inverse un mathématicien contemporaincomme Thom [206] regrette la perte d’intelligibilité de la nature qui s’ensuit : selon lui,la physique quantique a abandonné le projet de rendre le monde compréhensible. Sonpropre projet consistait, en réaction, à tenter de rendre opérationnels des concepts plusqualitatifs, issus de la physique d’Aristote. Force est de constater que les méthodesqu’il a employées ne sont, hélas ! guère intelligibles qu’à des mathématiciens de hautvol...

Peut-être est-il possible de réconcilier ces deux points de vue. L’informatique en gé-néral, la simulation multi-agents en particulier, sont des « sciences de l’artificiel » [198]qui, comme les mathématiques, créent leurs propres objets d’étude. Mais, contrairementaux mathématiques, l’informatique peut également restaurer de l’intelligibilité en don-nant une réalité structurelle et algorithmique à des concepts que la démarche scien-tifique, depuis Galilée, a disqualifiés mais que l’on peut souhaiter préserver pourleur capacité à rendre la nature intelligible. Ainsi, par exemple, si l’on ne croit plusguère à la réalité des Universaux, la programmation par objets consiste à reconstruireun monde dans lequel ils ont une valeur opérationnelle, parce qu’ils font sens. Ainsi,face aux sciences des systèmes complexes, il me semble que nos efforts doivent tendreà faire jouer à la simulation informatique un rôle structurant et créateur de concepts.

h a g

— 107 —

Page 122: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,
Page 123: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Mon entreprise n’est pas essentiellement difficile [...] Il mesuffirait d’être immortel pour la mener jusqu’au bout.

Borges [70]

Troisième partie

Pièces annexes

Page 124: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,
Page 125: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Curriculum Vitae

État-civil et coordonnéesSébastien Picault, né le 8 avril 1975 ; marié, 3 enfants

LIFL bâtiment M3 bureau 221 (+33 3 59 63 22 37)ou IUT ’A’ bureau 3A/45 (+33 3 59 63 22 37)Cité Scientifique, 59655 Villeneuve d’Ascq Cedex

Parcours professionnel

depuis 2002Maître de conférences (classe normale 6

e échelon), UFR d’IEEA, UniversitéLille 1, Villeneuve d’AscqEnseignements actuels :— DUT informatique : Bases de données ;— licence professionnelle SIL DA2I (Développement et Administration Internet

et Intranet) : Génie logiciel ;— master 2 : Simulation multi-agentsRecherche : au sein du LIFL (UMR CNRS 8022), équipe SMAC (« SystèmesMulti-Agents et Comportements »)

2000–2002Attaché temporaire d’enseignement et de recherche, Université Paris 6 (UPMC)

1997–2000Moniteur, Université Paris 13, Villetaneuse

— 111 —

Page 126: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CURRICULUM VITAE

Formation1997–2001

Doctorat en informatique, Laboratoire d’Informatique de Paris 6 (LIP6, UPMC)Thèse soutenue le 1

er octobre 2001 (directeur : Alexis Drogoul)Titre : « Modèles de comportements sociaux pour les collectivités de robots etd’agents »Mots-clefs : simulation multi-agents, robotique collective en milieu ouvert, algo-rithmes évolutionnistes

1996–1997DEA d’Intelligence Artificielle (IARFA), Université Paris 6 (UPMC), Paris

1994–1997Ingénieur télécom, École Nationale Supérieure des Télécommunications, Paris

Activité de recherche

Domaine

Méthodes et outils pour la simulation multi-agents de systèmes complexes→ simulation orientée interactions, simulation multi-niveaux

Encadrement de thèses

— Adrien Maudet, COGIT, IGN (avec C. Duchêne et G. Touya) — soutenance pré-vue en 2015

— Yoann Kubera, LIFL, Lille 1 (avec P. Mathieu) — soutenue le 6 décembre 2010

« Simulations orientées-interaction des systèmes complexes »

Jurys de thèses

— 12 sept. 2012 — Thi Thanh Ha Hoang, (LCIS, Valence, Université de Grenoble)directeur Michel Occello, encadrant Nguyen Thanh Binh (Univ. Danang, Viet-nam)

— 23 sept. 2005 — Dong Yue Wang, (IBISC, Université d’Évry)directrice Pascale Le Gall, encadrant Guillaume Hutzler

— 17 janv. 2003 — Samuel Landau (LIP6, Université Paris 6)directeur Alexis Drogoul

Encadrements divers

Avec Philippe Mathieu, stages de DEA, Master 2 ou Ingénieur (Lille 1) :— Guillaume Dauster, 2013 : « INBASU : INdividual BAsed SUpermarket simula-

tion » (projet INBASU)— Florent Delhaye, 2010 : « Le multi-niveaux pour la simulation multi-agents :

application à une simulation de centre commercial » (projet PADAWAN)

— 112 —

Page 127: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CURRICULUM VITAE

— François Gaillard, 2008 : « Rétro Ingénierie pour simulations centrées individus »(projet LEIA)

— Yoann Kubera, 2007 : « La complexité dans les simulations multi-agents » (projetIODA)

— Benoît Lacroix, 2006 : « La gestion du temps et de l’espace dans les simulationsde foules » (projet MiSC)

— Laetitia Bonte, 2005 : « Représentation multi-échelles pour les plateformes àgrands nombres d’agents » (projet SimuLE)

— Benoît Gosse, 2004 : « Méthodes de simulation à large échelle par agents situésréactifs. Application à la biologie » (projet SimuLE)

— Jérémy Scafi, 2003 : « Projet “PASPAS” : PlAteforme de Simulation Pour AgentsSitués » (stage Polytech’Lille)

Avec Cécile Duchêne (IGN), stages de master recherche (Paris XI) :— Adrien Maudet, 2012 : « Adaptation de la partie comportementale du modèle

multi-agents PADAWAN pour la résolution de problème en cartographie »— Ala Atrash, 2011 : « Adaptation of PADAWAN multi-agent model for the solu-

tion of a spatial problem : The cartographic generalization »

Dans le cadre de projets contractualisés :— Marc-Antoine Dupré (2011–2012, 12 mois), ingénieur contractuel (projet Ga-

laxian)— David Panzoli (2010–2011, 13 mois), post-doctorant (projet Format-Store)— Jean-Baptiste Leroy (2010–2011, 16 mois), ingénieur contractuel (projet Format-

Store)

Mémoires de fin d’études (Master 2 ou Ingénieur) :— 2012 : Thomas Clément, Master E-Services (projet IODA/Unity)— 2006 : Benjamin Kubiak et Valentin Ribeiro Dubois, Polytech’Lille (projet Si-

muLE)— 2005 : Virgile Bourse et Mickaël Delacroix, DESS IAGL (projet SimuLE)— 2005 : Cyril Moreau et Nicolas Petitprez, Polytech’Lille (projet SimuLE)

Comités de programme

— JFSMA (Journées Francophones sur les Systèmes Multi-Agents) depuis 2005

— PAAMS’2014 (International Conference on Practical Applications of Agents and Multi-Agent Systems)

Relecteur— Elsevier IST (Information and Software Technology Journal)— Hermès TSI (Technique et Science Informatiques)— Hermès RIA (Revue d’Intelligence Artificielle)— AAMAS’03, AAMAS’10 (Int. Conf. on Autonomous Agents and Multi-Agent Sys-

tems)— IAT’11, IAT’12 (Int. Conf. on Intelligent Agent Technology)— PAAMS’13 (Int. Conf. on Practical Applications of Agents and Multi-Agent Systems)

— 113 —

Page 128: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CURRICULUM VITAE

Organisation de conférences

— 2013 ; Lille : membre de l’équipe organisatrice de la plateforme IA de l’AFIA,regroupant 6 conférences francophones (dont les JFSMA) et 9 ateliers

— 2003, Lille : membre du comité d’organisation de la conférence MFI (ModèlesFormels de l’Interaction)

— 2002, Lille : membre du comité d’organisation des JFIADSMA (Journées Franco-phones sur l’Intelligence Artificielle Distribuée et les Systèmes Multi-Agents)

— 1998, Paris : membre du comité d’organisation d’Agents’ World, événement re-groupant la conférence internationale ICMAS (International Conference on Multi-Agent Systems), 6 workshops internationaux et les compétitions RoboCup et Mi-roSot

Projets contractuels

— 2012 : contrat de conseil et de formation en IA et techniques de simulation pourjeux vidéo, société BigBrowser, Villeneuve d’Ascq, en partenariat avec le MITIIncubateur Nord-Pas-de-Calais (6 mois)

— 2011 : Galaxian, contrat en partenariat avec l’IRCICA (Institut de Recherchesur les Composants logiciels et matériels pour l’Information et la Communi-cation Avancée – Villeneuve d’Ascq), pour la réalisation d’une plateforme dedémonstration des techniques de simulation orientée interactions, scénario debataille spatiale 3D tournant en continu sur un mur d’image (plateforme deréalité virtuelle PIRVI) (12 mois)

— 2009–2011 : Format-Store, réponse à l’appel à projet Serious Game du ministèrede l’industrie et de la recherche ; en partenariat avec l’entreprise spécialisée dansles mondes virtuels Idées-3Com et l’école de commerce Enaco (25 mois)

Valorisation de la recherche

— 19 mars 2012 — conférencier invité au séminaire du LIP6 (Laboratoire d’Infor-matique de Paris 6), Paris : « De la simulation centrée individus à la simulationcentrée interactions. La méthode IODA »

— 8 sept. 2011 — conférencier invité au séminaire du CEBC (Centre d’Études Bio-logiques de Chizé, CNRS) : « Des simulations centrées individus... centrées surles interactions »

— 19 mai 2010 — conférencier invité au séminaire de l’IXXI (Institut Rhône-Alpindes Systèmes Complexes), Lyon : « La simulation multi-agents orientée interac-tions. Application aux rythmes circadiens »

— démonstration des méthodes et outils de simulation : projet Galaxian (IBMscientific award à PAAMS’2013)

— développement, maintenance et mise à disposition de l’extension IODA pour laplateforme de simulation NetLogo, référencée depuis le site web de NetLogo(http://ccl.northwestern.edu/netlogo/resources.shtml, rubrique Tools)

— mise à disposition avec Yoann Kubera du bytecode du moteur JEDI (archive jar)ainsi que de l’applet de démonstration du moteur

— 114 —

Page 129: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CURRICULUM VITAE

Responsabilités— Membre du comité de sélection de l’Université du Littoral (2013)— Membre de la commission de spécialistes de l’Université d’Évry (2005–2008)

Divers— membre de l’AFIA (Association Française pour l’Intelligence Artificielle)— membre de l’Union Rationaliste

h a g

— 115 —

Page 130: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

CURRICULUM VITAE

— 116 —

Page 131: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Publications personnelles

Revues internationales

[1] Mathieu, P., Panzoli, D. et Picault, S. 2013, « Virtual customers in a multiagenttraining application », dans Transactions on Edutainment IX, Lecture Notes in Com-puter Science, vol. 7544, Springer, p. 97–114.

[2] Kubera, Y., Mathieu, P. et Picault, S. 2011, « IODA : An interaction-orientedapproach for multi-agent based simulations », Journal of Autonomous Agents andMulti-Agent Systems (JAAMAS), vol. 23, no

3, p. 303–343.

Revues nationales

[3] Mathieu, P. et Picault, S. 2012, « Intérêt de la simulation centrée interactions pourles sciences humaines et sociales », Revue des Nouvelles Technologies de l’Information(RNTI), vol. MASHS 2011/2012 : Modèles et Apprentissage en Sciences Humaineset Sociales, RNTI-SHS-1, p. 15–30. Éditions Hermann.

[4] Gaillard, F., Kubera, Y., Mathieu, P. et Picault, S. 2010, « Une méthode pour na-viguer dans l’espace des simulations », Revue d’Intelligence Artificielle (RIA), vol. 24,no

5, p. 575–599. Hermès.

[5] Kubera, Y., Mathieu, P. et Picault, S. 2008, « Formalisation et implémentationdes interactions pour la simulation centrée individu », RSTI – L’objet, vol. 14, no

1-2, p. 9–33. Numéro spécial Architectures Logicielles, Hermès.

Conférences internationales (avec comité de lecture et actes)

[6] Mathieu, P. et Picault, S. 2013, « From real purchase to realistic populations ofsimulated customers », dans Proceedings of the 11th International Conference on Prac-tical Applications of Agents and Multi-Agent Systems (PAAMS’2013), Lecture Notes inComputer Science, vol. 7879, édité par Y. Demazeau, T. Ishida, J. M. Corchado etJ. Bajo, Springer, p. 216–227.

[7] Maudet, A., Touya, G., Duchêne, C. et Picault, S. 2013, « Improving multi-levelinteractions modelling in a multi-agent generalisation model : first experiments »,

— 117 —

Page 132: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

PUBLICATIONS PERSONNELLES

dans Proceedings of the 16th ICA Workshop on Generalisation and Map Production,édité par D. Burghardt, Dresden, Germany.

[8] Mathieu, P., Panzoli, D. et Picault, S. 2011, « Format-Store : a multi-agentbased approach to experiential learning », dans Proceedings of the 3rd InternationalConference on Games and Virtual Worlds for Serious Applications (VS-GAMES’2011),édité par F. Liarokapis, IEEE Computer Society Press, p. 120–127.

[9] Mathieu, P. et Picault, S. 2011, « An interaction-oriented model for multi-scalesimulation », dans Proceedings of the 22nd International Joint Conference on ArtificialIntelligence (IJCAI’2011), édité par T. Walsh, IJCAI/AAAI, p. 332–337.

[10] Mathieu, P., Picault, S. et Kubera, Y. 2010, « An interaction-oriented model ofcustomer behavior for the simulation of supermarkets », dans Proceedings of theIEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT’2010),édité par X. J. Huang, A. A. Ghorbani, M.-S. Hacid et T. Yamaguchi, IEEE Com-puter Society Press, p. 407–410.

[11] Gaillard, F., Kubera, Y., Mathieu, P. et Picault, S. 2009, « A reverse engineeringform for multi agent systems », dans Proceedings of the 9th International WorkshopEngineering Societies in the Agents World (ESAW’2008), Lecture Notes in ComputerScience, vol. 5485, édité par A. Artikis, G. Picard et L. Vercouter, Springer, p.137–153.

[12] Kubera, Y., Mathieu, P. et Picault, S. 2009, « How to avoid biases in reactivesimulations », dans Proceedings of the 7th International Conference on Practical Ap-plications of Agents and Multi-Agents Systems (PAAMS’2009), Advances in Intelligentand Soft Computing, vol. 55, édité par Y. Demazeau, J. Pavón, J. M. Corchado etJ. Bajo, Springer, p. 100–109.

[13] Kubera, Y., Mathieu, P. et Picault, S. 2009, « Interaction biases in multi-agentsimulations : An experimental study », dans Proceedings of the 9th InternationalWorkshop Engineering Societies in the Agents World (ESAW’2008), édité par A. Arti-kis, G. Picard et L. Vercouter, LNAI, Springer, p. 229–247.

[14] Kubera, Y., Mathieu, P. et Picault, S. 2008, « Interaction-oriented agent simu-lations : From theory to implementation », dans Proceedings of the 18th EuropeanConference on Artificial Intelligence (ECAI’2008), édité par M. Ghallab, C. Spyro-poulos, N. Fakotakis et N. Avouris, IOS Press, p. 383–387.

[15] Kubera, Y., Mathieu, P. et Picault, S. 2008, « Interaction selection ambiguities inmulti-agent systems », dans Proceedings of the IEEE/WIC/ACM International Confe-rence on Intelligent Agent Technology (IAT’2008), édité par C. Zhang, N. Cercone etL. Jain, IEEE Computer Society Press, p. 75–78.

[16] Landau, S., Sigaud, O., Picault, S. et Gérard, P. 2005, « An experimental com-parison between ATNoSFERES and ACS », dans Learning Classifier Systems, In-ternational Workshops, IWLCS 2003-2005, Revised Selected Papers, Lecture Notes inComputer Science, vol. 4399, édité par T. Kovacs, X. Llorà, K. Takadama, P. L.Lanzi, W. Stolzmann et S. W. Wilson, Springer, p. 144–160.

[17] Landau, S., Picault, S., Sigaud, O. et Gérard, P. 2003, « Further comparisonbetween ATNoSFERES and XCSM », dans Learning Classifier Systems, 5th Interna-tional Workshop, IWLCS 2002, Revised Papers, Lecture Notes in Computer Science, vol.2661, édité par P. L. Lanzi, W. Stolzmann et S. W. Wilson, Springer, p. 99–117.

— 118 —

Page 133: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

PUBLICATIONS PERSONNELLES

[18] Landau, S., Picault, S., Sigaud, O. et Gérard, P. 2002, « A comparison bet-ween ATNoSFERES and XCSM », dans GECCO 2002 : Proceedings of the Geneticand Evolutionary Computation Conference, édité par W. B. Langdon et al., MorganKaufmann, p. 926–933.

[19] Landau, S. et Picault, S. 2001, « Modeling adaptive multi-agent systems inspi-red by developmental biology », dans Multi-Agent-Systems and Applications II. 9thECCAI-ACAI/EASSS 2001, AEMAS 2001, HoloMAS 2001, Selected Revised Papers,Lecture Notes in Computer Science, vol. 2322, édité par V. Marík, O. Stepánková,H. Krautwurmowa et M. Luck, Springer, p. 221–232.

[20] Landau, S., Picault, S. et Drogoul, A. 2001, « ATNoSFERES : a model for evolu-tive agent behaviors », dans Proceedings of the AISB Symposium on Adaptive Agentsand Multi-Agent Systems (AISB’2001), édité par D. Kudenko et E. Alonso, TheSociety for the Study of Artificial Intelligence and the Simulation of Behaviour,York, UK, ISBN 1-902956-17-0, p. 95–99.

[21] Picault, S. et Drogoul, A. 2000, « The MICRoBES project, an experimental ap-proach towards ’Open Collective Robotics’ », dans Proceedings of the 5th Interna-tional Conference on Distributed Autonomous Robotic Systems (DARS’2000), édité parL. E. Parker.

[22] Picault, S. et Drogoul, A. 2000, « Robots as a social species : the MICRoBESproject », dans Socially Intelligent Agents : the Human in the Loop (SIA’2000), éditépar K. Dautenhahn, no FS–00–04 dans AAAI Fall Symposium, AAAI Press, ISBN978-1-57735-127-6, p. 139–141.

[23] Picault, S. et Collinot, A. 1998, « Designing social cognition models for multi-agent systems through simulating primate societies », dans Proceedings of the 3rdInternational Conference on Multi-Agent Systems (ICMAS’98), édité par Y. Dema-zeau, IEEE Computer Society Press, p. 238–245.

Conférences francophones (avec comité de lecture et actes)

[24] Mathieu, P. et Picault, S. 2013, « Des données aux agents : la simulation réalistede populations diversifiées de clients », dans Actes des 21e Journées Francophonessur les Systèmes Multi-Agents (JFSMA’2013), édité par S. Hassas et M. Morge, Cé-paduès, p. 41–50.

[25] Mathieu, P., Panzoli, D. et Picault, S. 2011, « Serious games et SMA. Applica-tion à un supermarché virtuel », dans Actes des 19e Journées Francophones sur lesSystèmes Multi-Agents (JFSMA’2011), édité par E. Adam et J.-P. Sansonnet, Cépa-duès, p. 181–190.

[26] Picault, S., Mathieu, P. et Kubera, Y. 2010, « PADAWAN, un modèle multi-échelles pour la simulation orientée interactions », dans Actes des 18e JournéesFrancophones sur les Systèmes Multi-Agents (JFSMA’2010), édité par M. Occello etL. Rejeb, Cépaduès, p. 193–202.

[27] Gaillard, F., Kubera, Y., Mathieu, P. et Picault, S. 2009, « Une forme de rétroingénierie pour systèmes multi agents : explorer l’espace des simulations », dansActes des 17e Journées Francophones sur les Systèmes Multi-Agents (JFSMA’2009),édité par Z. Guessoum et S. Hassas, Cépaduès, p. 135–144.

— 119 —

Page 134: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

PUBLICATIONS PERSONNELLES

[28] Kubera, Y., Mathieu, P. et Picault, S. 2007, « La complexité dans les simulationsmulti-agents », dans Actes des 15e Journées Francophones sur les Systèmes Multi-Agents (JFSMA’2007), édité par V. Camps et P. Mathieu, Cépaduès, p. 139–148.

[29] Mathieu, P., Picault, S. et Routier, J.-C. 2007, « Donner corps aux interac-tions », dans Actes des 4e Journées Francophones sur les Modèles Formels de l’In-teraction (MFI’07), Université de Paris Dauphine, p. 333–340.

[30] Picault, S., Corellou, F., Schwartz, C. et Bouget, F.-Y. 2007, « Simulation multi-agent de réseaux génétiques : les rythmes circadiens d’ostreococcus tauri », dansActes des 15e Journées Francophones sur les Systèmes Multi-Agents (JFSMA’2007),édité par V. Camps et P. Mathieu, Cépaduès, p. 149–158.

[31] Lacroix, B., Mathieu, P. et Picault, S. 2006, « Une gestion réaliste du temps et del’espace dans les simulations de foules », dans Actes des 14e Journées Francophonessur les Systèmes Multi-Agents (JFSMA’2006), édité par V. Chevrier et M.-P. Huget,Hermès, p. 77–80.

[32] Mathieu, P. et Picault, S. 2006, « Vers une représentation des comportementscentrée interactions », dans Actes du 15e congrès Reconnaissance des Formes et Intel-ligence Artificielle (RFIA’2006), édité par P. Bouthemy et Y. Demazeau, Universitéde Tours. URL http://www.tsi.enst.fr/afrif/rfia2006/pdf/065.pdf.

[33] Mathieu, P., Picault, S. et Routier, J.-C. 2003, « Simulation de comportementspour agents rationnels situés », dans Actes des 2e Journées Francophones sur lesModèles Formels de l’Interaction (MFI’03), édité par A. Herzig, B. Chaïb-Draa etP. Mathieu, Cépaduès, p. 277–282.

[34] Picault, S. et Drogoul, A. 1999, « MICRoBES : vers des collectivités de robotssocialement situés », dans Actes des 7e Journées Francophones Intelligence Artifi-cielle Distribuée et Systèmes Multi-Agents (JFIADSMA’99), édité par M.-P. Gleizeset P. Marcenac, Hermès, p. 265–277.

[35] Picault, S. et Collinot, A. 1998, « La socialité : étude, enjeux et applicationsdans les systèmes multi-agents », dans Actes des 6e Journées Francophones Intelli-gence Artificielle Distribuée et Systèmes Multi-Agents (JFIADSMA’98), édité par J.-P.Barthès, V. Chevrier et C. Brassac, Hermès, p. 327–340.

Articles courts, démonstrations, posters (conf. int. sélectives)

[36] Mathieu, P. et Picault, S. 2013, « The Galaxian project : A 3d interaction-basedanimation engine », dans Proceedings of the 11th International Conference on PracticalApplications of Agents and Multi-Agent Systems (PAAMS’2013), Lecture Notes in Com-puter Science, vol. 7879, édité par Y. Demazeau, T. Ishida, J. M. Corchado et J. Bajo,Springer, p. 312–315. Demonstration paper.

[37] Mathieu, P., Panzoli, D. et Picault, S. 2012, « An immersion into a multi-agentstore simulation », dans Proceedings of the 10th International Conference on Practi-cal Applications of Agents and Multi-Agents Systems (PAAMS’2012), Advances in In-telligent and Soft Computing, vol. 155, édité par Y. Demazeau, J. P. Müller, J. M.Corchado et J. Bajo, Springer, p. 273–276. Demonstration paper.

— 120 —

Page 135: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

PUBLICATIONS PERSONNELLES

[38] Mathieu, P., Panzoli, D. et Picault, S. 2012, « Virtual customers in an agentworld », dans Proceedings of the 10th International Conference on Practical Applicationsof Agents and Multi-Agents Systems (PAAMS’2012), Advances in Intelligent and SoftComputing, vol. 155, édité par Y. Demazeau, J. P. Müller, J. M. Corchado et J. Bajo,Springer, p. 147–152. Short paper.

[39] Kubera, Y., Mathieu, P. et Picault, S. 2010, « Everything can be agent ! », dansProceedings of the 9th International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS’2010), édité par W. van der Hoek, G. Kaminka, Y. Lespé-rance, M. Luck et S. Sen, International Foundation for Autonomous Agents andMultiagent Systems, p. 1547–1548. Extended abstract.

[40] Picault, S. 1998, « A multi-agent simulation of primate social concepts », dansProceedings of the 13th European Conference on Artificial Intelligence (ECAI’98), éditépar H. Prade, John Wiley and Sons, p. 327–328. Young researcher paper.

[41] Bersagol, V., Dessalles, J.-L., Kaplan, F., Marze, J.-C. et Picault, S. 1996,« XMOISE : A logical spreadsheet to elicit didactic knowledge », dans ComputerAided Learning and Instruction in Science and Engineering, Third International Confe-rence, CALISCE’96, Lecture Notes in Computer Science, vol. 1108, édité par A. Díaz deIlarra Sanchez et I. Fernández de Castro, Springer, p. 430–432. Poster.

Vulgarisation

[42] Mathieu, P., Picault, S. et Routier, J.-C. 2005, « Les agents intelligents », PourLa Science, , no

332, p. 44–52, ISSN 0153-4092.

[43] Picault, S. 2002, « Des moutons et des robots (P. Arnaud) », La Recherche, , no

350, ISSN 0029-5671. Critique de livre.

Ateliers

[44] Lacroix, B., Mathieu, P. et Picault, S. 2006, « Time and space managementin crowd simulation », dans Proceedings of the European Simulation and ModellingConference (ESM’2006), p. 315–320.

[45] Mathieu, P. et Picault, S. 2005, « Towards an interaction-based design of be-haviors », dans Proceedings of the 3rd European Workshop on Multi-Agent Systems(EUMAS’2005), édité par M.-P. Gleizes et al., Koninklijke Vlaamse Academie vanBelie voor Wetenschappen en Kunsten, p. 167–178.

[46] Landau, S. et Picault, S. 2003, « Developping agents populations with Ethogene-tics », dans Innovative Concepts for Agent-Based Systems : 1st International Workshopon Radical Agent Concepts (WRAC’2002). Revised Papers, Lecture Notes in ComputerScience, vol. 2564, édité par W. Truszkowski, C. Rouff et M. G. Hinchey, Springer.

[47] Picault, S. et Landau, S. 2001, « Ethogenetics : an evolutionary approach toagents organization », dans Actes du colloque ALCAA (Agents Logiciels, Coopération,Apprentissage et Activité humaine).

[48] Picault, S. et Landau, S. 2001, « Ethogenetics and the evolutionary design ofagent behaviors », dans Proceedings of the 5th World Multi-Conference on Systemics,

— 121 —

Page 136: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

PUBLICATIONS PERSONNELLES

Cybernetics and Informatics (SCI’2001), édité par N. Callaos, I. Nunes da Silva etJ. Molero.

Mémoires[49] Landau, S. et Picault, S. 2002, « Stack-based gene expression », Rapport tech-

nique 2002/11, LIP6.

[50] Picault, S. 2001, Modèles de comportements sociaux pour les collectivités de ro-bots et d’agents, Thèse de doctorat, Université Paris VI. URL http://tel.archives-ouvertes.fr/tel-00851693.

[51] Picault, S., Servat, D. et Kaplan, F. 1997, « EDEN : un système évolutif endosé-mantique », Publication interne, École Nationale Supérieure des Télécommunica-tions. ISSN 0751–1345.

h a g

— 122 —

Page 137: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Références bibliographiques

Je ne suis pas assez jeune pour tout savoir.

G. B. Shaw

[52] van der Aalst, W. M. 2011, Process Mining : Discovery, Conformance and Enhan-cement of Business Processes, Springer.

[53] van der Aalst, W. M., van Dongen, B. F., Herbst, J., Maruster, L., Schimm,G. et Weijters, A. J. M. M. 2003, « Workflow mining : A survey of issues andapproaches », Data and Knowledge Engineering, vol. 47, no

2, p. 237–267.[54] Abrami, G. 2004, Niveaux d’organisation dans la modélisation multi-agent pour la

gestion des ressources renouvelables. Application à la mise en œuvre de règles collec-tives de gestion de l’eau agricole dans la basse-vallée de la Drôme, Thèse de doctorat,ENGREF.

[55] Agrawal, R. et Srikant, R. 1994, « Fast algorithm for mining association rules »,dans Proceedings of the 20th Conference on Very Large Data Bases (VLDB’94), éditépar J. G. Bocca, M. Jarke et C. Zaniolo, Morgan Kaufmann, p. 487–499.

[56] An, G. 2008, « Introduction of an agent-based multi-scale modular architecturefor dynamic knowledge representation of acute inflammation », Theoretical Bio-logy and Medical Modelling, vol. 5, no

11.[57] Arthur, W. B., Holland, J. H., LeBaron, B., Palmer, R. et Tayler, P. 1997,

« Asset pricing under endogenous expectations in an artificial stock market »,Economic Notes, vol. 26, p. 297–330.

[58] Axelrod, R. 1997, « Advancing the art of simulation in the social sciences »,dans Simulating Social Phenomena, Lecture Notes in Economics and MathematicalSystems, vol. 456, édité par R. Conte, R. Hegselmann et P. Terna, Springer, p.21–40.

[59] Bachelard, G. 1934, Le Nouvel Esprit scientifique, Presses Universitaires deFrance.

— 123 —

Page 138: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[60] Baeijs, C., Demazeau, Y. et Alvares, L. 1996, « SIGMA : Application of multi-agent systems to cartographic generalization », dans Proceedings of the 7th Eu-ropean Workshop on Modelling Autonomous Agents in a Multi-Agent World (MAA-MAW’96), Lecture Notes in Computer Science, vol. 1038, édité par W. Van de Veldeet J. W. Perram, Springer, p. 163–176.

[61] Barutcuoglu, Z., Schapire, R. E. et Troyanskaya, O. G. 2006, « Hierarchicalmulti-label prediction of gene function », Bioinformatics, vol. 22, no

7, p. 830–836.

[62] Beaudouin, R., Monod, G. et Ginot, V. 2008, « Selecting parameters for ca-libration via sensitivity analysis : An individual-based model of mosquitofishpopulation dynamics », Ecological Modelling, vol. 218, p. 29–48.

[63] Bellotti, F., Berta, R., Gloria, A. D. et Primavera, L. 2009, « Enhancing theeducational value of video games », Computers in Entertainment, vol. 7, no

23, p.1–18.

[64] Belousov, B. 1959, « Periodically acting reaction and its mechanism », Collectionof Abstracts on Radiation Medicine, vol. 147, p. 145.

[65] Bersini, H. 2012, « UML for ABM », Journal of Artificial Societies and Social Simu-lation, vol. 15, no

1. URL http://jasss.soc.surrey.ac.uk/15/1/9.html.

[66] von Bertalanffy, L. 1993, Théorie générale des systèmes, Dunod. Traduit de l’an-glais par Jean-Benoit Chabrol (General System Theory, 1968).

[67] Boltzmann, L. 1902, Leçons sur la théorie cinétique des gaz, Gauthier-Villars. Tra-duit de l’allemand par A. Gallotti (Vorlesungen über Gastheorie, 1896–1898).

[68] Bonabeau, E. 2002, « Agent-based modeling : Methods and techniques for simu-lating human systems », Proceedings of the National Academy of Sciences (PNAS),vol. 99, no

3, p. 7280–7287.

[69] Bonneaud, S., Redou, P., Thébault, D. et Chevaillier, P. 2007, « Multi-modélisation agent orientée patterns. Application aux écosystèmes exploi-tés », dans Actes des 15e Journées Francophones sur les Systèmes Multi-Agents (JF-SMA’2007), édité par V. Camps et P. Mathieu, Cépaduès, p. 119–128.

[70] Borges, J. L. 1967, Fictions, chap. « Pierre Menard, auteur du Quichotte », LaCroix du Sud, Gallimard. Traduit de l’espagnol par Paul Verdevoye (Pierre Me-nard, autor del Quijote, 1939).

[71] Boriah, S., Chandola, V. et Kumar, V. 2008, « Similarity measures for categori-cal data : A comparative evaluation », dans Proceedings of the SIAM InternationalConference on Data Mining (SDM 2008), SIAM, p. 243–254.

[72] Boulier, F. 2006, Réécriture algébrique dans les systèmes d’équations différen-tielles polynomiales en vue d’applications dans les Sciences du Vivant, Mémoired’habilitation à diriger des recherches, Université Lille 1. URL http://tel.archives-ouvertes.fr/tel-00137153.

[73] Boulier, F., Lefranc, M., Lemaire, F., Morant, P.-E. et Ürgüplü, A. 2007, « Onproving the absence of oscillations in models of genetic circuits », dans Procee-dings of the 2nd International Conference on Algebraic Biology (AB’2007), LectureNotes in Computer Science, vol. 4545, édité par H. Anai, K. Horimoto et T. Kutsia,Springer, p. 66–80.

— 124 —

Page 139: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[74] Bousquet, F. et Le Page, C. 2004, « Multi-agent simulations and ecosystem ma-nagement : a review », Ecological Modelling, vol. 176, no

3–4, p. 313–332.[75] Brandouy, O., Mathieu, P. et Veryzhenko, I. 2013, « On the design of agent-

based artificial stock markets », dans Agents and Artificial Intelligence, Communi-cations in Computer and Information Science, vol. 271, édité par J. Filipe et A. Fred,Springer, p. 350–364.

[76] Breton, L. et Jussien, N. 2004, « Un CSP comme comportement d’agent. Appli-cation à la résolution d’équations en physique des milieux granulaires », JournalÉlectronique d’Intelligence Artificielle, vol. 3, no

26.[77] Caillou, P. et Gil-Quijano, J. 2012, « Description automatique de dynamiques

de groupes dans des simulations à base d’agents », dans Actes des 20e JournéesFrancophones sur les Systèmes Multi-Agents (JFSMA’2012), édité par P. Chevaillieret B. Mermet, Cépaduès, p. 23–32.

[78] Camus, B., Siebert, J., Bourjot, C. et Chevrier, V. 2012, « Modélisation multi-niveaux dans AA4MM », dans Actes des 20e Journées Francophones sur les SystèmesMulti-Agents (JFSMA’2012), édité par P. Chevaillier et B. Mermet, Cépaduès, p.43–52.

[79] Chaib-Draa, B., Mandiau, R. et Millot, P. 1992, « Distributed intelligence. Anannotated bibliography », SIGART Bulletin, vol. 3, no

3, p. 20–37.[80] Chen, D., Theodoropoulos, G. K., Turner, S. J., Cai, W., Minson, R. et Zhang,

Y. 2008, « Large scale agent-based simulation on the grid », Future GenerationComputer Systems, p. 658–671.

[81] Choi, S.-S., Cha, S.-H. et Tappert, C. C. 2010, « A survey of binary similarityand distance measures », Journal of Systemics, Cybernetics and Informatics, vol. 8,no

1, p. 43–48.[82] Collier, N. et North, M. 2012, « Repast HPC : Platform for large-scale agent-

based modeling », dans Large-scale computing techniques for complex system simu-lations, édité par W. Dubitzky, K. Kurowski et B. Schott, Parallel and DistributedComputing, John Wiley and Sons, p. 81–109.

[83] Conte, R. et Castelfranchi, C. 1993, « Norms as mental objects. From nor-mative beliefs to normative goals », dans From Reaction to Cognition. 5th Euro-pean Workshop on Modelling Autonomous Agents (MAAMAW’93), Lecture Notes inComputer Science, vol. 957, édité par C. Castelfranchi et J.-P. Müller, Springer, p.186–196.

[84] Coquillard, P. et Hill, D. 1997, Modélisation et simulation d’écosystèmes, Masson,Paris.

[85] Courties, C., Vaquer, A., Troussellier, M., Lautier, J., Chrétiennot-Dinet,M. J., Neveux, J., Machado, C. et Claustre, H. 1994, « Smallest eukaryoticorganism », Nature, vol. 370, no

6487, p. 255.[86] David, D., Payet, D., Botta, A., Lajoie, G., Manglou, S. et Courdier, R. 2007,

« Un couplage de dynamiques comportementales : Le modèle DS pour l’aména-gement du territoire », dans Actes des 15e Journées Francophones sur les SystèmesMulti-Agents (JFSMA’2007), édité par V. Camps et P. Mathieu, Cépaduès, p. 129–138.

— 125 —

Page 140: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[87] David, D., Payet, D. et Courdier, R. 2011, « Réification de zones urbaines émer-gentes dans un modèle simulant l’évolution de la population à La Réunion »,dans Actes des 19e Journées Francophones sur les Systèmes Multi-Agents (JF-SMA’2011), édité par E. Adam et J.-P. Sansonnet, Cépaduès, p. 63–72.

[88] Demazeau, Y. 1995, « From interactions to collective behaviour in agent-basedsystems », dans Proceedings of the 1st European Conference on Cognitive Science,Saint-Malo, France.

[89] Derelle, E., Ferraz, C., Rombauts, S., Rouzé, P., Worden, A. Z., Robbens,S., Partensky, F., Degroeve, S., Echeynié, S., Cooke, R., Saeys, Y., Wuyts, J.,Jabbari, K., Bowler, C., Panaud, O., Piégu, B., Ball, S. G., Ral, J.-P., Bou-get, F.-Y., Piganeau, G., De Baets, B., Picard, A., Delseny, M., Demaille, J.,Van de Peer, Y. et Moreau, H. 2006, « Genome analysis of the smallest free-living eukaryote Ostreococcus tauri unveils many unique features », Proceedingsof the National Academy of Sciences (PNAS), vol. 103, no

31.

[90] Devigne, D., Mathieu, P. et Routier, J.-C. 2004, « Planning for spatially situa-ted agents », dans Proceedings of the IEEE/WIC/ACM International Conference onIntelligent Agent Technology (IAT’2004), IEEE Computer Society Press, p. 385–388.

[91] Dice, L. R. 1945, « Measures of the amount of ecologic association betweenspecies », Ecology, vol. 26, no

3, p. 297–302.

[92] Doran, J. 1995, « Simulating societies using distributed artificial intelligence »,dans Dagstuhl Seminar Social Science Microsimulation, édité par K. G. Troitzsch,U. Mueller, N. Gilbert et J. Doran, Springer, ISBN 3-540-61572-5, p. 381–393.

[93] Dorigo, M. et Gambardella, L. M. 1997, « Ant colony system : a cooperativelearning approach to the traveling salesman problem », IEEE Transactions onEvolutionary Computation, vol. 1, no

1, p. 53–66.

[94] Doyle, A. C. 1890, « The Sign of the Four », Lippincott’s Monthly Magazine, p.145–223. February.

[95] Drogoul, A. 1993, De la Simulation Multi-Agent à la Résolution Collective de Pro-blèmes. Une étude de l’émergence de structures d’organisation dans les Systèmes Multi-Agents, Thèse de doctorat, Université Paris VI.

[96] Drogoul, A. et Dubreuil, C. 1991, « Eco-problem-solving model : Results ofthe N-Puzzle », dans Decentralized AI III, édité par Y. Demazeau et E. Werner,Elsevier, p. 283–295.

[97] Drogoul, A. et Ferber, J. 1993, « From Tom-Thumb to the Dockers : Someexperiments with foraging robots », dans From Animals to Animats 2. Proceedingsof the 2nd International Conference on Simulation of Adaptive Behavior, édité parJ.-A. M. Meyer, H. L. Roitblat et S. W. Wilson, MIT Press, Cambridge, MA, p.451–459.

[98] Drogoul, A. et Ferber, J. 1994, « Multi-agent simulations as a tool for modelingsocieties : Application to social differentiation in ant colonies », dans ArtificialSocial Systems. 4th European Workshop on Modelling Autonomous Agents in a Multi-Agent World (MAAMAW’92), Lecture Notes in Computer Science, vol. 830, édité parC. Castelfranchi et E. Werner, Springer, p. 3–23.

— 126 —

Page 141: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[99] Drogoul, A., Vanbergue, D. et Meurisse, T. 2003, « Multi-agent based simula-tion : Where are the agents ? », dans Proceedings of the 3rd International Conferenceon Multi-Agent Based Simulation (MABS’2002), Lecture Notes in Computer Science,vol. 2581, édité par J. S. Sichman, F. Bousquet et P. Davidsson, Springer, p. 1–15.

[100] Duchêne, C. 2004, Généralisation par agents communicants : Le modèle CARTA-COM. Application aux données topographiques en zone rurale, Thèse de doctorat,Université Paris VI.

[101] Duchêne, C., Ruas, A. et Cambier, C. 2012, « The CartACom model : transfor-ming cartographic features into communicating agents for cartographic genera-lisation », International Journal of Geographical Information Science, vol. 26, no

9, p.1533–1562.

[102] Duchêne, C. et Touya, G. 2010, « Emergence de zones conflits dans deux mo-dèles de généralisation cartographique multi-agents », dans Actes des 18e Jour-nées Francophones sur les Systèmes Multi-Agents (JFSMA’2010), édité par M. Oc-cello et L. Rejeb, Cépaduès, p. 33–42.

[103] Dujardin, T. et Routier, J.-C. 2010, « Behavior design of game character’sagent », dans Proceedings of the IEEE/WIC/ACM International Conference on In-telligent Agent Technology (IAT’2010), IEEE Computer Society Press, p. 423–430.

[104] E, W. 2011, Principles of Multiscale Modeling, Cambridge University Press.

[105] Edmonds, B. 2005, « Simulation and complexity – how they can relate », dansVirtual World of Precision. Computer-based Simulations in the Sciences and SocialSciences, édité par V. Feldmann et K. Mühlfeld, Lit Verlag, p. 5–32.

[106] Edmonds, B. et Hales, D. 2003, « Replication, replication and replication : Somehard lessons from model alignment », Journal of Artificial Societies and Social Si-mulations, vol. 6, no

4.

[107] Engquist, B., Lötstedt, P. et Runborg, O., (éditeurs). 2009, Multiscale Modelingand Simulation in Science, Lecture Notes in Computational Science and Engineering,vol. 66, Springer.

[108] Erceau, J. et Ferber, J. 1991, « L’Intelligence Artificielle Distribuée », La Re-cherche, vol. 233.

[109] Espié, S. 1999, « Vehicle driven simulator versus traffic-driven simulator : theINRETS approach », dans Proceedings of Driving Simulation Conference (DSC’99),Paris, France.

[110] Ferber, J. 1995, Les Systèmes Multi-Agents. Vers une intelligence collective, Inter-Éditions.

[111] Ferber, J., Michel, F. et Báez, J. 2005, « AGRE : Integrating environmentswith organizations », dans Environments for Multi-Agent Systems : 1st Interna-tional Workshop (E4MAS’2004). Revised Selected Papers, Lecture Notes in ComputerScience, vol. 3374, édité par D. Weyns, H. V. D. Parunak et F. Michel, Springer,p. 48–56.

[112] Fibich, G. et Gibori, R. 2010, « Aggregate diffusion dynamics in agent-basedmodels with a spatial structure », Operations Research, vol. 58, no

5, p. 1450–1468.

— 127 —

Page 142: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[113] François, P. et Hakim, V. 2005, « Core genetic module : the mixed feedbackloop », Physical review. E, Statistical, nonlinear, and soft matter physics, vol. 72, no

031908.

[114] Fujimoto, R. M. 1998, « Time management in the high level architecture »,Simulation, vol. 71, p. 388–400.

[115] Galán, J. M., Izquierdo, L. R., Izquierdo, S. S., Santos, J. I., del Olmo, R.,López-Paredes, A. et Edmonds, B. 2009, « Errors and artefacts in agent-basedmodelling », Journal of Artificial Societies and Social Simulation, vol. 12, no

1.

[116] Gardner, M. 1970, « Mathematical Games. The fantastic combinations of JohnConway’s new solitaire game "life" », Scientific American, , no

223, p. 120–123.

[117] Gasser, L. et Briot, J.-P. 1992, « Object-based concurrent programming andDistributed Artificial Intelligence », dans Distributed Artificial Intelligence : Theoryand Praxis, édité par N. M. Avouris et L. Gasser, Kluwer, p. 81–107.

[118] Gaud, N. 2007, Systèmes multi-agents holoniques : de l’analyse à l’implantation. Méta-modèle, méthodologie, et simulation multi-niveaux, Thèse de doctorat, Université deFranche-Comté et Univesité de Technologie de Belford-Montbéliard.

[119] Gibson, J. J. 1979, The Ecological Approach to Visual Perception, Hillsdale.

[120] Gil-Quijano, J. 2007, Modèles d’auto-organisation pour l’émergence de formes ur-baines à partir de comportements individuels à Bogota, Thèse de doctorat, UniversitéParis VI.

[121] Gilbert, N. et Conte, R. 1995, Artificial Societies, UCL Press, London.

[122] Goldbeter, A. 1995, « A model for circadian oscillations in the Drosophila per-iod protein (PER) », Proceedings of the Royal Society of London. Series B, Biologicalsciences, vol. 261, p. 319.

[123] Goldbeter, A. 1996, Biochemical Oscillations and Cellular Rhythms : The molecularbases of periodic and chaotic behaviour, Cambridge University Press.

[124] Gonze, D., Halloy, J. et Goldbeter, A. 2002, « Deterministic versus stochasticmodels for circadian rhythms », Journal of Biological Physics, vol. 28, p. 637–653.

[125] Grevisse, M. 1993, Le bon usage. Grammaire française, 13e éd., Duculot. Refondue

par André Goose. 4e tirage (1997).

[126] Harmer, S., Panda, S. et Kay, S. 2001, « Molecular bases of circadian rhythms »,Annual Review of Cell and Developmental Biology, vol. 17, p. 215–253.

[127] Hayes-Roth, B. 1985, « A blackboard architecture for control », Artificial Intelli-gence, vol. 26, no

3, p. 251–321.

[128] Hewitt, C. 1977, « Viewing control structures as patterns of message passing »,Artificial Intelligence, vol. 8, no

3, p. 323–374.

[129] Hewitt, C. et Inman, J. 1991, « Distributed artificial intelligence betwixt andbetween : From ’intelligent agents’ to open system science », IEEE Transactionson Systems, Man and Cybernetics, vol. 21, no

6, p. 1409–1419.

[130] Hiebeler, D. E. 1994, « The Swarm simulation system and Individual-BasedModeling », Working paper 94-11-065, Santa Fe Institute.

— 128 —

Page 143: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[131] Hofstadter, D. 1988, Ma Thémagie : En quête de l’essence de l’esprit et du sens,chap. 10 (Des variations sur un thème considérées comme l’essence de la créa-tivité), InterÉditions, Paris, p. 220–248. Traduit de l’anglais par Jean-Luc Bonne-tain (Metamagical Themas : Questing for the Essence of Mind and Pattern, 1985).

[132] Hutzler, G. et Gortais, B. 2004, « From computer art to ambient displays »,Machine Graphics and Vision, vol. 13, p. 181–191.

[133] Jaccard, P. 1901, « Étude comparative de la distribution florale dans une portiondes Alpes et du Jura », Bulletin de la Société Vaudoise des Sciences Naturelles, vol. 37,p. 547–579.

[134] Kubera, Y. 2010, Simulations orientées-interaction des systèmes complexes, thèse dedoctorat, Université Lille 1.

[135] Kulczynski, S. 1927, « Classe de sciences mathématiques et naturelles », BulletinInternational de l’Académie Polonaise des Sciences et des Lettres, vol. Série B (SciencesNaturelles), no Supplément II, p. 57–203.

[136] Lacroix, B. 2009, Normer pour mieux varier ? La différenciation comportementale parles normes, et son application au trafic dans les simulateurs de conduite, Thèse dedoctorat, Université Lille 1.

[137] Lacroix, B., Mathieu, P. et Kemeny, A. 2013, « Formalizing the construction ofpopulations in multi-agent simulations », Journal of Engineering Applications ofArtificial Intelligence, vol. 26, no

1, p. 211–226.

[138] Lamarche-Perrin, R., Demazeau, Y. et Vincent, J.-M. 2011, « Observation ma-croscopique et émergence dans les SMA de très grande taille », dans Actes des19e Journées Francophones sur les Systèmes Multi-Agents (JFSMA’2011), édité parE. Adam et J.-P. Sansonnet, Cépaduès, p. 53–62.

[139] Lamy, S., Ruas, A., Demazeau, Y., Jackson, M., Mackaness, W. et Weibel, R.« The applications of agents in automated map generalisation », p. 1225–1234.

[140] Langfelder, P. et Horvath, S. 2012, « Fast R functions for robust correlationsand hierarchical clustering », Journal of Statistical Software, vol. 46, no

11, p. 1–17.

[141] Langton, C. 1988, Artificial Life, Addison-Wesley.

[142] Leloup, J.-C., Gonze, D. et Goldbeter, A. 1999, « Limit cycle models for circa-dian rhythms based on transcriptional regulation in Neurospora and Drosophila »,Journal of Biological Rhythms, vol. 14, p. 433–448.

[143] Lewis, J. 2003, « Autoinhibition with transcriptional delay : a simple mechanismfor the zebrafish somitogenesis oscillator », Current Biology, vol. 13, p. 1398.

[144] Littré, P.-E. 1863–1872, Dictionnaire de la langue française, Hachette.

[145] Locke, J. C. W., Millar, A. J. et Turner, M. S. 2005, « Modelling genetic net-works with noisy and varied experimental data : the circadian clock in arabidop-sis thaliana », Journal of Theoretical Biology, vol. 234, p. 383.

[146] Lorenz, K. 1984, Les fondements de l’éthologie, Flammarion. Traduit de l’allemandpar Jeanne Etoré (Vergleichende Verhaltensforschung : Grundlagen der Ethologie,1978).

— 129 —

Page 144: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[147] Maloney, J., Resnick, M., Rusk, N., Silverman, B. et Eastmond, E. 2010, « Thescratch programming language and environment », ACM Transactions on Com-puting Education, vol. 10, no

4, p. 16 :1–16 :15.[148] Marcenac, P. et Giroux, S. 1998, « GEAMAS : A generic architecture for agent-

oriented simulations of complex processes », Applied Intelligence, vol. 8, no3, p.

247–267.[149] Marsh, S. 1994, « Trust in Distributed Artificial Intelligence », dans Artificial

Social Systems. 4th European Workshop on Modelling Autonomous Agents in a Multi-Agent World (MAAMAW’92), Lecture Notes in Computer Science, vol. 830, édité parC. Castelfranchi et E. Werner, Springer, p. 94–112.

[150] Mathieu, P., Routier, J.-C. et Urro, P. 2001, « Un modèle de simulation agentbasé sur les interactions », dans Actes des Premières Journées Francophones sur lesModèles Formels de l’Interaction (MFI’01), p. 407–417.

[151] Mathieu, P. et Secq, Y. 2012, « Environment updating and agent scheduling po-licies in agent-based simulators », dans Proceedings of the 4th International Confe-rence on Agents and Artificial Intelligence (ICAART’2012), édité par J. Filipe etA. L. N. Fred, SciTePress, p. 170–175.

[152] McFarland, D., (éditeur). 1990, Dictionnaire du comportement animal, Bouquins,Robert Laffont, Paris. Traduit de l’anglais par Guy Schœller (The Oxford Compa-nion to Animal Behaviour, 1981).

[153] Michaelis, L. et Menten, M. L. 1913, « Die Kinetik der Invertinwirkung »,Biochemische Zeitschrift, vol. 49, p. 333–369.

[154] Michel, F. 2007, « Le modèle IRM4S. De l’utilisation des notions d’influence etde réaction pour la simulation de systèmes multi-agents », Revue d’IntelligenceArtificielle, vol. 21, no

5–6, p. 757–779.[155] Michel, F. 2013, « Intégration du calcul sur GPU dans la plate-forme de simula-

tion multi-agent générique TurtleKit3 », dans Actes des 21e Journées Francophonessur les Systèmes Multi-Agents (JFSMA’2013), édité par S. Hassas et M. Morge,Cépaduès, p. 189–198.

[156] Michel, F., Ferber, J., Laur, P.-A. et Aleman, F. 2010, « Programmation situa-tionnelle : programmation visuelle de comportements agents pour non informa-ticiens », dans Actes des 18e Journées Francophones sur les Systèmes Multi-Agents(JFSMA’2010), édité par M. Occello et L. Rejeb, Cépaduès, p. 65–74.

[157] Michel, F., Gouaich, A. et Ferber, J. 2003, « Weak interaction and strong inter-action in agent based simulations », dans Multi-Agent-Based Simulation III. 4thInternational Workshop (MABS’2003), Lecture Notes in Computer Science, vol. 2927,édité par D. Hales, B. Edmonds, E. Norling et J. Rouchier, Springer, p. 43–56.

[158] Minar, N., Burkhart, R., Langton, C. et Askenazi, M. 1996, « The SWARM si-mulation system : a toolkit for building multi-agent simulations », Working Pa-per 96-06-042, Santa Fe Institute. URL http://www.cs.uga.edu/~maria/pads/papers/swarm-MinarEtAl96.pdf.

[159] Pic de la Mirandole, J. 2005, De la dignité de l’homme, 4e éd., Collection « phi-

losophie imaginaire », Éditions de l’éclat. Traduit du latin par Yves Hersant(Oratio de hominis dignitate, 1486).

— 130 —

Page 145: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[160] Moncion, T., Amar, P. et Hutzler, G. 2010, « Automatic characterization ofemergent phenomena in complex systems », Journal of Biological Physics and Che-mistry, vol. 10, no

1, p. 16–23.[161] Monod, J. 1970, Le Hasard et la Nécessité. Essai sur la philosophie naturelle de la

biologie moderne, Seuil, Paris.[162] Morant, P.-E., Vandermoere, C., Parent, B., Lemaire, F., Corellou, F.,

Schwartz, C., Bouget, F.-Y. et Lefranc, M. 2007, « Oscillateurs génétiquessimples. applications à l’horloge circadienne d’une algue unicellulaire »,dans Actes des Rencontres du non linéaire, Paris. URL http://nonlineaire.univ-lille1.fr.

[163] Morvan, G. 2013, « Multi-level agent-based modeling – bibliography », Workin progres, CoRR. URL http://arxiv.org/abs/1205.0561, arXiv :1205.0561

[cs.MA].[164] Morvan, G., Veremme, A. et Dupont, D. 2010, « IRM4MLS : The Influence

Reaction model for multi-level simulation », dans Multi-Agent-Based SimulationXI. International Workshop (MABS’2010), Lecture Notes in Computer Science, vol.6532, édité par T. Bosse, A. Geller et C. M. Jonker, Springer, p. 16–27.

[165] Narain, R., Golas, A., Curtis, S. et Lin, M. C. 2009, « Aggregate dynamicsfor dense crowd simulation », ACM Transactions on Graphics, vol. 28, no

5, p.122 :1–122 :8.

[166] North, M. J., Collier, N. T. et Vos, J. R. 2006, « Experiences creating threeimplementations of the Repast agent modeling toolkit », ACM Transactions onModeling and Computer Simulations, vol. 16, no

1, p. 1–25.[167] Ochiai, A. 1957, « Zoogeographic studies on the soleoid fishes found in Japan

and its neighbouring regions », Bulletin of the Japanese Society for Fish Science,vol. 22, p. 526–530.

[168] Omicini, A., Ricci, A. et Viroli, M. 2008, « Artifacts in the A& A meta-modelfor multi-agent systems », Journal of Autonomous Agents and Multi-Agent Systems(JAAMAS), vol. 17, no

3, p. 435–456.[169] Panzoli, D., Peters, C., Dunwell, I., Sanchez, S., Petridis, P., Protopsaltis,

A., Scesa, V. et de Freitas, S. 2010, « Levels of interaction : A user-guided expe-rience in large-scale virtual environments », Proceedings of the 2nd InternationalConference on Games and Virtual Worlds for Serious Applications (VS-GAMES’2010),p. 87–90.

[170] Papert, S. 1981, Jaillissement de l’esprit. Ordinateurs et apprentissage, Flammarion.Traduit de l’anglais par Rose-Marie Vassallo-Villaneau (Mindstorms : Children,Computers, and Powerful Ideas, 1980).

[171] Paun, G. et Rozenberg, G. 2002, « A guide to membrane computing », Theore-tical Computer Science, vol. 287, no

1, p. 73–100.[172] Payet, D., Courdier, R., Ralambondrainy, T. et Sébastien, N. 2006, « Le mo-

dèle à Temporalité : pour un équilibre entre adéquation et optimisation dutemps dans les simulations agent », dans Actes des 14e Journées Francophonessur les Systèmes Multi-Agents (JFSMA’2006), édité par V. Chevrier et M.-P. Huget,Hermès, p. 63–76.

— 131 —

Page 146: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[173] Perret, J., Curie, F., Gaffuri, J. et Ruas, A. 2010, « Un système multi-agent pourla simulation des dynamiques urbaines », dans Actes des 18e Journées Franco-phones sur les Systèmes Multi-Agents (JFSMA’2010), édité par M. Occello et L. Re-jeb, Cépaduès, p. 205–213.

[174] Pitrat, J. 1990, Métaconnaissance, futur de l’Intelligence Artificielle, Hermès, Paris.

[175] Poincaré, H. 1902, La science et l’hypothèse, Ernest Flammarion.

[176] Popper, K. R. 2006, Conjectures et réfutations : la croissance du savoir scientifique,Bibliothèque scientifique, Payot. Traduit de l’anglais par Michelle Irène et MarcB. de Launay (Conjectures and Refutations : The Growth of Scientific Knowledge,1963).

[177] Quéau, P. 1986, Éloge de la simulation. De la vie des langages à la synthèse des images,Champ Vallon/INA.

[178] Rao, A. S. et Georgeff, M. P. 1991, « Modelling rational agents within a BDI-architecture », dans Proceedings of the 2nd International Conference on Principles ofKnowledge Representation and Reasoning, édité par J. Allen, R. Fikes et E. Sande-wall, Morgan Kaufmann Publishers, San Mateo, CA.

[179] Resnick, M. 1997, Turtles, Termites and Traffic Jams, MIT Press.

[180] Reynolds, C. W. 1987, « Flocks, herds and schools : A distributed behavioralmodel », Computer Graphics, vol. 21, no

4, p. July.

[181] Roberts, S. C. et Lee, J. D. 2012, « Using agent-based modeling to predict thediffusion of safe teenage driving behavior through an online social network »,dans Proceedings of the Human Factors and Ergonomics Society Annual Meeting,vol. 56, p. 2271–2275.

[182] Robinson, S. 2009, « Conceptual modelling for simulation part I : Definitionand requirements », Journal of the Operational Research Society, vol. 59, no

3, p.278–290.

[183] Rodin, V., Querrec, G., Ballet, P., Bataille, F.-R., Desmeulles, G. et Tisseau,J. 2009, « Multi-agents system to model cell signalling by using fuzzy cognitivemaps. Application to computer simulation of multiple myeloma », dans Procee-dings of the 9th IEEE International Conference on Bioinformatics and Bioengineering(BIBE’2009), édité par J. J. P. Tsai, P. C.-Y. Sheu et H. C. W. Hsia, IEEE ComputerSociety Press, p. 236–241.

[184] Rouchier, J. et Bousquet, F. 1998, « Non-merchant economy and multi-agentsystem : An analysis of structuring exchanges », dans Multi-Agent Systems andAgent-Based Simulation, First International Workshop, MABS ’98, Lecture Notes inComputer Science, vol. 1534, édité par J. S. Sichman, R. Conte et N. Gilbert, Sprin-ger, p. 111–123.

[185] Rousseeuw, P. J. 1987, « Silhouettes : a graphical aid to the interpretation andvalidation of cluster analysis », Journal of Computational and Applied Mathematics,vol. 20, p. 53–65.

[186] Routier, J.-C. 2005, Conception par agent orientée compétences, Mémoire d’habili-tation à diriger des recherches, Université Lille 1.

— 132 —

Page 147: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[187] Routier, J.-C., Mathieu, P. et Secq, Y. 2001, « Dynamic skill learning : A sup-port to agent evolution », dans Proceedings of the Artificial Intelligence and theSimulation of Behaviour symposium on Adaptive Agents and Multi-agent systems(AISB’2001), édité par D. Kudenko et E. Alonso, p. 25–32.

[188] Ruas, A. 1999, Modèle de généralisation de données géographiques à base de contrainteset d’autonomie, Thèse de doctorat, Université Marne la Vallée.

[189] Russell, S. J. et Norvig, P. 1995, Artificial Intelligence. A Modern Approach, Pren-tice Hall.

[190] Salome, P. et McClung, C. 2004, « The Arabidopsis thaliana clock », Journal ofBiological Rhythms, vol. 19, p. 425–435.

[191] Sargent, R. G. « Verification and validation of simulation models », dans Procee-dings of the 30th Winter Simulation Conference (WSC’98), IEEE Computer SocietyPress, Los Alamitos, CA, p. 121–130.

[192] Scheiner-Bobis, G. 2002, « The sodium pump. Its molecular properties andmechanisms of ion transport », European Journal of Biochemistry, vol. 269, no

10,p. 2424–2433.

[193] Schelling, T. C. 1971, « Dynamic models of segregation », Journal of Mathema-tical Sociology, vol. 1, p. 143–186.

[194] Schwaiger, A. et Stahmer, B. 2003, « SimMarket : Multiagent-based customersimulation and decision support for category management », dans MultiagentSystem Technologies. Proceedings of MATES 2003, Lecture Notes in Computer Science,vol. 2831, édité par M. Schillo, M. Klusch, J. Müller et H. Tianfield, Springer, p.74–84.

[195] Servat, D. 2000, Modélisation de dynamiques de flux par agents. Application auxprocessus de ruissellement, infiltration, et érosion, Thèse de doctorat, Université Pa-ris VI.

[196] Shao, W. et Terzopoulos, D. 2007, « Autonomous pedestrians », Graphical Mo-dels, vol. 69, no

5–6, p. 246–274.

[197] Siebers, P.-O., Aickelin, U., Celia, H. et Clegg, C. W. 2007, « Using intel-ligent agents to understand management practices and retail productivity »,dans Proceedings of the Winter Simulation Conference (WSC’07), Washington, D.C.,p. 2212–2220.

[198] Simon, H. A. 1969, The Science of the Artificial, MIT Press, Cambridge, MA.

[199] Soler, L. 2000, Introduction à l’épistémologie, Ellipses.

[200] Sundman, K. F. 1913, « Mémoire sur le problème des trois corps », Acta Mathe-matica, vol. 36, p. 105–179.

[201] Sycara, K. P. 1998, « Multiagent systems », AI Magazine, vol. 19, no2, p. 79–92.

[202] Sørensen, T. 1948, « A method of establishing groups of equal amplitude inplant sociology based on similarity of species content », Kongelige Danske Vi-denskabernes Selskab. Biol. krifter, vol. Bd. V, no

4, p. 1–34.

[203] Taillandier, P., Vo, D.-A., Amouroux, E. et Drogoul, A. 2010, « GAMA : Asimulation platform that integrates geographical information data, agent-based

— 133 —

Page 148: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

modeling and multi-scale control », dans Principles and Practice of Multi-AgentSystems. 13th International Conference (PRIMA’2010), Lecture Notes in ComputerScience, vol. 7057, édité par N. Desai, A. Liu et M. Winikoff, Springer, p. 242–258.

[204] Terano, T. 2006, « Exploring the vast parameter space of multi-agent ba-sed simulation », dans Multi-Agent-Based Simulation VII, International Workshop(MABS’2006), Lecture Notes in Computer Science, vol. 4442, édité par L. Antuneset K. Takadama, Springer.

[205] Theraulaz, G. 1991, Morphogenèse et Auto-organisation des comportements dansles colonies de guêpes polistes Polistes dominilus (Christ), Thèse de troisième cycle,Université d’Aix-Marseille.

[206] Thom, R. 1988, Esquisse d’une sémiophysique. Physique aristotélicienne et théorie descatastrophes, InterÉditions.

[207] Torrel, J.-C., Lattaud, C. et Heudin, J.-C. 2009, « Complex systems in cosmo-logy : "The Antennae" case study », Complex, vol. 2, p. 1887–1897.

[208] Touya, G. et Duchêne, C. 2011, « CollaGen : Collaboration between automaticcartographic generalisation processes », dans Advances in Cartography and GIS-cience, Lecture Notes in Geoinformation and Cartography, vol. 1, édité par A. Ruas,Springer, p. 541–558.

[209] Tranouez, P. 2005, Contribution à la modélisation et à la prise en compte informatiquede niveaux de descriptions multiples. Application aux écosystèmes aquatiques, Thèsede doctorat, Université du Havre.

[210] Troisi, A., Wong, V. et Ratner, M. A. 2005, « An agent-based approach formodeling molecular self-organization », Proceedings of the National Academy ofSciences (PNAS), vol. 102, no

2, p. 255–260.

[211] Tsoumakas, G. et Katakis, I. 2007, « Multi label classification : An overview »,International Journal of Data Warehousing and Mining, vol. 3, no

3, p. 1–13.

[212] Turing, A. 1950, « Computing machinery and intelligence », Mind, vol. LXI, no

236, p. 433–460.

[213] Tyrrell, T. 1993, « The use of hierarchies for action selection », Adaptive Behavior,vol. 1, no

4, p. 387–420.

[214] Wiener, N. 1948, Cybernetics : or Control and Communication in the Animal and theMachine, Cambridge University Press.

[215] Wilde, O. 1890, « The Picture of Dorian Gray », Lippincott’s Monthly Magazine,p. 1–100. July.

[216] Wilensky, U. 1997, « Netlogo ants model », Netlogo model library, Center forConnected Learning and Computer-Based Modeling, Northwestern University,Evanston, IL. URL http://ccl.northwestern.edu/netlogo/models/Ants.

[217] Wilensky, U. 1999, « NetLogo », plateforme de simulation, Center for Connec-ted Learning and Computer-Based Modeling (CCL), Northwestern University,Evanston, IL. URL http://ccl.northwestern.edu/netlogo.

— 134 —

Page 149: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

[218] Woo, M.-J., Briot, J.-P. et Ferber, J. 1998, « Using components for modelingintelligent and collaborative mobile agents », dans Proceedings of the 7th Workshopon Enabling Technologies (WETICE’98), IEEE Computer Society Press, p. 276–281.

[219] Zeigler, B. P., Praehofer, H. et Kim, T. G. 2000, Theory of Modeling and Simula-tion, 2

e éd., Academic Press, Orlando, FL.

[220] Zhabotinsky, A. 1964, « Periodical process of oxydation of malonic acid solu-tion », Biophysics, vol. 9, p. 306–311.

h a g

— 135 —

Page 150: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RÉFÉRENCES BIBLIOGRAPHIQUES

— 136 —

Page 151: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Index général

h A g

acteurs (langages) . . . . . . . . . . . . . . . . . 4, 14

affordances. . . . . . . . . . . . . . . . . . . . . . .51, 56

agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5actif . . . . . . . . . . . . . . . . . . . 23, 27, 61, 79

labile . . . . . . . . . . . . . . . . . . . . . 23, 27, 79

passif . . . . . . . . . . . . . . . . . . . . . . . . .23, 27

toute entité est un agent . . 16, 23, 46,56

AGRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72, 74

approche orientée interactions . . . . . .voirIODA

ARNm. . . . . . . . . . . . . . . . . . . . . . . .36, 42–46

article prototype . . . . . . . . . . . . . . 91, 91, 92

autonomie . . . . . . . . . . . . . . . . . . .3, 5, 19, 21

avatar . . . . . . . . . . . . . . . . . . . . . . . . 48, 52, 53

h B g

BDI (architecture) . . . . . . . . . . . . . . . . . . . .15

biais . . . . . . . . . . . . . . . . . . . . . . . voir fiabilitéde simulation . . . . . . 26, 27, 29, 60, 70

h C g

calibration . . . . . 37, 39, 47, 59, 89, 99, 104

CCA . . . . . . . . . . . . . . . . . . . . . . 40, 43, 45, 46

circadien (rythme) . . . . . . . . . . . . vii, 35–47

classification . . . . . . . . . . . . . 90, 94, 95, 104

hiérarchique . . . . . . . . . . . . . . . . . . . . . 94

multi-label . . . . . . . . . . . . . . . . . . . 91, 99

qualité . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

CoCoA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

COGIT . . . . . . . . . . . . . . . . . . 84–86, 102, 112

constructionnisme . . . . . . . . . . . 10, 60, 103

C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

cybernétique . . . . . . . . . . . . . . . . . . . . . . 8, 13

h D g

DEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26, 79

h E g

éco-résolution . . . . . . . . . . . . . . . . . . . . . . 106

encapsulation (relation) . . . 74–78, 80, 84,85, 87

environnement . . 5, 51, 73–75, 90, 95–97,99

discrétisé . . . . . . . . . . . . . . . . . . . . . . . . 60

exemples . . . . . . . . . . . . . . . . . 41, 46, 98

immersif . . . . . . . . . . . . . . . . . . . . . 47, 49

topologie . . . . . . . . . . . . . . . . . . . . . . . . 25

tout espace est un environne-ment . . . . . . . . . . . . . . . . . . . .71, 73,105

enzyme . . . . . . . . . . . . . . . . 39, 42–44, 46, 47

événements discrets . . . . . . . . . 26, 79, 102

expertise humaine . . 6, 17, 43, 48–50, 53,56, 89, 96, 98

h F g

faced’un agent . . . . . . . . . . . . . . . . 78, 79–82

face-hôte . . . . . . . . . . . . . . . . . . . . . . . . . 78fiabilité . . . . . . . . . . . . . . . . 6, 10, 33, 99, 101

fleuron . . . vi, viii, 11, 33, 65, 87, 99, 107,115, 117, 119

Format-Store . . . .v, vii, 48–56, 113, 114

h G g

généralisation cartographique . . . 84, 85,106

— 137 —

Page 152: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

INDEX GÉNÉRAL

gène . . . . . . . . . . . . . . . . . . . . . . 36, 42, 43, 46

Galaxian . . . . . . . . v, vii, 56–59, 113, 114

garde de distance . 21, 21, 25, 51, 61, 102

graphed’hébergement . . . . . . . . . . . . . . . 76, 77

d’inclusion . . . . . . . . . . . . . . . .76, 77, 80

mixte . . . . . . . . . . . . . . . . . . . . . . . . . 76, 77

h H g

holons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

h I g

IA Distribuée . . . . . . . . . . . . . . . . . . . . . .4, 10

INBASU . . . . . . . . . . . . . . . . . . . . . . . . 96, 112

indicebest-match Jaccard . . . . . . . . . . . . . 93, 94

de Jaccard . . . . . . . . . . . . . . . . . . . . 93, 93

intégration forte . . . . . . . . . . . . . . . . . . 71, 73

intelligibilité . . 6, 8, 10, 33, 49, 51, 70, 84,101, 102, 104, 107

interaction . . . . . . . . . . . . . . . . . . . . . . . 16, 19comme verbe . . . . . . . . . . . . . . . . . . . 102

entre espèces . . . . . . . . . . . . . . . . . . . . 19

entre niveaux . . . . . . . . . . . . . . . . . . . . 78

exemples . . . . . . . . . . 20, 42, 55, 58, 62

forte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

les construire . . . . . . . . . . . . . . . . . . . 106

tout comportement est une interac-tion . . . . . . . . . . . . . . . . . . . . . . . . . . 16

IODA. . . . . . . . . . . .vii, 16–27, 41, 101, 113

IODA-light . . . . . . . . . . . . . . . . . . . . . . 48

IODA-NetLogo . . 43, 59–65, 103, 114

moteur . . . . . . . . 16, 21, 25–27, 86, 102

IRM4MLS . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

IRM4S . . . . . . . . . . . . . . . . . . . . . . . . . . . 26, 73

h J g

Java . . . . . . . . . . . . . . . . . . . . . . . . . . 26, 29, 60

Javascript . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

JEDI . . . . . . . . . . . . . . vii, 29–30, 48, 81, 114

JEDI-Builder . . . . . . . . . . . . . vii, 29–30, 103

h K g

KENOBI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Kubera . . . . . . . . . . . . . . . . . . . . . . voir Yoann

h L g

laboratoire virtuel . . . . . . . . . . . . . . . . . . . . 7

LEIA . . . . . . . . . . . . . . . . . . . . vii, 30–33, 113

LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

LOGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

h M g

matriced’interaction20, 21, 25, 27, 43, 50–52,

55, 57, 61, 77, 78, 82, 83, 85, 97

de confusion . . . . . . . . . . . . . . . . . . . . . 96

de mise à jour . . . . . 22, 22, 25, 27, 61

de distance . . . . . . . . . . . . . . . 92, 94, 96

Michaelis-Menten (dynamique) . . 40, 42,47

MiSC. . . . . . . . . . . . . . . . . . . . . . . .vii, 17, 113

modèlecomputationnel . . 7, 9, 10, 15, 22, 24,

29, 71

conceptuel . . . . 7, 9, 10, 22, 24, 29, 41

explicatif . . . . . . . . . . . . . . . . . . . . . . . . . . 7

prédictif . . . . . . . . . . . . . . . . . . . . . . . . . . 7

thématique. . . . . . . . . . . . . . . . . . . . . . . .7

h N g

NetLogo . . . . . . . . . . . . . . . . . . . . . . . . 59, 114

niveau . . . . . . . . . . . . . . . . . . . . . . . . 69–73, 77

dans PADAWAN . . . . . . . . . . . . . 77, 80

noyaucellulaire . . . . . . . . . . .36, 39, 41, 42, 46

d’un agent . . . . . . . . . . . . . . . . 78, 81, 82

h O g

ODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Ostreococcus tauri . . . . . . . . . . . . . . . . . 35–47

h P g

P-systèmes . . . . . . . . . . . . . . . . . . . . . . . . . . 72

PADAWAN . . . . . . . . . vii, 69–87, 105, 112

parcimonie (principe) 3, 9, 10, 40, 41, 46,73

PASPAS . . . . . . . . . . . . . . . . . . . . . vii, 18, 113

pas de temps . . .26, 26, 27, 39, 42, 44, 59,61, 79, 81, 102

politique. . . . . . . . . . . . . . . . . . . . . . . . . . . . .27d’ordonnancement des agents 27, 60

d’ordonnancement des faces. .79, 81

de déplacement . . . . . . . . . . . . . . . . . . 80

de sélection de cible . . . 27, 60, 61, 63

polymorphisme. . . . . . . . . . . . . . . . . . . . . .51

— 138 —

Page 153: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

INDEX GÉNÉRAL

pompe sodium-potassium . . . . . . . . . . . 82

primitives . . 19, 23–24, 29, 33, 51, 60, 61,63, 64, 78, 80–82, 102, 103

Prolog . . . . . . . . . . . . . . . . . . . . . . . . . . . vii, 18

protéine . . . . . . . . . . . . . . . . . . . 36, 42–46, 82

prototype . . . . . . . . . . . . . . 90, 91, 92, 94–98

h Q g

qualité . . . . . . . . . . . . . . . . voir classification

h R g

R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

réificationdes interactions . . . . . . . . . . . . . . . . i, 16

de l’émergence . . 70, 71, 87, 104, 105

résolution de contraintes . . . . 84, 86, 106

résolution distribuée de problèmes . vii,4, 86, 106

révisabilité . . . . . . . 23, 50, 65, 70, 101, 104

Repast . . . . . . . . . . . . . . . . . . . . . . . . . . 59, 104

ribosome . . . . . . . . . . . . . . . . . . 36, 41, 42, 46

RIVAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

h S g

sélection d’interaction . 22, 27, 52, 79, 80,86

séparationagents/comportements . . 23, 33, 105

déclaratif/procédural . 15, 17, 19, 29,33, 56, 60, 71, 85, 103, 105

serious game . . . . . . . . . . . . . . vii, 47–56, 114

simulationinformatique . . . . . . . . . . . . . . . . . . . 6, 9

multi-agents (définition) . . . . . . . . . . 6multi-niveaux . i, vii, 69–87, 101, 103,

104, 106, 112

participative . . . . . . . . . . . . . . 47, 49, 52

stochastique . . . . . . . . . . . . . . . . . . 95, 97

SimuLE . . . . . . . . . . . . . . . . . . vii, 17–18, 113

situation (relation) . 74, 76, 80, 84, 85, 87

SMA . . . . . . . . . . . . . . . . . . . . . . . 4, 5, 17, 106

SMAC (équipe) . . . . . . . . . . . . . . . . . . . . . . . vSMAC (équipe) . . . . . . . . . . . . . . .vii, 3, 111

StarLogo. . . . . . . . . . . . . . . . . . . . . . . . . . . . .60

SWARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

systèmescomplexes . . . . .8, 16, 70, 71, 101, 107

dynamiques . . . . . . . . . . . . . . . . . . . 7, 36

large échelle . . . vii, 8, 16, 17, 70, 101

théorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

systèmes experts . . . . . . . . . . . . . . . . . . . . .15

Systèmes Multi-Agents . . . . . . . voir SMA

h T g

téléologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

téléonomie . . . . . . . . . . . . . . . . . . . . . . . 15, 85

tableau noir . . . . . . . . . . . . . . . . . . . . . . . . . . .4temps discret . . . . . . . . . . . . . . . . 26, 79, 102

approche séquentielle . . . . . . . . 26, 79

approche synchrone . . . . . . . . . . 26, 73

threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

TOC . . . . . . . . . . . . . . . . . . . 40, 41, 43, 45, 46

traces d’activité . . . . . . . . . . . . . . . . . . . . . . 90

traduction . . . . . . . . . . . . . . . . .36, 37, 42, 46

transaction. . . . . . . . . . . . . . . . . . . .90, 92–95

transcription . . . . . . . . . . . . . . 36, 37, 42, 43

h U g

Unity3D . . . . . . . . . . . . . . . . . . . . . . . . 56, 113

h V g

Vie Artificielle . . . . . . . . . . . . . . . . . . . . . . . . 4

VRML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

h W g

workflow . . . . . . . . . . . . . . . . . . . . . . . 17, 105

h X g

XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84

h Y g

Yoann . . . . . . . . . . . . . . . . . . . . . . voir Kubera

h Z g

zéro (niveau) . . . . . . . . . . . . . . . . . . . . . . . . 75

zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

de bataille . . . . . . . . . . . . . . . . . . . . . . . 59

— 139 —

Page 154: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

INDEX GÉNÉRAL

— 140 —

Page 155: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

Ce mémoire d’Ha-bilitation à Diriger

des Recherches, rédigésous théobromine entre Sala-

manque, La Chapelle sur Erdre,Lille, Villeneuve d’Ascq, Quiberon& autres lieux propices à la réflexion,

a été édité sous GNU Emacset mis en forme sous

LATEX2ε, dans les policesPalatino & Avant-

garde. h a g

Villeneuve d’Ascq, 2013

Page 156: De la simulation multi-agents à la simulation multi ...spicault/HDR-picault.pdfChristophe Routier, Jean-Paul Delahaye, Maxime Morge, Patricia Everaere, Bruno Mahiddine, Antoine Nongaillard,

RésuméDans ce mémoire de synthèse d’habilitation à diriger des recherches, je présente les travaux en simula-tion multi-agents que j’ai menés au sein de l’équipe SMAC (LIFL, Université Lille 1) depuis le début dema carrière d’enseignant-chercheur en 2002. Ceux-ci portent sur la conception et la mise en applicationde méthodes et d’outils de simulation destinés à faciliter la modélisation de systèmes complexes à largeéchelle.

Dans ce but, j’ai développé avec mes collègues une approche « orientée interactions » caractériséepar une unification des concepts utilisés dans le domaine des SMA. Elle a donné lieu à une importanteélaboration méthodologique et algorithmique (la méthode IODA) dans laquelle toute entité du modèleest représentée par un agent, et tout comportement par une règle appelée interaction. Cette méthodes’appuie sur une séparation entre déclaratif et procédural qui facilite l’acquisition de l’expertise auprèsdes thématiciens. Par ailleurs de nombreux outils logiciels sont nés de ces recherches (dont la plate-forme JEDI et une extension IODA pour la plateforme NetLogo), ainsi que diverses applications dansdes domaines variés (biologie cellulaire, serious games, marketing, cartographie).

Pour conclure, je présente mon projet de recherche pour les prochaines années qui se propose d’ar-ticuler des problématiques issues de travaux récents, d’une part sur la simulation multi-niveaux (quivise à définir un cadre opérationnel permettant le changement d’échelle d’observation ou de pointde vue sur les sous-systèmes d’un système complexe), et d’autre part sur la recherche automatiqued’informations dans des données réelles pour augmenter le réalisme comportemental des populationsd’agents. Par ailleurs une collaboration avec l’IGN sur l’utilisation de ces techniques pour la générali-sation cartographique permet également d’envisager la transposition de ces méthodes de simulation àla résolution de problèmes.

AbstractIn this Habilitation Thesis, I present my research activity in the field of multiagent simulation withinthe SMAC team (LIFL, Université Lille 1), since the beginning of my career of teacher and researcherin 2002. My work focuses on the design and implementation of methods and tools aimed at facilitatingthe modeling of large-scale complex systems.

Therefore, I developped with my colleagues an « interaction-oriented » approach, characterized bythe unification of several concepts used in the field of MAS. It is supported by a large methodologicaland algorithmic elaboration (the IODA method), in which each entity of the model is represented byan agent and each behavior by a rule called an interaction. This method relies upon the separationbetween declarative and procedural features, which facilitates the acquisition of thematic expertise. Inaddition, several software tools have been built throughout this research (e.g. the JEDI platform andthe IODA exension for the NetLogo platform). This method has also been applied to various fields (cellbiology, serious games, marketing, cartography).

To conclude, I present my research project for the coming years, which proposes to combine issuesraised by recent work : on the one hand, the multi-level simulation (aimed at defining an operationalframework for automatizing the change of observation scale or point of view upon the subsystems ofa complex phenomenon) ; and on the other hand, the automatic information retrieval from real data,in order to increase the behavioral realism of populations of agents. In addition, a collaboration withthe IGN on using those techniques for cartographic generalization opens perspectives towards thetransposition of those simulation methods to the field of problem solving.