mémoire de thèse de doctorattisseau/pdf/phd/lcphd.pdfremerciements je remercie jacques tisseau...

165
1 er

Upload: others

Post on 02-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Simulation de comportements individuels instinctifsd'animaux dans leur environnement

De la description éthologique à l'exécution de comportements réactifs

Ludovic Coquelle

Thèse

présentée devantl'Université de Bretagne Occidentale

pour obtenir le grade deDocteur de l'Université de Bretagne Occidentale

Mention Informatique

Equipe d'accueil 3883 (ubo,enib)Laboratoire d'Informatique des SYstèmes Complexes (lisyc)

Soutenue le 1er décembre 2005 devant la commission d'examen:Rapporteurs

Vincent ChevrierDominique Fresneau

ExaminateursPierre ChevaillierLionel MarcéLaurent Nana-TchamndaJacques Tisseau

Page 2: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces
Page 3: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Remerciements

Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces ann²es de th±se.

Je voudrais exprimer ma plus sinc±re gratitude   Pierre Chevaillier pour la qua-lit² de son encadrement tant sur le plan scientifique qu'humain.

Je remercie Dominique Fresneau, ainsi que Vincent Chevrier, qui ont accept²de juger ce travail et d'en ¶tre les rapporteurs.

Merci ²galement   Lionel Marc² et Laurent Nana-Tchamnda pour leur parti-cipation au jury de cette th±se.

Je n'aurais pas su mener ce travail sans les encouragements et la collabaration de :Bent Herrmann, Emma Jones, Pascal Lorance, St²phanie Mah²vas, BarryO'Neill, H�useyin �Ozbilgin, Daniel Priour, Antonello Sala, Verena Trenkel.

Merci   l'ensemble des doctorants du cerv ; et merci ²galement   tous le personnelde l'enib.

Je tiens   remercier ²galement mes amis, qui m'ont toujours support² . . . et   proposde �supporter�, je vous f²licite vivement de cet exploit ! Je vous dois   tous une foultitudede merci.

Les encouragements constants de ma famille m'ont toujours soutenu pour avancerlibrement : merci ! v  công c¡m ìn gia �¼nh vñ !

Et le plus chaleureux des mercis   ma merveilleuse ²pouse ;C¡m ìn vñ y¶u th÷ìng nhi·u l­m qu¡ tríi luæn !

behavioRis 1

Page 4: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Remerciements

2 Ludovic Coquelle

Page 5: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Table des Matières

Remerciements 1Table des Matières 3Listes des illustrations 7Introduction 9

1 Modélisation de comportement animal 131 Comportement et modélisation . . . . . . . . . . . . . . . . . . . . . . . . 14

1.1 Animat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2 Domaines connexes . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.2.1 Comportement et sciences du vivant . . . . . . . . . . . . 171.2.2 Comportements arti�ciels . . . . . . . . . . . . . . . . . . 19

1.3 (Eco)système et ibm . . . . . . . . . . . . . . . . . . . . . . . . . . 201.3.1 Milieu naturel et système complexe . . . . . . . . . . . . 201.3.2 Dé�nition et intérêt des ibm . . . . . . . . . . . . . . . . 211.3.3 Utilisation des sma . . . . . . . . . . . . . . . . . . . . . 22

1.4 Notre objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.4.1 Objet d'étude, ou quels comportements simuler ? . . . . . 231.4.2 Sujet d'étude, ou quelle modélisation adopter ? . . . . . . 231.4.3 Objectif, ou quelle �nalité rechercher ? . . . . . . . . . . . 24

2 Ethologie et simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.1 Dé�nition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2 Modélisations éthologiques . . . . . . . . . . . . . . . . . . . . . . . 27

2.2.1 L'explication causale . . . . . . . . . . . . . . . . . . . . . 272.2.2 Vers le modèle fonctionnel . . . . . . . . . . . . . . . . . . 29

2.3 Exemple d'ibm comportemental : les boids . . . . . . . . . . . . . 302.4 Simulation des ibm éthologiques . . . . . . . . . . . . . . . . . . . 33

3 Modèles d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.1 Architecture d'agents et sélection d'action . . . . . . . . . . . . . . 35

3.1.1 Architectures . . . . . . . . . . . . . . . . . . . . . . . . . 353.1.2 Problèmes transverses . . . . . . . . . . . . . . . . . . . . 363.1.3 Sélection d'action . . . . . . . . . . . . . . . . . . . . . . 37

3.2 Quelques architectures . . . . . . . . . . . . . . . . . . . . . . . . . 383.2.1 Di�érentes approches d'asm . . . . . . . . . . . . . . . . 383.2.2 Modularité . . . . . . . . . . . . . . . . . . . . . . . . . . 423.2.3 Le contrôle �ou . . . . . . . . . . . . . . . . . . . . . . . . 453.2.4 Vers le comportement animal . . . . . . . . . . . . . . . . 48

behavioRis 3

Page 6: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Table des Matières

3.3 Exécution d'un modèle éthologique . . . . . . . . . . . . . . . . . . 494 Outils orientés modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.1 sma génériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.2 sma spécialisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.3 Langages de description de comportements . . . . . . . . . . . . . 52

4.3.1 Modèle vs. exécution . . . . . . . . . . . . . . . . . . . . . 524.3.2 Outils informatiques . . . . . . . . . . . . . . . . . . . . . 534.3.3 Langages dédiés . . . . . . . . . . . . . . . . . . . . . . . 53

5 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 behavioRis 59

1 Architecture fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 601.1 L'environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601.2 Les perceptions externes . . . . . . . . . . . . . . . . . . . . . . . . 61

1.2.1 Des géométries à la notion de perception . . . . . . . . . 611.2.2 Détection d'objets à géométrie complexe . . . . . . . . . . 631.2.3 Le composant Perception . . . . . . . . . . . . . . . . . . 64

1.3 La dynamique des états internes . . . . . . . . . . . . . . . . . . . 661.3.1 Des états internes aux stimuli . . . . . . . . . . . . . . . . 671.3.2 Le composant InternalState . . . . . . . . . . . . . . . . . 671.3.3 Interactions entre l'état interne et les règles comporte-

mentales . . . . . . . . . . . . . . . . . . . . . . . . . . . 711.4 Les règles comportementales . . . . . . . . . . . . . . . . . . . . . . 72

1.4.1 Des stimuli aux réactions . . . . . . . . . . . . . . . . . . 721.4.2 Le composant Behavior . . . . . . . . . . . . . . . . . . . 73

1.5 Le modèle biomécanique . . . . . . . . . . . . . . . . . . . . . . . . 741.5.1 Contrôles indépendants par votes . . . . . . . . . . . . . . 751.5.2 Le composant Controller . . . . . . . . . . . . . . . . . . 77

1.6 Bilan des composants de l'architecture . . . . . . . . . . . . . . . . 782 Modèle d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

2.1 Asynchronisme par ignorance . . . . . . . . . . . . . . . . . . . . . 792.2 Implémentation : espèce vs. animat . . . . . . . . . . . . . . . . . . 812.3 Utilisation du simulateur . . . . . . . . . . . . . . . . . . . . . . . . 81

3 Langage de description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.1 Modélisation déclarative d'une espèce . . . . . . . . . . . . . . . . 843.2 Règles comportementales . . . . . . . . . . . . . . . . . . . . . . . 86

3.2.1 Manipuler des données imprécises . . . . . . . . . . . . . 863.2.2 La syntaxe des règles . . . . . . . . . . . . . . . . . . . . 87

4 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923 Application : simulations de comportements de poissons 97

1 La campagne vital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981.1 Description du problème . . . . . . . . . . . . . . . . . . . . . . . . 981.2 Modélisation d'un poisson . . . . . . . . . . . . . . . . . . . . . . . 102

1.2.1 Déplacement . . . . . . . . . . . . . . . . . . . . . . . . . 1021.2.2 Perceptions . . . . . . . . . . . . . . . . . . . . . . . . . . 1031.2.3 Comportements . . . . . . . . . . . . . . . . . . . . . . . 1031.2.4 Etats internes . . . . . . . . . . . . . . . . . . . . . . . . 106

4 Ludovic Coquelle

Page 7: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Table des Matières

1.3 Validation qualitative . . . . . . . . . . . . . . . . . . . . . . . . . 1071.3.1 Le protocole . . . . . . . . . . . . . . . . . . . . . . . . . 1081.3.2 Les résultats . . . . . . . . . . . . . . . . . . . . . . . . . 110

2 premecs-II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132.2 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

2.2.1 Le chalut . . . . . . . . . . . . . . . . . . . . . . . . . . . 1152.2.2 La prise . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1182.2.3 Comportements des poissons . . . . . . . . . . . . . . . . 118

3 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Conclusions et perspectives 125

A Logique �oue pour le contrôle 1291 La notion d'ensemble �ou . . . . . . . . . . . . . . . . . . . . . . . . . . . 1292 La logique �oue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

2.1 Proposition �oue élémentaire . . . . . . . . . . . . . . . . . . . . . 1312.2 Combinaison de propositions �oues . . . . . . . . . . . . . . . . . . 1312.3 L'inférence �oue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

3 Le contrôle en logique �oue . . . . . . . . . . . . . . . . . . . . . . . . . . 132B Indexation spatiale 135

1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352 Méthodes d'indexation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

2.1 Indexer des objets mobiles ! . . . . . . . . . . . . . . . . . . . . . . 1362.2 Quelques solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

2.2.1 Les techniques de hachage régulier de l'espace . . . . . . . 1372.2.2 Décomposition dynamique et adaptative de l'espace . . . 1372.2.3 Groupement d'objets par zones de recouvrement . . . . . 139

3 Conclusions pour nos utilisations . . . . . . . . . . . . . . . . . . . . . . . 140C Fuzzy Cognitive Map 141

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1412 Dé�nition mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

D Réseaux de Petri 143E Exemple de dé�nition de scenario dans behavioRis 145F Grammaire BNF du langage de behavioRis 147

1 Dé�nition de la notation bnf . . . . . . . . . . . . . . . . . . . . . . . . . 1472 Le langage de behavioRis . . . . . . . . . . . . . . . . . . . . . . . . . . . 148Bibliographie 151

behavioRis 5

Page 8: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Table des Matières

6 Ludovic Coquelle

Page 9: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Listes des illustrations

Liste des Figures1.1 Entrées et sorties d'un animat situé dans son environnement . . . . . . . . 161.2 Place de l'étude des animats en Intelligence Arti�cielle. . . . . . . . . . . 191.3 Exemple d'éthogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261.4 Modèle �psychohydraulique�de motivation de Lorenz . . . . . . . . . . . 281.5 Les trois comportements de déplacement des boids de Reynolds . . . . 311.6 Hiérarchie de comportements dans l'architecture de subsumption . . . . . 381.7 Architecture damn d'un robot mobile sous-marin autonome . . . . . . . . 431.8 Les Creatures de Blumberg . . . . . . . . . . . . . . . . . . . . . . . . . 441.9 Architecture C4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451.10 Architecture brian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481.11 Le langage visuel Behave ! . . . . . . . . . . . . . . . . . . . . . . . . . . . 542.1 Localisation d'un animat dans l'espace . . . . . . . . . . . . . . . . . . . 602.2 Architecture fonctionnelle de behavioRis . . . . . . . . . . . . . . . . . . . 622.3 Equation des états internes dans l'architecture Creature . . . . . . . . . . 682.4 Exemple d'évolution d'un bpn . . . . . . . . . . . . . . . . . . . . . . . . . 722.5 Entrées et sorties du module comportemental �ou . . . . . . . . . . . . . . 742.6 Sélection d'action par système de vote . . . . . . . . . . . . . . . . . . . . 762.7 Diagramme de classes simpli�é de ARéVi . . . . . . . . . . . . . . . . . . 802.8 Diagramme de classes simpli�é de l'architecture behavioRis . . . . . . . . 822.9 Simulateur behavioRis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.1 Copies d'écran de la simulation du projet vital . . . . . . . . . . . . . . . 993.2 Evolution d'une fcm �alive�idle�afraid� . . . . . . . . . . . . . . . . . . . 1073.3 Illustration d'un chalut de pêche pélagique . . . . . . . . . . . . . . . . . . 1133.4 Modèle de poche de chalut par mef . . . . . . . . . . . . . . . . . . . . . 1153.5 Modèle du chalut : mailles de �let et maille abstraite . . . . . . . . . . . . 1163.6 Simulation d'un banc de poissons nageant devant la prise dans la poche . 122A.1 Exemples de fonctions d'appartenance caractérisant un ensemble �ou . . . 130A.2 Un exemple simple d'inférence �oue . . . . . . . . . . . . . . . . . . . . . . 134B.1 Service d'indexation spatiale par grille régulière d'ARéVi . . . . . . . . . . 138B.2 Construction d'un KD-Tree . . . . . . . . . . . . . . . . . . . . . . . . . . 139B.3 Exemple de R-Tree indexant 9 mbr en 2d . . . . . . . . . . . . . . . . . . 140C.1 Carte cognitive �oue : 1er exemple . . . . . . . . . . . . . . . . . . . . . . 141C.2 Fonctions de normalisation des cartes cognitives �oues . . . . . . . . . . . 142

behavioRis 7

Page 10: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Listes des illustrations

Liste des codes BBDL2.1 Premier exemple de dé�nition d'une espèce en bbdl. . . . . . . . . . . . . 852.2 Exemple de règles comportementales en bbdl. . . . . . . . . . . . . . . . 882.3 Exemple de stimulus complexe . . . . . . . . . . . . . . . . . . . . . . . . 892.4 Exemple de dé�nition d'action atomique . . . . . . . . . . . . . . . . . . 902.5 Hiérarchie de règles �oues . . . . . . . . . . . . . . . . . . . . . . . . . . . 923.1 vital bbdl : modèle d'une espèce . . . . . . . . . . . . . . . . . . . . . . 1023.2 vital bbdl : modèle de déplacement . . . . . . . . . . . . . . . . . . . . 1033.3 vital bbdl : modèle des perceptions . . . . . . . . . . . . . . . . . . . . 1043.4 vital bbdl : modèle des comportements . . . . . . . . . . . . . . . . . . . 1043.5 vital bbdl : modèle de bpn . . . . . . . . . . . . . . . . . . . . . . . . . 1083.6 premecs bbdl : modèle de perception des mailles . . . . . . . . . . . . . 1173.7 premecs bbdl : modèle de perception de la prise . . . . . . . . . . . . . 1183.8 premecs bbdl : évitement des objets de l'environnement . . . . . . . . . 1203.9 premecs bbdl : nage en banc (boids) . . . . . . . . . . . . . . . . . . . 121

Liste des Tableaux1.1 Disciplines des sciences du vivant. . . . . . . . . . . . . . . . . . . . . . . . 171.2 Relations d'activation entre modules de comportement dans un réseau

d'activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.1 Résumés des éthogrammes des espèces simulées . . . . . . . . . . . . . . . 1003.2 Résumé des éthogrammes : caratéristiques biométriques et activité normale1013.3 Résumé des éthogrammes : réaction au rov . . . . . . . . . . . . . . . . . 1013.4 Réponses possibles au test de reconnaissance . . . . . . . . . . . . . . . . . 1093.5 Réponses des experts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

8 Ludovic Coquelle

Page 11: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Introduction

Cette thèse de doctorat est une contribution à la simulation du comportement animal.De nombreuses théories expliquent les comportements animaux et divers modèles endécoulent ; notre but n'est pas de prendre parti sur ce point. Notre ambition est deproposer une solution pour reproduire in virtuo le résultat de descriptions de réactionsinstinctives innées par un rendu graphique tri-dimensionnel dans un univers de réalitévirtuelle.

Motivation � ObjectifQuand avez-vous regardez par la fenêtre pour la dernière fois ? N'avez-vous pas ob-

servé une araignée, un papillon ou le chat du voisin ? Observer et comprendre le com-portement animal est d'un abord attractif, peut-être parce que cela nous renvoie à notreenvironnement naturel et à nos propres agissements. Ces activités comportementales at-tisent la curiosité même lorsqu'elles sont arti�cielles comme le montre le succès des jeuxcomme l'animal virtuel Tamagotchi 1 ou le jeu vidéo Nintendog 2.

Comprendre la complexité des interactions des comportements d'animaux dans leurenvironnement est l'objet d'étude de l'éthologie. Hors, comprendre en profondeur le com-portement naturel nécessite de savoir le reproduire, et donc de le modéliser.

Les modèles individu-centrés (ibm, Individual-Based Model) sont utilisés pour prendreen compte les nombreuses interactions hétérogènes entre les entités modélisées. Souventutilisée en biologie des populations (Bousquet et al., 1998), ce type d'approche permetde décrire à un niveau microscopique des phénomènes intervenant localement entre plu-sieurs individus pour observer le résultat de ces interactions à un niveau macroscopique.A l'échelle de l'individu, cette approche individu-centrée est également utilisée pour dé-crire les di�érents comportements qui interagissent pour résulter en un comportementglobal : ce sont les bbm (Behavior-Based Model).

La nature de ces modèles les rend indissociables de leur simulation. De l'animationphysiologique de mouvements de membres articulés à l'apprentissage non-supervisé de lanage, la simulation est utilisée en biologie (Wang et McKenzie, 1998; Hokkanen, 1999) carelle aide à comprendre le fonctionnement d'un système et à prédire son évolution. L'étudedu comportement animal, qui se développe en intégrant, dans des modèles communs, lesdivers aspects allant de la physiologie à l'étude des comportements sociaux (Ord et al.,2005), utilise ces simulations.

La problématique qui nous intéresse est celle de l'utilisation de la simulation pourl'étude du comportement. Le sujet de notre recherche se trouve à l'interface entre la si-mulation informatique et la modélisation éthologique des comportements animaux. Cette

1Tamagotchi Connection: http://www.tamagotchi.com2Nintendog, The uno�cial fansite: http://www.nintendog.com

behavioRis 9

Page 12: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Introduction

simulation, servant aussi bien à révéler les résultats d'un modèle (prédiction) qu'à réaliserce modèle (compréhension), est un outil pour l'éthologue.

La base de travail de l'éthologue est la description linguistique du comportement del'individu étudié : l'éthogramme. Traduire cette description en une simulation demanded'abord un travail de modélisation et ensuite une étape de programmation. Nous avonsidenti�é trois types de di�culté à résoudre pour réaliser cette traduction.

1. Dé�nir l'objet de la simulation. Les frontières de la modélisation doivent être stric-tement dé�nies pour qu'une formalisation simulable précise ce qui peut être ma-nipulé par le modèle. Parmi les éléments que la modélisation doit cadrer, l'échellede description et d'observation du modèle d'animal doit d'abord être �xée, ainsique celle de l'environnement qui peut correspondre à un modèle en deux ou troisdimensions, continu ou discrétisé. Ensuite, le mécanisme de décision comportemen-tale peut se baser sur une approche connexioniste ou basée comportements ; diversaspects, comme l'introduction d'un mécanisme d'apprentissage, in�uence la mani-pulation des données de ce mécanisme. En�n, l'expressivité désirée de la descriptiondu comportement (p. ex. un scénario de comportement ou un assemblage de primi-tives comportementales) �xe des contraintes de formalisation liées aux deux pointsprécédents.

2. Adapter un modèle d'exécution. La modélisation du comportement, et son forma-lisme, sont intrinsèquement tributaires du modèle d'exécution de la simulation. Lechoix du modèle d'exécution doit satisfaire la modélisation de la thématique étho-logique. Sans restreindre les possibilités d'expressivité des modèles (en prenant enconsidération les mêmes notions temporelles, physiques et abstraites) l'exécutionne doit pas introduire de nouvelle hypothèse dans le modèle éthologique (notam-ment pour le point délicat des simulations que constitue le mécanisme de sélectiond'action).

3. O�rir une interface de modélisation. Si l'éthologie se sert de la simulation commed'un outil, celui-ci doit o�rir une interface de manipulation ayant deux rôles : faci-liter l'utilisation de la simulation d'une part, et d'autre part, cadrer les possibilitésde modélisation au formalisme dé�ni pour l'objet de la simulation.

ContributionLa thèse défendue ici est une formalisation simulable des descriptions comportemen-

tales éthologiques, restreintes aux comportements réactifs innés exprimés sous forme derègles de causalité entre stimuli et réponses. L'objectif est de créer un outil d'étude parsimulation du comportement. L'ambition est donc de pouvoir transcrire un éthogrammeen un modèle exécutable pour le simuler dans un environnement de réalité virtuelle, quipermet d'observer ce modèle.

Notre proposition s'articule en deux parties. La première est une architecture d'ani-mat (un modèle d'animal), associée à son modèle d'exécution, qui dé�nit les propriétésmanipulables pour la simulation d'un modèle éthologique. Cette architecture, à base decomposants, identi�e et réi�e les concepts de perception, de répertoire comportemental,de variables internes et de contrôle biomécanique. L'exécution de ces composants résulteen une activité globale de l'animat par l'intermédiaire des interactions spéci�ées.

La seconde partie de notre proposition est un langage de description de comporte-ments qui s'appuie sur l'architecture pour permettre sa simulation. Ce langage permet

10 Ludovic Coquelle

Page 13: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

de décrire complètement un modèle d'animat, de la perception à l'exécution des réponsescomportementales. En tant qu'interface de modélisation, un soin particulier a été apportépour que ce langage formalise facilement les données biologiques de l'éthogramme. Pource faire, nous utilisons l'inférence �oue, adaptée à la fois à la manipulation des donnéesimprécises et incomplètes ainsi qu'au formalisme d'inférence de règles de causalité utilisépar les éthogrammes.

Cette proposition est concrétisée par le simulateur behavioRis, qui propose une implé-mentation de l'architecture ainsi que l'interpréteur du langage associé. Deux applicationsprésentent la modélisation et la simulation de comportements de poissons, dans des uni-vers de réalité virtuelle en 3d et continu.

Organisation du mémoireCe mémoire est divisé en trois chapitres présentant la problématique, notre proposi-

tion et deux applications.1. Le premier chapitre traite des problématiques entremêlées de la modélisation de

comportement animal, d'un point de vue d'abord biologique, puis d'un point devue de l'exécution de modèle sur un système automatisé. Nous présentons dansun premier temps les besoins de la modélisation éthologique, pour montrer lescorrespondances avec les systèmes d'exécution, et nous concluons sur les pointsclefs d'un simulateur dédié à la transcription d'éthogramme.

2. Le deuxième chapitre décrit notre proposition, en présentant l'architecture, les sys-tème de simulation, et le langage qui permet d'interfacer le simulateur avec lesdescriptions linguistiques.

3. En�n, deux applications sont présentées dans le dernier chapitre pour conclure surl'utilisabilité du simulateur. Elles présentent deux aspects de l'utilisation de beha-vioRis. La première illustre la modélisation d'éthogramme en s'appuyant sur le pro-jet vital mené par ifremer (Institut Fran cais de Recherche et d'Exploitation dela MER). La seconde utilise le simulateur comme un laboratoire d'expérimentationd'hypothèses comportementales, ceci dans le cadre du projet européen premecs-IIpiloté par ifremer et issu d'une collaboration entre les laboratoires difres (Da-nish Institute for Fisheries Research, Danemark), frs (Fisheries Research Services,Royaume-Uni), ifremer (France), ismar (Instituto di Scienze Marine, Italie) etli2 (Laboratoire d'Ingénierie Informatique, France).

Ces travaux ont pris place dans le cadre de la problématique de modélisation et desimulation de comportements d'entités autonomes dans des univers virtuels, objetde recherche des équipes du cerv (Centre Européen de Réalité Virtuelle). Notretravail s'inscrit a la fois dans l'approche d'expérimentation des systèmes complexesdu projet InVirtuo, et dans la thématique de la simulation comportementale duprojet spi (Simulation Participative et Immersive).

behavioRis 11

Page 14: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Introduction

This study has been carried out with the �nancial support from the Commissionof the European Communities, Agriculture and Fisheries (FAIR) speci�c RTD pro-gramme, CT96 1555, �Development of predictive model of cod-end selectivity�.It does not necessarily re�ect its views and in no way anticipates the Commission'sfuture policy in this area.

Ce projet a également eu le soutien de la Région Bretagne.

12 Ludovic Coquelle

Page 15: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1

Modélisation de comportementanimal

S imuler le comportement animal peut avoir des applications que ce soit dans la re-cherche de modèles prédictifs ou dans l'étude même de ce comportement. La simu-

lation permet en e�et de comprendre ou mesurer l'in�uence des interactions entre lesdivers facteurs in�uençant ce comportement en intégrant di�érents modèles à di�érenteséchelles d'observation, et c'est pourquoi elle prend de plus en plus d'importance dansl'étude du comportement animal.

Comme souligné en introduction, simuler des comportements animaux entrelace desproblématiques des sciences du comportement et de la modélisation informatique. L'ob-jectif de ce chapitre est alors double. Il s'agit d'abord de présenter quelques bases (nonexhaustives) de la modélisation de comportement et de préciser l'échelle d'observationadoptée dans le cadre de notre étude. Ensuite l'aspect simulation de ces modèles seraabordé, tant d'un point de vue exécution du modèle que du point de vue de l'interfaceavec le modélisateur de comportement animal.

behavioRis 13

Page 16: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

1 Comportement et modélisationL'objectif de notre étude est de modéliser les comportements individuels d'animaux

dans leur milieu naturel, ce qui entre dans le cadre d'une problématique d'étude dessystèmes complexes.

En e�et, il est simple de voir ce milieu naturel comme un système composé d'élémentsnombreux, hétérogènes et en interaction : c'est le cadre d'études auxquelles s'intéresse lasystémique. Dans ce cadre systémique, le milieu naturel est un système ouvert dans lequelle comportement animal peut être étudié comme un sous-système, ie un ensemble d'en-tités fonctionnant de manière apparemment autonome mais en entretenant des relationsavec le système naturel.

Les comportements d'animaux peuvent donc être étudiés en tant que modèle desystème complexe. Voici une dé�nition du terme modèle, connotée du sens usité en cy-bernétique qui nous intéresse ici : �système arti�ciel dont certaines propriétés présententdes analogies avec des propriétés, observées ou inférées, d'un système étudié, et dont lecomportement est appelé, soit à révéler des comportements de l'original susceptibles defaire l'objet de nouvelles investigations, soit à tester dans quelle mesure les propriétésattribuées à l'original peuvent rendre compte de son comportement manifeste� (Thinès-Lemp, 1975, cité dans Le Trésor de la langue française 1). Cette dé�nition met en exerguedeux caractéristiques importantes des modèles. La première est mise en évidence danscette autre dé�nition enoncée de manière plus symbolique mais plus concise : �Pour unobservateur B, un objet A∗ est un modèle d'un objet A dans la mesure où B peut utiliserA∗ pour répondre à des questions qui l'intéressent à propos de A� (Minsky, 1965, traduc-tion libre). La première caractéristique d'un modèle est donc d'être liée à un observateur,qui est d'ailleurs souvent à l'initiative du modèle. Un modèle ressemble au système réel,simpli�e le réel, idéalise le réel, et reproduit le comportement du réel le mieux possibleen fonction des objectifs �xés pour le cadre de l'étude. La deuxième caractéristique d'unmodèle, est de pouvoir être utilisé dans �deux directions�. La modélisation peut être uti-lisée à but prédictif : le modèle devient un outil de gestion pour surveiller un systèmecomplexe ou relever certaines propriétés. Mais elle peut aussi nous amener à repenserla compréhension du phénomène modélisé : le modèle devient un instrument scienti�quepour montrer des carences dans les connaissances du système ou pour tester des hypo-thèses.

La simulation plonge un modèle statique dans le temps, mais pour cela nous verronsqu'elle introduit des hypothèses supplémentaires sur la dynamicité temporelle du modèle.La simulation d'animaux a été utilisée dans les deux approches : pour prédire et pourcomprendre. Elle sert également d'inspiration pour bien d'autres domaines où l'on doitmodéliser le comportement d'un agent autonome dans son environnement.

1.1 AnimatLe comportement complexe d'un animal peut être étudié grâce à la simulation d'un

modèle. Nous nous intéressons plus précisément ici à la description individuelle du com-portement, c'est-à-dire à la spéci�cation des interactions de l'individu avec son environne-ment, ce qui �xe le niveau d'observation du modèle. Wilson (Wilson, 1985) a introduitle terme animat pour désigner un système arti�ciel en tant que modèle de comportementd'un animal.

1Le Trésor de la langue française: http://atilf.atilf.fr/tlf.htm

14 Ludovic Coquelle

Page 17: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Comportement et modélisation

Le mot animat a souvent une connotation "bio-mimétique", c'est-à-dire qu'il est sou-vent associé à des modèles de fonctionnement interne de l'animal qui visent à reproduireles mécanismes biologiques. Avec une approche biologique souvent neuro-éthologique (quiétudie comment le système nerveux génère les comportements naturels chez les animaux),ces modèles décrivent le plus souvent le comportement adaptatif de l'animal. Adaptatifest à comprendre ici dans le sens de l'adaptation à l'environnement dans le but de sur-vivre, et c'est donc une approche des mécanismes proximaux d'adaptation. Nous verronsque le comportement est alors décrit par rapport à cette fonction � la survie � et l'onpeut opposer cette approche à une autre dite évolutionniste (en référence à la théorie del'évolution introduite par Darwin (1959)) qui s'intéresse à l'adaptation de l'animal (ouson espèce) et décrit le comportement par rapport à la fonction de reproduction. Mo-déliser un comportement biologique adaptatif suppose de ne pas programmer à l'avancetoutes les réponses possibles du système, mais au contraire de modéliser le mécanismed'adaptation du comportement : �behavioral plasticity is due to biologically-inspired au-tomatic processes � like the processes of learning, evolution or development� (Guillot etMeyer, 1998).Dé�nition Dans la suite de cette étude, nous utiliserons le terme animat pour désignertout modèle calculatoire reproduisant un comportement animal autonome, ce qui inclutles modèles internes comme les modèles observés d'un point de vue externe. Ainsi, unanimat peut être pour nous aussi bien un robot autonome se déplaçant dans un environ-nement réel qu'un animal simulé sur une machine de calcul.

L'approche animat est devenue un domaine à part entière dans les sciences de l'étudedu comportement animal. Les animats ont apporté di�érentes contributions en biologie(Hokkanen, 1999). Mais avant de présenter quelques domaines relatifs à celui de l'étudedes animats qui nous permettront de mieux cerner ce domaine, nous abordons une dé�-nition plus pragmatique à travers une représentation symbolique. Comme tout modèle,un animat est dé�ni par ses entrées, ses sorties, et un mécanisme qui les relie. Ces en-trées et sorties sont respectivement appelées senseurs et actuateurs, ce sont les moyensd'interaction avec l'environnement ; le mécanisme de liaison est appelé architecture decontrôle, il est chargé de reproduire les capacités comportementales de l'animal. Ces ap-pellations donnent une dé�nition simple d'un animat, mais ces concepts méritent d'êtreclari�és pour comprendre les di�érents points de vue adoptés dans les sciences du vivantqui étudient le comportement animal (Thomas, 2001b).

La �gure 1.1 page 16 illustre le modèle animat de Thomas en interaction dans sonenvironnement (l'auteur ne parle pas explicitement d'animat, mais de concepts en sciencedu comportement). Les notions précédentes de senseurs et actuateurs sont positionnées àl'interface entre l'animat et l'environnement. Cependant, Thomas di�érencie les facteursin�uençant le comportement de l'animal selon qu'ils sont exprimés suivant le point devue d'un observateur externe ou suivant la donnée accessible par l'animal. Un ExternalObservable Antecedent (eoa), aussi appelé stimulus, est une source d'énergie physiqueen provenance de l'environnement (eg. la lumière, le son). C'est donc un facteur externe,observable et mesurable, et considéré comme variable indépendante. L'animal perçoitla manifestation de l'eoa par l'intermédiaire des sens qui créent un Internal ObservableAntecedent (ioa), lui aussi potentiellement observable et mesurable par instrumentation.Le comportement animal peut alors déclencher une réponse dont l'Internal ObservableConsequent (ioc) est le précurseur : c'est une manifestation physique qui marque le

behavioRis 15

Page 18: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

début de la réponse. Cette réponse se traduit par un changement énergétique : l'Ex-ternal Observable Consequent (eoc) (eg. le déplacement), aussi assimilé à une variabledépendante.

L'architecture de contrôle a donc pour rôle de créer la relations entre ioa et ioc.Selon Thomas, il faut cependant ajouter la dynamique temporelle dans la dé�nition deces termes, et remarquer qu'un eoa peut résulter d'un eoc. De même, l'e�et de mémoirede l'animal doit être pris en compte dans l'explication d'un comportement et n'est pasreprésenté par la �gure.

La notion d'interface symbolise la relation entre ioa et ioc, mais les connaissancesactuelles ne permettent pas de la situer précisément : le lien entre ioa et ioc, voire entreeoa et eoc, n'est pas identi�é exactement, et si certaines relations s'expliquent pardes modèles cognitifs (le cortex cérébral joue le rôle d'interface) d'autres se modélisentpar des réactions directes (par l'intermédiaire du système nerveux ou par des interactionsintercellulaires). Les modèles d'interface s'e�orcent alors d'expliquer des correspondancesentre des entrées et des actions résultantes sur l'environnement.

Dans de nombreux modèles d'interface, la plupart des concepts manipulés ne sont ene�et pas les eoa, ioa, ioc et eoc, mais des concepts abstraits. Parmi ces concepts, cer-tains résultent d'hypothèses de travail, et représentent des entrées possibles mais encorenon observées : elles sont supposées exister. Au contraire, d'autres concepts abstraits, lesvariables intermédiaires, sont manipulés mais représentent des données �ctives (dans lesens où elles ne sont pas isomorphes à une source d'énergie de l'environnement, elles nesont ni observables, ni mesurables) : leur existence concrète n'est pas inférée.

ENVIRONNEMENT

INTERFACE

IOAsenseurs effecteurs

IOCEOA EOC

réponsesstimulations

senseurs actuateurs

ANIMAT

Figure 1.1 � Entrées et sorties d'un animat situé dans son environnement d'aprèsThomas (2001b).

Comme nous le présentons dans la section suivante, les di�érentes sciences du com-portement n'abordent pas les mêmes niveaux d'abstraction et donc ne manipulent pasles mêmes concepts, et étudient les comportements à di�érentes échelles d'observation.Cette échelle d'observation est liée le plus souvent à la manière dont est modélisé le faitque l'animat est situé dans son environnement.

16 Ludovic Coquelle

Page 19: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Comportement et modélisation

1.2 Domaines connexesLa cybernétique a été le premier domaine à mettre en évidence des analogies fortes

entre les systèmes naturels (biologiques) et arti�ciels (physiques) (Wiener, 1948, citédans (Holland et McFarland, 2001, ch. 1)). En e�et, la cybernétique construit des mo-dèles d'entités autonomes, semblables aux animats, en s'appuyant sur des mécanismesde communication et de régulation.

L'étude des animats est une sous-branche de la vie arti�cielle, qui est elle-même unediscipline faisant partie de l'Intelligence Arti�cielle (ia). Comme les animats font le lienentre systèmes vivants et arti�ciels, les modèles de comportement sont souvent inspirésdes sciences comportementales du vivant. Notre but étant de décrire complètement lecomportement d'un animat, nous présentons ici l'objet d'étude de di�érentes sciences ducomportement.

La plupart de ces sciences qui étudient le comportement humain sont souvent en-globées sous le terme de science cognitive : étude interdisciplinaire de l'esprit ou del'intelligence, qui fait intervenir la psychologie, la linguistique, l'ia, la philosophie, lesneuro-sciences, la logique, la robotique, l'anthropologie et la biologie. Le but n'est pasalors de décrire un comportement mais plutôt un mécanisme de pensée. Nous préféronsdans la suite nous focaliser sur les sciences du comportement qui cherchent à décrire desmodèles d'animats, de la perception à l'action.1.2.1 Comportement et sciences du vivant

Dans les sciences du vivant, le comportement est abordé à plusieurs échelles d'obser-vation, comme le résume brièvement le tableau 1.1. Nous donnons ici quelques précisionssur les modélisations adoptées par les études concernant les comportements individuels.

Tableau 1.1 � Disciplines des sciences du vivant.

Niveaud'observation Objet d'étude Disciplinesmoléculaire ADN, protéine génétique, biochimie, biologie moléculairemicroscopique cellule microbiologie, physiologie, biologie cellulairemacroscopique organisme, individu anatomie, psychologie, éthologiepopulationnel colonie, population biologie des populationsspéci�que espèce phylogéographiesupra-spéci�que écosystème écologie

La psychologie animale (incluant la physio-psychologie) adopte un point de vuetrès anthropomorphique, notamment avec la psychologie comparée qui étudie lesdi�érences psychiques, particulièrement entre faits psychiques humains et animaux.Les études en psychologie s'attachent à décrire un modèle cognitif (délibératif, sym-bolique) de l'interface de l'individu. Le rôle d'une telle interface est de créer unereprésentation symbolique de l'univers pour pouvoir raisonner sur cette représenta-tion et adopter un comportement adéquat. Ce comportement est une représenta-tion des actions nécessaires, et elle est transformée en commande pour les e�ecteurs.La psychologie détache le comportement de l'individu et de son environnement.

behavioRis 17

Page 20: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

Elle s'intéresse à décrire l'interface sans hésiter à faire intervenir des variables in-termédiaires et des constructions hypothétiques sur la perception de l'environne-ment. L'hypothèse principale est que l'action et la perception sont séparées par unecouche comportementale cognitive.

Le behaviourisme, à l'opposé, modélise les réactions de l'individu comme conséquencesdirectes des stimulations externes. Dans cette branche de la psychologie, dénom-mée psychologie objective, le comportement de l'individu est étudié de manièrepurement expérimentale avec pour but de créer un modèle prédictif.Aucune hypothèse n'est faite sur des variables intermédiaires : un modèle behaviou-riste d'animat forme un lien direct entre les entrées et sorties sans supposer aucunmodèle de cognition ou de mémoire dans l'interface. C'est une approche fonction-nelle de l'interface de l'animat, où l'on cherche à écrire le comportement commeune fonction f telle que eoc = f(eoa).Cette approche permet de créer et tester des modèles de comportements dits ré-actifs, ne faisant aucunement référence à des états mentaux ou à des processuspsychologiques internes. Mais si cette doctrine explique facilement les résultats ex-périmentaux tel que l'apprentissage par renforcement, elle n'est pas su�sante pourdécrire le comportement d'un individu dans son environnement. Une explicationd'un comportement ne peut se passer d'une contextualisation de l'individu quipasse par sa représentation interne du monde.

L'éthologie apporte une approche transversale à ces disciplines.Si le behaviourisme ne su�t pas à expliquer tous les comportements, les modèlescognitifs de la psychologie ne peuvent pas non plus prendre en compte tous lesaspects du comportement. Par exemple, Lashley démontra en 1951 (cité par Bry-son (2000)), que la virtuosité des musiciens (le déplacement des mains) ou plussimplement le contrôle de la parole chez les humains ne peuvent pas être expliquéspar des processus cérébraux : ceux-ci sont simplement trop lents.L'éthologie va replacer l'individu au sein de son environnement et étudier son com-portement pour apporter un modèle prédictif. Pour cela, elle se base sur les donnéesdu behaviourisme, mais introduit dans les modèles d'interface la notion d'état in-terne de l'individu par l'utilisation des variables intermédiaires.Nous verrons en section 2 que l'objectif est de proposer des modèles explicatifs decomportement sans introduire d'hypothèse cognitive forte.

Même si les champs d'études se �xent des sujets de recherches di�érents, ils se basenttous sur des données expérimentales issues d'observations des niveaux moins abstraits(cf tableau 1.1 page 17). Ainsi des études comme la physiologie qui étudie les fonctionsnormales de l'organisme, ou comme la psycho-physiologie qui étudie les rapports entrel'activité psychique et l'activité physiologique (en particulier celle du système nerveux),restent la base de construction des modèles de comportement. Par analogie, des étudesà un niveau d'observation plus élevé, comme l'écologie, utilise les modèles de compor-tement, et fournissent alors des retours sur la validité des hypothèses de base de cesmodèles.

Ces études comportementales animales ont inspiré les études sur les animats. Quece soit à des �ns de simulation ou de robotique, l'ia a développé des modèles d'entitésautonomes basés sur les modèles de comportements animaux. Dans l'utilisation oppo-sée, Watts (1998) présente la simulation d'animat comme un moyen d'expérimenter les

18 Ludovic Coquelle

Page 21: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Comportement et modélisation

Virtual Life

Artificial Ethology

Animation

Artificial Intelligence

Artificial Life

Robotics

Animats

Figure 1.2 � Place de l'étude des animats en Intelligence Arti�cielle.

modèles en étudiant le comportement en dehors de l'organisme qui le produit. Ainsi lessciences du comportement vivant et arti�ciel se rejoignent à travers cette notion d'animat.1.2.2 Comportements arti�ciels

Pour ce qui est des comportements de systèmes arti�ciels, l'ia couvre un large do-maine d'application et sa dé�nition est di�cile. Une dé�nition dite �forte� consiste àvoir l'ia comme une manière de rendre une machine non seulement capable de simu-ler un comportement intelligent mais aussi d'éprouver une réelle conscience de soi pourpouvoir comprendre ses raisonnements. La notion d'ia �faible� constitue une approchepragmatique : chercher à construire des systèmes de plus en plus autonomes. C'est aveccette approche que nous abordons les animats. L'étude principale de l'ia porte sur lesmécanismes de prise de décision ; pour cette raison elle utilise le plus souvent des mo-dèles cognitivistes qui, dans le cadre des animats, permettent d'abstraire l'interface deson environnement.

Plusieurs branches de l'ia, dont la �gure 1.2 page 19 représente les imbrications, nousintéressent particulièrement pour notre étude de modélisation de comportement animal.

� La première, non incluse entièrement dans l'ia, est la robotique mobile. Unrobot est simplement dé�ni ici comme une entité physique autonome : isolé dansson environnement, il embarque ses propres moyens de décider et d'agir . Un robotpeut être vu comme un animat concret. Les problématiques soulevées sont alorsproches de son utilisation : le modèle de comportement doit prendre en compte lesperceptions réelles avec leurs approximations, les asservissements mécaniques pourl'exécution des actions, et doit s'exécuter en temps réel, le tout fonctionnant dansune entité aux ressources limitées. Pour satisfaire toutes ces contraintes, les modèlesutilisés ont souvent été inspirés du behaviourisme ou de l'éthologie. Une autrecontrainte relevant plus de l'ingénierie favorise l'utilisation de modèles �simples�pour la recherche de solutions robustes et déterministes dans un environnementdynamique.

� Computer Animation : certaines techniques de création d'animation (�lm oujeu) s'appuient également sur des modèles de comportement. L'autonomie des ani-mats soit aide l'animateur à ne pas décrire fastidieusement l'animation complète

behavioRis 19

Page 22: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

car il ne décrit que le comportement (Funge, 1998), soit elle sert de base à la créa-tion d'animation dynamique comme par exemple un aquarium virtuel (Tu, 1996).Comme en robotique, il y a souvent opposition entre autonomie et contrôle ducomportement, qui in�uence la modélisation du comportement.

� Arti�cial Life. Comme en ia, si la branche �forte� de cette discipline cherche àabstraire le processus de vie de tout medium, et donc à pouvoir la synthétiser surordinateur, la branche �faible�, convaincue de l'impossibilité de générer un pro-cessus vivant, cherche à imiter la vie, en produisant des modèles correspondantaux observations. On retrouve alors l'utilisation des simulations informatiques avecpar exemple les algorithmes évolutionnistes, les systèmes multi-agents (discutés ensous-section 1.3), et les automates cellulaires. L'étude des animats peut être consi-dérée comme une sous-catégorie de ALife qui se concentre sur les modélisationsmulti-agents (Dean, 1998).� Virtual Life est une sous-branche de ALife qui cherche à reproduire le com-portement d'êtres vivants dans une simulation de réalité virtuelle. Une doubleproblématique est abordée : (i) reproduire les comportements des entités et leurenvironnement avec (ii) un rendu visuel (voire multimodal) réaliste en tempsréel. La technique utilisée est l'utilisation de la modélisation agent (Wang etMcKenzie, 1998). Les comportements simulés sont donc décrits au niveau indivi-duel, et s'appuient sur les modélisations des sciences du vivant (de la psychologie,du behaviourisme et de l'éthologie). Simuler un animat virtuel implique ici desimuler son environnement, c'est-à-dire l'écosystème, ainsi que toutes les inter-actions. Heleno et dos Santos (1998) présentent la simulation d'écosystème àpartir de modèles comportementaux de déplacement exécutés par un processusd'animation.

� L'Ethologie arti�cielle utilise les robots mobiles pour étudier le comportementanimal : les robots servent soit d'expérimentation des modèles d'animaux, soitd'outils d'étude de ces animaux en permettant par exemple de les approcher oud'interagir avec eux (Holland et McFarland, 2001). L'interaction avec l'environne-ment étant un point clef de l'éthologie (qui étudie le comportement de l'animaldans son milieu), l'utilisation d'animats virtuels par simulation est peu usitéecar elle contraint à modéliser l'environnement et ajoute ainsi des hypothèses demodélisation supplémentaires non liées au modèle de comportement. Les modèlesde l'éthologie sont donc utilisés ici soit pour concevoir les comportements desrobots soit pour étudier le comportement des animaux.

1.3 (Eco)système et ibm1.3.1 Milieu naturel et système complexe

Nous venons de voir que les modèles comportementaux utilisés en sciences du vivant eten sciences arti�cielles sont très proches (ce sont souvent les mêmes avec des adaptationsaux contraintes spéci�ques). De plus, la modélisation individu-centrée (qui correspondaux modèles animats) s'appuie sur l'expérimentation et donc la simulation.

Le milieu naturel peut être étudié comme un système complexe avec des interactionsqui peuvent être de natures di�érentes et opérer à di�érentes échelles spatiales et tem-porelles (Green et Sadedin, 2005). Le comportement animal peut également se décriresous la forme de système complexe quand on s'intéresse au comportement de l'individu

20 Ludovic Coquelle

Page 23: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Comportement et modélisation

en interaction avec son environnement mais aussi avec les autres individus. L'idée princi-pale de cette modélisation est de décrire des comportements simples au niveau individuelpour observer les résultats de la simulation à un niveau supérieur (groupe ou populationpar exemple).

En biologie, suivant les propriétés du système que l'on souhaite modéliser (et le butde la modélisation), plusieurs types de modèle sont utilisés : analytique, stochastique,ou par évènements discrets. Un modèle analytique relève de la propriété continue del'évolution temporelle du système (de son modèle), par opposition à un modèle discretoù les grandeurs modélisant les états du système changent de manière discrète. Un modèlediscret peut être stochastique (le contraire serait un modèle déterministe) si au moinsun élément (une variable) aléatoire in�uence l'évolution du système. La simulation parévénements discrets désigne la modélisation d'un système réel tel qu'il évolue dans letemps, par une représentation dans laquelle les grandeurs caractérisant le système nechangent qu'en nombre �ni de points isolés dans le temps. Seul ce type de simulationpermet de tenir compte �nement de la spatialisation des systèmes (Coquillard et Hill,1997).

Pour les animats, la simulation par évènements discrets permet de réaliser des modèlesdynamiques qui intègrent l'individu dans son environnement : ce sont les Individual-BasedModel (ibm), traduits en français par modèles individu-centrés.1.3.2 Dé�nition et intérêt des ibm

Un Individual-Based Model (ibm) représente les conséquences globales issues desinteractions locales entre individus ; ces individus sont dé�nis par leurs comportementset propriétés. Le modèle dé�nit les individus, mais le résultat est observé au niveau d'unensemble d'individus (pour lequel aucune propriété moyenne n'a été dé�nie). Un ibm estde plus spatialisé si les individus sont localisés (éventuellement mobiles) dans l'environ-nement. Ce besoin de spatialisation pour modéliser l'évolution temporelle des processusphysiques et biologiques est décrit dans une histoire des modèles liés à la gestion desressources marines (Giske et al., 2001).

Dans (Huse et al., 2002), les auteurs dé�nissent formellement un ibm comme l'évolu-tion de deux vecteurs. Le vecteur d'attributs Ps dé�nit toutes les propriétés de tous lesindividus, tandis que le vecteur de stratégies Ss dé�nit tous les comportements des indi-vidus. Chaque individu Ai possède un ensemble de propriétés Pi (comme sa position parexemple) traduites sous la forme d'attributs numériques pi pour un instant t, ainsi qu'unensemble Si de comportements traduits sous la forme d'algorithmes si. Un individu estdonc représenté par un couple de deux ensembles Ai = 〈Pi, Si〉 avec Pi = p1, p2, · · · pni , tet Si = s1, s2, · · · smi . La simulation a alors pour rôle de faire évoluer les vecteurs Ps etSs.

Quel est l'intérêt des ibm pour modéliser des comportements animaux ? Il se situe dansla di�érence d'échelle entre la description du modèle et l'observation du résultat : c'est lephénomène d'émergence. Sans entrer dans les débats de dé�nition du terme émergence,nous l'employons ici pour désigner simplement un phénomène observé à un niveau plusélevé que celui du modèle ; c'est donc un phénomène non décrit lors de l'élaborationdu modèle, mais observé par simulation. Miquel donne une dé�nition de l'émergencedans les sciences du vivant 2, et conclu que dans la science contemporaine (la simulationdes systèmes complexes par exemple) �déterminisme et prévisibilité cessent de coïncider

2Qu'est-ce que l'émergence en biologie ?: http://www.vivantinfo.com/numero5/emergence.html

behavioRis 21

Page 24: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

systématiquement�.Pour modéliser un seul individu animat, un modèle classique (non ibm) comme pro-

posé dans (Beer et al., 1990) s'appuie sur un modèle neuro-éthologie pour contrôler lessix pattes d'un insecte. Cet insecte virtuel se déplace dans l'environnement, attiré parde la nourriture mais en évitant les obstacles. Le modèle décrit le fonctionnement despattes, et c'est ce déplacement qui est observé. Par contre dans (Meyer et al., 2005),même si le résultat observé est le fonctionnement global d'un rat arti�ciel (non virtuel,c'est un robot mobile dans ce cas), le modèle décrit le fonctionnement interne commeun système complexe : un ensemble d'interactions entre les entités qui composent le rat.Les intérêts de l'ibm sont résumés dans (Sche�er et al., 1995). Le premier est de ne pasintroduire dans le modèle de loi explicite de comportement à l'échelle d'observation. Lesecond est que la construction de comportement est plus robuste à la formulation par-tielle des processus. Et le dernier, qui nous intéresse particulièrement dans notre étude,est que les paramètres du modèle sont typiquement ceux mesurés par les biologistes.

Cependant, le principal inconvénient des ibm, qui explique en partie leur dévelop-pement relativement récent, est que la simulation peut être très coûteuse en terme decalcul : si N individus peuvent tous interagir entre eux, le nombre d'interactions calculéesau cours de la simulation évolue en o (N2

), même si in �ne elles ne sont pas toutes prisesen compte. La principale réponse à ce problème est souvent de passer par des structuresorganisationnelles, comme les super-individus, pour regrouper plusieurs individus en unseul lorsque cela est possible (Grimm, 1999).Grimm nous met en garde aussi sur le but dela simulation d'ibm. En e�et, un modèle ibm a un but explicatif (Grimm utilise le termepragmatique) qui tend à guider le modèle vers plus de réalisme, pourtant il ne reste qu'unmodèle abstrait. Nous pensons cependant que cette remarque prend plus d'importancedans le contexte évoqué par l'auteur qui est l'écologie, que dans la modélisation d'animatoù l'on compare en permanence le sujet et le modèle. Un autre point évoqué est ladi�érence entre une théorie au niveau du système en lui-même et un ibm. Mais cettequestion relève plus de l'utilisation faite de l'ibm que de sa forme. Toujours est-il queles modèles ibm sont une réponse à certains problèmes comme le montre la classi�cationsuivant les modèles spatiaux utilisés des ibm pour l'étude des populations marines deWerner et al. (2001).1.3.3 Utilisation des sma

Nous considèrerons dans la suite qu'un Système Multi-Agents (sma) est une implé-mentation d'un ibm pour obtenir une simulation. Dans (Wooldridge et Jennings, 1995),les auteurs donnent une dé�nition dite �faible� d'un agent comme un système autonome,doté de capacité sociale (interactions via un langage agent), et capable de réactivité etde proactivité (réponses à des stimulations de l'environnement et prise d'initiative). Ensimulation, les agents sont des entités situées, dotées d'un modèle de comportement, et lesma simule l'exécution parallèle des entités. Sans entrer plus dans les détails de dé�nitiondu terme agent, nous assimilerons un animat virtuel à un agent de la simulation. Nousparlerons également d'architecture d'agents comme une méthodologie de conception etnon pas comme une structure �xe (Bryson, 2000).

22 Ludovic Coquelle

Page 25: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Comportement et modélisation

1.4 Notre objectifComme énoncé en introduction, notre étude porte sur la simulation de comportements

individuels d'animaux. Le but de la simulation est de proposer un formalisme (exécutable)de la modélisation de comportement. Pour cela, nous nous plaçons dans le cadre d'étudedes systèmes complexes ainsi que dans celui des animats. Précisons les limites de notretravail.1.4.1 Objet d'étude, ou quels comportements simuler ?

Les di�érentes sciences du comportement individuel (du vivant ou de l'arti�ciel)abordent la notion d'individu à plusieurs échelles d'observation suivant leur but. Le notreici est de décrire un animal de manière externe, a�n de modéliser son comportement ob-servable dans un environnement virtuel.

Un modèle dit �externe� fait opposition à un modèle de fonctionnement interne.Un modèle interne fait des hypothèses fortes sur le système interne de l'individu en s'ap-puyant sur les modélisations physiologiques pour proposer des approches bio-mimétiques.Par exemple, le projet Psikharpax (Meyer et al., 2005) propose un modèle (physique, dansle sens de robot mobile) de rat. Ce rat arti�ciel intègre les capacités motrices et senso-rielles de l'animal et son mécanisme comportemental est inspiré du fonctionnement de lastructure nerveuse située dans plusieurs boucles cortex � ganglions de la base � thalamus� cortex.

Parmi les comportements observables, nous nous limitons aux comportements ins-tinctifs innés. Un comportement est dit instinctif s'il pousse l'animal à exécuter des actesadaptés à un but dont il n'a pas conscience ; il est inné s'il n'est pas appris par l'animalau cours de sa vie.

Poser ces limites de modélisation de comportements permet de concentrer notre tra-vail sur la description externe du comportement. Un comportement non instinctif relèved'une certaine conscience du comportement, et son modèle s'appuierait sur les donnéespsychologiques internes. De la même manière, un processus d'adaptation (l'ia utilisele terme apprentissage où la biologie utilise l'expression d'adaptation proximale) s'ap-puie souvent sur des hypothèses comme la représentation interne du monde ; de plus,modéliser un processus d'adaptation conduit à ne plus maîtriser le résultat du modèle(Guillot et Meyer, 1998), ce qui nous éloigne de notre problématique de description ducomportement.

Pour résumer, voici nos objectifs et restrictions :� une modélisation au niveau individuel reposant sur des observables (externes ouinternes) ;

� une manière de décrire des comportements instinctifs innés ;� une simulation d'un environnement virtuel ou interagissent des individus de di�é-rentes espèces.

1.4.2 Sujet d'étude, ou quelle modélisation adopter ?Pour simuler un environnement virtuel peuplé d'animats en interaction, nous avons

vu en section 1.3 que les ibm fournissaient un outil adapté, avec l'hypothèse de modéliserl'environnement comme un système complexe.

La problématique des simulations des systèmes complexes n'entre pas en con�it avecla volonté d'avoir un moyen de description simple du comportement : la complexité in-

behavioRis 23

Page 26: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

tervient au niveau du résultat global de la simulation mais résulte d'un agencement desystèmes simples. De plus elle permet de modéliser des interactions entre di�érents mo-dèles en laissant l'autonomie de décision au niveau des entités simulées (ici les animats).

Pour ce faire, la modélisation s'appuiera sur les données de l'éthologie. Les modèlesde la psychologie introduiraient des processus du fonctionnement interne de l'animal (liéà l'espèce et souvent non observable). Au contraire, les modèles behaviourists limiteraienttrop fortement les possibilités de description.

Le sujet d'étude vise alors à proposer un moyen de décrire les modèles éthologiquesde comportements instinctifs innés d'animaux pour les simuler grâce aux techniques dela vie arti�cielle, particulièrement l'étude des animats.1.4.3 Objectif, ou quelle �nalité rechercher ?

Le but est de créer un modèle d'animat, qui puisse être utilisé pour simuler di�é-rentes espèces animales. L'objectif �nal est donc d'apporter un outil de modélisationpour des spécialistes de la modélisation comportementale (éthologique). Pour cela, lescaractéristiques de ces données sur le comportement doivent être prises en compte dansl'élaboration du simulateur.

En e�et les connaissances du comportement animal sont souvent parcellaires et impré-cises (du point de vue de la simulation qui exige de calculer à tout moment un comporte-ment représenté par des valeurs numériques exactes). Parcellaires car les comportementsne sont souvent connus que dans des conditions spéci�ques ; imprécises car ceux-ci sontsouvent décrits de manière linguistique. De plus, il faut prendre en considération que lesdonnées sur le comportement sont exprimées de manière déclarative, ce que nous allonsvoir en section 2.1.

2 Ethologie et simulationCette partie n'a pas pour prétention de dé�nir entièrement l'éthologie mais pose

les éléments de base pour aborder la notion de modèle éthologique. De plus amplesinformations sur l'éthologie peuvent être trouvées dans des livres de référence comme(McFarland, 1999).

2.1 Dé�nitionL'éthologie est une science relativement récente dans sa dé�nition actuelle. Le terme a

été introduit au début du XXe siècle. L'éthologie étudie le comportement naturel animal,c'est-à-dire la manière adaptée d'être, d'agir et de percevoir de l'individu (Guyomarc'h,1995). Son travail est donc l'analyse des comportements pour en comprendre les méca-nismes et leurs histoires, en répondant aux questions quoi ?, comment ? et pourquoi ?.

L'ensemble des comportements dé�nit l'activité de l'individu. Cette activité est orga-nisée structurellement (eg. une manière de marcher), spatialement (eg. l'oiseau ne fait passon nid n'importe où) et temporellement (eg. la fraye a une saison). C'est donc l'adap-tation de l'animal par rapport à son milieu qui est au centre des études de l'éthologie.

Plus que l'individu, c'est l'interface organisme�milieu qui fait le véritable objet d'étudede l'éthologie. L'organisme n'est donc pas étudié comme une unité populationnelle, maiscomme un ensemble cohérent, qui va de l'espèce à une di�érentiation en groupes d'in-dividus, ce qui permet de prendre en considération les caractéristiques et di�érences

24 Ludovic Coquelle

Page 27: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Ethologie et simulation

inter-individuelles. Le milieu n'est plus alors le milieu naturel dans sa globalité maisl'environnement phylogénétiquement pertinent, c'est-à-dire ce avec quoi l'individu peutinteragir.

L'éthologie di�érencie deux types de comportement. Les comportements dit de pre-mier ordre (que l'on peut voir comme les actions et perceptions de l'individu) contribuentdirectement à une fonction ultime de survie ou reproduction. Les autres sont dits de se-cond ordre, ce sont les interactions qui ont pour but de préparer � via la communication� les conditions d'une relation �nalisée ultime d'interaction avec un autre organisme.

Caractériser un comportement au cours des activités des individus sous-entend depouvoir repérer une réponse qui se répète pour chaque individu dans une certaine situa-tion : ce sont les Fixed Action Pattern (fap) qui permettent de décrire des comportementsstéréotypés. Mais l'éthologie introduit la variabilité dans l'étude des comportements.Celle-ci est soit d'ordre phénotypique inter-individuelle, c'est la di�érentiation des di�é-rents groupes d'individus à l'intérieur d'une même espèce ; soit elle est de l'ordre de la�exibilité dans le comportement, c'est une variabilité contrôlée par l'individu.

Les champs de ré�exion de l'éthologie peuvent se décomposer en quatre questions,précisées par les schèmes de Tinbergen (Tinbergen, 1951). La première, liée au schémacausal, est l'étude des causalités : qu'est ce qui fait que cet animal produit cette réponsemaintenant ? La deuxième, le schéma fonctionnel, adopte un point de vue plus prag-matique et s'interroge sur la fonction : comment le comportement peut-il in�uencer leschances de survie ou de reproduction de l'individu ? La troisième, le schéma proximal,s'intéresse au développement de l'individu : comment le comportement change avec l'âge,et quelles sont les expériences nécessaires à la présence d'un comportement ? Et en�n, leschéma historique, pose le problème d'un point de vue évolutionniste : comment peut-oncomparer un comportement par rapport à celui d'une autre espèce, et comment a-t-il puse développer suivant le principe de la phylogénèse.

L'éthologie se di�érencie de la psychologie comparée principalement dans le fait qu'ellefocalise son étude sur l'individu en situation naturelle et non pas dans des cas spéci�quesarti�ciels. De plus, là où la psychologie comparée étudie le comportement animal enfonction des connaissances sur la psychologie humaine, l'éthologie étudie l'animal à partirdes bases d'anatomie et de physiologie. Une conséquence observable de ces divergencesd'approche est que si la psychologie comparée s'est e�orcée d'accumuler des connaissancesprécises sur quelques espèces, l'éthologie s'est intéressée à un nombre plus grand d'espèces,mais avec des connaissances moins précises, pour comparer et extraire des principes decomportement. Avec les schémas, fonctionnel, proximal et historique, l'éthologie poseun regard plus pragmatique sur l'étude des comportements que la psychologie objective(behaviourisme) dans le sens où elle cherche à comprendre ce qu'est un comportement etpourquoi il est exécuté par l'individu plutôt que de chercher à comprendre les mécanismesqui conduisent à ce comportement.

Le comportement consiste en une série de mouvements continus et d'évènements. Pourdécrire le comportement d'un animal, il va falloir le décomposer en unités. L'ensemble desunités comportementales décrites dans une espèce forme le répertoire comportemental ouéthogramme de l'espèce (au sens strict, éthogramme signi�e description du répertoire).L'éthogramme est donc une description comportementale de l'animal, sous la forme d'unedescription linguistique des principaux comportements ainsi que de leurs occurrences(causes et fréquences). Un exemple est donné �gure 1.3 page 26.

behavioRis 25

Page 28: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

Exemple d'éthogrammeSpecies : Multiple species (Class Aves)Use : General behavior and social proximityAuthors : M. Ross : Lincoln Park Zoo, Chicago, ILMethods : Group scan with 30-second intersample intervalPublications/Presentations : Ross, M.R. The e�ect of ultraviolet light on the behavior of birds.

Ph.D. dissertation, Georgia Institute of Technology, November, 2001.CHANNEL 1 : Behavior� StationaryResting (RS) The subject is not appearing to perform any active behavior and remains stationary.

Star-Gazing may be observed, where a subject has its head tilted at least at a 75 degree angle.If this is observed, then s will connote star-gazing rather than a `regular' RS.

� CourtshipNest Building or Nest Investigate (NI) The subject is creating a structure with straw, sticks,

or other inanimate objects in one area in a fashion to create a cavity, basket, or other structure,which could be used as a place to lay eggs. OR The subject is entering either a built nest or anest box.

Incubation of Nest (IN) The subject is sitting in a nest, or manipulating an egg within a nestwith its beak.

Allo-Preening (AP) The subject is manipulating the feathers of a conspeci�c. (Recorded for ins-tantaneous data as well as all-occurrences)

Courtship behaviors (CT) The subject is bobbing its head, closely following or being followed,waving its wings, or engaging in any other solicitous behaviors. (Recorded for instantaneousdata as well as all-occurrences)

Vocalizing (VC) The subject is vocalizing and not performing any other active behavior simulta-neously.

� LocomotionFlying (FY) The subject is using its wings to locomote in the air. At least one full wing beat is

necessary before �ying can be recorded. Prior to one full wing beat, other locomotion (LC) willbe recorded. Underwater swimming of penguins and seabirds will be classi�ed as �ying.

Walking (WK) The subject is using its legs to locomote on a solid surface in a rhythmical fashionin a meandering pace.

Other Locomotion (LC) The subject is performing any locomotor behavior other than walking,�ying, or pacing. Examples may be hopping, running, or jumping.

Pacing (PA) The subject is locomoting in a rigid repeating fashion. The pattern must occur at least3 times before being recorded as pacing.

CHANNEL 2 : DistancesContact (C) Any part of a subject is in contact with a conspeci�c.Proximate (P) The subject is within one body length to a conspeci�c.Out of reach (O) The subject is over one body length away from a conspeci�c but less than 4 feet

away.Distant (D) The subject is more than 4 feet away from a conspeci�c.Not Visible (NV) The subject's distance from conspeci�cs is not visible at point sample.

Figure 1.3 � Exemple d'éthogramme : extrait partiel de l'éthogramme d'unefamille d'oiseau d'après le Behavioral Advisory Group http://www.lpzoo.org/ethograms/FRMS/menus/birdsmenu/generalbirds.html

26 Ludovic Coquelle

Page 29: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Ethologie et simulation

2.2 Modélisations éthologiquesLes éthogrammes sont des outils pour réunir les connaissances comportementales

animales. Ce travail de regroupement et d'organisation des connaissances, comme parexemple l'initiative Ethosource 3, est la base nécessaire à la conception des modèles decomportement qui nous intéressent.

Un historique de ces modèles éthologiques est présenté dans (Holland et McFarland,2001, ch. 1). Nous reprenons dans cette partie certaines références pour extraire quelquesprincipes de modélisation.2.2.1 L'explication causale

Comme nous l'avons précisé, avec la cybernétique,Wiener a été le premier à proposerde faire une analogie entre systèmes physiques et biologiques. Avant lui, Von Holst,pionnier de la physiologie comportementale, utilisait systématiquement des analogiesphysico-biologiques (p. ex. un modèle mécanique de battement en rythme des nageoiresd'un poisson présentant certains degrés d'indépendance dans leur coordination, en 1939).

Lorenz, sous l'in�uence de Heinroth, a été un des pères fondateurs de l'éthologiemoderne. Il a notamment proposé la notion d'Innate Releasing Mechanism (irm) pourdonner une explication causale de comportement (Lorenz, 1950). Un irm est un ensemblede stimuli qui déclenche un comportement donné (fap). A la di�érence des modèles be-haviouristes, un irm regroupe les stimuli externes (causes exogènes dues à la perceptionde l'environnement) avec les stimuli représentant l'état interne de l'individu (causes en-dogènes dues à l'état interne de l'individu). En 1950, Lorenz a présenté un modèle dedéclenchement de comportement (un modèle d'irm) sous forme d'analogie à un systèmehydraulique (cf �gure 1.4 page 28). Dans ce modèle �psycho-hydraulique�, une variableinterne �énergie� est symbolisée par un réservoir d'eau qui se remplit progressivement(le niveau d'eau indique le niveau d'énergie). Un stimulus externe agit sur l'ouvertured'une vanne par l'intermédiaire d'une action mécanique et permet au contenu du réser-voir de se déverser dans un système qui symbolise le contrôle du comportement. Ainsi,le déclenchement du comportement dépend à la fois du niveau de stimulation interne (leniveau d'eau dans le réservoir in�uence la vitesse de sortie de son contenu à l'ouverturede la vanne) et du niveau de stimulation externe (le degré d'ouverture de la vanne dépendde la force du stimulus perçu). De la même manière, le contrôle du comportement estmodulé par la quantité d'eau qui se déverse hors du collecteur.Même si le concept d'énergie sera remis en cause en 1960 par Hinde et en 1971 parMcFarland, c'est le principe de modélisation qui nous intéresse ici par déclenchementd'action sous l'in�uence d'une certaine con�guration de stimuli. Ce qui n'apparaît pasclairement dans ce modèle de schéma causal, c'est la distinction entre deux types de sti-muli. Les premiers sont dits stimuli déclencheurs (releasing), ils engendrent le début d'uneréponse. L'autre type de stimulus est dit directeur (directing) : un stimulus directeur estun paramètre de la réponse. Ces deux types sont souvent liés, comme ici où l'in�uence duniveau d'eau dans le réservoir ou l'ouverture de la vanne guident le processus de contrôlede comportement : ils sont à la fois déclencheurs et directeurs.

Une autre étape dans l'évolution des modèles éthologiques est l'introduction desboucles de rétroaction (feedback) utilisées en théorie du contrôle. Cette idée a été in-

3Martins,E.P. and Clark,A.V, 2002, Ethosource : a global initiative for integrating and sharing beha-vioural information: http://mypage.iu.edu/~emartins/Ethosource/index.html

behavioRis 27

Page 30: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

Figure 1.4 � Modèle �psychohydraulique� de motivation d'après Lorenz (1950).Le robinet T symbolise une production endogène �d'énergie d'action� ; le réservoirR représente la quantité disponible de cette énergie. La valve V est le mécanismedéclencheur et le ressort S représente les forces inhibitrices de plus haut niveau.Une masse Sp symbolise la partie des stimuli provenant des perceptions externes.Les di�érents écoulement Tr, suivant le niveau atteint, symbolisent les di�érentsfap activés G.

troduite en biologie sous le nom homéostasie (Cannon, 1927). C'est la propriété qu'a unsystème ouvert (un organisme vivant par exemple) de se réguler pour maintenir sa stabi-lité, par ajustement de di�érents mécanismes de contrôle potentiellement interconnectés.Le mécanisme utilisé est la rétroaction. Une rétroaction est la prise en compte comme en-trée du contrôle de la di�érence entre la sortie du mécanisme de contrôle et l'état véritabledu système. Cela sous-entend que le contrôle doit connaître sa sortie (un e�et mémoire)ainsi que l'état du système (par l'intermédiaire de la proprioception). Cette rétroactionest dite positive si elle tend à faire croître la di�érence, et négative dans le cas inverse. Cefonctionnement est mis en ÷uvre dans le modèle éthologique du principe de ré-a�érence(von Holst et Mittelstaedt, 1950). Ce principe est une extension de la théorie out�owproposé par von Helmholtz à la �n du XIXe siècle. Le modèle présenté, qui décritle contrôle du mouvement de l'÷il, permet de di�érencier les mouvements perçus par larétine entre les mouvements propres des muscles rétiniens et les mouvements externes(comme ceux de la tête par exemple).

Ce type de modélisation a conduit à des analyses dites �boîte noire� dans une perspec-tive connexioniste, dont le but est d'identi�er les variables d'état principales qui caracté-risent un comportement. Les techniques d'analyse statistique ont beaucoup été utilisées.

28 Ludovic Coquelle

Page 31: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Ethologie et simulation

Cependant ces études n'étaient adaptées qu'à des comportements simples et linéaires.Or, si l'animal n'e�ectue qu'une seule activité à la fois, les di�érents comportementsde son répertoire sont en compétition, et l'animal change de comportement à son gré.L'analyse �boîte noire� ou même la modélisation par la théorie du contrôle classique nesu�t alors plus à modéliser un animal car son état ne peut être représenté complètementpar un seul comportement. Di�érentes variables internes interviennent dans le modèle,mais seulement certaines sont corrélées au comportement actif. Il est alors nécessairede pouvoir modéliser ces variables indépendemment du comportement, pour obtenir unmodèle non-linéaire à multiples entrées.2.2.2 Vers le modèle fonctionnel

Les modèles que nous venons de citer sont très proches de la théorie du contrôle. Enfait leur but est de montrer comment les facteurs internes et externes sont combinés pourdéterminer le comportement observable. Certains sont assez simples pour être modéliséspar une expression analytique qui peut décrire une séquence d'actions. Pour modéliserune activité plus complexe de l'individu, l'éthologie adopte une approche fonctionnelle ducomportement. Le modèle n'aura plus pour fonction de répondre à la question �commentl'animal prend la décision ?� mais va plutôt s'intéresser à répondre à la question �quelledécision va-t-il prendre ?�. Autrement dit, le problème passe de l'ordre de la contrôlabilitéà l'ordre de l'observabilité (Holland et McFarland, 2001).

Modéliser di�érents comportements possibles dont un seul à la fois peut être actifnécessite une organisation structurelle. Très tôt en biologie, les comportements ont étéclassés sous forme de hiérarchie (Dougall, 1926, cité par Bryson (2000) qui retrace l'or-ganisation hiérarchique de comportements d'après Hendriks-Jansen (1996)). Sous l'in-�uence des modèles causaux comme celui de Lorenz qui suppose que l'activité d'uncomportement ne dépend que d'un irm �xé, cette hiérarchie a été peu prise en compteen éthologie, jusqu'aux travaux de Lashley (Lashley, 1951).

En prenant en compte l'état de motivation de l'animal (les stimuli internes et son his-toire récente) ainsi que les conditions environnementales (stimuli externes), Tinbergena proposé un modèle comportemental, reprit ensuite par Baerends (Baerends, 1976),basé sur une organisation fonctionnelle hiérarchique (Tinbergen, 1951). Le principe est declasser les comportements instinctifs par niveaux, et l'activation d'un instinct de niveaun dépend de l'activation de l'instinct du niveau supérieur.

Une organisation fonctionnelle hiérarchique permet de décrire le comportement enterme de but et sous-but. Mais le fait de pouvoir décrire ce comportement en ces termesne permet pas de conclure que ce résultat a été produit par un système de contrôlehiérarchique (Gardner et Heyes, 1998). La théorie des systèmes dynamiques propose quele comportement ne soit pas sélectionné dans une hiérarchie de buts mais résulte desconséquences de plusieurs processus parallèles dynamiques et chaotiques (on rejoint icila notion d'émergence évoquée en section 1.3.2). Depuis Minsky (1985), de nombreuxmodèles ont été présentés en ce sens.

Que ce soit pour modéliser le schéma causal (comment le comportement est sélec-tionné) ou le schéma fonctionnel (quel comportement est sélectionné), les modélisationsen éthologie utilisent une description causale. Le rôle des modèles est de décrire d'un pointde vue systémique les relations de cause�conséquence entre stimuli et comportements.Cet aspect descriptif permet l'élaboration de modèles en dehors de la théorie classiquedu contrôle. Les modèles de comportement s'appuient toujours sur un principe qui vient

behavioRis 29

Page 32: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

de la psychologie comparée et connu sous le nom du canon de Lloyd Morgan : �In nocase is an animal activity to be interpreted in terms of higher psychological processes,if it can be fairly interpreted in terms of processes which stand lower in the scale ofpsychological evolution and development�, cité par Thomas (2001a). Thomas nous meten garde contre les mauvaises interprétations de ce principe, et notamment marque ladi�érence fondamentale faite avec le principe de parcimonie (ou rasoir d'Occam). Là oùle principe de parcimonie veut être un élément de décision entre plusieurs hypothèses demodélisation, le canon de Morgan se place uniquement au niveau psychologique. Deplus,Morgan précise l'échelle psychologique en terme d'évolution et de développement.En éthologie, l'application de ce principe se pose alors au niveau de l'étude fonctionnelle,et notamment au niveau de l'organisation fonctionnelle des comportements.

2.3 Exemple d'ibm comportemental : les boidsA ce stade de la présentation de la modélisation en éthologie, nous développons ici

un exemple pour introduire de manière concrète les di�érents aspects d'élaboration d'unibm comportemental en vue d'une simulation.Description d'un modèle

Cet exemple est le célèbre modèle informatique des boids (Bird-oids) développé parReynolds pour faire de l'animation (Reynolds, 1987). Son but est de dé�nir un com-portement de déplacement en groupe pour un ensemble d'individus. L'auteur emploie leterme boids pour désigner aussi bien un modèle de nuée d'oiseaux (�ock), que de trou-peau (herd) ou de banc de poissons (school). Une animation est proposée sur la page desboids 4. L'idée principale de ce modèle pour simuler un groupe est de se baser sur l'ob-servation naturelle : chaque individu agit (perçoit et se déplace) de manière autonome.Le groupe est une notion ajoutée par l'observateur du modèle. Le principe des boids estalors d'assimiler un �comportement de groupe� pour un individu à la résultante de troiscomportements de déplacement : (1) séparation, (2) alignement et (3) cohésion, illustrés�gure 1.5 page 31. Ces trois comportements régissent les interactions de l'individu avecson environnement de la manière suivante :

� L'entourage de l'individu est dé�ni comme l'ensemble des individus situés à unedistance inférieure à un paramètre Dmax.

� Chacun des trois comportements accède aux positions et vitesses des individus del'entourage et calcule en sortie une nouvelle accélération pour l'individu.

� Les sorties de ces comportements sont ordonnées par importance et l'accélérationappliquée en résulte.

Les shémas éthologiques mis en ÷uvreNous cherchons à retrouver dans cet exemple les liens entre le modèle informatique

proposé et les modélisations éthologiques, c'est-à-dire illustrer pour les boids les schémascausaux, et s'il en est, les schémas fonctionnels.

Les règles causales se retrouvent dans la description de chaque comportement et deses entrées et sorties. Les trois comportements présentés ont le même type de fonctionne-ment : leurs entrées sont les moyennes des vitesses, des orientations, et des positions de

4Boids : Background and Update, by Craig Reynolds: http://www.red3d.com/cwr/boids

30 Ludovic Coquelle

Page 33: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Ethologie et simulation

Séparation Alignement Cohésion� éviter les collisions avecl'entourage ;

� se déplacer comme sonentourage ;

� rester proche de l'entou-rage.

Figure 1.5 � Les trois comportements de déplacement des boids de Reynolds(1987).

l'entourage de l'individu ; la sortie de chaque comportement est le vecteur accélérationnécessaire pour satisfaire le comportement. Par exemple, la séparation calcule une accélé-ration qui dirige l'individu I dans la direction opposée du point B, barycentre spatial despositions des individus de l'entourage (le calcul du barycentre est pondéré par l'inversedu carré de la distance à l'individu I : plus un individu de l'entourage est proche, plusil in�uence le comportement de séparation). Le même type de calcul s'applique pour lesautres comportements.La notion de perception est la base de la description causale. Sans décrire le processusphysique sous-jacent, ce qui est appelé perception et qui peut générer un stimulus est uneabstraction de ce processus. Par exemple la perception de la vitesse des individus de l'en-tourage peut s'expliquer par une variation du milieu (eau, air) détectée par un ensemblede sens coordonnés. Les règles comportementales ne se réfèrent qu'aux stimuli. Ensuite,ce sont des règles causales de type contrôle classique qui déterminent les sorties des com-portements. En�n, les résultats des comportements sont regroupés par un système decontrôle qui doit e�ectuer l'action, et la manière d'e�ectuer l'action fait encore partie duschéma causal, puisque l'ont décrit ici le processus de contrôle des e�ecteurs. Cependantle calcul de la commande des actionneurs à partir des sorties des comportements estimputable à un modèle fonctionnel.

Chaque comportement a deux propriétés de sortie : le vecteur d'accélération souhaité,mais aussi un coe�cient de pondération du comportement. Ce coe�cient fait partie dumodèle fonctionnel car il permet de discriminer des relations entre les comportements.Les règles fonctionnelles dé�nissent la commande d'activité à exécuter à partir des sor-ties des comportements. Dans le modèle des boids, la commande est déduite par unalgorithme qui moyenne et trie les accélérations en sortie des comportements sur un in-tervalle de temps qui dépend des quantités d'accélération intervenant et d'un paramètred'accélération maximum (décrire l'algorithme n'est pas l'objet de cette partie). Les règlesfonctionnelles sont exprimées de manière causale. Ici c'est un algorithme de calcul de typemoyenne ; une autre solution serait de choisir le comportement le plus actif ; les deux so-lutions ont leurs contraintes, et ce problème sur lequel nous reviendrons est connu enautomatique comme le problème de la sélection d'action.

behavioRis 31

Page 34: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

Etudes biologiques en corrélationLes boids restent un modèle informatique pour reproduire les groupes. Il a été initia-

lement conçu pour calculer des déplacements, et notamment pour pouvoir décrire dansune animation un chemin que le groupe doit suivre. L'étude de véritables groupes d'ani-maux soulèvent cependant di�érents problèmes de ce modèle. Une description biologiquede la notion de nage en banc pour des poissons pélagiques est faite par Fréon et Misund(1998). Un banc est caractérisé par la répartition spatiale des individus (taille, densité,organisation) mais aussi par des règles dynamiques comme la synchronicité des mouve-ments entre individus, ou les di�érences inter-individuelles. Les caractéristiques statiquessont le plus souvent reliées aux schémas causaux, et les règles comportementales auxschémas fonctionnels. Les fonctions de la nage en banc (accroître le taux de survie àune attaque d'un prédateur, améliorer l'e�cacité de recherche de nourriture, tirer pro�td'un avantage hydraudynamique, faciliter la migration et la reproduction) font partie del'étude de schéma proximal.

Sans faire l'étude éthologique de cette notion de groupe, nous reprenons ici quelquesétudes de modélisation, principalement sur les banc de poissons, qui montrent des pointsimportants dans la simulation de tels modèles.Observation du modèle. Dans (Huth et Wissel, 1991), un modèle similaire (ibm) est

utilisé pour des poissons avec quelques modi�cations pour prendre en compte lesaspects particuliers des poissons (les modèles de perception et de déplacement, maisaussi les règles qui �xent l'in�uence des congénères en fonction de leur position pourque l'axe devant l'individu soit favorisé). Le but est toujours d'avoir un modèlesimulable, mais il est cette fois comparé avec un véritable banc de poisson. Desdescripteurs (degré de polarisation et d'expansion) sont mis en place pour comparerla simulation aux données réelles, ou même plusieurs modèles entre eux (di�érentesmanières de prendre en compte l'in�uence du voisinage). Devoir mettre en évidencedes descripteurs est un point clef des modèles ibm : l'observation du résultat se faità une échelle plus globale que sa description.

Description des stimuli. Reuter et Breckling (1994) présente l'in�uence de la percep-tion (prendre en compte tous les individus de l'entourage dé�ni par une distance,ou seulement un nombre restreint, ou encore seulement une partie �visible�) encomparant les résultats du modèle aux véritables bancs de poissons. La perceptionest une interprétation des réponses sensorielles. C'est cette interprétation qui estutilisée dans les règles comportementales. Ainsi on peut modéliser la perception duvoisinage comme étant les k plus proches congénères, les congénères situés devant,ou seulement ceux visibles (sans obstruction visuelle mono- ou stéréo-scopique).Modéliser la perception est la première étape d'interprétation du modèle.

Expression des règles de comportement. Le problème de comparaison par rapportà un mouvement réel est également étudié dans (Viscido et al., 2002) pour le casde troupeaux, en étudiant les trajectoires. Plus précisément, la question de la lo-calité du comportement est posée. Si des règles comportementales ne semblent passu�santes a priori, une simulation sur un principe d'évolution (Regula et Viscido,2005) semble donner un comportement plus crédible (le génotype détermine la ré-partition d'in�uence des voisins par rapport à leur seule distance). L'ajustementdes règles comportementales est une description causale des règles fonctionnelles dumodèle, et est faite par un modèle qui utilise un schéma historique. Cet ajustementpeut faire partie du modèle fonctionnel si celui-ci simule un apprentissage, comme

32 Ludovic Coquelle

Page 35: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Ethologie et simulation

l'apprentissage de déplacement en groupe (Zaera et al., 1996). Une autre approchepour décrire les règles comportementales est d'utiliser la logique �oue (Bajec et al.,2005) pour transcrire au mieux les connaissances des experts.

Action sur l'environnement. Si les règles comportementales dépendent des percep-tions, elles dépendent également des réponses motrices. Dans (Brogan et Hodgins,1997), cette réponse est in�uencée par le modèle mécanique (physique) pris encompte, et des résultats sont exposés pour des points pesants mobiles, des robotsunijambistes et des cyclistes.

A travers l'étude d'un modèle informatique, étudié ensuite en comparaison de don-nées biologiques, nous avons présenté la complexité inhérente aux ibm éthologiques, quece soit au niveau de son observation ou de sa conception. En e�et, les perceptions sontdes interprétations des réponses sensorielles, les comportements se basent sur des règlesimprécises qui nécessitent d'être expérimentées pour les paramétrer, et les réponses mo-trices nécessitent de connaître le modèle physique. Toutes ces hypothèses, en interaction,forment le modèle, pour lequel il devient nécessaire de formuler un cadre de simulation.

2.4 Simulation des ibm éthologiquesDans cette section, nous nous intéressons à la manière �d'exécuter� un ibm étho-

logique, pour pouvoir l'observer et le manipuler. Par �exécution�, nous entendons lamanière de mettre en ÷uvre les interactions décrites par le modèle. Bien entendu, nousnous concentrons toujours sur la formalisation de comportements réactifs.Vie vs. comportement

En aucun cas il ne s'agit de dresser un parallèle direct entre un organisme vivant etun animat : pour nous, un animat n'est pas un modèle d'être vivant mais un modèlequi reproduit le résultat de son comportement. Considérons un agent autonome commeun organisme arti�ciel modélisé par un système auto-organisé. Certes ces agents sontcapables de reproduire une certaine adaptation, ce qui les di�érencie des systèmes mé-caniques classiques (Ziemke et Sharkey, 2000). Cependant, d'après les mêmes auteurs,les théories de la cognition biologique, comme la théorie de von Uexküll ou de l'au-topoeïsis conduisant au principe d'énaction de Maturana et Varela, ont exhibé desdi�érences entre un agent (plutôt) autonome et un organisme vivant. Même si un animalet un robot mobile (sorte d'agent autonome) présentent de nombreuses similitudes, etnotamment l'autonomie physique et la décomposition en sous-systèmes, des di�érencesapparaissent notamment par le fait que les composants d'un robot mobile sont néces-sairement des systèmes mécaniques, et qu'un agent autonome nécessite toujours d'êtreinitialisé avec une tâche à accomplir (problème de la ��rst hand semantic�). Nous sou-lignons alors que, dans notre étude de modélisation, il ne faut pas comprendre le termeanimat comme modèle d'animal mais comme modèle de son comportement. Nous nousintéressons à la manière de décrire un comportement, sans vouloir forcément reproduirele fonctionnement naturel.Robotique vs. simulation

Nous avons introduit les ibm pour modéliser des phénomènes complexes (que cesoit au niveau causal ou fonctionnel). Pour modéliser un comportement animal, nous

behavioRis 33

Page 36: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

avons vu que le support d'exécution du modèle peut être aussi bien une simulationinformatique (ALife) qu'un robot mobile (éthologie arti�cielle). Quel que soit ce support,le principe d'étude in situ de l'éthologie implique que le modèle intéragisse avec l'environ-nement. En e�et, c'est l'environnement qui permet la boucle des conséquences externesdes actions d'un animat sur ses entrées. En robotique mobile, l'environnement naturel estdirectement utilisé, que ce soit par les senseurs � éléments structuraux qui réagissent àdes quantités locales d'information ou d'énergie de l'environnement� ou par les e�ecteurs� éléments du corps du robot (Holland et McFarland, 2001). En simulation informatique,cet environnement doit être simulé (et donc modélisé). Par exemple, les lois physiquesqui gouvernent l'environnement ne sont pas données. Dans le modèle des boids, le volgéométrique permet de simuler un déplacement dynamique prenant en compte les inertiespar une succession de petits déplacements incrémentaux. Dans le cadre d'une démarcheexplicative, modéliser l'environnement permet également de comprendre tous les élémentsin�uençant le modèle d'animat. Par contre, un biais du modèle d'environnement peutentraîner un biais dans le modèle d'animat. Cependant la simulation permet également,et c'est le cadre qui nous intéresse, d'intégrer dans l'environnement de nombreux animatsen interaction. Là où la conception de robots peut être longue et coûteuse, la simulationpermet l'expérimentation même dans des milieux quasi inaccessibles à l'expérimentationin situ, comme par exemple la modélisation d'un banc de poissons dans un chalut depêche.Formalisme vs. outil

La simulation d'un modèle passe par un formalisme. L'approche �objet� est incon-tournable dans les processus individu-centré : �l'analyse orientée objet s'impose dans undialogue e�cace entre experts du domaine [de la modélisation d'écosystème] et informa-ticiens� (Coquillard et Hill, 1997). Les méthodologies de conception en génie logiciel sesont intéressées à l'ingénierie des simulations d'ibm (Ropella et al., 2002). Le plus sou-vent dans le cadre systémique, ces systèmes sont fondés sur une décomposition d'agenten composants, comme par exemple le système Maleva (Meurisse et Briot, 2001). Le butest d'étudier un sous-système (le composant) en séparant d'un côté son �ux de donnée, etde l'autre son �ux de contrôle. Ceci a le double avantage de présenter au modélisateur lecomportement séparé de ce qu'il manipule, et de faciliter l'exécution pour la plate-formemulti-agents sous-jacente des imbrications de �ux de contrôle (nous revenons sur cetteexécution dans la section suivante). Le modèle d'agent doit en e�et pouvoir correspondreau modèle d'animat que l'on souhaite simuler (Ricordel et Demazeau, 2001). Les métho-dologies �agents� ont pour but de composer le modèle d'agent correspondant à l'ibm,sans présenter les problèmes dus à la simulation. Par exemple, la plate-forme Volcano sup-porte la méthodologie Voyelles basée sur des composants (briques et interfaces) décritspar un langage spécialisé inspiré des Architecture Description Language (adl) (Ricor-del et Demazeau, 2002). Ces méthodologies logicielles montrent la di�culté à mettre enplace une simulation d'ibm. Pour Edmonds et Bryson (2004), les méthodes formelles sontmêmes insu�santes pour décrire le système, qui nécessite une approche expérimentale.Une autre question est soulevée par Lorek et Sonnenschein (1999), qui posent le problèmede la di�érenciation entre le modèle de comportement et son exécution. Si notre but estde simuler un modèle éthologique, il faut que la description de comportement ne fassepas partie de la plate-forme d'exécution mais en soit plutôt une donnée d'entrée.

Cette exécution devient alors un point clef de la simulation sur lequel repose le modèle.

34 Ludovic Coquelle

Page 37: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèles d'exécution

L'exécution introduit ses propres hypothèses sur le comportement. Celles-ci doivent êtreconformes aux principes sur lesquels repose l'ibm.

3 Modèles d'exécutionL'exécution des modèles ibm reposent sur des plates-formes de sma. Ces plates-formes

ont pour rôle de dé�nir les relations exprimables entre agents puis de transformer cesrelations en instructions exécutées par la machine. Pour nous, une plate-forme agentest vue comme un framework orienté objet, auquel elle ajoute un principe d'exécution.La notion de framework orienté-objet a été introduit par Jonhson et Foote (1988) : unframework est dé�ni comme un ensemble de classes représentant une solution abstraitepour une famille de problème. La di�érence est faite entre deux catégories de frameworks.Ceux dits �boîte blanche� obligent l'utilisateur à sur-dé�nir les composants pour apporterson modèle de comportement. Les frameworks �boîte noire� permettent à l'utilisateurd'assembler des composants pour créer un comportement. Le second a l'avantage (dansnotre cas) de cacher les détails d'implémentation. A partir de la plate-forme agent, lemodèle d'exécution dépend de la catégorie d'architecture d'agents.

3.1 Architecture d'agents et sélection d'actionUne architecture d'agents autonomes peut être dé�nie comme un support méthodo-

logique de conception d'un sma (Bryson, 2000). C'est alors un ensemble de connaissanceset de méthodes sur ces systèmes (Wooldridge et Ciancarini, 2000). Ces architectures sontle plus souvent classées suivant di�érents paradigmes dépendant des hypothèses sur lefonctionnement interne des agents (Briot et Demazeau, 2001).3.1.1 Architectures

Un premier type d'architecture exécute des modèles cognitifs Belief Desire Inten-tion (bdi). Un système bdi est une vision antropomorphique du fonctionnement internede l'agent. Il repose sur le principe philosophique du practical reasoning de Bratman(1987). Un agent possède des connaissances sur le monde, souvent des règles de causa-lité (vraie ou fausse). Il possède également des buts, par exemple survivre, et prévoitses enchaînements d'actions pour atteindre ses buts. Un avantage de ce type d'architec-ture est de proposer des concepts de haut niveau pour décrire le système. Par exemple,Faulkner et Kolp (2003) proposent un langage pour décrire un système d'agents basé surles architectures bdi. Pour cela, le système est décomposé en deux aspects : le premierdécrit le modèle interne des agents en termes de buts, croyances, actions, plan d'action etévènements, et le second aspect décrit le modèle global en termes d'interface, de service,de con�guration et d'architecture. Mais un modèle bdi pose de fortes hypothèses surun mode de raisonnement logique de l'agent. Ce type d'architecture peut di�cilementconvenir à une base d'exécution d'un modèle éthologique (principe de Morgan énoncépage 30).

A l'opposée des architectures cognitives, les architectures réactives supposent un fonc-tionnement interne analogue aux hypothèses behaviouristes. A tout moment l'état del'agent est déduit directement de ses stimuli. Cependant le mode réactif n'interdit pas àl'agent de posséder des variables internes, et ce type d'architecture est donc tout à faitpossible pour des simulations de modèles éthologiques.

behavioRis 35

Page 38: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

En�n, certaines architectures proposent d'assembler le meilleurs des deux mondespour faire des architectures hybrides. Par exemple, l'architecture InterRap (Müller, 1996)décompose l'activité de l'agent en plusieurs couches de contrôle. Une couche basse exé-cute les réactions directes aux stimuli. Des couches plus hautes permettent de manipulerdes concepts de plus haut niveau. Cette couche cognitive, pour faire des agents �intel-ligents�, se justi�e pour expliciter les séquences ou plan d'action (Richard et al., 2003),notion sur laquelle nous reviendrons dans la section suivante.3.1.2 Problèmes transversesA Modularité dans la conception

Certains choix de conception se retrouvent dans les di�érents types d'architecture.Le premier point est la modularité dans la description de cette architecture, c'est-à-direla manière de découper les sous-systèmes, que ce soit en fonction du �ot de donnéesou du �ot de contrôle. Par exemple, une architecture est en couches horizontales si lesmécanismes de bas niveau (activation des perceptions et activation des actions) sontdissociés des mécanismes de haut niveau (décision d'action) qui ne manipulent alors queles entrées et sorties des couches inférieures. De la même manière, une architecture esten couches verticales si un étage est dédié à la gestion des stimuli, puis les sorties de cetétage sont manipulées par une couche de traitement, qui sont éventuellement manipuléesà leur tour par une ou plusieurs autres couches, et en�n ressorties à travers une couche demanipulation des actionneurs. L'architecture en couches horizontales permet de séparerles problèmes d'interaction avec l'environnement des problèmes de comportement (lesarchitectures à trois couches horizontales disposent d'une couche réactive, d'une couchede plani�cation et d'une couche cognitive). Cependant la hiérarchie des couches ne permetpas facilement de séparer les di�érents comportements en modules indépendants.

Matari¢ (1998) fait un parallèle entre les notions d'architecture basée-comportement(behavior-based) et de modélisation fonctionnelle. Dans ces architectures, un modulecomportemental est un système de contrôle, dont les entrées proviennent des senseurset d'autres modules de comportement, et les sorties réfèrent des e�ecteurs et d'autresmodules de comportement. L'avantage est de pouvoir isoler chaque comportement sansque ceux-ci ne manipulent une représentation générale partagée de l'environnement :chaque comportement utilise les propriétés perçues de l'environnement qui l'intéressent(idée introduite par Brooks (1986) sous la célèbre formule �the world is its own bestmodel�). Ce type de solution distribuée est souvent plus robuste aux conditions de l'envi-ronnement. Cependant il est nécessaire de prévoir un mécanisme de contrôle global quisupervise le résultat de tous les comportements.B Organisation des modules de comportement

Cette organisation (entre les couches ou entre les modules de comportement) pose leproblème de savoir si le comportement est le résultat d'une structuration �xe (hiérar-chique ou séquentielle) des di�érents modules, ou si elle émerge d'une auto-organisationdynamique de ces modules. Elle est responsable notamment de la gestion des donnéesde l'environnement. Les défenseurs des architectures décentralisées (Maes, 1989, parexemple) soutiennent l'idée qu'une organisation hiérarchique ou séquentielle apporte unecertaine rigidité dans le système qui devient alors ine�cace à prendre en compte rapide-ment des changements dans l'environnement (aspect réactif). Cependant, la hiérarchie

36 Ludovic Coquelle

Page 39: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèles d'exécution

est un moyen de gérer les dépendances entre modules comportementaux, et a souventété introduite dans les modèles éthologique (2.2.2). L'organisation des comportementspermet également d'introduire des plans ou séquences d'actions qui sont nécessaires àl'expression d'un comportement complexe (par exemple, attraper une proie puis la man-ger). Ce plan d'actions est dit hiérarchique si ses éléments constitutifs sont exprimésen fonction d'autres actions. Ceci nous amène au problème principal des architectures :savoir à tout moment quelle action exécuter, ou plutôt quelles commandes envoyer auxe�ecteurs qui re�ètent au mieux les actions élues par les modules comportementaux.3.1.3 Sélection d'action

Le problème de la sélection d'action pour les architectures basées comportement estdétaillé dans (Pirjanian, 1999), qui propose une classi�cation des di�érentes solutionshabituellement retenues en robotique mobile. Nous résumons ici cette synthèse.

Un module comportemental est décrit comme un ensemble d'unités perception�actionqui résolvent un objectif en choisissant une action appropriée. Une action est relative àl'agent qui l'exécute, et traduit la manière dont cet agent agit sur ses propriétés. C'estdonc à travers les actions que le comportement est observé.

Pour faire le parallèle avec l'éthologie, le problème de la sélection d'action est analogueau problème de la survie de l'espèce (ou du groupe) : choisir localement une action qui viseà accomplir un objectif global. En modélisation, plusieurs critères peuvent être considérésdans la dé�nition d'un asm (Action Selection Mechanism). Maes (1989) dé�nit la notionde �comportement su�sament bon� à partir de six critères :

� (1) Réactivité, (2) en situation : le système doit choisir rapidement une actioncorrespondant au contexte de l'instant précis ;

� (3) Orientation par les buts : l'action doit favoriser un ou plusieurs buts globauxdu comportement ;

� (4) Persistance et (5) plan d'actions : le système doit calculer une séquence d'actionspour répondre aux situations futures proches et ne pas interrompre inopinément lebut en cours ;

� (6) Robustesse : un dysfonctionnement local ne doit pas remettre en cause tout lesystème.

Tyrrel (1993) ajoute les critères suivants pour tenir compte de certaines situations :� La gestion récursive des sous-problèmes : dans une organisation hérarchique descomportements, le même asm doit pouvoir répondre aux sous-organisations pourpouvoir garder une homogénéïté par rapport aux buts et décisions de plus hautniveau ;

� Compromis d'actions : le système doit prendre en compte plusieurs modules com-portementaux pour satisfaire un objectif global sans être nécessairement optimalpour chaque sous-système ;

� Opportunisme : en contradiction avec la persistance, le système doit être capabled'interrompre un but en cours pour un nouveau plus adapté.

De nombreuses architectures d'agent o�rent une réponse d'asm. Les sma sont desmodélisations discrètes où un agent perçoit le temps par l'intermédiaire de son cycle devie. Ce cycle correspond à celui de l'asm qui remet alors en question l'action courante.Deux types de solutions sont utilisées : la première est une sélection d'un nouveau com-portement parmi les divers modules en compétition (arbitration), la seconde est le choixd'une action qui synthétise plusieurs réponses (command fusion). Pour chaque solution,

behavioRis 37

Page 40: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

di�érents algorithmes dépendant des architectures peuvent être mis en ÷uvre.

3.2 Quelques architecturesDans cette section, nous passons en revue quelques architectures pour analyser les

problèmes liés au choix d'une architecture et de son modèle exécution. Le but est depouvoir choisir une conception qui puisse supporter la modélisation éthologique de com-portements sans in�uencer (ou au moins de manière contrôlée) l'élaboration du modèle.3.2.1 Di�érentes approches d'asmL'architecture subsumption

Première implémentation d'un Action Selection Mechanism (asm) en couches hori-zontales, cette architecture a été utilisée initialement pour le contrôle d'un robot mobile(Brooks, 1986). Nous la détaillons ici comme un cas typique pour présenter les di�érentesproblématiques qui se dégagent de l'élaboration d'une architecture.

� �� �� �

� �� �� �

� �� �� �

� �� �� �

� �� �� �

� �� �� �

� �� �� �

� �� �� �

� �� �� �

MC 1

déplacement

MC 0évitement d’obstacle

MC 2phototaxis

sens

eurs

actio

neur

s

INHIBITIONSSUPPRESSIONS

Figure 1.6 � Hiérarchie de comportements dansl'architecture de subsumption d'après (Brooks,1986)

En robotique, les architectures précé-dentes étaient décomposées en modulessuccessifs. L'architecture subsumptionrompt avec ce procédé pour directementrelier chaque module de comportementaux entrées ainsi qu'aux sorties. Un mo-dule représente alors un comportementcomplet appelé �module de compétence�.Ces comportements sont ordonnés hiérar-chiquement en fonction de leur degré depriorité. Un module sur une couche in-férieure est responsable d'une tâche simple et de forte priorité.Plus la priorité est faible(dans les couches supérieures), plus la tâche est abstraite. La priorité correspond alorsà l'urgence de la tâche. Par exemple, la phototaxie est de plus haut niveau (entendezmoins prioritaire) que la gestion du déplacement qui est elle-même de plus haut niveauque la gestion de l'évitement d'obstacle.

La hiérarchie apporte deux choses. D'une part elle permet de décrire une tâche abs-traite en fonction des sous-tâches : décomposition fonctionnelle. D'autre part, elle sup-porte l'asm avec l'intégration de deux mécanismes dans le �ot d'exécution : l'inhibition etla suppression. Ces relations ont lieu à l'initiative d'un module inférieur vers un modulejuste supérieur dans la hiérarchie. La suppression consiste à annihiler les entrées du mo-dule supérieur alors que l'inhibition remplace ses sorties par celles du module inhibiteur.Ces deux mécanismes sont déclenchés pour des intervalles de temps �nis préprogrammés.Chaque module est alors caractérisé par le couple (c, a). c est la condition d'activation etreprésente le niveau de présence de ses perceptions d'entrées. a est la réponse sous formed'une intensité d'action. Les mécanismes d'inhibition et de suppression dé�nissent desrelations d'ordre sur les couples et en chaque instant il est possible de choisir le moduleactif.

Après de nombreux travaux en ia traditionnelle, l'architecture de subsumption a re-donné de l'engouement pour des modèles de comportement réactifs. Ces modèles ontl'avantage d'être souvent simples et e�caces en terme de temps de calcul (intérêt qui se

38 Ludovic Coquelle

Page 41: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèles d'exécution

perd au vu des progrès de la technique, même pour les modèles embarqués en robotiquemobile, mais qui se retrouve quand on augmente le nombre de modèles à calculer surune machine unique). Et surtout, l'auteur introduit la notion de langage de programma-tion réactive de comportement pour manipuler des règles de causalité exprimées par lescouples condition�action caractérisant les modules.

Par contre, établir une relation �gée d'ordre total sur les priorités des modules decompétence n'est pas une tâche aisée dans la conception d'un modèle de comportement(est-il plus urgent d'éviter les obstacles ou les prédateurs ?). De plus, dans la formulationdes interactions entre modules, il est di�cile de concevoir un comportement indépendam-ment de ses sous-comportements. Notamment les sorties de tous les modules doivent êtreuniformes (en robotique, les actions se résument aux contrôles de déplacement, mais cene serait plus le cas pour un modèle animal plus complexe). L'architecture subsumptionest une architecture purement réactive : l'action exécutée à l'instant t dépend unique-ment des perceptions à ce même instant. Cette vision de courte durée d'un comportementcorrespond à une modélisation behaviouriste. Mais ce type de modèle réactif, bien querobuste, manque d'adaptabilité. Le manque de représentation de l'environnement ne per-met de modéliser ni des buts comportementaux (Agre et Chapman, 1990), ni une capacitéd'apprentissage symbolique (Arkin, 1998).AUtonomous Robot Architecture (AuRA)

Un asm di�érent est utilisé dans AuRA (Arkin, 1987), basé sur la théorie des sché-mas. Le principe est de superposer les di�érents résultats des modules de comportementpour en extraire une commande représentative. L'objectif de cette approche est donc depouvoir séparer des processus indépendants (les di�érents comportements) dans la stra-tégie �divide and conquer�, en utilisant un processus automatique de combinaison desréponses.

La théorie des schémas, issue de la psychologie et la neurologie, modélise les processusmentaux de perception et de réponse aux stimuli de l'environnement.Un schéma est unefonction de potentiel qui représente un processus mental indépendant. Cette fonction estparamétrée dynamiquement pour être spécialisée pour une une tâche ou un domaine. Lesschémas se distinguent en deux types. Un schéma perceptuel représente une �perceptionorientée par un but� de stimuli de l'environnement : c'est un modèle de l'informationprésente dans l'environnement et pertinente pour une certaine tâche. Par analogie aushéma perceptuel, un schéma moteur représente un contrôle moteur (d'action) résultantd'un module de comportement.

Pour contrôler un robot mobile, AuRA utilise les schémas comme des champs devecteurs. Un schéma de perception d'un obstacle peut être par exemple représenté parun champ de vecteurs qui dé�nissent la direction opposée à l'obstacle et dont la normeest inversement proportionnelle à la distance. Autre exemple, un schéma de suivi d'unecible dé�nit les vecteurs toujours orientés vers la cible. Ces schémas, activés en fonctionde l'état en cours, sont combinés pour dé�nir une représentation unique des perceptionssous forme d'un schéma. Cette représentation est utilisée pour actualiser l'état en cours,et pour activer les schémas moteurs. Chaque schéma moteur dé�nit une commande mo-trice en fonction de la représentation de perception (sous forme d'un unique vecteur,souvent l'accélération). Le résultat �nal du cycle de contrôle correspond à une moyennedes vecteurs des schémas moteur. Cette moyenne est pondérée, car chaque schéma mo-teur se voit a�ecté d'un coe�cient de gain, qui représente l'importance du schéma. Une

behavioRis 39

Page 42: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

surcouche de gestion temporelle sous forme de graphe d'état séquentiel vient paramétrerla spécialisation des schémas de perception ainsi que les schémas moteurs.

Initialement, cette architecture était purement réactive, et en trois couches qui sontcouramment reprises : plani�cation, navigation et pilotage. Le niveau de plani�cationprévoit à long terme les directions vers un objectif. Le niveau de navigation calcule unchemin possible. Et c'est le pilotage qui utilise les schémas pour exécuter les actions.AuRA a ensuite évolué vers une architecture hybride (Arkin et Balch, 1997) pour no-tamment introduire les possibilités d'apprentissage (Likhachev et al., 2002).

Cette architecture présente l'avantage de décomposer les comportements en modulesindépendants (les schémas sont établis indépendamment et la combinaison de schémasest une fonction simple). La gestion des relations entre comportements se traduit par lescoe�cients de pondération des schémas moteurs (cette pondération est d'abord empi-rique mais peut faire l'objet d'un apprentissage). Les schémas de perception permettentégalement de di�érencier les notions de perception et de sensation, en liant la perceptionà la tâche à e�ectuer. Ce n'est pas seulement un modèle de perception active, qui seretrouve à travers le paramétrage des shémas, mais aussi un modèle de représentationpar rapport à l'usage : un comportement ne manipule pas un ensemble de sensationscomme entrée, mais l'interprétation de ces stimuli.

Le principal inconvénient de ce type de mécanisme de sélection d'action par fusionde commande réside dans les con�its entre comportements. Si plusieurs comportementsont des sorties opposées (par exemple droite et gauche pour deux comportements d'évite-ment), la somme de ces sorties donne un résultat parfois inapproprié (aucun évitement).D'où l'importance des valeurs de gain des di�érents modules pour éviter les con�its.

Dans (Endo et Arkin, 2001), les composantes internes d'un agent sont introduitesen plus du modèle purement réactif. Ceci permet de ne plus baser uniquement le com-portement sur les évènements de l'environnement (réponse behaviouriste) mais aussi deprendre en compte l'hérédité, la motivation, l'apprentissage et l'âge de l'agent.Réseaux d'activation

Les réseaux d'activation abordent le contrôle de comportement avec une approchetotalement distribuée d'asm (Maes, 1989). Pour cela, les modules de comportementforment un graphe dont les arcs représentent des relations de dépendance et d'activa-tion. Le principe de ces réseaux est alors de distribuer le contrôle sur chaque n÷ud dugraphe pour éviter d'introduire dans l'architecture soit une organisation �xe des com-portements (comme l'agencement hiérarchique de la subsumption), soit un système desélection globale (comme la fusion opérée dans AuRA).

Ce type de réseau a été introduit par le General Problem Solver (Newell et Simon,1963, cité par Pirjanian (1999)). Pour construire ces réseaux, un comportement Bi estreprésenté par un tuple 〈ci, ai, di, αi〉 :

� ci représente l'ensemble des préconditions à l'exécution du comportement ;� l'ensemble des e�ets de l'activation du comportement est représenté par les listesd'ajout ai et de retrait di ;

� αi quant à lui est le coe�cient d'activation qui mesure la possibilité d'applicationdu comportement.

Les relations d'activation décrites par le tableau 1.2 page 41 permettent de calculer enpermanence les coe�cients d'activation des comportements qui sont en compétition pourêtre activés. Le comportement réellement exécuté à l'issue du processus de calcul des ac-

40 Ludovic Coquelle

Page 43: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèles d'exécution

tivations est le plus actif, à condition que son degré d'activation αi soit supérieur à unseuil s. Si aucun comportement n'est su�samment actif, ce seuil est diminué de 10% etle processus recommence jusqu'à trouver un comportement le plus actif : ce type d'ar-chitecture est quali�é d'arbitrage winner-takes-all. Le degré d'activité du comportementchoisi est réinitialisé à 0 avant de relancer un nouveau cycle.

Tableau 1.2 � Relations d'activation entre modules de comportement dans un réseau d'activa-tion d'après Pirjanian (1999)

Sources externes d'activation :Activation par

l'environnementφ

Si les préconditions du module correspondent à l'état de l'environne-ment, l'activation du module est augmentée. La �quantité d'activation�,ou énergie, fournie par l'environnement est �nie, notée φ, et répartieéquitablement entre les modules dont les préconditions correspondent.

Activation par lesbuts

γ

Un certain nombre de buts sont déclarés dans le modèle. Un comporte-ment permet de satisfaire un but si sa liste d'ajout ai contient au moinsun but. Chaque but répartit une énergie d'activation γ entre les modulesqui amènent à sa réalisation.

Inhibition par laprotection de buts

δ

A l'inverse de γ, une énergie δ est retirée pour chaque but à l'ensembledes modules dont la liste de retrait di contient ce but.

Sources internes d'activation pour le module Bi :Activation dessuccesseurs

ai ∩ csucc

Un module Bi dont les préconditions sont véri�ées in�uence l'activationde ses successeurs dans le réseau : un successeur est un module Bsucc

qui deviendra exécutable (ses préconditions seront véri�ées) quand lemodule Bi sera e�ectivement actif (les conditions csucc contiennent desvaleurs de ax). Chaque successeur voit son activation αsucc augmenterde αi · φ

γ .Activation desprédécesseurs

ci ∩ apre

Par analogie à la règle précédente, un module non actif Bi augmente deαi le niveau d'activation des modules qui se trouvent dans sa liste deprécondition ci.

Inhibition desrivaux

ci ∩ dr

Pour un module Bi, un module Br est dit rival si ses e�ets contiennentau moins un élément à l'encontre des préconditions ci. αr est diminuéde αi · δ

γ Dans le cas d'un con�it mutuel, seul le module le plus actifin�uence l'autre, pour ne pas que deux modules très actifs s'annihilentl'un l'autre.

Cet algorithme qui met en compétition les divers modules de comportement a étéconçu pour proposer un système qui reste réactif tout en proposant un moyen de créerdes séquences d'actions. En e�et, les relations qui lient les successeurs et prédécesseursfavorisent l'apparition de séquences d'activation des modules. Ces séquences permettentde transformer un état de l'environnement en un ensemble de buts à atteindre. La gestiondes séquences, encore appelées �plans d'action�, est un problème classique des architec-tures d'agents et de l'ia en général. Contrairement aux solutions classiques de l'ia, lesséquences dans cette architecture ne sont ni déterminées entièrement avant leurs exécu-tions (il n'y a donc pas le problème de remettre en cause un plan en cours de réalisation)ni même ne sont décrites par une représentation symbolique. Aucun algorithme spéci�quede gestion de séquence n'est utilisé, celles-ci résultent des activations des di�érents mo-

behavioRis 41

Page 44: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

dules. C'est ce processus qui rend le système réactif et opportuniste (une séquence peutêtre naturellement interrompue pour une autre) car il reste très dynamique. Les coe�-cients γ et φ permettent néammoins de régler la sensibilité du système aux évènementsde l'environnement (son état) ou à la réalisation de des buts.

A contrario, la réactivité de l'architecture pose le problème de la modélisation d'uncomportement par le concepteur qui voudrait spéci�er une séquence plus formellement.Cependant, l'avantage de la distribution du contrôle est de prendre en compte toutes lesinteractions trop nombreuses dans un système complexe pour être gérées manuellement.Le travail du modélisateur de comportement est donc de s'assurer que les relations entrecomportements ne mènent pas à des oscillations involontaires du système (dans le choixde l'activation des modules). Un point plus di�cile pour l'utilisation de cette architec-ture est l'expression des buts (et des conditions et listes d'ajouts et de retraits qui endécoulent). En e�et, pouvoir exprimer ces buts suppose que l'agent soit situé dans unmonde fermé, dans lequel il est capable de représenter toutes ses connaissances.En éthologie, la notion de but réfère au schéma fonctionnel. Elle n'entre pas dans l'ex-plication des causes du comportement mais de ses conséquences. Cette notion de butpeut être rapprochée des comportements appétitifs, dont la fonction est de permettre ledéclenchement d'un autre comportement ; cependant ces comportements appétitifs sontdécrits de manière causale sans introduire de procédé (p. ex. logique) de manipulationde l'ensemble des connaissances.

Autre inconvénient de cette architecture, dans le cas de dé�nition d'un comportementpour un animal dans une situation réelle, l'expressivité des relations entre modules nesu�t plus à exprimer des comportements complexes. Dans animals (Tyrrel, 1993), unenotion d'organisation hiérarchique est introduite entre ces modules pour simuler le choixd'un comportement dans un répertoire comportemental.3.2.2 ModularitéModularité et asm

La problématique de sélection d'action est directement liée au fait de vouloir décriredes comportements indépendamment les uns des autres, tout en voulant restituer unecertaine organisation dans la gestion de priorité et de séquence entre leurs activations.

Cette modularité recherchée pour spéci�er des comportements en tant que sous-systèmes induit l'introduction de relations entre les modules de comportement. Nousavons vu par exemple que l'architecture de subsumption oblige chaque module de com-portement à avoir les mêmes sorties puisqu'elles doivent pouvoir être remplacées parcelles d'un module inférieur. Dans l'architecture Distributed Architecture for Mobile Na-vigation (damn) (Rosenblatt, 1995), un mécanisme de vote permet de restreindre cettecontrainte, et la distribution du contrôle dans des modules de comportement permet decréer des niveaux de sélection d'action sans passer par une organisation hiérarchique.La �gure 1.7 page 43 donne un exemple de contrôle réalisé suivant cette architecture.Cette architecture a été conçue pour le contrôle de robot mobile. Le principe de fonc-tionnement repose sur un système de vote. Chaque comportement établit une réponseen fonction des entrées du système. Pour chaque type de réponse (les comportementsn'ont pas forcément les mêmes sorties) ou pour chaque tâche à accomplir (par exemple ledéplacement, qui peut être scindé en deux tâches comme dans l'exemple de la �gure), lescomportements vont avoir la possibilité de voter auprès d'un arbitre. Ce vote peut être

42 Ludovic Coquelle

Page 45: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèles d'exécution

Figure 1.7 � Architecture damn d'un robot mobile sous-marin autonome (Rosenblatt et al.,2002, cette �gure en est extraite). Un contrôleur de tâche active les di�érents comportements àpartir de l'état de ces comportements et de l'état général du sous-marin. Des modules d'arbitra-tions centralisent les votes des comportements distribués.

positif (favorise une réponse particulière) ou négatif (défavorise une réponse particulière)et son in�uence est pondérée par un poids qui lui est assigné par un dernier module : letask-level controller. Ce dernier gère les priorités entre comportements en leur �xant desdegrés de con�ance dans leur vote. Ces priorités peuvent évoluer au cours de l'exécution.

Chaque arbitre a pour responsabilité de réceptionner les votes pour en déduire unecommande à appliquer sur les sorties de l'agent. Malgré l'apparence, un arbitre ne fait pasde la fusion (moyenne) de commandes (la fusion peut entraîner le problème des minimalocaux comme dans les champs de potentiel de l'architecture AuRA par exemple). Ene�et le vote d'un module de comportement représente un état souhaité du système, et nonpas une commande. Le rôle de l'arbitre n'est alors de faire ni de la fusion de commande,ni de la fusion des perceptions, mais de la fusion des buts, que l'auteur caractérise deutility fusion relative à la théorie de l'utilité utilisée pour sélectionner une commande àpartir des votes.

Le système de vote permet également l'asynchronisme dans les réponses des compor-tements ; ainsi chaque module peut adopter une stratégie réactive ou délibérative (dansun système embarqué, le mode délibératif pose souvent le problème du calcul en tempsréel). Chaque arbitre est ensuite responsable d'un ensemble de commandes et répondà un ensemble de votes sur les entrées qu'il attend, donc les comportements peuventavoir des sorties di�érentes, représentant des buts à atteindre (goal-directed behavior).Ce contrôle décentralisé permet di�érents niveaux de plani�cation d'action sans passerpar une hiérarchie des comportements.

Cette architecture d'asm introduit une bonne modularité dans la spéci�cation dela sélection d'action. Cependant elle ne prend pas en compte l'architecture complète

behavioRis 43

Page 46: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

d'un agent, de la perception à l'action. Notamment pour un comportement animal, laperception (stimulus) doit apparaître comme composant de la sélection d'action.Composants et agent

L'équipe MediaLab 5 du mit propose une architecture générale spéci�ant complète-ment le comportement d'agent autonome dans un environnement de simulation 3d. Lapremière version de Creature (Blumberg, 1997), qui a été utilisée dans le projet alive(Arti�cial Life Interactive Video Environment), est fortement inspirée des principes del'éthologie.

Initialement, Blumberg a séparé

Geometry

Motor commands Behaviors

Releasing System

Sensory system Object

Internal variablesPronome

World

Motor system

update

Figure 1.8 � Les Creatures de Blumberg

le processus comportemental en qua-tre systèmes. L'interface sensitive estdécrite par des composants dont lessorties sont des objets de l'environne-ment. Ensuite, le mécanisme de dé-clenchement de comportement analyseles sorties des sens pour créer un pro-nome, qui représente un degré d'ac-tivation et son contexte (objet dont ilest le sujet et des caractéristiques de laperception). Les modules de compor-tement utilisent les pronomes et desvariables internes pour produire une

commande motrice, qui est interprétée par le système de contrôle moteur. Sur la �gure,nous faisons également apparaître le composant supplémentaire update même s'il n'estpas décrit dans l'architecture en tant que composant ; celui-ci met à jour un ensemble devariables internes selon une équation faisant intervenir des facteurs de gain et de pertesuivant la valeur précédente de chaque état.

L'asm est basée sur le principe éthologique de ne choisir qu'un seul comportementactif à la fois. Pour cela, en plus d'une commande motrice, un comportement doit fournirun niveau de pertinence de sa réponse (si elle est très basse, cela signi�e que le com-portement n'est pas capable de fournir une réponse appropriée aux entrées qui lui sontfournies). Ce degré d'activation est in�uencé par des relations d'inhibition et de priorité.Les comportements sont également hiérarchisés dans des groupes de façon à représenterdi�érentes stratégies, et ces groupes permettent de pallier le problème de persistanced'action des architectures à sélection d'action.

Cette architecture a ensuite évolué vers l'architecture C4 (Isla et al., 2001) représentée�gure 1.9 page 45. Présentée de manière plus abstraite (plus éloignée du modèle étho-logique), elle fait intervenir un blackboard au centre des composants, pour faciliter lescommunications et surtout l'apprentissage. C4 garde le principe de séparer les capacitéssensorielles de l'individu de ses perceptions e�ectives : les sens détectent des objets alorsqu'un composant de perception associe une description de l'objet dans un contexte et leclasse dans un arbre de percepts qui caractérise le type de perception. Les comportementspeuvent alors manipuler des percepts sans connaître les objets qu'ils représentent. Cettedissociation entre perception et comportement est concrétisée par une mémoire de travail(représentant la mémoire à court terme de l'individu). Cette mémoire est lue par les

5MediaLab: http://www.media.mit.edu/

44 Ludovic Coquelle

Page 47: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèles d'exécution

Figure 1.9 � Cette �gure, extraite de (Isla et al., 2001), illustre l'architecture C4 du �cerveauvirtuel� d'une creature. Les processus de sensations et perceptions ont pour rôle d'informer unespace �mémoire de travail�. Cette mémoire est utilisée par les modules de comportements (icinotés action) pour remplir un �tableau noir� des actions souhaitées ; ce tableau est modi�é parle système de navigation qui prévoit les chemins de déplacement à long terme. En�n, le systèmede contrôle moteur exécute e�ectivement les actions souhaitées résultantes du processus.

comportements qui remplissent alors le blackboard avec les actions souhaitées. C'est lerôle du système moteur de lire ces commandes pour les exécuter.

Cette approche à base de composants pour décrire l'architecture permet de sépa-rer les di�érents problèmes, mais aussi d'abstraire les fonctionalités qui peuvent ensuiteêtre décrites à plus haut niveau. L'architecture permet l'organisation du modèle d'exé-cution, mais ne propose pas ici une manière de décrire le fonctionnement des modules decomportements, qui sont souvent écrits sous forme d'algorithmes adaptés au langage deprogrammation sous-jacent.3.2.3 Le contrôle �ou

La logique �oue (fuzzy logic) est un sur-ensemble de la logique conventionnelle (boo-léenne) étendue pour introduire la notion de degré de vérité, prenant des valeurs entre�complètement vrai� à �complètement faux�. L'annexe A résume les notions de baseutilisées dans notre travail sur la logique et le contrôle �ou.

Une des raisons qui justi�e l'utilisation de la logique �ou en contrôle est sa capacitéd'abstraire les problèmes d'imprécision, notamment au niveau des capteurs. En e�et les

behavioRis 45

Page 48: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

systèmes physiques réels (comme les robots mobiles) disposent d'une certaine gammede capteurs et la partie de contrôle doit être robuste aux défaillances et imprécisionsdes capteurs. L'autre intérêt est l'utilisation de l'inférence logique qui permet d'exprimernon pas la manière de calculer le résultat d'un contrôle mais les règles permettant dedéduire ce résultat. L'inférence �oue permet de plus d'écrire des règles imprécises pourles quanti�cations des valeurs.

ROJO est un exemple de robot mobile contrôlé par des règles �oues (García-Pérezet Garcia-Alegre, 2001). Par l'intermédiaire d'un modèle cinématique du robot réel, lesauteurs proposent un simulateur virtuel pour tester les stratégies de déplacement baséperception (contrôle réactif). L'architecture de ROJO décompose le comportement enmodules actifs (le terme agent utilisé n'est pas repris ici pour ne pas le confondre avecl'agent individu au centre de notre étude). Chaque module reçoit en entrée un signald'activation paramétré (provenant d'autres modules) ainsi que les sorties des perceptions.Toutes les données manipulées sont des ensembles �ous. L'intérêt de ces modules est dedécomposer le comportement en sous tâches indépendantes, avec chaque module décritpar un ensemble de règles comportementales. Même si les règles sont indépendantes, etpossiblement dans des modules di�érents, elles utilisent et in�uencent les mêmes variables�oues : l'inférence �oue permet de s'abstraire de l'architecture d'exécution (le moteur decalcul) pour se concentrer sur l'écriture des règles comportementales.

Di�érents comportements �ous peuvent alors in�uencer des variables de manièrecontradictoire, et même si l'inférence �oue permet de donner un résultat, il est souventindispensable de coordonner les comportements (nous retrouvons ici la problématiqueasm).

Dans (Sa�otti, 1997), la coordination de comportements est exprimée par un calcul�ou qui e�ectue un choix arbitraire d'un comportement puis une fusion sur la commande.Il peut paraître étrange de faire de la fusion après avoir fait une sélection, mais la sélectionproposée en logique �oue sélectionne plus ou moins chaque comportement. Le processusest nommé fusion contextuelle (context-dependent blending) car la fusion dépend desrègles d'arbitrage. L'intérêt est en e�et de pouvoir exprimer la sélection de comportementsous forme de règles (ce n'est pas ici un processus statique lié seulement à l'architectured'exécution). Par exemple, une alternative entre deux comportements liée à une donnéede perception peut s'écrire (ces exemples sont empruntés à l'auteur) :if obstacle-close then Avoid-Obstacleif ¬(obstacle-close) then Go-To-TargetDe la même manière des règles peuvent exprimer des séquences d'activation des com-portements B1 et B2 s'il est possible d'exprimer la ��n� ou le �but� G1 du premiercomportement :if G1 then B1

if ¬G1 then B2

La logique �oue permet alors de décrire le choix d'un comportement, et même jusqu'àdécrire un plan d'actions, tout en o�rant la possiblité de fusionner les résultats noncontradictoires des di�érents modules.

Si l'inférence �oue permet de fusionner des résultats, la faisabilité de cette fusiondépend souvent du contexte (d'où la notion de fusion contextuelle que nous venons devoir) mais aussi des objectifs. La fusion, résultat de la défuzzy�cation, permet de tendrevers plusieurs objectifs mais peut produire des résultats inappropriés. Dans (Pirjanian

46 Ludovic Coquelle

Page 49: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèles d'exécution

et Matari¢, 1999), la théorie de la décision à plusieurs objectifs (modm pour MultipleObjective Decision Making) est utilisée pour répondre à ce problème. Le principe estde générer pour chaque comportement sa réponse ainsi qu'un coe�cient de pondérationavec les règles �oues contextuelles. Puis ces réponses sont coordonnées non plus par ladéfuzzy�cation mais par la recherche d'une solution Pareto-optimale6 pour satisfaire lemaximum de comportements. Cette approche permet de combiner les avantages du rai-sonnement approximatif et la facilité de spéci�cation de la logique �oue, tout en utilisantles résultats de coordination des comportements par modm.

Le système brian (Brian Reasonably Implements an Agent Noddle) (Bonarini et al.,2003) utilise la logique �oue. Il est la partie réactive d'une architecture cognitive encouches représentée �gure 1.10 page 48. Brièvement, la couche donnée est l'interface avecl'environnement ; la couche concept abstrait les données brutes sous forme de symboles ;la couche de traitement de connaissances produit des informations structurées à partirdes concepts ; et en�n la couche modélisation structure les connaissances et leurs traite-ments. Les entrées de brian, dont le rôle est d'assurer les relations entre les di�érentscomportements, sont donc non seulement des données sur l'environnement, mais aussileurs représentations symboliques. L'activation des comportements se fait à travers unensemble de prédicats �ous, divisés en deux groupes. Le premier groupe (cando) repré-sente les conditions nécessaires à l'activation du comportement (analogues aux stimuli),alors que le second groupe (want) représente les motivations c'est-à-dire l'opportunitéd'activer un comportement dans un contexte donné. Les prédicats �ous sont représentéspar un tuple constitué d'un label λ qui donne le sens du prédicat, un degré de vérité µλ,et un degré de con�ance dans le prédicat ξλ (par exemple 〈ObstacleInFront, 0.8, 0.9〉).L'avantage de ces groupes de règles (un comportement lui même peut éventuellementêtre codé sous forme de règles), est de dissocier les problèmes d'activation, déterminationde l'action, et de sélection. L'architecture repose sur l'inférence �oue tout en proposantun framework qui structure l'écriture des règles.

La structuration des règles dans un framework permet de palier un problème para-doxal des systèmes à base de règles �oues : si la lecture d'une règle est simple car elle serapproche du langage, l'établissement d'un nombre quelque fois considérable de règles nepermet plus de comprendre simplement le fonctionnement global puisqu'à tout momenttoutes les règles sont actives à un certain degré. Pour structurer cet ensemble de règles,Tunstel et al. (2002) proposent de les regrouper dans une hiérarchie de module compor-tementaux �ous. Les modules comportementaux, représentant des ensembles de règles,sont séparés en deux types. Un p-behavior (primitive-behavior) est un ensemble de règlesdont les degrés d'activation sont modulés par les c-behaviors (composite-behaviors). Pourcela, un module comportemental embarque la notion de DOA (Degree Of Applicability)notée α. En simpli�ant, le calcul du degré de vérité de l'application d'une règle (le co-e�cient qui intervient dans l'inférence des sorties d'une règle par rapport à ses entrées)est alors pondéré par le DOA des règles supérieures dans la hiérarchie. Ainsi, il est plusaisé de manipuler quelques comportements abstraits à haut niveau dans la hiérarchie quivont guider l'inférence �oue. De plus, comme il est possible dans les règles primitives demanipuler la valeur α, ce calcul d'inférence �ou devient dynamique (dans un contrôle �ouclassique la réponse est statique et peut être caractérisée par une fonction nonlinéaire decorrespondance). Cette structure hiérarchique a été conçue pour rendre l'asm dynamique,mais permet également de faciliter l'organisation des règles en proposant de décrire la

6Une solution est Pareto-optimale s'il n'existe pas d'autre solution qui peut améliorer un objectif sansen dégrader un autre en même temps. Cette solution est également dite non-dominante ou satisfaisante.

behavioRis 47

Page 50: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

Figure 1.10 � A gauche, l'architecture cognitive en couche qui embarque le système brian (àdroite) comme partie comportementale réactive. Figures extraites de (Bonarini et al., 2003).

structure entre comportements par les mêmes règles qui régissent ces comportements.3.2.4 Vers le comportement animal

Les simulations d'agents autonomes soulèvent de nombreux problèmes dans leur mo-dèle d'exécution, d'où les nombreuses architectures existantes. Pour établir un modèle decomportement animal, il faut donc réussir à uni�er le modèle biologique avec la plate-forme d'exécution. Le choix de cette plate-forme in�uence la conception du modèle. Denombreux travaux portent alors sur la conception d'un modèle d'exécution basé sur unmodèle biologique. Par exemple, Frezza-Buet et Alexandre (2002) présentent d'abordun modèle biologique basé sur le fonctionnement du cortex puis une modélisation infor-matique. Le passage du modèle biologique au modèle informatique oblige à mêler desdescriptions biologiques abstraites de haut niveau à des considérations d'ingénierie. Ce-pendant, les entrées d'un tel simulateur ne sont pas des descriptions de comportementsmais des modèles qui amènent à ces comportements.

De même, le modèle d'asm basé sur la rétroaction ganglion de la base�thalamus�cortex (Gurney et al., 2001a) est une implémentation d'un modèle de fonctionnementde cette boucle de contrôle. Le principe est de partir de la détection de saillance ; cetteperception devient le paramètrage de deux processus parallèles chargés de la sélectionpour le premier et du contrôle pour le second ; ces processus indépendants modélisent desnoyaux neuronaux et échangent des informations à travers une autre structure neuronaleenglobante ; en�n le résultat de sélection est soumis aux sorties ainsi qu'à l'étage thalamusqui engendre un retour positif (positive feedback) sur la perception des saillances. Lesauteurs ont montré les avantages de ce mécanisme sur le modèle winner-takes-all (Gurneyet al., 2001b) notamment sur l'e�et de persistance des actions sélectionnées mais aussisur l'e�cacité du mécanisme à modi�er la sélection. Mais la encore, c'est un modèle de

48 Ludovic Coquelle

Page 51: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèles d'exécution

fonctionnement interne qui est proposé.Le modèle d'exécution est une représentation du modèle biologique, sans passer par

une couche intermédiaire qui permettrait de pouvoir décrire un comportement sans dé-crire son fonctionnement. Cette notion d'architecture d'agents pour décrire un compor-tement est par exemple implémentée dans le système DeSIRe (Jonker et Treur, 2001,DEsign and Speci�cation of Interacting REasoning components). Sur la base d'une archi-tecture bdi, DeSIRe propose de décrire la sélection d'action sur des règles logiques liantles connaissances et les actions. Par exemple, en opérant des règles uniquement sur lesobservations et les actions, il est possible de créer un modèle réactif qui décrit le com-portement :if observation_result(I :INFO_ELEMENT,S :SIGN )then new_world_info (I :INFO_ELEMENT,S :SIGN )if belief (at_position(food,P :POSITION), pos )then to_be_performed (goto(P :POSITION) )Des règles équivalentes mais utilisant cette fois les notions de buts peuvent ensuite ajouterune pro-activité au comportement, et la notion d'intention introduit des possibilités demodéliser des agents sociaux par la communication et le partage d'intentions. Ce modèlepermet de décrire le comportement par des règles, ce qui le rapproche d'une descriptionéthologique de comportement par l'intermédiaire d'un éthogramme. Cependant, le mo-dèle d'exécution soustendu (bdi) introduit des hypothèse fortes (anthropomorphiques)sur le fonctionnement interne qui sont bien di�érentes des bases éthologiques de modéli-sation. De plus, le choix d'un modèle d'exécution peut également avoir des répercutionssur la description des actions. Dans les règles simples présentées en exemple, seule lasélection d'action est décrite (la �logique� du comportement), ce qui ne su�t pas pourtranscrire un éthogramme : il faut ajouter la possibilité de décrire les actions élémentairescomme l'action goto utilisée dans l'exemple.

3.3 Exécution d'un modèle éthologiqueNotre objectif, simuler le comportement animal instinctif et réactif par des agents

autonomes au sein d'un environnement virtuel, pose le problème de décrire un contrôlesur un animat agissant en autonomie. La limite entre contrôle et autonomie est alors�xée par le contexte de modélisation éthologique qui impose d'une part des contraintesau modèle d'exécution et d'autre part une correspondance la plus directe possible entreles données biologiques et l'architecture d'exécution comportementale.

Le but de l'architecture est de structurer le modèle d'exécution pour permettre dedécrire au mieux le modèle comportemental. Dans le cas de la simulation, elle permetégalement d'intégrer l'animat dans un environnement virtuel par la modélisation des ac-tions et perceptions. Pour cela, elle ne doit pas introduire d'hypothèse en contradictionavec les bases des modèles éthologiques. Par exemple, une hiérarchie statique dans lescomportements n'est pas un fondement que tous les modèles éthologiques reprennent caril n'existe pas un ordre total pour hiérarchiser ces comportements. Cependant cette orga-nisation de haut en bas (top-down) des modules de comportements doit pouvoir existerdans la simulation pour implémenter les modèles hiérachiques. L'architecture d'exécutiondoit permettre de recréer cette structure sans l'intégrer de manière indispensable dans sonfonctionnement. Le choix de l'asm doit alors être un compromis entre une distributiondu contrôle qui permet de décomposer le comportement en modules indépendants, et un

behavioRis 49

Page 52: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

modèle global qui facilite la description statique du modèle comportemental. Pour cela,il est important de dé�nir les frontières entre perceptions, règles comportementales, etmodèles biomécaniques à l'intérieur de la description de l'animat. Chacune de ces partiespeut se décrire de manière indépendante, et même si nous cherchons à faciliter la descrip-tion du comportement, il faut pouvoir manipuler les perceptions et organiser les donnéesd'entrée du modèle biomécanique. La modélisation des entrées de l'animat doit prendreen compte les variables intermédiaires du comportement : l'état interne de l'individu. Cetétat est décrit de manière très symbolique dans les modèles éthologiques. Ces variablessont utilisées par les comportements, mais sont également manipulées par le modèle glo-bal de l'animat qui �xe des relations d'in�uence entre ces variables. Ces relations sont del'ordre de l'in�uence causale (par exemple un état de stress inhibe un état de calme) oude l'in�uence temporelle (le même état de stress peut diminuer petit-à-petit). Cet étatinterne doit donc faire partie de l'architecture de l'animat.

4 Outils orientés modélisation

4.1 sma génériquesUne architecture d'agent n'est pas un outil de modélisation à proprement parlé, mais

sert de base à la simulation. En cela une architecture qui propose un modèle génériquepour établir les bases du système multi-agents est vue ici comme un outil de modélisation.

Un premier exemple d'une telle architecture est apoc (Activating Processing Obser-ving Components) et son implémentation ade (Architecture Development Environment)(Scheutz et Andronache, 2004). Son but est de fournir un formalisme pour décrire lesarchitectures d'agents par des composants reliés par quatre type de liens : activation,composition, contrôle de processus et composition. apoc couvre tous les types d'archi-tecture, du modèle strictement réactif (comme l'architecture de subsumption ou mêmedes architectures utilisant le framework de programmation fonctionnelle réactive) au mo-dèle cognitif (comme soar (Laird et al., 1987)). L'avantage de ce type d'architecture estde proposer ensuite une seule implémentation comme ade qui permet alors d'abstraireles problèmes d'exécution matérielle (comme la possibilité de déployer les simulationssur plusieurs machines de calcul en parallèle). Cette abstraction de l'architecture d'agentpermet par exemple de modi�er dynamiquement les stratégies de sélection d'action enmodi�ant les liens entre composants (Scheutz et Andronache, 2002). Cependant elle seplace à un niveau trop éloigné des concepts éthologiques en ne permettant pas de spéci�erdes contraintes intermédiaires entre la spéci�cation de l'architecture et son utilisation :elle est axée sur la description de modèle, respectant quelqu'architecture souhaitée, maisne propose pas d'outil pour utiliser l'architecture modélisée.

vle (Virtual Laboratory Environment) propose une approche di�érente de l'expéri-mentation des modèles individu-centrés (Ramat et Preux, 2003). C'est un environnementpour la modélisation de systèmes complexes spatialisés et à temps discret, basé princi-palement sur le paradigme des agents réactifs. L'utilisation du formalisme devs (DiscretEVent system Speci�cation) permet le couplage entre modèles à di�érentes échelles. Sonbut est de fournir à des non-experts en informatique un outil pour tester des hypothèsessur un système qui se con�gure avec leurs modèles. Le moteur de comportement est donctrès générique et l'interface avec l'utilisateur se fait à travers le langage uml pour laconception statique du modèle et plusieurs autres formalismes sont proposés pour mo-

50 Ludovic Coquelle

Page 53: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Outils orientés modélisation

déliser l'aspect dynamique (des réseaux de Petri interprétés, un langage algorithmique,un système à base de règles ou des équations di�érentielles). Le modèle est ensuite si-mulé dans un univers virtuel. En utilisant des langages qui ne sont pas des langages deprogrammation algorithmique usuels, Virtual Laboratory Environment (vle) proposeà l'utilisateur un outil plus simple à manipuler. Il est par exemple possible de créerdes modèles simples par l'utilisation seule des interfaces utilisateurs. vle est une basede construction, qui propose une architecture d'agents pour la modélisation, mais dontl'asm reste à concevoir.

De la même manière le modèle d'agent InViWo (INtuitive VIrtual WOrld) intro-duit une architecture générale qui permet de faire soit un agent virtuel représentant unutilisateur dans un monde virtuel soit une créature arti�cielle autonome dans ce mêmemonde (Richard et al., 2003). Ce modèle présente un système d'agents réactifs syn-chrones, son asm, et introduit l'utilisation de MARVIN comme langage spéci�que pourla modélisation de comportements. Ce langage est inspiré du langage ESTEREL maisest adapté pour pouvoir décrire la spéci�cation complète d'un agent InViWo. Cepen-dant, si le langage facilite l'utilisation de l'architecture d'agents, il suit un paradigme deprogrammation impérative qui n'est pas spéci�quement adapté pour décrire un modèleéthologique basé sur des règles de causalité.

4.2 sma spécialisésUn autre moyen pour faciliter la modélisation est de proposer des architectures

d'agents dédiées à certains domaines. Les bases de modélisation de ce domaine sontalors intégrées au système sur lequel le modélisateur s'appuie pour spéci�er son modèleprécis.

Par exemple, Gecko (Booth, 1997) propose un système pour modéliser la gestion deressources d'un point de vue écologique. Son but est de fournir un système pour simulerdes ibm qui regroupent di�érentes espèces à di�érents niveaux trophiques. Pour celal'architecture dé�nit un monde continu 2d où chaque agent est représenté par un disque.Cette représentation permet une modélisation assez �ne de la perception (distance) touten adoptant un modèle calculatoire simple. Le comportement de chaque agent est dé�nipar un cycle de vie spéci�que (assimilation des ressources gagnées, calcul des pertesmétaboliques, possibilité de reproduction ou recherche de ressource, puis déplacement).Très simple d'utilisation, cette architecture n'apporte pas de solution à notre problème desimulation éthologique. Cependant elle illustre la manière dont les architectures peuventêtre spécialisées, et introduit une modélisation astucieuse de la perception qui reste unpoint di�cile dans un univers continu.

Dans le contexte de l'éthologie, l'emf (Etho-Modeling Framework) se base sur lesmécanismes de déclenchement (Innate Releasing Mechanism (irm)) comme présentéspar Lorenz (Drogoul et Ferber, 1994). Une activité instinctive est stéréotypée (avecune marge de variation faible entre individus de la même espèce) et elle est déclenchéepar des stimuli externes. La réponse comportementale se traduit par un enchaînementd'actions élémentaires. emf implémente un temps et un espace discrétisé. La perceptionde chaque agent est modélisée comme une communication non-intentionnelle, dont lemédium se trouve être l'environnement. Ainsi chaque agent (leur module comportemen-tal) interroge l'environnement et réagit en fonction. Pour cela il est muni d'un certainnombre de tâches (ou module de comportement) qui correspondent aux fap. Une tâchepossède entre autre un Potentiel d'Action Spéci�que (pas), un seuil de déclenchement

behavioRis 51

Page 54: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

et une séquence de primitives e�ectuée quand elle est activée. Un stimulus active unetâche si elle possède le même nom. L'asm choisit d'activer la tâche dont le produit duniveau d'intensité du stimulus et du pas de la tâche est le plus élevé. Un mécanisme derenforcement est introduit dans ce processus (plus un comportement est actif plus il a dechance d'être activé) en augmentant à chaque cycle le pas de la tâche active (boucle derétroaction). Cet outil de modélisation éthologique permet de construire des modèles decomportement très simplement, sans passer par un langage de programmation impératif(sauf pour étendre la liste des primitives existantes). Cependant le modèle de perceptiondépend de la discrétisation de l'espace (ce qui peut présenter un avantage pour modé-liser des processus de communication induit par l'environnement, comme la dispersiondes odeurs). De même, les primitives sont des actions atomiques ce qui induit de lier lemodèle comportemental au modèle d'exécution temporel, c'est-à-dire que la réponse ducomportement doit dépendre du temps d'exécution des primitives.

L'utilisation de primitives permet de composer des comportements sans utiliser delangage de programmation. Cette méthode est utilisé également dans cormas (Common-Pool Resources and Multi-Agent Systems) pour modéliser un écosystème par l'environne-ment ainsi que la dynamique temporelle des interactions (Bousquet et al., 1998). Cet outilintroduit également la modélisation du point de vue de l'observation car la simulationpermet d'observer les références spatiales comme les liens sociaux.

Dans almass (Animal, Landscape and MAn Simulation System), l'accent est mis surl'importance de la modélisation de l'environnement et surtout sur son aspect dynamique(Topping et al., 2003). La modélisation de cet environnement rejoint les di�cultés demodélisation des perceptions dans un univers complexe.

La plate-forme Mobidyc (Houssin et al., 2002) dé�nit également le comportementd'un agent par un ensemble de primitives (25 sont prédé�nies et réunies en 6 groupes).Le niveau d'observation supra-spéci�que permet de décrire un comportement par un en-semble de primitives, ce qui permet une discrétisation de l'espace et donc des actions,que Mobidyc simule avec une modélisation synchrone par automate cellulaire (hypothèsedu modèle d'exécution). Mobidyc introduit par contre la di�érenciation entre l'agentlui-même et la description de cet agent (nommé moule d'agent, qui correspont plus oumoins à l'espèce de l'animat dans le vocabulaire éthologique, ou plutôt à son grouped'appartenance). Ce moule d'agent est une description de ses perceptions et comporte-ments dans le langage atoll spéci�que et dissocié de la simulation. Ce langage présenteun formalisme de spéci�cation du modèle indépendant de l'exécution. Il permet aussi depasser d'un prototype dynamique dans son interprétation de base en SmallTalk à une si-mulation lourde en C++ . Il a été utilisé par exemple pour la modélisation d'écosystèmesaquatiques (Souissi et al., 2005).

4.3 Langages de description de comportementsNous avons brièvement entrevu les langages impératifs atoll et marvin pour décrire

les comportements. Un langage intermédiaire permet en e�et d'abstraire les problèmesde simulation par rapport à la modélisation.4.3.1 Modèle vs. exécution

Cette idée est présentée plus en détail par Lorek et Sonnenschein (1999) qui décriventl'outil wesp-tool pour les modèles individu-centrés de méta-populations. Le principe

52 Ludovic Coquelle

Page 55: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Outils orientés modélisation

est de dissocier l'ibm de son implémentation, et donc de la plate-forme agent qui l'exé-cute. wesp-dl est le langage qui permet de décrire les individus possédant un rôle etun état (par exemple juvénile ou adulte). Les individus (di�érenciés ici des agents) pos-sèdent un cycle de vie qui dé�nit la dynamique du modèle. Le framework chargé del'exécution est basé sur Ecosim, un framework agent dédié à la simulation d'écosystèmes.Entre ces deux phases, wesp-tool propose des assistants à la mise en place du mo-dèle (un assistant projet pour la documentation et la gestion des versions de modèleset d'expérimentations ; un assistant modélisation qui aide la dé�nition de l'individu ; unassistant d'expérimentation pour dé�nir les conditions initiales de la scène à simuler ; etun assistant d'évaluation qui permet de �xer les données à enregistrer au court de lasimulation). L'idée principale est de fournir des outils au modélisateur. La descriptiondu comportement reste un point délicat qui est abordé ici de manière impérative.4.3.2 Outils informatiques

Des outils informatiques peuvent être utilisés pour cette tâche. Par exemple, le langagedéclaratif Extensible Agent Behavior Speci�cation Language (xabsl) propose un formatde description de comportement (Lötzsch et al., 2004). Mais ce format ne propose pasl'interprétation associée, et les données sont encore une description impérative des actionscomportementales.

La dissociation entre modèle et exécution se retrouve également dans le langage maml(Multi-Agent Modeling Language) (Gulyás et Kozsik, 1999). L'idée est encore de fournirun outil pour des non-informaticiens, mais cette fois en utilisant un concept de program-mation di�érent : l'aop (Aspect Oriented Programing). Mais ce langage a moins pourbut de décrire le comportement que de séparer la modélisation de l'observation. En e�et,les ibm sont souvent modélisés par le même système que celui qui permet de les observer.Il est donc intéressant de pouvoir séparer ces deux aspects.

Une autre manière de faciliter l'implémentation de modèles est de faciliter leur pro-grammation à partir de leurs spéci�cations. C'est l'objectif deMetafor (Liu et Lieberman,2005) qui vise à traduire les spéci�cations d'un programme du langage naturel en codeexécutable. L'idée est d'utiliser la structure grammaticale du langage pour créer un sque-lette de programme structuré en classes, propriétés, fonctions et règles de causalité. Maisil n'est question ici que de programmer un modèle, sans tenir compte d'un contexte demodélisation.4.3.3 Langages dédiés

Dans le domaine de l'animation, des langages dédiés sont utilisés pour faciliter letravail du modélisateur. Souvent, ils se présentent comme une couche cognitive qui vientcompléter un agent réactif et qui lui permet de prendre des décisions sur les séquencesd'actions à entreprendre.

Par exemple, le système Improv (Perlin et Goldberg, 1996) permet de scénariser lecomportement d'un agent. Il adopte un langage proche du langage naturel mais commeson but est de décrire un scénario, il reste impératif. Cependant le langage apportela possibilité d'introduire des probabilités d'exécution, d'où son nom : en adoptant uncomportement moins prévisible l'agent est plus réaliste. Mais même si l'agent sembleimproviser, toutes ses actions ont été plus ou moins prévues, et ce sont les choix d'actionqui sont décrits par le langage.

Le langage Cognitive Modelling Language (cml) propose une approche di�érente en

behavioRis 53

Page 56: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

utilisant les constructions dynamiques de séquences d'actions basées sur les connaissancesde l'agent (Funge, 1998). Ces connaissances de l'agent sont de deux types : les actions,qui sont décrites par leurs préconditions et leurs conséquences (par exemple, l'actionaller-vers-l'avant est conditionnée par l'absence d'obstacle et résulte en une positiond'arrivée), et les buts, qui sont des états que l'agent cherche à atteindre (une position parexemple). Ces connaissances déclaratives sont ensuite utilisées par un moteur d'inférencelogique qui permet d'enchaîner les actions pour atteindre les buts. Les actions, avecpréconditions et conséquences, ressemblent à des règles comportementales. Cependantelles ne sont validées par le moteur d'inférence que par rapport aux buts à atteindre. Ilest alors di�cile de décrire un comportement réactif par ce langage.

Behave ! est un langage visuel à base de règles pour décrire un comportement. Sonbut est d'introduire ce type de programmation par règles à des non-informaticiens et il estutilisé pour interagir avec un aquarium virtuel. Toutes les règles se construisent à partirde primitives, représentées par l'intermédiaire de métaphores graphiques, et assembléespar simple drag & drop (voir �gure 1.11 page 54).

Figure 1.11 � Behave ! est un langage visuel de description de comportement. Il est utilisépour décrire des comportement de poissons d'aquarium. Behave ! A visual behavior language :http://xenia.media.mit.edu/~mt/behave/behave.html

54 Ludovic Coquelle

Page 57: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bilan

5 BilanModèle d'animal

En éthologie, le comportement se décompose en di�érents aspects que nous appe-lons des modules de comportement, ou plus simplement des comportements, décrits demanière indépendante (bien qu'entretenant parfois certaines relations de causalité ou destructure). Ces comportements forment ensemble une interface dont le rôle est de dé-duire un résultat qui dénote une action en fonction des stimuli : c'est ce qu'exprime lareprésentation d'animat de la �gure 1.1 page 16. Cet animat est donc en interaction avecson environnement de deux manières di�érentes : d'une part il le perçoit, et d'autre partil agit dans cet environnement.Simulation d'animat

Ce type d'approche conduit à construire des modèles individu-centrés spatialisés, quinécessitent l'expérimentation. La simulation multi-agents permet cette expérimentationdes ibm dans des environnements di�cilement accessibles à l'expérimentation réelle, etavec de nombreux agents, en modélisant chaque animat par un agent. La première étapepour simuler des animats est de modéliser l'environnement. Cet environnement est à lafois l'espace sensible, qui permet à l'animat de percevoir les informations, et il est lesupport du modèle biomécanique de l'animat, qui a pour rôle de transcrire le résultatdu comportement en actions. Ensuite, c'est l'architecture d'agents qui formalise la si-mulation des animats. Pour une simulation de modèles éthologiques, cette architectured'agents couvre alors deux objectifs : le premier est de fournir un cadre de description dufonctionnement interne des animats, et le second est de fournir l'exécution de ce modèle.Eléments de comportement en éthologie

Nous revenons donc sur les besoins en matière de description pour énoncer un mo-dèle éthologique de comportement instinctif. Le shéma causal modélise les réponses com-portementales comme les conséquences d'un ensemble de stimuli (irm). La notion deperception est donc introduite à ce stade pour traduire les données de l'environnement(son modèle) en stimuli. A ces stimuli externes (perçus), s'ajoutent des stimuli issus deprocessus internes. Les réponses à ces stimuli s'expriment à travers des modi�cationsdes variables internes ainsi que par l'intermédiaire d'actions sur l'environnement. Cesactions (fap) sont e�ectuées suivant un modèle biomécanique approprié. Ces élémentsde stimuli�réponses doivent être modélisés par l'architecture d'agents pour permettre lasimulation.Exécution et architecture d'agents

L'utilisation des systèmes multi-agents pour ce type de modèle doit en e�et permettred'une part de spéci�er chacun de ces aspects (environnement, perception, comportementet modèle biomécanique), et d'autre part proposer un modèle d'exécution de cette spéci�-cation, en accord ici avec les modèles éthologiques. Les di�érentes architectures présentéesdans ce chapitre abordent des problèmatiques di�érentes et apportent en conséquence dif-férentes réponses au problème de l'exécution. La tâche principale d'une architecture estréalisée par l'asm qui doit permettre de choisir l'action à exécuter, c'est-à-dire re�éter

behavioRis 55

Page 58: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

les règles comportementales du modèle exprimées par l'ensemble des modules de com-portement. L'organisation hiérarchique de ces comportements facilite l'établissement dumodèle global (subsumption), cependant les règles comportementales ne sont plus indé-pendantes. Pour modéliser les règles de manière indépendante, leurs entrées et sortiespeuvent être étendues par la théorie des schémas par exemple (AuRA), mais alors lesconcepts de perception et d'action ne sont plus modélisés directement et di�èrent suivantles comportements à établir ; les réseaux d'activation ont l'avantage de séparer les règlesde décision mais reposent sur l'expression de buts que l'on ne trouve pas dans les modèleséthologiques. Une idée intéressante des systèmes à base de bdi est d'utiliser un systèmed'inférence pour décrire les règles comportementales. Cependant c'est une approche trèsanthropomorphique qui inclut des hypothèses fortes que le modèle animat ne véri�e pasforcément. A la di�érence de l'inférence logique, l'inférence �oue peut permettre de fa-ciliter la description sans avoir à manipuler de connaissances de haut niveau (p. ex. lanotion abstraite de but).Outils d'expérimentation

Pour expérimenter un modèle, l'architecture d'agents doit permettre de manipuleraisément tous les éléments de ce modèle, des stimuli externes (perception) et internesjusqu'au modèle biomécanique. La modularité (dans la structure cette fois-ci, non pasdans l'asm) d'un système à base de composants permet d'organiser le modèle. L'exemplede l'architecture Creature (et ses évolutions) fait apparaître ces éléments. Le problèmede modularité est de faire coexister des modules comportementaux automatiquement. Lesystème de vote mis en place dans l'architecture damn permet de manipuler la manièrede regrouper non pas les di�érents comportements mais leurs sorties indépendantes.L'utilisation de l'inférence �oue quant à elle présente l'avantage de décrire des règleslogiques proches du discours d'un éthologue. La simulation doit en e�et être l'outil pourle spécialiste du domaine à modéliser (l'éthologue dans notre cas). Elle doit alors séparerle modèle de l'implémentation, ce que permet un langage spécialisé, tout en gardant unsupport sur une architecture d'agents.Conclusions

Pour simuler des modèles d'animaux reproduisant un répertoire comportemental dé-crit par un éthogramme, nous proposons de formuler une architecture d'agents adaptée.Elle s'appuie sur des composants permettant de manipuler des concepts éthologiques :la perception de l'environnement, le modèle biomécanique et un état interne qui permetde manipuler des variables intermédiaires sans introduire une sémantique spéci�que. Lechoix d'un modèle causal (par opposition à un modèle cognitif) permet d'exprimer desrègles comportementales manipulant les entrées et sorties de l'animat sur son environne-ment. Les comportements sont décrits de manière indépendante, mais peuvent présenterdes liens dynamiques structuraux, qui permettent d'exprimer des comportements com-plexes comme une hiérarchie de comportements.

Pour traduire directement les règles comportementales des éthogrammes, nous propo-sons un langage déclaratif associé à l'architecture. Il permet au thématicien de spéci�erindépendament les modèles de perception, la dynamique des états internes, les modèlesbiomécaniques, et les règles causales. Basé sur la logique �oue, il facilite l'expressiond'ensembles de règles tout en manipulant des données expérimentales souvent impréciseset parcellaires.

56 Ludovic Coquelle

Page 59: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bilan

Notre simulateur utilise les techniques de Réalité Virtuelle pour observer le résul-tat de l'exécution du modèle d'animal à travers les manifestations des comportementsindividuels dans l'environnement.

behavioRis 57

Page 60: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 1 � Modélisation de comportement animal

58 Ludovic Coquelle

Page 61: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2

behavioRis

Ce chapitre présente notre contribution : behavioRis est un outil développé pour simu-ler des modèles éthologiques de comportement réactif animal. Son nom vient de la

concaténation des termes behavior et oRis, nom du langage utilisé pour son prototypage.behavioRis se veut un outil d'expérimentation de modèles de comportements animaux.

L'échelle d'observation étant celle de l'éthologie, le but est de proposer un animat (modèled'animal en tant qu'interface entre stimuli et réactions) construit de manière à ce qu'unexpert thématicien en science du comportement animal puisse facilement exprimer et ex-périmenter ses modèles. Comme l'a montré le chapitre précédent, les théories et modèlesde cette discipline sont multiples. Il n'est pas du ressort de l'informaticien spécialiste dela simulation de prendre part à la discussion sur la pertinence des di�érentes approcheset nous prenons le parti de proposer un outil su�sament généraliste pour être utilisé dansune perspective physiopsychologique, behavioriste ou éthologique. De ce fait, l'architectured'animat que nous proposons doit être générique tout en permettant la simulation. beha-vioRis fournit un langage de description de comportement permettant une transcriptionaisée des descriptions linguistiques comportementales des éthogrammes en un modèle exé-cutable. Pour cela notre outil repose sur un framework d'agents réactifs responsable del'exécution du modèle. Ces deux composantes, langage de modélisation comportementaleet framework générique d'exécution, font de behavioRis un outil d'expérimentation desmodèles comportementaux.

Il est donc question dans ce chapitre de présenter une architecture d'agent adaptéeaux modèles éthologiques. Cette architecture fonctionnelle modélise l'animat et ses inter-actions avec l'environnement. Elle est découpée en composants qui permettent de spéci�erindépendamment les perceptions, les variables intermédiares, les comportements et le mo-dèle biomécanique. Le modèle d'exécution de la simulation dans un environnement de rv(Réalité Virtuelle) s'appuie sur l'activité de chacun de ces composants. Et en�n, nousprésentons un langage déclaratif basé sur cette architecture pour décrire le modèle, etparticulièrement nous montrerons l'intérêt de la logique �oue pour exprimer des règlescomportementales manipulant des données imprécises. Des applications sont présentéesdans le chapitre suivant.

behavioRis 59

Page 62: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

1 Architecture fonctionnelleL'architecture fonctionnelle a pour rôle de décrire la manière dont les animats sont

dé�nis. Nous allons voir que dans notre approche, où un animat est un objet spécialisé,la dé�nition de l'environnement est liée à la dé�nition des objets et ne suppose pas decontrôle global de la simulation. Nous verrons ensuite comment modéliser chaque conceptintervenant dans la dé�nition du comportement d'un animat.

1.1 L'environnementSimuler une description de comportement permet d'observer les conséquences de ce

comportement en terme d'actions. Pour cela, l'animat interagit avec son environnementde deux manières : il perçoit les informations et réagit en conséquence pour adopterune situation adaptée à cet état de l'environnement. L'environnement doit alors pouvoircontenir toutes les informations phylogénétiquement pertinentes pour les animats ainsique permettre le rendu de leurs actions. Nous ne considérons pas ici l'expression de laréalisation de l'action sur l'environnement mais sur l'animat. De plus, pour supporterles modèles spatiaux réalistes, nous avons posé la contrainte de modéliser un monde 3dqui soit continu (à la di�érence des modèles qui discrétisent l'espace). Cet environne-ment 3d continu permet le rendu de la simulation dans un univers de rv. Il sera alorspossible de comparer les résultats de simulations aux observations réelles pour inférersur les connaissances biologiques introduites dans le modèle ; nous présenterons une tellecomparaison dans la première application du chapitre 3.Environnement et objet

L'environnement U est un ensemble qui contient tous les objets de la simulation.Un objet o est constitué d'une forme géométrique s et

roll

pitch

yaw

Y

X

Z

Figure 2.1 � Localisationd'un animat dans l'espace

d'un ensemble P de propriétés nommées.Une propriété estun couple 〈λ, v〉 : λ est le label (unique dans l'ensemble despropriétés de l'animat) et v la valeur de la propriété. Poursimpli�er le formalisme, cette valeur n'est pas typée ; si elleprend une valeur numérique, elle peut être liée aux autrespropriétés du même objet par une expression arithmétique.Parmi les propriétés, certaines sont inhérentes à tous lesobjets comme la localisation dans l'espace (les positionsdans le repère euclidien (x, y, z) ainsi que son orientationsuivant les trois axes (roll,pitch, yaw), cf �gure 2.1) ; lesautres sont dé�nies par le modélisateur. Un objet est loca-lisé par un point, mais des géométries lui sont associées etsont utilisées pour son rendu visuel ; elles sont égalementutilisées par les modèles de perception. Un objet possèdeà tout moment une géométrie active. Ces géométries sontconstituées des composantes classiquement utilisées dansles rendus 3d temps-réel utilisant OpenGL 1 (le matériau

est prix en compte (sa couleur et sa réaction suivant la luminosité) ainsi que la dé�nitionde l'ensemble des faces triangulaires qui approximent sa forme).

1The Industry's Foundation for High Performance Graphics: http://www.opengl.org

60 Ludovic Coquelle

Page 63: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Architecture fonctionnelle

L'environnement est un objet spécial de la simulation : il est unique, n'a pas deforme géométrique, et dé�nit le repère dit �global�. Il possède cependant un ensemblede propriétés comme les autres objets. Parmi ces propriétés, l'une est toujours dé�nieet représente le temps : t est le nombre de secondes simulées depuis le début de lasimulation. Ses propriétés peuvent donc être localisées dans le temps (p. ex. f = sin(t)).Elles peuvent l'être également dans l'espace : nous verrons dans un exemple en section1.2.2 du chapitre 3 qu'une propriété de l'environnement peut être évaluée en fonction dela position (x, y, z) de l'objet qui s'y intéresse.Activité et architecture fonctionnelle

Dans cet environnement, un animat peut être considéré comme un objet actif dansle sens où il perçoit son environnement et agit sur ses propriétés en fonction de soncomportement (nous nous réfèrons ici à la notion de modélisation basée agent comme leprésente le Animal Simulation Laboratory 2). Ces comportements sont observés au seind'un groupe d'animats pour mettre en évidence les interactions. Cependant la notionde groupe n'est pas obligatoirement décrite dans le modèle. Par contre, la descriptiond'un animat doit permettre d'exprimer des variabilités inter-individuelles. Pour cela, lemodèle de l'animat sera manipulé à travers la notion d'espèce.

L'architecture fonctionnelle permet de spéci�er les interactions des animats avecl'environnement et de réi�er les concepts abstraits manipulés dans la description descomportements. La �gure 2.2 page 62 représente les di�érents composants constituantun animat : Perception, Behavior, InternalState et Controller. Chaque composant estlui-même décomposé en sous-composants. Cette architecture a été présentée dans (Co-quelle et Chevaillier, 2005).

Nous présentons ici le rôle de chaque composant en précisant ses entrées et sorties pourexpliciter les notions éthologiques qu'il manipule. Le modèle d'exécution sera présentédans la section suivante accompagné de quelques détails d'implémentation. Il su�t pourl'instant de considérer l'activité globale de l'animat comme le résultat de l'activité dechacun de ses composants. Chacun de ces composants est piloté par un sous-composantTrigger : celui-ci déclenche l'exécution du composant.

1.2 Les perceptions externesDans la réalité, la perception est un phénomène complexe allant au delà du problème

de sensation. Bridgeman (1998), qui présente la thèse de Rock �Indirect perception� en1997, présente brièvement les mécanismes du cerveau pour transformer les données issuesdes capteurs en données utiles. En majorité ces processus sont internes et inconscients.La di�érence est alors faite entre sensations (données issue des sens) et perceptions (inter-prétations sémantiques des sensations). Notre but n'est pas de modéliser ce traitementcomplexe de l'information, mais de décrire les résultats issus des processus de perception.1.2.1 Des géométries à la notion de perception

Notre objectif est centré sur la description des comportements. Ces derniers, sousforme de règles comportementales causales, manipulent les perceptions comme des entrées

2Agent-Based Modelling from Animal Simulation Laboratory:http://mac-huwis.lboro.ac.uk/ASL/Projects/AgentBasedModelling/index.html

behavioRis 61

Page 64: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

ANIMAT

perc

epts

com

man

ds

variable influencesvariable values

(spe

ed...

)pr

oper

ty c

hang

es

obje

cts

Wij

S1

S4

INTERNAL STATE

S2S3

actuator

selector

controller #1

actuator

selector

controller #m

CONTROLLERS

pattern #1

behavior #1

behavior #2

behavior #m

pattern #2

pattern #1

BEHAVIORS

perception #n"name2"

perception #1

filters

filters

detectors

detectors

"name1"

PERCEPTIONS

Figure 2.2 � Architecture fonctionnelle de behavioRis : un animat est constitué d'un en-semble de composants Perception, d'un ensemble de composants Behavior, d'un ensemble decomposants Controller et éventuellement d'un composant InternalState (les sous-composants dedéclenchement Trigger ne sont pas représentés ici).

de leurs processus. L'architecture doit alors permettre de modéliser ces perceptions dansl'environnement de simulation. Pour cela, les objets géométriques concernés munis deleurs propriétés doivent être détectés par les animats, puis analysés pour construire desperceptions.Détection

La première étape est donc une étape de détection qui sélectionne la sous partie del'environnement (sous forme d'un ensemble d'objets) concernant la perception à modé-liser. En simulation, deux procédés sont possibles pour modéliser le fonctionnement descapteurs : soit un mode distribué (ou local), soit un mode centralisé (ou global). Dans lemode local, l'animat qui e�ectue la détection utilise lui-même l'ensemble des données dela simulation pour rechercher les objets susceptibles de l'intéresser ; dans le mode global,l'environnement est capable de faire ce traitement pour lui. La première approche sembleplus individu-centrée, mais des problèmes d'ordre calculatoire sont à prendre en compte.Les deux types de détection seront utilisables dans l'architecture.Spatialisation et problème des k-NN

Nous nous appuyons sur l'exemple de la spatialisation pour introduire la di�cultéalgorithmique de la détection, et plus précisément sur le problème classique de la détectiondes �k plus proches voisins�, en utilisant une distance euclidienne. Ce problème est

62 Ludovic Coquelle

Page 65: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Architecture fonctionnelle

intéressant par exemple pour simuler des comportements en réaction aux congénèresles plus proches dans un groupe d'individus, où en réaction à une attaque de plusieursprédateurs. Chaque animat doit donc être capable de détecter les k individus formant sonentourage. De manière générale, la détection d'un animat est équivalente à la détectiond'un objet.

En résolution locale, c'est-à-dire si chaque animat doit calculer ses k voisins indépen-dament des autres, ce problème des k-NN (k Nearest Neighbours) est d'ordre o(N2). Ene�et, si N est le nombre d'objets de la simulation, il faut calculer N distances puis lestrier, et ce pour chacun des N animats. Seule l'optimisation de l'algorithme de traitementdes données peut alors améliorer la recherche, mais l'ordre de complexité est conservé.

En mode global, la résolution peut être améliorée en constituant un index spatial desobjets (cette notion est détaillée dans l'annexe B) qui, à l'image d'un index alphabétiquepour un livre, permet de retrouver les objets par rapport à leur position dans l'espace.Cependant, pour les objets en déplacement, la mise à jour de l'index pour chaque dé-placement de chaque objet est parfois plus coûteuse en terme de calcul que la recherchelocale.

Ce principe d'indexation utilisé ici pour la localisation peut être généralisé à chaquepropriété (la propriété doit alors être dé�nie sur un ensemble ordonnable). La spatia-lisation reste un problème particulier car la localisation ne fournit pas un ordre strict(du fait qu'elle est composée de plusieurs coordonnées). De plus, un objet est localiséen un point, mais la forme géométrique introduit des di�cultés supplémentaires, pourdé�nir les distances par exemple. Ainsi pour la détection de structures complexes sta-tiques (décomposables en sous-parties) nous avons utilisé les R-Tree (Guttman, 1984)qui indexent des géométries par leur boîte englobante3 (à la di�érence d'une indexa-tion par point), supportent une répartition quelconque des données, et pour lesquels unalgorithme e�cace de recherche des voisins est connu (Roussopoulos et Vincent, 1995).Perception

Après la détection des objets portant l'information, un traitement supplémentairedoit apporter la notion de perception. La perception est le support de modélisationdu stimulus externe. Elle doit donc être quanti�ée et contextualisée. Pour cela, il estnécessaire de prévoir un mécanisme capable d'extraire et mémoriser une propriété d'unensemble d'objets detectés : c'est la notion de pronome introduite dans l'architectureCreature (Blumberg, 1997).

La mémorisation d'une perception modélise localement une mémoire à court terme.Il est donc nécessaire de parler de l'activité temporelle de la perception. Cette activitéest modélisée par la manière de déclencher la mise à jour de la perception. Celle-cidépend du type de perception et peut être modélisée par une période de rafraîchissementautomatique.1.2.2 Détection d'objets à géométrie complexe

L'approximation ponctuelle est su�sante pour les petits objets. Elle l'est beaucoupmoins pour des formes géométriques complexes (p. ex. un arbre pour un singe) où l'objetcomplet n'apporte pas l'information mais une partie de celui-ci seulement est utile et

3Pour l'indexation par R-Tree, une boîte englobante (axis-aligned bounding box) est le plus petitparallélépipède rectangle aligné avec les axes du système de coordonnées et contenant entièrement laforme géométrique à indexer.

behavioRis 63

Page 66: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

utilisable (une branche). Or, la géométrie destinée à un univers de rv est modélisée parun ensemble des facettes triangulaires formant une approximation de la forme globale.Il est donc possible d'accéder aux données de ces facettes. L'intérêt de garder la formecomplexe comme un seul objet regroupant un ensemble de facettes (par rapport à mo-déliser l'ensemble des facettes comme autant d'objets séparés) est de limiter le nombred'objets dans l'environnement pour ne pas retrouver le problème précédent de complexitéalgorithmique due au nombre d'objets. Par contre, si le problème de détecter certainesfacettes dans l'ensemble de toutes celles qui constituent la géométrie se retrouve, l'in-dexation globale peut ici être utilisée localement à l'objet puisque toutes les facettes sontliées à cet unique objet. Nous verrons en section 2 du chapitre 3 une utilisation d'unobjet à géométrie complexe pour simuler un �let de pêche avec des poissons capables depercevoir chaque maille le constituant.1.2.3 Le composant PerceptionA Rôle

Le rôle du composant Perception est donc de transformer de l'information de l'envi-ronnement en une information de perception par le principe évoqué ci-dessus : détectionet sélection, auquel on attache un étiquetage sémantique.

Dans cette modélisation, les sens réels (capteurs) de l'animal ne sont pas manipulésdirectement. Les contraintes liées aux conditions environnementales (bruit, lumière. . . )ainsi que les caractéristiques des objets sont simulés par la spéci�cation de détection etde �ltrage. C'est le résultat de ces sens qui est modélisé ici, pas leurs fonctionnements.Par exemple, si une règle comportementale spéci�e une réaction face à un prédateur, peuimporte le moyen de détection utilisé (l'ouïe, la vue), seule la sémantique de la perceptionde �prédateur� est utilisée.

Ici, une perception n'est pas encore assimilable à un stimulus externe car elle n'ap-porte pas de sens comportemental (elle n'implique pas le déclenchement d'une réponse,ceci sera décrit dans les règles de comportement). Elle apporte seulement une sémantiqueà une partie de l'environnement, ce sens pouvant être pertinent pour les règles compor-tementales. La sémantique d'un composant Perception est donnée par le modélisateur àtravers le nom associé au composant. A partir de là, un stimulus sera dé�ni comme lacomparaison de la valeur d'une propriété d'une perception par rapport à un seuil déclen-chant, et cette comparaison donnera au stimulus une intensité de stimulation (à traversla valeur de vérité de la comparaison).B Fonctionnement

Le fonctionnement d'un composant Perception est dé�ni par les sous-composantsDetector, Filter, et Trigger. L'entrée du composant Perception est l'ensemble U de tousles objets de l'environnement ; sa sortie est un Percept. Un Percept est une abstractionqui représente le résultat de la perception, et est constitué de l'ensemble des objetsperçus, avec leurs propriétés propres P (p. ex. la taille), et auxquels sont éventuellementassociés des propriétés de perception P ′′ (p. ex. la vitesse au moment de la perception). Laconstruction d'un Percept est détaillée par le fonctionnement du composant Perception :Détection E�ectuée par le calcul successif de chaque Detector, l'étape de détection

crée l'ensemble D des objets potentiellement perçus. Chaque Detector utilise unepropriété (ou plusieurs) pour sélectionner des objets dans l'environnement et im-

64 Ludovic Coquelle

Page 67: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Architecture fonctionnelle

plémente une méthode globale ou locale de sélection. L'ensemble des Detector re-présente alors les capacités sensorielles de l'animat.

{o = (s,P) , o ∈ U}︸ ︷︷ ︸U :Environnement

{Detector}−−−−−−−−→

{o′ =

(s,P ∪ P ′

), o′ detectable

}︸ ︷︷ ︸D⊂U :Detection

L'étape de détection crée l'ensemble D des objets o′ dé�nis par leur formegéométrique s et leur ensemble de propriété P auquel s'ajoute des pro-priétés de détection P ′.

Plusieurs types de Detector ont été développés. Le sous-composant FieldOfView-Detector implémente la notion de champ de vue d'une caméra. Il est paramétrépar une distance d pour la profondeur de champ, un angle pitch pour l'ouverturelatérale, et un angle yaw pour l'ouverture verticale, et détecte de manière localetous les objets situés dans ce champ. Ce type de Detector est classiquement utilisépour simuler un �cône de vision� et se base uniquement sur la position du centredes objets de l'environnement. Pour accéder à un niveau de détail plus précis quidétecte la forme géométrique des objets, il est possible d'implémenter un Detectorpar lancer de rayon. Un exemple utilisant des géométries complexes sera présentédans le chapitre applicatif.Les Detector ont également pour rôle d'introduire dans les objets des propriétéstransitoires P ′ liées à la perception. Celles-ci sont de même nature que les proprié-tés propres, mais existent uniquement pour les objets du Percept. Par exemple,FieldOfViewDetector ajoute à chaque objet une position relative au moment de laperception. Quand cette perception sera utilisée ultérieurement par des règles decomportement, celles-ci pourront utiliser soit la position réelle d'un objet perçu,soit la position à laquelle il a été perçu (le temps de latence de perception peutainsi être pris en compte).

Filtrage E�ectué par le calcul successif de chaque Filter, le �ltrage sélectionne parmiles objets détectés ceux qui sont accessibles et porteurs d'information. Le �ltragemodi�e également certaines propriétés de perception.{

o′ =(s,P ∪ P ′

)}︸ ︷︷ ︸D:Detection

{Filter}−−−−−−→

{o′′ =

(s,P ∪ P ′′

), o′′ filtre

}︸ ︷︷ ︸Percept

Le �ltrage de l'ensemble d'objets détectés D construit l'ensemble des ob-jets perçus Percept.

La sélection par le �ltrage permet de simpli�er (et généraliser) la fonction de dé-tection. Ainsi il est par exemple possible d'ajouter à une sélection par FieldOfView-Detector un �ltrage supplémentaire FieldOfViewFilter qui à l'opposé supprime duPercept les objets d'un champ de vision (cette technique peut-être utilisée pour si-muler une vision périphérique globale à 360◦ avec seulement une zone aveugle). Uncalcul d'obstruction peut également prendre place à l'intérieur d'un Filter. Dansce cas, le �ltrage peut ajouter une propriété aux objets du Percept, comme parexemple un degré ou pourcentage d'obstruction.Le second rôle des Filter est d'introduire un traitement temporel sur les proprié-tés de perception. Deux traitements sont envisagés sur l'évolution temporelle d'unepropriété numérique : l'intégration (p. ex. pour déterminer la position moyenne

behavioRis 65

Page 68: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

d'un objet très mobile comme une abeille), ou la dérivation (p. ex. pour savoir sila vitesse d'un objet augmente ou diminue).

Activité A chaque déclenchement, le composant Perception calcule chaque Detector,puis séquentiellement chaque Filter, pour mettre à jour son Percept. Pour un com-posant Perception contenant I Detector et J Filter, et avec les notations fd

i pour lafonction du Detector i qui à l'environnement U rend la détection D, et ff

j pour lafonction du Filter j qui renvoie un Percept d'après sa détection d'entrée, le calculde perception s'écrit :

Percept = ffJ−1 ◦ ff

J−2 ◦ · · · ff0

(⋃i∈I

fdi (U)

)Comme le �ltrage peut modi�er l'ensemble des propriétés des objets, l'ordre des�ltres doit être dé�ni par le modélisateur. En e�et, imaginons deux �ltres : le pre-mier ajoute une propriété proximité aux objets détectés en fonction de leur distanceet de leur taille ; le second �ltre les individus dont la proximité est supérieure à unseuil ; l'ordre est évident.Le déclenchement de ce calcul est e�ectué à travers un sous-composant Trigger. Ilpeut être automatique, comme la spécialisation Clock qui déclenche le calcul pério-diquement. Il peut également être appelé explicitement par un autre composant :OnRequest déclenche le calcul seulement si le résultat de perception (Percept) estaccédé après un temps τ depuis sa dernière mise à jour. Ce type de fonctionne-ment sur demande modélise une perception pro-active qui n'est activé que si uncomportement l'utilise.Le Percept qui est mis à jour est une sorte de mémoire à court-terme des don-nées de la perception. Mais la sémantique reste dans la perception en elle-même,contrairement à une architecture comme C4 (Isla et al., 2001) où la sémantique deperception est déduite par les comportements (mais les données de perception sontpréalablement classées dans un arbre de sémantique).

Di�érents sous-composants ont été développés, et le framework reste extensible enajoutant des sous-composants Filter ou Detector. Pour les détecteurs, le plus couram-ment utilisé est celui déjà énoncé FieldOfViewDetector. D'autres (EnvironmentDetectoret Altimeter), plus spéci�ques, seront présentés dans le chapitre 3. Les �ltres développésconcernent la transformation de coordonnées (LocalToGlobal, CartToSpherical), ou letraitement de requête d'indexation spatiale (SpatialIndex) ; des �ltres concernant l'ex-clusion (FieldOfViewFilter, Treshold) sont également prévus.

1.3 La dynamique des états internesLa description des comportements d'animaux fait intervenir des variables intermé-

diaires dans les modèles, sans avoir nécessairement besoin de modéliser leurs détermi-nismes physiologiques. Ces variables sont la base des stimuli internes qui modélisent lesin�uences somatiques sur le comportement. Comme nous l'avons vu, un stimulus internepeut avoir des origines variées (p. ex. issu d'un rythme chronobiologique comme l'enviede dormir, ou d'une réaction hormonale comme l'envie de reproduction), mais il resteindépendant de l'environnement.

Ces stimuli introduisent dans les modèles éthologiques des comportements non sys-tématiques. En e�et, à cause des stimuli internes, la réaction de chaque individu est

66 Ludovic Coquelle

Page 69: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Architecture fonctionnelle

contextualisée et dépend de son état interne à l'instant où se produit la réaction. Lesstimuli internes peuvent même introduire un comportement non déterministe quand lavaleur d'une variable interne est modélisée par une grandeur probabiliste.1.3.1 Des états internes aux stimuli

L'architecture propose de modéliser l'ensemble des variables intermédiaires comme unétat interne de l'animat. Cet état interne est donc un ensemble E de grandeurs numériquesS (les variables intermédiaires, ou encore appelées variables internes) identi�ées par unlabel λ (on notera Sλ la valeur de la variable interne λ). Toujours avec l'objectif deguider la modélisation par la description des règles comportementales, l'introduction decet état interne dans l'architecture permet de modéliser un stimulus interne comme lacomparaison de sa valeur à un seuil (de manière analogue à la dé�nition des stimuliexternes).

Par exemple, supposons un modèle qui nécessite l'utilisation de variables intermé-diaires abstraites : nous introduisons dans l'état interne une première variable Sstressreprésentant un �stress général�, ainsi qu'une autre variable Sfatigue résumant le besoinde repos. Dans les règles comportementales, le stress engendrera un stimulus internequand la valeur de la variable Sstress atteindra un certain seuil (ce seuil est �xé par lesrègles comportementales et nous verrons que la logique �oue apporte une �exibilité danssa dé�nition). Nous pouvons tout de suite remarquer que ces variables interagissent aveccertaines règles comportementales (p. ex. la perception d'un ennemi peut augmenter lestress), mais que certains mécanismes s'expriment de manière indépendante du compor-tement. Ainsi l'état de stress de notre animat peut in�uencer son besoin de repos, sansque cela ne soit décrit comme une règle de comportement.

La dé�nition de l'état interne inclut donc des notions de dépendances entre variablesd'état. En dehors des règles de causalité entre stimuli et actions, le résultat physiologiquedu comportement interne est alors modélisé dans behavioRis par des règles d'in�uencesentre états (dans notre exemple, le stress in�uence négativement la fatigue). Ces règlesin�uencent alors indirectement les comportements, notamment dans leur organisation.1.3.2 Le composant InternalStateA Fonctionnement

Cet ensemble de variables internes est modélisé par le composant InternalState.Comme il n'existe pas de modèle d'état interne général en éthologie, le choix a été faitde le représenter comme un ensemble de graphes d'in�uences. Chaque n÷ud d'un graphereprésente une variable interne (unique dans l'ensemble des graphes puisqu'une variableinterne est unique). Un arc entre deux n÷uds d'un graphe représente une relation d'in-�uence. Des variables dans des graphes di�érents ne peuvent alors pas avoir de relationd'in�uence l'une sur l'autre (nous allons voir que ces graphes, éventuellement de typesdi�érents, ne manipulent pas nécessairement des quantités de même nature).

L'activité du composant InternalState consiste à mettre à jour les valeurs des va-riables internes. Les liens d'in�uences entre états confèrent en e�et à chaque graphe unedynamique d'évolution qui consiste à calculer l'état actuel en fonction de l'état précé-dent des variables. La �gure 2.2 page 62 fait apparaître également des relations, entreInternalState et les autres composants, que nous expliciterons dans la section suivante.

Cette notion d'évolution de variables internes est utilisée également dans l'architec-

behavioRis 67

Page 70: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

IVit =(IVi(t−1).dampingi

)+ growthi −

∑k effectkit

avec :IVi(t) : valeur de la Variable Interne i à l'instant tdampingi : coe�cient d'atténuation lié à la Variable Interne igrowthi : coe�cient d'augmentation lié à la Variable Interne ieffectkit = gainki.valuek(t−1)

: ajustement dû au comportement k au temps tgainki : gain utilisé par le comportement k pour ajuster la Variable Interne ivaluek(t−1) : valeur du comportement k au temps t− 1

Figure 2.3 � Equation des états internes dans l'architecture Creature (Blumberg, 1997)

ture Creature citée dans la section précédente (Blumberg, 1997). Dans cette architecture,la même équation de mise à jour des valeurs de l'état (cf �gure 2.3 page 68) précise l'évo-lution de chaque variable en prenant en compte l'in�uence des comportements.

behavioRis ajoute la possibilité d'exprimer des relations entre les variables (par l'in-termédiaire des graphes d'in�uences). Dans l'architecture Creature, cela reviendrait àajouter un terme représentant la somme des e�ets des autres variables (de manière ana-logue à la somme des e�ets des comportements). Si behavioRis présente ces relationssous forme de graphes, c'est pour pouvoir modéliser di�éremment les in�uences suivantles données biologiques disponibles. L'évolution temporelle des variables (comme l'équa-tion de Creature) n'est pas toujours connue. Parfois seules les in�uences relatives entrevariables sont manipulées plutôt que leurs valeurs (dans l'exemple du stress qui inhibel'envie de se reposer, la valeur de stress n'est pas importante par contre il est nécessaire deconnaître la variable la plus active). Deux implémentations (deux types de graphe) sontproposées ici pour répondre à deux cas di�érents de manipulation des variables internes.Notations

� Chaque n÷ud d'un graphe représente une variable interne Si.� Chaque variable Si possède un degré d'activation ai(t).� Un arc (orienté et pondéré) entre deux variables Si et Sj est noté Lij .

B fcmLa première implémentation d'un composant InternalState (un graphe) repose sur

l'utilisation d'une carte cognitive �oue (notée fcm, acronyme de Fuzzy Cognitive Map).Une fcm est un graphe d'in�uence orienté ; les n÷uds Si pos-

sèdent un degré d'activation et représentent des concepts abstraits ;les arcs Lij sont pondérés et représentent des relations d'in�uences.Un arc avec un poids positif représente une in�uence d'excitation :dans l'exemple, la variable peur active la variable stress ; la variablestress s'active elle-même également. Un poids négatif représente uneinhibition, ce qui est illustré par l'in�uence du stress sur la fatigue.Le principe d'utilisation d'une fcm est alors de positionner les va-leurs initiales des concepts et le calcul itératif des in�uences (expliqué ci-après) permetd'évaluer les degrés d'activation résultants.

68 Ludovic Coquelle

Page 71: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Architecture fonctionnelle

Ces graphes sont dits �ous car ils interagissent avec l'extérieur par des fonctionsde transferts semblables à celles utilisées dans certains contrôleurs �ous. La valeur d'unconcept peut en e�et être forcée par une valeur extérieure au graphe (la valeur de lavariable peur par exemple peut être �xée par la perception d'un ennemi). Les fonctionsde transfert �oues permettent alors de décrire un changement d'espace entre la valeurextérieure et la valeur forcée dans le graphe. Le graphe global correspond alors à l'étatrésultant des di�érents forçages. La valeur d'une variable résultante peut aussi être ré-cupérée par l'intermédiaire d'une fonction de transfert (la valeur de la variable fatiguepeut être convertie de manière �oue en une valeur binaire par exemple).

De manière simpli�ée, le principe de calcul itératif d'une fcm fait intervenir deuxin�uences pour déterminer le nouveau degré d'activation interne ai(t) associé à un n÷uddu graphe. La première est l'in�uence interne au graphe, due aux arcs, des relationsd'inhibitions (Lji < 0) ou d'excitation (Lji > 0) de l'état Sj vers l'état Si. La secondein�uence prend en compte des valeurs de forçage externes fai(t), par l'intermédiaire defonction de forçage gi. Après calcul des in�uences, les degrés d'activation sont normaliséspar une fonction sigmoïde σ pour obtenir :

aj(t + 1) = σ

[gj

(faj (t),

∑i

ai(t) · Lij

)]Cette dynamique des activations internes de la carte est calculée mathématiquement parproduit matriciel, comme expliqué dans la dé�nition formelle des fcm donnée en annexeC.

Les fcm ont été utilisées pour spéci�er les comportements d'acteurs au sein de mondesvirtuels (Kosko, 1986; Dickerson et Kosko, 1994). Dans (Parenthoën et al., 2001), ellessont utilisées comme contrôleur local pour chaque individu : les capteurs de l'individu sontreliés à des états dits �sensitifs�, et d'autres états dits �moteurs� envoient leurs valeursaux actionneurs de l'individu. Cette représentation de fonctionnement réactif a permisd'introduire un apprentissage d'action (Parenthoën et al., 2002) ou un apprentissage parimitation pour des agents virtuels qui apprennent les fcm d'autres agents (Buche et al.,2002).

L'intérêt des fcm pour modéliser un InternalState dans l'architecture behavioRis estde manipuler des grandeurs de variables internes par l'expression de leurs in�uences, dansles cas où seuls les poids relatifs des arcs ont un sens a priori. Comme elles ne représententpas des valeurs physiques de l'animat, les valeurs des variables internes (comme la peur)sont en e�et moins importantes que leurs valeurs relatives liées à leurs in�uences respec-tives. Le calcul itératif des fcm permet ainsi de modéliser un état interne de manièreintuitive, en construisant des hypothèses d'in�uences imprécises sur des concepts abs-traits. Nous présenterons un exemple détaillé dans le chapitre consacré aux applications(cf �gure 3.2 page 107).C bpn

Si la solution à base de fcm permet une modélisation intuitive des in�uences entreétats internes, il est di�cile de prévoir �nement l'évolution des états du graphe, notam-ment à cause de la normalisation qui, si elle tend à stabiliser rapidement les valeurs aucours des itérations, introduit un calcul complexe di�cile à se représenter. Il est donctrès complexe de créer des modèles où l'évolution des variables au cours du temps estspéci�ée. Nous présentons alors un deuxième type de graphe, les bpn, pour introduire

behavioRis 69

Page 72: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

une notion temporelle dans un graphe d'in�uence, ou plus précisément une notion deséquence relative dans les échanges entre variables.

La dénomination bpn (acronyme de behavioRis's Petri Net) est uneutilisation adaptée des Réseaux de Petri généralisés. Nous décrivons main-tenant un bpn en terme des propriétés des RdP, puis nous reviendronssur ses di�érents aspects en illustrant son évolution dans le paragraphesuivant. Un RdP se dé�nit rapidement comme un graphe orienté bipartialterné de places et de transitions (une dé�nition rigoureuse est donnéeen annexe D). Nous nous intéressons plus particulièrement au RdP dit graphe d'états,pour lequel toute transition possède au maximum une seule place d'entrée et une seuleplace de sortie. Chaque place est associée à un marquage, et l'évolution de ce marquageest lié au tirage des transitions. Une transition est dite validée quand la place d'entréepossède un marquage au moins égal au poids de l'arc qui la relie à la transition. Si cettetransition est franchie, le marquage de la place d'entrée est diminué du poids de l'arc quila relie à la transition et le marquage de la place de sortie est augmenté du poids de l'arcqui la relie depuis cette même transition. Sans être un RdP continu, un bpn possèdeaussi la propriété de �ot dynamique issue des hdn (Drath, 1998) : la somme des poidsdes arcs menant à une transition est égale à la somme des poids des arcs sortant de cettetransition. De plus, un bpn est entièrement synchronisé, c'est-à-dire que les transitionsne sont franchies que si elles sont valides et lorsqu'un évènement extérieur intervient.Quand les évènements sont basés sur une horloge, cette synchronisation permet de dé�-nir la dynamique temporelle et les poids associés aux transitions représentent alors unevitesse d'in�uence.

Présentons l'évolution de ce graphe dans le contexte du composant d'état interne.Chaque place représente une variable intermédiaire dont la valeur correspond au mar-quage de la place. Le marquage M(t) de toutes les places du graphe représente un étatinterne dont l'évolution est dirigée par l'activation du sous-composant Trigger associé.Si l'on veut a�ecter une valeur temporelle aux variations des variables, le Trigger doitêtre une horloge (sous-composant Clock). Ainsi, le graphe reçoit un signal d'activationpériodique qui est utilisé comme signal de synchronisation evt pour le réseau (l'évolutiondu marquage est conduit par ce signal).A chaque réception de ce signal evt, un calcul de toutes les transitions est e�ectué de lamanière suivante. Une liste L de toutes les transitions activées (le marquage de la placed'entrée est supérieur ou égal au poids la transition) est ordonnée aléatoirement. Ensuite,pour chaque transition T de poids Lij de cette liste, si elle est activé (un nouvelle véri-�cation s'impose du fait du processus séquentiel), le marquage de la place d'entrée estdiminué de Lij et le marquage de la place de sortie Pj est augmenté d'autant. Ce qui serésume à l'algorithme suivant :L← ∅foreach Lij in list-of-all-transitionsif Pi > Lij then

L← {L,Lij}L← randomly-order(L)foreach Lij in Lif Pi > Lij then

Pi ← Pi − Lij

Pj ← Pj + Lij

70 Ludovic Coquelle

Page 73: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Architecture fonctionnelle

L'évolution de ce graphe (du marquage de notre réseau) peut être représentée àtravers une analogie avec un système hydraulique. Le marquage des places représenteune quantité de liquide disponible dans la place. Une transition reliant deux places estun tuyau dont la section est le poids de cette transition ; ce tuyau est muni d'une soupape,qui s'ouvre quand la place d'entrée possède un niveau supérieur ou égal à la section dutuyau. Attention, l'analogie utilisée est un système physique continu alors que notreréseau est un dispositif discret. Néanmoins elle permet de se représenter la dynamiquedu réseau de manière concrète.

Prenons l'exemple de modélisation du rythme chronobiologique de la fatigue. L'idéeest d'utiliser une variable intermédiaire �éveil� qui modélise la quantité d'énergie pour lajournée ; cette quantité est maximum au matin et diminue tout au long de la journée pourdevenir nulle le soir ; la nuit, le phénomène inverse se produit, une variable intermédiaire�sommeil� diminue progressivement pour devenir nulle au matin. Nous proposons lasolution �gure 2.4 page 72 qui prend en compte ces deux variations (durant le jour et lanuit) et les associe dans une boucle sans �n : la �n de la variation de jour entraîne ledébut de la variation de nuit. Dans cette solution les deux variations sont sur les axesverticaux ; le changement d'une variation à l'autre est sur les transitions horizontales.Une transition temporaire a été ajoutée pour restituer une période de 24 tops d'horlogeen respectant un rapport deux tiers un tiers entre jour et nuit.

Pour construire un état interne, les bpn permettent de décrire facilement des évolu-tions temporelles. La plus simple des évolutions est une variable d'état (une place) quise �vide� progressivement. Mais en introduisant des relations d'in�uences, il est possiblede créer des cycles ou des phénomènes plus complexes.1.3.3 Interactions entre l'état interne et les règles comportementales

Ces états internes, qu'ils soient modélisés dans des graphes fcm ou bpn, interagissentavec les règles comportementales. Chaque variable interne Sλ est accessible par les règleset désignée par son label. La valeur utilisée est alors le poids courant dans le graphe.

Les règles comportementales peuvent également in�uencer ces états (p. ex. si unevariable intermédiaire représente le stress, la présence d'un ennemi peut changer le niveaud'activation de l'état). Cela revient à créer des liens entre les perceptions et l'état internede l'animat. Le poids d'une variable peut alors être changé de manière instantanée parles conséquences des règles comportementales (ce changement instantané revient à uneinitialisation de graphe).

Pour plus de facilité dans l'utilisation du modèle, nous introduisons également deuxn÷uds spéciaux (inspirés des RdP) dans chaque graphe d'états internes. Un n÷ud source,dont le poids est toujours le poids maximum d'un n÷ud du réseau, sert à introduire del'énergie dans le réseau (à la manière du robinet du modèle de motivation de Lorenz�gure 1.4 page 28) ; par exemple, une variable interne age peut être liée à une source quiaugmente la valeur de cette variable continuellement. A l'inverse, un n÷ud puits, dontle poids est toujours à 0, est une décharge d'énergie ; un exemple peut être une variablereprésentant la peur, qui est activée brutalement par un comportement, et qui se videprogressivement dans un puits.

Les états internes modélisent à la fois les variables intermédiaires et leurs in�uences.Le graphe fcm permet de modéliser des variables dont les valeurs relatives, par le biaisdes in�uences, sont plus importantes que leurs valeurs réelles. Au contraire, un graphebpn o�re la possibilité de spéci�er précisément les valeurs des variables et leurs évolutions

behavioRis 71

Page 74: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

0 0 0

0 14

2

14 14

14

temp

1

sommeil

réveilbesoin deréveil

besoin desommeil

0

5

10

15

20

0 5 10 15 20 25 30 35 40

Val

eur

dum

arqu

age

Evenement periodique (du Trigger)

Evolution du marquage

reveilbesoin de sommeil

tempsommeil

besoin de reveil

Figure 2.4 � Exemple d'évolution d'un bpn modélisant un cycle des variables d'éveil et desommeil. Le réseau est représenté dans la partie supérieure, avec son marquage initial encadrépour chaque place (qui correspond au début de la journée). Un marquage entier est utilisé ici pourpouvoir l'assimiler à des heures. Les transitions sont franchies sur les évènements d'une horloge,et les chronogrammes des marquages sont représentés sur le graphique en partie inférieure. Ceréseau fait intervenir une variable temporelle temp qui permet de créer un rapport de deuxtiers un tiers entre les phases �nuit� et �jour� tout en gardant un cycle de 24 heures avec desmarquages représentant les heures entières.

temporelles.

1.4 Les règles comportementales1.4.1 Des stimuli aux réactions

Pour exprimer les réactions comportementales dues aux stimuli, et ce de manièredéclarative, l'architecture utilise des règles de production � si stimuli alors réactions �.

Comme vu précédement, les stimuli sont issus des valeurs des perceptions et desvariables d'états internes. Dans les deux cas, pour valuer un stimulus, la valeur d'entrée (lapropriété d'un objet perçu ou le degré d'activation d'une variable interne) est comparéeà un seuil. Par exemple, un stimulus lié à l'état interne représentant le niveau de stressSstress peut être exprimé en comparant le degré d'activation de cet état à un seuil donnécalme par fsup (astress, calme) avec fsup : R × R → [0, 1] et fsup (x, y) est d'autant plusproche de 1 que x est supérieur à y. Les stimuli peuvent être composés pour dé�nir la

72 Ludovic Coquelle

Page 75: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Architecture fonctionnelle

condition d'activation d'une règle.Une réaction est l'association d'une valeur souhaitée à une propriété de l'animat ou

l'association d'un niveau d'activation à une action atomique. Une action atomique estune séquence prédé�nie d'actions entièrement déroulée par la couche de contrôle. La spé-ci�cation d'une valeur de propriété servira quant à elle de loi de commande à ce contrôlepour modéliser les actions continues. Par exemple, si la règle implique un arrêt du dépla-cement de l'animat, une réaction peut être d'annuler l'accélération : 〈γx, 0〉. Les sortiesne sont pas spéci�ées dans le sens ou chaque règle peut conclure à propos de n'importequelle propriété. Ainsi il est possible d'agir sur l'accélération (ce qui est la commandehabituelle pour modéliser ensuite un contrôle �n de la dynamique du mouvement) commesur une position �xe (qui est souvent la donnée d'observation du comportement, p. ex.un angle dé�nissant un changement de direction).

Un comportement est dé�ni par l'architecture comme un ensemble de telles règles,sans aucune contrainte sur les entrées ou sorties. Les règles sont groupées dans di�é-rents Pattern ayant pour rôle de réunir un ensemble de règles qui ensemble ont unesémantique (p. ex. le Pattern �fuire un prédateur�) d'élément de description d'un com-portement. Chaque comportement est indépendant (architecture en couche horizontale),ce qui facilite la modularité car aucun lien fort n'existe entre comportements. Cependant,nous verrons dans les exemples que l'état interne de l'animat peut introduire en retourdes dépendances entre ces comportements.1.4.2 Le composant Behavior

Le rôle du composant Behavior est de dé�nir les seuils et fonctions de comparaisonpour manipuler les stimuli, de dé�nir l'inférence faite sur les règles comportementales,et de fournir les résultats de réaction ainsi qu'une estimation de pertinence pour chaqueréaction.

Ses entrées ont été décrites dans la spéci�cation des stimuli : ce sont les Percept etles valeurs instantanées des états internes. Les sorties sont des objets de type Command,dé�ni par le triplet de valeurs réelles c = 〈λ, v, µ〉 avec λ un label désignant la propriétéconcernée, v la valeur souhaitée et µ son coe�cient de pertinence.

L'activité du Behavior, déclenchée par les Trigger de la même manière que pour lesautre composants, est de reconstruire son ensemble de sorties (un ensemble de Com-mand). A chaque déclenchement, le nouvel ensemble de consignes vient remplacer leprécédent (les consignes calculées précédement sont annulées, qu'elles aient servi ou non).La spécialisation FuzzyBehavior

Le framework du composant Behavior a permis de tester l'implémentation de l'ar-chitecture à ses débuts avec des composants Behavior spéci�ques codés en dur (dansle langage C++). Le composant FuzzyBehavior est lui plus général et utilise l'inférence�oue pour interpréter les règles. L'inférence �oue, comme nous l'avons mentionnée ensection 3.2.3, permet de manipuler des données imprécises et d'exprimer des connais-sances incomplètes, et ce, tout en restant un modèle mathématique du comportement(Tron et Margaliot, 2004). Nous présenterons l'écriture des règles �oues dans la section 3sur le langage pour nous concentrer maintenant sur le traitement e�ectué par le systèmed'inférence �oue sur les entrées et sorties du composant.

Le composant FuzzyBehavior est représenté �gure 2.5 page 74. Ses entrées, que ce soitune propriété p extraite d'un Percept ou le degré d'activation a d'un état interne, sont

behavioRis 73

Page 76: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

des valeurs numériques. Ces valeurs sont converties en valeurs �oues p et a sous formede singleton �ou (voir annexe A) : c'est la première étape de l'activité du composant.La seconde étape est l'évaluation des n règles �oues Ri qui concluent, chacune avecun coe�cient d'activation µRi , sur un ensemble de variables �oues de sorties vλ. Cesvariables �oues de sorties sont �nalement traduites en réponse sous forme de Command.Pour l'objet Command représentant la variable vλ1 , la valeur associée vλ1 résulte de ladéfuzzy�cation de cette variable �oue (suivant la loi de défuzzy�cation du contrôleur�ou, qui peut être con�gurée). Son degré de pertinence µλ1 correspond à la moyennedes degrés d'activation des règles qui concluent sur vλ1 : si J représente cet ensemble derègles concluant sur vλ1 , J ⊂ {R1, · · · , Rn}, alors µλ1 =

∑j∈J

µRj

card(J) .Si l'architecture ne fournit pas d'organisation des composants de comportement, nousverrons que l'utilisation de système d'inférence �oue permet de structurer hiérarchique-ment certains ensembles de règles.

perception

state

BEHAVIOR #i

p

a

vλ1

vλ2

Rn µRn

R1 µR1

R2 µR2

a

p c1 = 〈λ1, vλ1 , µλ1〉

c2 = 〈λ2, vλ2 , µλ2〉

Figure 2.5 � Entrées et sorties du module comportemental �ou. Les perceptions externes (sor-ties des composants Perception) et internes (sorties des composants InternalState) sont fuzzy�éessous forme de singleton ; le degré d'activation µRi

de chaque règle �oue Ri est évalué ainsi queleurs valeurs �oues de sorties ; ces sorties vλ sont défuzzy�ées et associées à la moyenne des degrésd'activation de l'ensemble des règles concernées par cette sortie.

1.5 Le modèle biomécaniqueNous appelons ici modèle biomécanique toutes les fonctions de contrôle sur la réalisa-

tion des actions de l'animat dans l'environnement. Nous avons vu que les comportementsont pour rôle de spéci�er des consignes d'actions. Le rôle du modèle biomécanique estalors de prendre en compte ces consignes pour e�ectuer l'action. Dans notre cas, c'est unabus de langage de parler de modèle biomécanique, qui dé�nit généralement un modèlede mécanique physique appliqué au vivant, car les actions peuvent être des changementsinterne à l'animat. Mais dans le sens large sont sous-entendus ici tous les processus phy-siques visant à la modi�cation de l'état général de l'animat. Il ne s'agit pas dans notrecas de dé�nir des modèles physiques réalistes, mais de décrire comment une consigned'action est répercutée sur l'animat ou l'environnement.

74 Ludovic Coquelle

Page 77: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Architecture fonctionnelle

1.5.1 Contrôles indépendants par votesComportement et contrôle : exemple du déplacement

Dans (Brogan et Hodgins, 1997), trois exemples d'objets dynamiques (dans le sensmécanique du terme) illustrent les di�érences de comportement résultantes des modèlesphysiques utilisés. Ces exemples sont des modèles de points pesants (exercice classiquede mécanique), de robots unijambistes (qui illustre l'importance de l'e�ecteur avec ici uncontrôle contextuel dû à la liaison mécanique sol�jambe), et de cyclistes (qui illustre descontraintes de déplacement fortes).

Il est di�cile de faire la part des choses entre contrôle, comportement et modèle phy-sique. L'architecture des �steering behaviors� (Reynolds, 1999) se décompose en troisniveaux pour di�érencier les problèmes. Le premier, action selection, résoud le problèmede la sélection d'action (avec des notions de buts, de plani�cation). Le second, steering,introduit la détermination de chemin. Et le dernier, locomotion, résoud le modèle méca-nique d'un point de vue animation. La di�érence est donc proposée entre modélisationdu phénomène physique, qui utilise un modèle discret de déplacement, et la modélisa-tion des comportements, qui envoie une consigne (possiblement continue) sous formed'accélération.

Di�érencier le calcul du comportement souhaité (calcul de la consigne) et son appli-cation dans l'environnement revient à di�érencier ce qui est crédible d'un point de vuecomportemental de ce qui est physiquement possible dans le monde simulé. La séparationdes di�érents calculs de comportement et du contrôle �nal permet également de ne pas�xer d'organisation (p. ex. hiérarchique) des comportements, qui est souvent très di�cileà obtenir pour re�éter toute situation possible de réaction. behavioRis reprend cette dif-férentiation mais n'introduit pas de contrainte en ce qui concerne la forme de la consigne.L'étape de contrôle dans behavioRis est générale pour toute action de l'animat : que cesoit son déplacement ou un autre changement d'état (p. ex. un changement de couleur,de propriété).Système de votes

Les deux problèmes principaux à résoudre sont la prise en compte des di�érentesconsignes issues des comportements (sous forme ici de Command) et la réalisation decette consigne. La réalisation représente un modèle physique spéci�que (p. ex. le modèlede déplacement du point pesant).

La combinaison des consignes est elle traitée de manière générale par un systèmede vote similaire à l'architecture damn (Rosenblatt, 1997) déjà citée. Ce système devote, représenté �gure 2.6 page 76 avec l'algorithme, procède comme suit : (i) chaquecomposant de contrôle Controller assure la mise à jour d'un ensemble de propriétés ; (ii)pour chacune de ces propriétés λ, il ouvre une session de vote au cour de laquelle chaquecomposant de comportement Behavior peut émettre une valeur souhaitée vλ associée à undegré de pertinence µλ de cette valeur ; (iii) en�n, le Controller calcule une combinaisonVλ des di�érents résultats et applique les e�ets. La condition de seuil de pertinence pourle vote permet d'écarter les cas où seul un Behavior voterait pour une consigne avec unepertinence négligeable. Notamment pour le composant FuzzyBehavior, même si aucunerègle n'est su�samment active après l'inférence �oue (cas classique en contrôle lorsqu'unevariable de sortie n'est pas dé�nie pour tout le domaine des entrées), la défuzzy�cationdonnera une valeur qui sera négligée dû à son degré de pertinence très petit.

behavioRis 75

Page 78: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

L'avantage de ce système de vote est de ne pas �xer les sorties des composants Beha-vior : ils ne votent que pour les consignes qui les concernent et au moment de la sessionde vote. Les règles comportementales qui les constituent peuvent alors être incomplètesdans le sens où elles ne recouvrent pas tout le domaine possible des valeurs de leursentrées (ainsi, même si une règle peut conclure sur une valeur, elle ne doit pas le faire àchaque instant).

Controller #2

Selector Actuator

ActuatorSelector

Controller #1

Behavior #1

Behavior #2

Behavior #3

>

>

>

>

>

λ2 p2

λn pnVn

V2

µ > ε

λ1 p1V1

c11 = 〈λ1, v11, µ11〉

c21 = 〈λ1, v21, µ21〉c22 = 〈λ2, v22, µ22〉c23 = 〈λ3, v23, µ23〉

c32 = 〈λ2, v32, µ32〉c3i = 〈λi, v3i, µ3i〉

P ← list-of-all-managed-propertiesC ← list-of-all-commandsforeach λi in P〈Vi, µi〉 ← 〈0, 0〉foreach 〈λ, v, µ〉 in Cif λ = λi and µ > ε then〈Vi, µi〉 ← sel(Vi, µi, v, µ)

act(λi, Vi, µi)

Figure 2.6 � Sélection d'action par système de vote. Les consignes des di�érents composantsBehavior sont regroupées par propriété λ. Le composant Controller concerné par une propriété λi

lance un vote, auquel répondent les consignes concernées cji par une valeur vji associée à un degréde pertinence µji, puis une combinaison Vi des résultats est faite pour l'envoyer aux e�ecteursde cette propriété pi. Pour pouvoir voter, un seuil minimum ε de pertinence doit être atteint.L'algorithme du fonctionnement d'un composant Controller est illustré ; il fait intervenir deuxfonctions externes qui sont sel pour caractériser la sélection des consignes et act pour e�ectuerla mise à jour de la propriété.

Actions continues et actions atomiquesLa construction des consignes Command passés dans le processus de vote induit que,

pour les propriétés ou les variables internes de l'animat, la valeur fournie à l'étage decontrôle est utilisée comme commande continue. Ces consignes sont utilisées par chaqueController qui simule le phénomène continu par discrétisation (p. ex. une commanded'accélération aboutira à un petit incrément de vitesse).

Il est également possible de prédéterminer une action complexe, comme prendre un

76 Ludovic Coquelle

Page 79: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Architecture fonctionnelle

objet, qui nécessite d'e�ectuer plusieurs étapes de réalisation. C'est ce qui est nommé iciune action atomique et modélisée par un composant Action. C'est le cas par exemple del'action �prendre quelque chose� qui est modélisée par un composant Action spécialisé.Une action atomique est initiée par les consignes de comportement, et si elle est élue parun Controller, elle est exécutée entièrement. Le rôle des règles de comportement est alorsde spéci�er une valeur d'activation de l'action atomique, et l'étage de contrôle déclenchel'action à partir d'un certain seuil (voté).1.5.2 Le composant Controller

L'activité d'un Controller consiste, pour chacune des propriétés qu'il manipule, àdéclencher le vote, à calculer la résultante, et à appliquer ses e�ets. La session de voteest un mécanisme général ; les deux autres étapes sont assurées par les sous-composantsSelector et Actuator.Selector

Un Selector est con�guré par la liste des propriétés qu'il doit combiner. Il prend enentrées la liste de toutes les consignes de tous les Behavior. En sortie, il retourne la listedes valeurs de chaque propriété.

En pratique, l'implémentation utilise un système d'abonnement qui permet au Selec-tor de connaître les Behavior susceptibles de voter (pour ne pas avoir à manipuler toutesles consignes possibles).

Deux types d'implémentation sont proposés, qui répondent aux modèles classiquesde fusion et de sélection. Soit C l'ensemble des triplets Command c = 〈λ, vλ, µλ〉, etarg max la fonction qui retourne l'élément pour lequel son argument est maximum. Pourchaque propriété λi, le sous-composant Fusion retourne la valeur combinée Vλi

suivantla formule :

fusion : Vλi=

∑c∈C∧λ=λi∧µ>ε

vλ · µλ

· ∑

c∈C∧λ=λi∧µ>ε

µλ

−1

De même, le sous-composant Selection retourne la valeur :sélection : Vλi

= vλ tel que arg maxc∈C∧λ=λi∧µ>ε

(µλ)

ActuatorComme dit précédemment, l'application des commandes est spéci�que au modèle phy-

sique désiré. Plusieurs sous-composants sont proposés : AngularPosition, LinearSpeed,InternalState.

AngularPosition calcule un déplacement en fonction des trois propriétés 〈roll, pitch, yaw〉et du temps T , et de son paramétrage 〈ωr, ωp, ωy〉 qui représente des vitesses de rotationde l'animat. C'est une loi en position qui est utilisée pour placer l'animat orienté en r, p, yà l'instant t en orientation r+min(roll−r, ωr ·T ),p+min(pitch−p, ωp ·T ),y+min(yaw−y, ωy · T ) à l'instant t + T .

LinearSpeed calcule un déplacement en fonction des trois propriétés 〈vx, vy, vz〉 et dutemps T écoulé depuis sa dernière activation (des propriétés non spéci�ées sont consi-dérées nulles). Il prend en paramètres trois accélérations 〈γx, γy, γz〉 (par défaut très

behavioRis 77

Page 80: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

grandes) ainsi que trois vitesses maximales qui limitent les entrées à ces seuils. C'est uneloi en vitesse qui est alors utilisée. Pour un animat à la position 〈x, y, z〉 à l'instant t, etavec les entrées de commande 〈Cx, Cy, Cz〉, l'e�et de cet Actuator consiste à :(1) mettre à jour ses vitesses linéaires

vx(t + T ) = vx(t) + min(vx(t)− Cx, γx · T )vy(t + T ) = vy(t) + min(vy(t)− Cy, γy · T )vz(t + T ) = vz(t) + min(vz(t)− Cz, γz · T )

(2) le positionner aux coordonnées

x + vx(t + T ) · Ty + vy(t + T ) · Tz + vz(t + T ) · T

au temps t + T .L'ordre d'exécution des Actuator devient alors important à prendre en compte dans

la modélisation. Cependant l'avantage est que l'utilisateur est libre d'utiliser la lois decommande qui lui convient.

Un Actuator InternalState est également implémenté pour changer la valeur d'un étatinterne. Il a�ecte simplement la valeur d'entrée à l'état concerné. De la même manière,on peut imaginer une vitesse de changement d'état à prendre en compte.Constraint

Un dernier point concerne des contraintes de l'environnement à prendre en comptepour e�ectuer des changements d'états. Ces contraintes ne font pas partie du modèlephysique. Par exemple, un poisson est soumis dans l'eau au déplacement du milieu. Lerôle de ces contraintes est donc d'ajouter des actions (déplacer notre poisson), ou desupprimer des actions que l'animat veut e�ectuer (même si le poisson décide de nagervers le bas, ce n'est pas son modèle de nage qui spéci�e qu'il ne pourra pas aller plus basque le fond !). Deux applications de contraintes ont été mis en ÷uvre : le déplacement dûà l'environnement Flow (comme l'exemple du poisson), et une condition d'intersectionde trajectoire avec un objet solide NoIntersect.

1.6 Bilan des composants de l'architecturePour résumer, dans notre architecture d'agents, un animat est un objet dé�ni par :

� une localisation (position et orientation) qui dé�nit son repère local,� une forme géométrique,� un ensemble de propriétés (variables non typées sous forme d'espressions arithmé-tiques),

� et un ensemble de composants.Quatre types de composant ont été dé�nis, ainsi que plusieurs de leurs spécialisations. Cescomposants sont eux-mêmes constitués de sous-composants qui dé�nissent leur exécution.Un sous-composant commun est Trigger (spécialisé en Clock et OnRequest) ; il estresponsable du déclenchement de l'activité du composant qui le contient. Nous résumonsbrièvement les quatre types de composant associés à leurs sous-composants (en rappelantles spécialisations entre parenthèses).Perception : décrit un résultat du processus complexe de la perception. Son principe de

fonctionnement est de calculer tous les détecteurs puis d'appliquer successivementles di�érents �ltres dé�nis par ses sous-composants :Detector : extrait un ensemble d'objets de l'environnement (FieldOfView, Alti-

meter, Environment).Filter : modi�e l'ensemble d'objets détectés (SpatialIndex, LocalVector, CartToS-

78 Ludovic Coquelle

Page 81: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèle d'exécution

pherical).InternalState : abstrait les variables intermédiaires utilisées dans les modèles. Ces va-

riables et leurs interactions sont modélisés sous forme de graphe d'in�uence. Deuxspécialisations sont proposées pour ce composant :fcm : décrit un graphe dont les valeurs des n÷uds sont moins importantes que

leur in�uences relatives (permet de décrire des notions abstraites).bpn : permet de décrire l'évolution temporelle des variables sous forme de Réseau

de Petri.Behavior : décrit les règles comportementales stimuli�réponses. Les perceptions et va-

riables intermédiaires sont la base des stimuli. Les règles (sous-composant Rule) re-groupées par Pattern utilisent les stimuli pour déduire des consignes (sous-composantCommand). Une consigne est une valeur désirée v pour une propriété λ et associéeà un coe�cient de pertinence µ de cette valeur.FuzzyBehavior : spécialisation qui permet d'utiliser l'inférence �oue pour décrire

les règles.Controller : simule le modèle biomécanique de l'animat. Le principe de ce composant

est de collecter les consignes concernées par son action (sous-composants Selec-tor) pour e�ectuer le changement réel de propriété (sous-composants Actuator) enpassant préalablement par une étape de véri�cation (sous-composants Constraint).Selector : calcule une combinaison des di�érentes consignes (Fusion, Selection).Actuator : calcule l'application d'une valeur de propriété suivant un modèle phy-

sique (AngularPosition, LinearSpeed).Constraint : véri�e la plage de valeur d'une nouvelle propriété (Environment-

Flow).

2 Modèle d'exécutionLa description de l'architecture d'animat passe par la description de ses composants.

Ces composants dé�nissent les possiblités de l'animat, que ce soient ses comportementsou ses interactions avec l'environnement (perception et action). C'est maintenant le mo-dèle d'exécution que nous décrivons, qui met en ÷uvre toutes les activités de chaquecomposant pour donner une activité globale à l'animat.

Le simulateur behavioRis est construit sur la base du système ARéVi (Harrouet et al,2006). Cet atelier de réalité virtuelle propose un système de rendu e�cace ainsi qu'unearchitecture d'exécution reprenant les hypothèses du langage oRis (Harrouet et al., 2002)pour la construction des systèmes multi-agents.

2.1 Asynchronisme par ignoranceNous avons décrit les activités des composants comme des processus de calcul. Ces

processus peuvent être réi�és par le sma comme objet Activity (cf �gure 2.7 page 80).Ces objets sont exécutés par l'échéancier (l'objet Scheduler). Le fonctionnement reposesur une horloge : l'échéancier adopte une politique de simulation du temps (liée ou nonau temps réel) à partir de laquelle il détermine une horloge logique qui génère une suited'évènements (les tops d'horloge) ; pour chacun de ces évènements les activités réi�éessont classées dans un ordre aléatoire puis tour à tour exécutées. Par défaut, la politique

behavioRis 79

Page 82: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

Figure 2.7 � Diagramme de classes simpli�é de ARéVi

de gestion du temps est dite en �temps virtuel�, c'est-à-dire que l'échéancier déclencheun nouvel évènement top d'horloge dés que toutes les activités ont été exécutées. Acontrario, en �temps réel�, un nouveau top d'horloge n'est lancé que si la durée réelleprécisée entre deux évènements est écoulée. Le temps virtuel permet de simuler �au plusvite� mais les échelles temporelles du modèle sont respectées car chaque évènement portel'information du temps. Le temps réel permet lui de simuler �au plus réaliste� car lesdurées de simulation correspondent aux durées réelles précisées dans le modèle (tant queles ressources matérielles de traitement sont su�santes).

Les activités de l'animat sont responsables des processus suivant : perception, éva-luation de la dynamique de l'état interne, évaluation des règles de comportement, etcontrôle. L'activité globale d'un animat est caractérisée par le mode d'exécution de sonespèce, qui peut prendre deux valeurs di�érentes.

Le mode dit synchrone confère à chaque animat une et une seule réi�cation de proces-sus (Activity). Celui-ci est alors une sorte de processus maître et commande le calcul desprocessus de chaque composant dans l'ordre cité ci-dessus. Cette solution permet de �xerl'ordre d'évaluation des composants dans le modèle (souvent suivant le cycle perception�décision�action) tout en gardant un ordre aléatoire entre l'exécution des activités desdi�érents animats.

Le mode dit asynchrone (par défaut) confère lui à chaque animat autant de réi�cationde processus (Activity) que l'animat possède de composants. Discrétiser l'activité globaleet continue d'un animat en cycles d'activités élémentaires indépendantes est une hypo-thèse de la modélisation orientée agent. Comme chacune de ces activités élémentaires estsouvent dépendante des résultats des autres (perceptions dépendantes des actions, étatsinternes dépendants des actions, actions dépendantes des perceptions et états internes),introduire un ordre est une hypothèse supplémentaire que l'on n'a pas nécessairementenvie de poser (Tisseau, 2001).

La di�érence entre les modes synchrone et asynchrone se retrouve surtout dans l'ex-pressivité de modélisation des déclenchements réguliers (les sous-composant Trigger detype Clock). En mode synchrone, le temps indiqué dans le modèle devient un tempsmaximum entre deux appels (une valeur du temps écoulé depuis le dernier appel est tou-jours disponible pour le processus de calcul). En e�et, si une seule activité Activity estresponsable de l'exécution de deux composants dont les Trigger spéci�ent une périodedi�érente, la plus petite période sera choisie pour les deux. Le mode asynchrone lui assureque le traitement s'e�ectuera régulièrement avec la période spéci�ée par chaque Trigger.

80 Ludovic Coquelle

Page 83: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèle d'exécution

2.2 Implémentation : espèce vs. animatPour tenir compte d'une certaine �exibilité d'utilisation, l'implémentation de la si-

mulation sépare la description du comportement de son exécution. Une vue simpli�éede l'implémentation est donnée par le diagramme de classes uml de la �gure 2.8 page82. La séparation est concrétisée par la classe Species qui implémente la description ducomportement et la classe Animat qui implémente son exécution. Le concept est à rap-procher de celui de moule d'agent dans Mobidyc (Houssin et al., 2002). Mais ici, les objetsAnimat sont des objets plus �légers� que leur description (léger dans le sens �yweightdes design patterns (Gamma et al., 1995)) et les objets Species jouent alors le rôle defactory. Cependant le problème des liens tardifs se retrouve : si un composant agit avecune perception, les notions manipulées dans la description sont symboliques et doiventêtre concrétisés par des liens forts pour l'exécution.

Notamment pour les règles comportementales qui génèrent le plus de liens, la créationd'un animat n'est pas un problème trivial. Trois niveaux d'abstraction sont utilisés pourdécrire les étapes de la spéci�cation du comportement jusqu'à son exécution :

1. Une règle en dehors de tout contexte (dé�nie au sein d'un composant Behaviorisolé) est uniquement symbolique (si un symbole référence une perception λ, seulle nom de cette perception est utilisé) ;

2. Cette même règle, utilisée dans la description d'une espèce, amène à résoudre unpremier niveau d'abstraction : elle relie alors les composants de l'espèce (les facto-ries).

3. En�n, un animat de cette espèce permet en�n aux éléments de la règle de référencerles valeurs réelles de l'animat (non plus les composants mais les valeurs manipuléespar les senseurs et actuateurs).

Si la di�érentiation entre espèce et animat facilite la manipulation du modèle, l'implé-mentation est plus complexe, ce qui est à prendre en compte pour l'extension de l'archi-tecture : la spécialisation d'un composant nécessite l'écriture d'une classe pour l'espèce(factory) et d'une classe pour l'animat (instance).

2.3 Utilisation du simulateurLes animats ainsi créés sont simulés par un système de rv pour créer le rendu. La

première étape d'utilisation du simulateur est donc de dé�nir les espèces, et nous ver-rons dans la partie à suivre un langage dédié à cette tâche. Ensuite, il faut décrire lasimulation proprement dite (les conditions expérimentales). A cette �n, le simulateurcharge un �scénario� sous forme de �chier xml qui dé�nit une scène de simulation. Nousne détaillerons pas ici son format mais expliquons son rôle ; un exemple est donné enannexe E page 145. Ce scénario contient d'abord les conditions initiales de l'environne-ment en précisant ses propriétés. Ensuite les objets son placés dans cet environnementen spéci�ant leur type et leur position (de tels objets peuvent être des obstacles ou unsol). Les animats peuvent également être positionnés de la même manière dans ce �chierde scénario, en précisant leurs espèces et leurs propriétés. En�n, le �chier de scénariopeut décrire des points de vue de l'environnement en positionant des objets caméra quidé�nissent l'angle de vue, la profondeur de champ, etc

Pour faciliter la description des conditions environnementales, un objet spéci�queAnimatCreator a été implémenté pour créer dynamiquement des animats. Cet objet

behavioRis 81

Page 84: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

Figure 2.8 � Diagramme de classes simpli�é de l'implémentation de l'architecture behavioRis.La �gure fait apparaître trois domaines : le moteur d'exécution du sma, la description de com-portement à travers la notion d'espèce, et l'exécution de ce comportement par l'objet animat.En bleu sont représentées les classes qui spécialisent les notions fortes de l'architecture.

est positionné dans l'environnement comme tout autre objet de la simulation. Une loi dedistribution spatiale et temporelle lui est attachée (en paramètre) pour décrire la créationd'animat au cours de la simulation. Il est ainsi plus facile de simuler un objet mobile dansun environnement où une répartition spatiale d'animat est connue dans son entourage.

Chaque caméra fournit un point de vue (enregistrable) de la scène. Ces points devue aident à comprendre et à régler le modèle. Des interfaces rudimentaires permettentde démarrer, visualiser et stopper la simulation (cf �gure 2.9 page 83). Il est égalementpossible d'a�cher des informations comme les vecteurs de déplacement ou de commandedes comportements (pour comprendre ce que fait un animat par rapport aux commandesqu'il élabore). Une interface pour visualiser le modèle de composants d'un animat est éga-lement disponible : apparaît alors l'espèce, la liste des perceptions, les variables interneset les comportements avec la liste des règles.

Un dernier aspect pratique du simulateur (indispensable à son utilisation) est l'ou-

82 Ludovic Coquelle

Page 85: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Modèle d'exécution

Figure 2.9 � Exemple de simulation avec behavioRis. La simulation consiste en un ensemble defourmis dans un environnement où se trouvent plusieurs objets couvains inactifs ; les fourmis sedéplacent de manière aléatoire et peuvent prendre et poser des couvains (une fourmi déplace aumaximum un couvain à la fois) ; après un certain temps, les couvains se trouvent tous regroupés.La fenêtre de visualisation de la simulation est en fond d'écran (en blanc en bas de l'image).La fenêtre principale du simulateur est en haut à gauche : elle permet de lancer un �chier desimulation (ici �scenario.xml�) et de contrôler le simulateur (le temps est constament a�ché). Lafenêtre en haut à droite est une interface d'une fourmi (sélectionnée pendant la simulation) : lepremier élément précise l'espèce (Ant), puis la seule variable interne utilisée (bea), puis les per-ceptions (egg), puis les deux comportements (Wander et Collect). Des exemples sont disponiblessur http://www.enib.fr/~coquelle/En/video.html.

til d'extraction de données au cours de la simulation. Un soin particulier a été portéa�n de pouvoir spéci�er au cours d'une simulation les données à enregistrer en vue d'untraitement ultérieur. Un mécanisme de description active a été implémenté comme biblio-thèque du simulateur et se paramètre dans le �chier de scénario de chaque simulation.Le principe est d'utiliser des agents recorders de la simulation possédant chacun uneactivité périodique pour enregistrer des données ; chaque recorder possède égalementun ensemble de descriptors où chaque descriptor dénote une information concernant unagent de la simulation ainsi qu'une condition d'observation ; à chaque activation d'unagent recorder, chacun de ses descriptors est activé pour fournir un vecteur d'informa-tion daté et enregistré dans un �chier de donnée. La spéci�cation d'un descriptor repose

behavioRis 83

Page 86: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

sur une nomenclature des données de la simulation. Ainsi il est possible de décrire unedonnée particulière d'un animat (p. ex. la propriété de vitesse de la deuxième fourmiAnt.2::xSpeed), mais il est aussi possible de décrire cette même donnée pour tous lesanimats d'une même espèce (p. ex. pour toutes les fourmis Ant::xSpeed). Dans le casd'une description d'une espèce, un nouveau descriptor sera dynamiquement créé sur l'ins-tanciation d'un animat de cette espèce, et il sera détruit si l'animat est lui-même détruit.Nous avons dit qu'un descriptor spéci�e également les conditions d'activation : un casd'utilisation est par exemple de n'enregistrer les positions des animats seulement dansune zone géométrique d'observation. C'est le �chier de scénario de chaque simulation quispéci�e ces règles d'extraction de données de la simulation.

3 Langage de descriptionLa description de l'architecture nous a permis de cerner l'exécution d'une simulation

comportementale basée sur des concepts issus de l'éthologie. Mais revenons maintenantà l'objectif principal : simuler les données des éthogrammes en proposant un outil de mo-délisation (permettant la simulation). Pour cela, behavioRis propose un langage commeinterface entre l'éthogramme et l'architecture de simulation.

3.1 Modélisation déclarative d'une espèceLe but du langage est d'abstraire l'aspect programmation impérative, réservée à l'in-

formaticien expert de simulation et des systèmes de rv, pour fournir au modélisateur unlangage adapté aux modèles. La base de la simulation reste bien entendu l'architectured'animat, et le langage permet de manipuler la description de cette architecture. Commeintroduit dans la section 2.2, la description de l'architecture passe par la description del'espèce plutôt que la description de l'individu. Ceci permet de facilement créer un ouplusieurs individus au cours du même scénario, et facilite l'utilisation de la simulation.

D'un point de vue modélisation, décrire le comportement d'une espèce apporte lapossiblité d'introduire des données sur la population (p. ex. une distribution statistiquede la taille des individus) et donc des variabilités inter-individuelles. Cela introduit éga-lement la notion (consciente ou non) d'appartenance à un groupe pour chaque individu,ainsi un individu peut réagir di�éremment pour interagir avec des individus de telle outelle espèce. Notons que la notion d'espèce peut être déviée de son sens pour désignertout groupe d'individus de même comportement.

Le langage présenté maintenant, bbdl (behavioRis' Behavior Description Language),est un langage déclaratif. Il présente la possibilité de décrire les composants dé�nissantune espèce, ainsi que ses propriétés. Sa syntaxe 4 , spéci�ée en annexe F, est une trans-cription directe de l'architecture. Comme la grammaire bnf n'est pas un outil adapté àl'apprentissage d'un langage, et que sa syntaxe est simple, nous le présentons à traversdes exemples.

4Comme il est strictement déclaratif, une syntaxe équivalente xml pourrait être proposée. Dans notretravail, nous gardons un langage ad hoc qui facilite la lecture sans avoir besoin d'interface graphiqueutilisateur pour notre prototype d'implémentation de l'interpréteur.

84 Ludovic Coquelle

Page 87: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Langage de description

Quelques éléments de syntaxeLe premier exemple (cf code 2.1) présente une dé�nition presque complète d'une es-

pèce d'animat ; il ne manque que les règles comportementales, les lignes 18 à 33, spéci�éesdans la suite. Avant de détailler ce code, précisons que l'indentation ne fait pas partiede la syntaxe et que la numérotation des lignes ne fait pas partie du code. Les sauts deligne font eux partie de la syntaxe. Les mots-clefs du langage sont en gras alors que ladénomination de type spéci�que est en italique et les labels des composants sont en fontessans séri�cation. Plus directement lié au langage, il est à noter que toutes les dimensionsnon précisées utilisent les unités du système international (S.I.).1: Species SpFooAnimat:2: Shape Vrml(path="Vrml/bird.vrml") Default3: Property length = gaussRand(0.12, 0.05)4: Property weight = length�3 * 2005: Property spYawSpeed = PI/46: Property spFleeSpeed = "triangle(1.4,1.6,1.8)"7: InternalState FCM() :8: Trigger Clock(1.0)9: Concept alive is_active 1.0010: alive in�uences alive with_factor 1.0011: rest : alive in�uences stress with_factor -0.2012: scare : afraid in�uences stress with_factor 0.6013: End14: Perception danger:15: Trigger Clock(0.5)16: Detector FieldOfView(dist=12, n=1)17: End18: Behavior Fuzzy() avoidance:... ...33: End34: Controller displacement:35: Trigger Clock(0.2)36: Selector Fusion(xSpeed,pitch,yaw)37: Actuator AngularPosition(pitchSpeed=PI/2, yawSpeed=2*spYawSpeed)38: Actuator LinearSpeed(maxXSpeed=2*length)39: End40:End

Code 2.1 � Premier exemple de dé�nition d'une espèce en bbdl.

ligne 1 La spéci�cation de l'espèce SpFooAnimat utilise une notation commune à beau-coup d'éléments du langage : un mot-clef d'ouverture, éventuellement un type (icivide), éventuellement un nom (ici SpFooAnimat), et une dé�nition entourée du signedeux-points et du mot-clef End (ligne 40).

ligne 2 Une forme géométrique spéci�e une représentation 3d. Elle est donnée ici par une

behavioRis 85

Page 88: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

spécialisation capable d'intégrer des données statiques au format vrml. Un nom luiest associée pour pouvoir éventuellement la manipuler. D'autre forme peuvent êtredéclarée de la même manière ; par défaut, la première déclarée est utilisée. Chaqueforme géométrique est supposée être contenue dans une boîte englobante (orientéepar le système de coordonnées local à l'animat : oriented bounding box) dont leplus grand côté mesure 1m de long. Elle est mise automatiquement à l'échelle despropriétés XShapeScale, YShapeScale, ZShapeScale si elles existent.

ligne 3, 4, 5 et 6 Les propriétés se dé�nissent par des équations utilisant les notationsstandards. Certaines propriétés (core properties) sont dé�nies implicitement pourtout animat comme sa position et son orientation.

1.4 1.81.6 x

µ(x)1

0

La propriété length est un exemple de variabilité inter-indi-viduelle et précise une distribution gaussiene des longueurs.La ligne 6 dé�nit une valeur �oue par une fonction d'appar-tenance triangulaire symétrique.

ligne 7 à 13 Un graphe d'état interne est utilisé ici sous forme de Fuzzy CognitiveMap (fcm) pour réaliser un composant InternalState. Ligne 8, le sous-composantTrigger utilise la notation de déclaration sans dé�nition.Cet InternalState décrit trois variables internes : alive, stress etafraid, alive étant initialisé à la valeur 1. Egalement trois liensd'in�uences pondérés sont spéci�és entre ces états. Seuls les deuxderniers liens sont nommés par les labels rest et scare.

ligne 14 à 17 La description d'un composant Perception, nommé danger, découle de sessous-composants (aucun sous-composant Filter n'est utilisé ici). Pour cette espèce,tout objet de l'environnement sera vu par la perception danger : la seule descriptiond'un danger est lié au Detector paramétré ici comme le premier objet situé à moinsde 12m.

ligne 18 à 33 . . . à voir en section suivante . . .ligne 34 à 39 Déclaration des sous-composants dé�nissant le Controller nommé ici dé-

placement. Il utilise un système de fusion sur ses trois entrées, et calcule ensuitedeux Actuator (aucun Constraint n'est spéci�é).

3.2 Règles comportementalesBien que l'architecture ait été présentée avec un composant Behavior général, suppor-

tant uniquement des règles de causalité entre perceptions, états internes et commandes,nous utilisons dans la suite la spécialisation par un système d'inférence �oue. Si l'écrituredes règles reste générique, seul le composant FuzzyBehavior a été implémenté dans cetravail, car il fournit à lui seul une réponse à nos objectifs de départ.3.2.1 Manipuler des données imprécises

Avant d'aller plus en détails dans la syntaxe du langage avec l'écriture des règles, nousprésentons ici le fonctionnement du composant FuzzyBehavior et plus généralement de lalogique �oue pour décrire des règles de causalité. Cette utilisation de système d'inférence�oue dans behavioRis a fait le sujet d'une présentation à la conférence �Logique Floueet Application� (Coquelle et al., 2004).

86 Ludovic Coquelle

Page 89: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Langage de description

Nous avons vu que les règles �oues se décrivent de manière similaire aux règles decausalité d'un éthogramme, avec des causes et des conséquences exprimées explicitementde manière déclarative. De plus, la logique �oue généralise des règles implicites et permetd'exprimer l'imprécision des données qualitatives (ou simplement de données ��oues�comme une distance inter-individuelle ou un niveau de stress). L'exemple de simulationde vols d'oiseaux (Bajec et al., 2005) a été rapidement évoqué en partie 2.3. Il se basesur le modèle de boids avec des règles �oues. Le simulateur résultant est un systèmespéci�que pour le modèle, mais permet de tester des hypothèses sur les données et lesrègles. La notion de framework pour l'étude de modèle d'animaux utilisant la logique�oue est énoncée mais pas détaillée. En conclusion, les auteurs défendent qu'avec ce typede simulation utilisant la logique �oue �ethologists would gain a tool for testing theexisting or forming new hypotheses about 'why' and 'how' animals behave the way theydo�. La raison en est que les modèles éthologiques se traduisent plus facilement sousforme de règles �oues que sous forme de formules mathématiques. C'est également lepoint de vue défendu par Tron et Margaliot (2004) qui proposent la logique �oue commeun cadre formel pour la modélisation de comportements.

Rappelons que le principe de calcul de l'inférence �oue est exposé en section 2.3 del'annexe A. Ce qu'il reste à préciser, ce sont les données manipulées par les règles �oues.Zadeh (1999) expose les avantages de manipuler les perceptions par des mots plutôt quepar des nombres pour exprimer les imprécisions des connaissances exprimées sous formelinguistique. Dans (Emami et al., 2000a,b), c'est la manière de construire un système decontrôle �ou qui est abordé. Mais ce qui nous intéresse en premier lieu ici, c'est de préciserquelles données de l'environnement doivent être accessibles au système d'inférence �oue,sachant que l'architecture �xe le cadre des objets Percept et InternalState. C'est lasyntaxe du langage qui précise comment les règles peuvent manipuler les perceptions(internes et externes) pour en déduire des commandes en réaction à cet état.3.2.2 La syntaxe des règles

Continuons l'exemple précédent pour dé�nir les règles comportementales ; le compo-sant Behavior utilisé est dé�ni par le code 2.2.ligne 18 Le rôle du composant Behavior est de décrire les règles de causalité sous la

forme �si stimuli alors réponses�. Comme tout composant il est activé par unTrigger déclaré ligne 19.Ce type de Behavior implémente un système d'inférence �oue. Un paramétrage pardéfaut est donné à ce système, mais les opérateurs de calcul �ou peuvent être pré-cisés en paramètres du type Fuzzy. Les cinq opérateurs suivant sont paramétrablesavec une de ces valeurs (la valeur par défaut est listée en première) :L'opérateur de conjonction and prend sa valeur dans product, bounded pro-

duct, drastic product, et minimumL'opérateur de disjonction or prend sa valeur dans maximum, bounded sum,

drastic sumL'opérateur d'implication imply prend sa valeur dans Larsen, MamdaniL'opérateur de conjonction de règles as_also prend sa valeur dans boun-

ded sum, maximumL'opérateur de défuzzy�cation defuzz prend sa valeur dans integral, maxi-

mum, mean of maxima

behavioRis 87

Page 90: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

18:Behavior Fuzzy() avoidance:19: Trigger Clock(0.5)20: Linguistic :21: SmallDist is "down_ramp(5,12)"22: SpeedAvoid is speciesValue(spFleeSpeed)23: Worried is "triangle(0.5,1.0,1.2)"24: Panic is "up_ramp(0.2, 0.6)"25: End26: Pattern main:27: if danger.distance is SmallDist then state.afraid is Worried end28: if state.stress is Panic then29: yaw is oppositeAngle(danger.yaw)30: and xSpeed is SpeedAvoid31: end32: End33:End

Code 2.2 � Exemple de règles comportementales en bbdl.

Un exemple de paramétrage est Fuzzy(and="minimum", defuzz="maximum").ligne 20 à 25 Nous avons déjà décrit un stimulus comme la comparaison de la valeur

d'une propriété ou d'un état interne par rapport à un seuil. Ces seuils sont spécifésdans la partie Linguistic qui précise une valeur pour chaque identi�ant utilisé.Cette valeur est directe ou indirecte. Dans le cas direct, la valeur est une chaîne decaractères, qui dans le cas du composant spécialisé pour l'inférence �oue représenteune valeur �oue sous la forme d'une fonction linéaire par morceaux dé�nie parintervalles contigüs (les notations sont précisées en annexe A). Dans le cas d'unevariable indirecte, elle prend la valeur d'une propriété de l'animat à qui sera a�ectéle composant. Ainsi dans le cas de la ligne 22, la valeur SpeedAvoid prend la valeurde la propriété spFleeSpeed. Encore une fois, dans le cas du FuzzyBehavior, cettevaleur sera transformée en valeur �oue. Cette distinction entre valeur directe etindirecte permet d'établir des règles utilisables pour di�érentes espèces sans lesréécrire.

ligne 26 à 32 On voit apparaître les règles de comportement regroupées dans un sous-composant Pattern. Un seul Pattern est utilisé ici, il est nommé main et il contientdeux règles. Toutes les règles de chaque Pattern déclaré dans le composant Fuzzy-Behavior sont ajoutées au système d'inférence �oue.Les stimuli utilisent la notation pointée pour désigner les entrées : danger.distancereprésente la valeur de la propriété distance associée au Percept de sortie du com-posant Perception nommé danger. De même l'accès aux états internes se fait parla notation pointée utilisée avec state.Les réponses sont dé�nies classiquement dans les conclusions de règles. Par conven-tion, une réponse sur un état utilise aussi une notation pointée sur state. Des fonc-tions de calcul ont été introduites dans le langage (un exemple est donné ligne 29avec un calcul d'angle opposé, et la liste se retrouve dans la grammaire de l'annexeF).

88 Ludovic Coquelle

Page 91: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Langage de description

A Exprimer un stimulusL'expressivité des règles doit satisfaire à la description de tous les stimuli qui peuvent

activer une réponse. Pour les stimuli internes, l'accès à une valeur fuzzi�ée d'un état parla notation pointée est satisfaisant.

Par contre, les stimuli externes sont plus complexes à manipuler car ils s'appuientici sur la notion de Percept qui regroupe un certain nombre d'objets de la simulation.De plus il est nécessaire de préciser la propriété à manipuler comme une valeur �oue.Pour cela, nous introduisons une notation supplémentaire pour désigner une perception.L'exemple précédent reste valide grâce aux valeurs implicites par défaut, mais la spéci�-cation complète d'une propriété d'une perception passe par la syntaxe suivante :

enumerator(perceptionLabel.enumSelector).selector

enumerator Cette fonction représente une méthode de sélection dans l'ensemble d'objetsregroupés par le Percept perceptionLabel. Elle est choisie parmi l'ensemble des opé-rations suivantes : { first, last, min, max, minabs, maxabs, mean }. L'opérationpar défaut est first.

enumSelector Ce premier sélecteur détermine sur quelle propriété l'opération enumeratorest calculée. Il prend donc sa valeur parmi l'ensemble des propriétés des objets. Pardéfaut, la propriété distance est considérée.

selector En�n, ce second sélecteur extrait la valeur de la propriété indiquée à partir durésultat de l'opération enumerator.

Par exemple, si une perception predators retourne l'ensemble de tous les animats consi-dérés comme des dangers potentiels, on peut spéci�é la position latérale angulaire duprédateur le plus proche par la syntaxe suivante : min(predators.distance).yaw. Unexemple de règle complète est donné par le code 2.3 qui modélise le comportement desuivi du barycentre d'un ensemble d'individus sur une trajectoire plane.1: Pattern follow-others:2: if max(everybody.distance) is Far then3: xSpeed is SpeedAvoid4: and yaw is mean(everybody.yaw)5: end6: End

Code 2.3 � Exemple de stimulus complexe : en supposant que everybody soit une perceptionqui détecte tous les animats, cette règle spéci�e que l'animat en question se rapproche de leurcentre de gravité quand il est trop loin.

Remarques à propos des repères spatiaux☞ Pour établir des règles et des distances, il faut garder à l'esprit que les objets de l'envi-

ronnement sont localisés par leur centre géométrique. Pour certains objets à géométriecomplexe, il pourra être nécessaire de les décomposer en plusieurs parties.

☞ Dans les règles, les coordonnées sont exprimées dans le repère local de l'animat (car lesconnaissances biologiques sont exprimées dans ce repère). La notation des fonctions

behavioRis 89

Page 92: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

de calcul (comme illustré ligne 29 du code 2.2) permet des transformations de repèrepour notamment passé dans le repère global.

B Exprimer une réponseL'expression des réponses est un problème plus trivial car les Command ne sont que

des associations de valeur réelle à un label de propriété. Le langage permet un accèsdirect à ces labels, et la défuzzy�cation donne une valeur réelle à partir des variables�oues.

Si cette forme convient à la description de contrôle en continu, il ne faut pas oublier lesactions atomiques qui correspondent à une séquence d'actions ininterruptible et prépro-grammée. Par exemple, l'action de �prendre quelque chose� peut être modélisée commeune action atomique par l'action spécialisée AttachTo qui, quand elle est déclenchée surun objet, attache sa forme géométrique à celle de l'animat possédant l'action (quand leparamètre booléen bistable est vrai (par défaut), attacher un objet déjà attaché détachecelui-ci).1: Species SpOtherFoo:... ...2: Action AttachTo(bistable="true") take3: Behavior Fuzzy() kleptomania:... ...4: Pattern main:5: if something.distance is Close then6: perform.take(something) is One7: and xSpeed is RunningSpeed8: end9: End10: End11: Controller Trash:12: Trigger Clock(1.0)13: Selector Selection(take)14: Actuator ActionProcess(label="take",treshold=0.5)15: End16:End

Code 2.4 � Exemple de dé�nition d'action atomique

Le code 2.4 donne un exemple de déclaration (ligne 2) et d'utilisation d'une actionatomique. L'utilisation dans les règle �oues se base sur la notation pointée avec le mot-clefperform et dans l'exemple, le niveau d'activation de l'action est mis à One qui représenteen �ou l'unité par un triangle.

Cette valeur d'activation est récupérée par le Controller et le sous-composant Ac-tionProcess déclenchera l'action si son niveau d'activation dépasse le seuil donné enparamètre.

90 Ludovic Coquelle

Page 93: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Langage de description

Remarque sur la spéci�cation d'une action☞ Dans la notation perform.action(arg), c'est l'association 〈action, arg〉 qui dé�-

nit un symbole de vote. Dans l'exemple 2.4, si une autre règle manipule l'actionperform.take(somethingelse), l'action pourrait être déclenchée deux fois par leController, une fois sur chaque objet something et somethingelse.

C Evaluation et hiérarchie de règles �ouesL'évaluation des règles �oues met en ÷uvre les principes classiques du contrôle �ou

(cf annexe A). Simplement, pour une règle if I is A then O is B end, O sera d'autant plusproche de B que I sera proche de A. L'évaluation de la prémisse I is A vient alors pondérerla conclusion par son degré de vérité. Dans un système d'inférence classique, toutes lesrègles sont évaluées suivant ce même principe. La notion de Pattern va nous permettreici de structurer hiérarchiquement l'évaluation des règles, pour faciliter la lisibilité de cesdernières.

Un exemple est illustré par le code 2.5 page 92. Le principe de calcul est le suivant.Dans un composant FuzzyBehavior, les Pattern ont un label unique. Il ont également unniveau dans la hiérarchie : un Pattern déclaré directement dans le composant FuzzyBe-havior est de niveau 0 ; un Pattern Fils déclaré a l'intérieur de la dé�nition d'un PatternParent de niveau n est de niveau n + 1. A chaque Pattern λ est a�ectée une variable�oue Aλ représentant son activité (elle est désignée par la notation pointée pattern.label).Cette activité est initialisée avec la valeur �oue 1 pour les Pattern de niveau 0 et à 0 pourles Pattern de niveau supérieur (elle reste toujours bornée entre 0 et 1). Cette activitédu Pattern est utilisée dans l'évaluation des élément qu'il contient : (1) le degré de véritédes prémisses des règles qu'il contient strictement est multiplié par Aλ ainsi que (2) ledegré d'activation des Pattern (forcément de niveau inférieur).Dans l'exemple, la règle ligne 3 appartient au Pattern main de niveau 0 (dont l'activitéest initialisée à 1). Sa conclusion ligne 4 dépend uniquement du degré de vérité de saprémisse (comme pour un contrôle �ou classique). Par contre pour le Pattern flee, saconclusion sur la vitesse (ligne 8) dépend du degré de vérité de sa prémisse (ici c'est unerègle sans condition donc toujours complètement vraie) multiplié par le degré d'activationdu Pattern flee calculé précédement.☞ Un Pattern de niveau n ne peut conclure que sur des degrés d'activation des Pattern

de degré supérieur à n et qu'il contient (directement ou non).☞ L'évaluation des règles du système d'inférence �oue se retrouve ordonnée par la hié-

rarchie.Cette hiérarchie dynamique permet d'écrire plus facilement les règles de comporte-

ment puisqu'elle �xe un contexte (le Pattern). Elle reprend ainsi la méthode éthologiquequi consiste à hiérarchiser les comportements car décrire entièrement un irm semble par-fois impossible. De plus elle fait apparaître les notions de stimuli déclencheur et directeur.La règle ligne 3 active un sous-comportement et peut être considérée comme déclencheurde ce sous-comportement. Le Pattern flee au contraire utilise des stimuli pour contrô-ler une réaction : ses entrées peuvent alors être considérées comme stimuli directeur del'action. Les valeurs �oues des degrés d'activation des Pattern permet de manipuler cettedescription encore une fois de manière imprécise.

Si la hiérarchie des règles �oues apporte une structure �xe à l'intérieur d'un com-portement, les états internes peuvent également jouer ce rôle. Il su�t pour cela de

behavioRis 91

Page 94: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

mettre des stimuli concernant ces états dans les conditions d'application de compor-tement. Cette utilisation n'impose pas de contrainte de hiérarchie et ne se limite pas auxsous-comportements. Cependant elle est moins facile à mettre en ÷uvre. Nous en verronsdes exemples dans la partie présentant les applications.1: Behavior Fuzzy() :... ...2: Pattern main:3: if something.distance is Close then4: pattern.FLEE is Active5: and perform.take(something) is One6: end7: Pattern flee:8: xSpeed is RunningSpeed9: yaw is randomize(0.0,PI/4)10: End11: End12:End

Code 2.5 � Hiérarchie de règles �oues

4 BilanLe chapitre 1 a conclu sur les di�érents aspects de la simulation de comportement

animal, qui mèlent les problèmes d'exécution et de description de ces comportements.Dans le chapitre présent, nous avons présenté une solution, à la fois d'architecture etde langage, pour expliciter les modèles comportementaux éthologiques au sein d'unesimulation. Le but tout au long du développement de cette architecture a été de construireles éléments qui permettent l'expression des règles comportementales.Ecrire des règles pour les simuler

Ces règles pour les animats forment une interface entre des évènements observables(eoa et ioa confondus) dus à la situation de l'animat dans son environnement, et desconséquences (ioc et eoc condondus) sur sa situation et sur l'environnement (cf �-gure 1.1 page 16). Par situation sont désignés aussi bien la localisation physique qu'unétat global de l'animat. En vue de simuler des comportements individuels, nous noussommes intéressés aux modèles éthologiques correspondant à une échelle d'observationde plusieurs individus en interaction dans leur environnement. Le processus adopté enéthologie, en respectant le canon de Morgan, est le mécanimse des stimuli�réponses.Les règles de comportement manipulent donc ces stimuli, externes et internes, ainsi queles réponses, sur les mécanismes internes ou externes également. L'architecture de simu-lation doit alors fournir un mécanisme d'expression des règles comportementales et sonmodèle d'exécution, ainsi qu'une manière de décrire les stimuli et réponses correspondantà un environnement exécutable.

92 Ludovic Coquelle

Page 95: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bilan

Une architecture d'exécutionAvant de décrire les règles, nous avons modélisé les concepts manipulés (stimulus et

réponse) en utilisant une architecture à base de composants.� Un stimulus a été dé�ni comme une valeur spéci�que d'un résultat de perception(pour ce qui est des observables) ou comme une valeur d'une variable intermédiaireabstraite introduite dans le modèle. A partir de cette hypothèse, deux composantssont construits pour modéliser la perception et les variables internes. Le compo-sant Perception utilise des fonctions de sélection et de �ltrage pour sa dé�nition ;cependant il ne modélise pas un processus réel de perception mais une abstractionqui dénote le résultat de cette perception. Sur le même principe, un composantInternalState permet de modéliser un ensemble de variables internes, sous formede graphes d'in�uences, sans chercher à reproduire leurs origines physiologiques.L'écriture des règles permet ainsi de comparer une valeur, issue d'une perceptionou d'un état interne, par rapport à un seuil pour construire un stimulus.

� Un réponse a été dé�nie comme une nouvelle valeur à a�ecter à une propriétéou un état (cette valeur étant déterminée par l'interface en réaction aux stimuli).Un composant Controller est alors responsable de la prise en compte de cettevaleur calculée pour mettre à jour l'état de l'animat. Par exemple, si cette valeurconcerne un déplacement, le composant Controller a la responsabilité de reproduirele modèle biomécanique de l'animat en fonction de la réponse prévue par les règlescomportementales.

L'exécution du modèle a été présentée parallèlement à la description des composants del'architecture, car elle est intrinsèque à leurs dé�nitions puisque les composants décriventdes processus temporels. Dans un environnement constitué d'objets, le résultat d'uneperception a été dé�ni par un ensemble de sélection d'objets dans l'environnement et de�ltrage par rapport à leurs propriétés ; ce sont ces propriétés qui servent à la dé�nitiondes stimuli. Les variables internes quant à elles sont mises à jour par le calcul du proces-sus d'in�uence spéci�que au composant utilisé (nous revenons sur les spécialisations fcmet bpn ci-après). Les composants Behavior, qui décrivent les règles comportementales,utilisent un système de vote similaire à celui de damn (Rosenblatt, 1995) ; ces votes per-mettent de spéci�er plusieurs règles agissant sur des réponses concernant les mêmes pro-priétés tout en gardant l'indépendance des règles et des comportements ; un mécanismeest introduit pour permettre la hiérarchisation des règles sans qu'il soit indispensableau processus de fonctionnement de l'architecture (la hiérarchisation des comportements,bien que souvent adoptée dans les modélisations, n'est pas indispensable pour un modèlecomportemental). En�n, le composant Controller joue le rôle d'arbitre de vote (dont lapolitique est donnée par le sous-composant Selector), et un système général à base deConstraint et d'Actuator permet de décrire une réalisation de l'action de manière gé-nérale sur les bases de briques d'actions dé�nies. Ces actions dénotent aussi bien descontrôles continus (comme le déplacement) que des processus atomiques (séquence d'ac-tions instantanée et ininterruptible). Les actions atomiques peuvent servir à modéliser desfap (Fixed Action Pattern, comme par exemple le caméléon qui déroule sa langue pourattrapper une proie) ; la manière de décrire une action atomique permet cependant demodéliser des pattern d'action plus �exible (pour estomper la �xité et la stéréotypie desfap, et ceci a�n de prendre en compte les variabilités, ces séquences d'actions deviennentdes Modal Action Patterns, plus adéquats à la modélisation individu-centrée).

behavioRis 93

Page 96: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

En�n, l'activité globale d'un animat repose sur les activités individuelles de ses com-posants. Sans hypothèse sur le fonctionnement interne, un processus asynchrone est utilisépour activer tour à tour chacun de ces constituants. L'architecture de behavioRis per-met ainsi d'exécuter des comportements à partir des briques identi�ées (perception, étatinterne, règles comportementales, et contrôle) pour le dé�nir. Elle intègre également desnotions pratiques d'outillage de simulation pour manipuler et tester les modèles, commela séparation entre espèce et individu, ou encore avec un système d'observation du modèleen cours d'exécution.Un langage de description

Si l'architecture reprend des concepts manipulés en éthologie, le travail à fournirentre l'écriture d'un éthogramme et la réalisation d'une simulation confond les domainesde modélisation et de programmation. Il nous a donc semblé important de construireun langage de modélisation, pour abstraire la programmation impérative nécessaire à lasimulation, et pour intégrer le plus facilement les données comportementales issues del'éthogramme.

Ces données comportementales s'expriment nous l'avons dit sous forme de règlescause�conséquence, et l'architecture a été conçue pour modéliser les données manipu-lées. Cependant, ces règles transcrites de manière linguistique manipulent des donnéesimprécises (p. ex. avec des expressions comme �assez proche�), et souvent de manière�incomplète�, c'est-à-dire qui ne couvre pas tout le domaine des possibilités (p. ex. lecomportement quand un ennemi est proche est décrit, de même quand il est loin, maisle comportement pendant la transition entre proche et loin n'est pas spéci�é). Pourrépondre à ce type de modèle (règles déclaratives, données imprécises, domaines de des-cription imcomplets), les contrôleurs par logique �oue sont adaptés, et nous avons alorsproposé d'une part un composant utilisant l'inférence �oue pour l'exécution des règlescomportementales (FuzzyBehavior), et d'autre part un langage déclaratif dédié à l'ar-chitecture pour décrire un animat (une espèce). Pour les règles, ce langage permet dansun premier temps de dé�nir uniformément les stimuli qu'ils soient internes ou externesen comparant les valeurs de propriétés d'objets perçus et de variables internes à desseuils déclenchant dé�nies par des valeurs �oues ; ensuite le système d'inférence permetde conclure sur des réponses, qui, après défuzzy�cation, sont passées par le système devote aux composants de contrôle.Utilisation du simulateur

behavioRis permet de modéliser des comportements d'animat dans un univers 3dcontinu. Les réponses agissent sur des valeurs contrôlées en continu ainsi que sur desactions atomiques. Il est adapté à une description de comportements individuels réactifsobservés à l'échelle du groupe d'individus. La cible de cette modélisation est l'ensembledes comportements de premier ordre. Si des séquences d'actions peuvent découler duprocessus réactif (grâce à l'état interne ou aux règles hiérarchisées), elles ne sont pasau centre d'un processus de plani�cation de l'architecture (qui ne relèverait pas d'unemodélisation éthologique universelle). De même, les actes de communication ne sontpas modélisés en tant qu'acte de langage. Les processus naturels d'échange entre deuxsystèmes se décomposent en deux groupes : échange d'information et échange d'énergie.En quelque sorte, la modélisation faite dans behavioRis ne prend en compte que leséchanges d'énergie. Une communication ne serait alors modélisable qu'indirectement et

94 Ludovic Coquelle

Page 97: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bilan

par l'intermédiaire d'un médium de l'environnement : si un animat crée une information(p. ex. un dépot d'une phéromone), un autre animat peut être sensible à cette information,mais ce n'est pas une communication avec un but �nalisé de la part du premier animat.

Pour des modélisations réactives, les comportements de premier ordre sont souventsu�sants, et introduisent moins d'hypothèses sur le fonctionnement interne. C'est pour-quoi nous nous sommes limité à ce cas. Le chapitre suivant présente ainsi deux utilisationsde ce système de simulation pour modéliser des comportements de poissons.

behavioRis 95

Page 98: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 2 � behavioRis

96 Ludovic Coquelle

Page 99: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3

Application : simulations decomportements de poissons

Pour simuler des comportements d'animaux à partir d'une description éthologique,dont les tenants et aboutissants ont été présentés dans le chapitre 1, nous avons

introduit une architecture d'animat ainsi qu'un langage de description associé présentéau chapitre 2. Durant sa phase d'implémentation, ce langage a été testé sur de petitsexemples comme un déplacement au hasard, une recherche de cible à travers un envi-ronnement encombré, une simulation de boids ou encore la simulation de fourmis quiregroupent leurs couvains.

Dans ce chapitre, nous présentons deux applications à des problèmes réels. Ces ap-plications portent sur la simulation de comportements de poissons et surtout sur leursdéplacements dans un environnement à trois dimensions. Les connaissances actuellessur l'activité des poissons leurs confèrent un comportement très réactif, c'est pourquoil'architecture behavioRis est bien adaptée pour traiter ce type de problème.

La première application présentée modélise des comportements dans un environne-ment très simple. Nous travaillons ici sur des modèles de comportement établis que nouscherchons à reproduire. Nous montrons à travers une expérimentation comment obtenirune validation qualitative de notre modèle. La seconde application présente une simulationdans un environnement plus riche et montre les possibilités d'extension de l'architecture.Nous présenterons ici comment di�érentes hypothèses de comportement peuvent être mo-délisées et intégrées dans une simulation.

behavioRis 97

Page 100: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

1 La campagne vitalLa première application présentée se base sur le projet vital 1 mené par ifremer.

Celui-ci �avait pour but d'éprouver l'utilité des observations visuelles obtenues par robotsous-marin pour l'estimation de l'abondance des animaux marins dans un contexte depêcherie durable�.

1.1 Description du problème

La première étape du projet faisait intervenir un rov (Re-mote Operating Vehicle) pour �lmer les di�érentes espèces d'eauprofonde et analyser statistiquement leurs densités (Trenkel et al.,2003). Ces observations directes ont mis en évidence des compor-tements d'évitement du rov de la part de certaines espèces depoissons. Compte tenu des conditions d'observation assez di�-ciles (champ de vue restreint de la caméra, lumière arti�cielle quipeut in�uencer le comportement, bruit du rov), ces comportements d'évitement peuventavoir une in�uence sur l'estimation d'abondance.

C'est pourquoi nous avons entrepris de simuler les comportements de certaines de cesespèces pour déterminer leurs trajectoires de �fuite�. Avec cette simulation, nous espè-rons corriger les estimations d'abondance en apportant des informations manquantes àpropos des individus non-observables. Ceci est un problème classique des sciences expé-rimentales : estimer l'in�uence de l'observateur sur l'observé.

La démarche que nous avons suivie a commencé bien entendu par une modélisationdes comportements à partir des descriptions qu'en ont fait les biologistes participantau projet vital. Nous leur avons demandé de choisir quelques espèces présentant descomportements bien di�érenciés. Une fois ces modèles mis au point, nous avons proposéun test de reconnaissance des espèces à partir de leur modèle simulé. Ce test sert devalidation qualitative de la simulation et nous permet d'utiliser les modèles pour simulerl'expérience.A Présentation de l'expérience

L'idée est donc de reconstruire un environnement virtuel correspondant aux condi-tions d'observation. Cet environnement est principalement constitué d'un fond marinplat et du rov. Le rov est un objet de la simulation qui se déplace sur le fond à vi-tesse constante (1.5 m/s). Il est simulé comme un animat d'espèce rov , qui n'a d'autrecomportement que d'avancer (bien que behavioRis n'y soit pas dédié, le système permetd'exprimer certains comportements de systèmes arti�ciels). Le courant marin, presqueconstant (0.07+0.01 ·sin(t) m/s) et perpendiculaire à la trajectoire du rov, est modélisécomme une propriété de l'environnement. Plusieurs espèces de poissons sont modélisées.La simulation consiste alors à peupler l'environnement par une distribution de densitéconnue pour chaque espèce simulée et à reproduire le déplacement du rov pour observerles déplacements des poissons animats.

Tous ces déplacements sont enregistrés et pourront être analysés pour mesurer ladi�érence entre la population réellement simulée et celle qui serait estimée d'après uncomptage visuel. Mais avant, pour mettre en place les modèles, nous avons besoin de

1La campagne vital menée par ifremer: http://www.ifremer.fr/vital

98 Ludovic Coquelle

Page 101: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

La campagne vital

(a) vue �÷il de dieu� (b) vue du sous-marin

Figure 3.1 � Copie d'écran de la simulation du projet vital. Le fond est plat, seule la texturedonne un e�et de relief. Deux angles de vues di�érents sont illustrés : (a) la vue externe, avec lerov se déplaçant de la droite vers la gauche (les bulles irréalistes qui sortent du sous-marin neservent qu'à visualiser le déplacement de celui-ci) ; (b) la vue de la caméra, qui reproduit la vuede la caméra réelle.créer un rendu de la scène qui permet de visualiser les déplacements en 3d. Ce rendu,illustré �gure 3.1 page 99, peut être fait sous plusieurs angles de vue. Le premier est globalet permet de voir le rov de manière externe, ainsi que les trajectoires d'évitement despoissons proches. Mais si cela permet de comprendre ce qui se passe dans la simulation,il est di�cile de le comparer aux observations. D'où la mise en place du second point devue qui correspond à la prise de vue de la caméra �xée sur le rov. Cette caméra simuléereprend les caractéristiques visuelles de la vraie caméra (son orientation, son champde vision) et simule également la vision sous-marine (décalage chromatique, baisse deluminosité et di�usion). Ce rendu est indispensable pour comparer la simulation auximages réellement connues.B Des données de comportements

La première étape de modélisation est d'analyser les éthogrammes pour construireles di�érents comportements. Du fait des conditions très di�ciles d'observation, unedes principales di�cultés de cette expérience a été la collecte de ces données comporte-mentales (chaque individu n'est observé que pendant quelques secondes). Ces donnéesd'observations ont été analysées par Trenkel et al. (2002).

Pour la simulation, cinq espèces ont été modélisées. Leurs éthogrammes sont présentésdans le tableau 3.1 page 100. Nous noterons spX (avec X prenant successivement lesvaleurs de A à E ) ces cinq espèces. Une analyse préalable à la modélisation met enévidence des indicateurs transversaux aux cinq espèces. Le but est de pouvoir établir unmodèle général que l'on utilisera comme base de modèle pour chaque espèce. Pour chaqueespèce, le comportement est décrit en deux partie : un comportement dit �normal� (horscondition de stimulation) et un comportement en réaction au rov. Nous reprenons cettedouble description pour transcrire chaque éthogramme de manière ordonnée : le tableau3.2 page 101 présente le comportement normal et le tableau 3.3 page 101 présente lecomportement d'évitement (pour décrire un évitement, il est nécessaire d'identi�er le

behavioRis 99

Page 102: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

début de la réaction, sa �n et bien sur le mouvement associé). Nous pouvons dès lorsétablir un modèle de poisson dont les comportements �nage-libre� et �réaction-à-un-obstacle� seront des composantes.

Tableau 3.1 � Résumés des éthogrammes des espèces simulées. Seules les caractéristiquesutilisées sont retranscrites ici.Alepocephalidae ou Cassignié ou Mulet noir (Baird's smooth-head).

Avec une longueur moyenne de 0.65 m, ce poisson dérive dans le cou-rant, sans orientation précise, à une hauteur variant de 0 à 50 m. Ilréagit tard à l'approche du rov (1 m) et sort du champ de la caméraen nageant vers le bas et dans une direction horizontale aléatoire.

Coryphaenoides rupestris ou Grenadier de roche (Roundnose grenadier).Sa longueur moyenne est de 0.5 m. Il se tient stationaire à moinsd'un mètre du fond, dans une orientation quelconque. Quand le rovapproche (la distance de réaction varie de 3 à 10 m), il nage dans ladirection opposée et vers le bas (d'un angle de 30◦ jusqu'à une hauteurd'environ 30 cm) ; cette réaction perdure tant que le rov le suit.

Hoplostethus atlanticus ou Empereur ou Hoplostèthe rouge (Orange roughy).Avec 0.45m de long, il reste dans une hauteur d'eau d'environ 1.5 foisla longueur de son corps, stationaire, face au courant. Entre 3 et 5 mdu rov, il réagit brutalement (et peut remonter dans la colone d'eau)puis nage plus calmement devant le rov. De couleur blanche au repos,il devient progressivement rouge (en une minute) quand il réagit.

Lepidion eques .Proche du fond et face au courant, il reste face au courant. Sa longueuravoisine 0.2 m. La plupart des individus ne réagit pas au passage durov. Seuls 10% réagissent à une distance de 2m, et nage au fond contrele courant (à 2 m/s) jusqu'à quitter le champ de vue de la caméra.

Scyliorhinidae (quelle que soit l'espèce de cette famille).De longueur moyenne 0.6m, il a été observé à moins de 0.5m du fond.En activité normale, il nage activement à une vitesse de 0.5 à 1m/s enchangeant de direction indépendamment du courant. Quand il perçoitle rov (à partir d'une distance de 10 m), il nage plus rapidement (de1 à 2m/s), soit en gardant la même direction, soit en zigzag ; il quittealors assez rapidement le champ de vue de la caméra.

Les photos des espèces H. atlanticus, Alepocephalidae et C. rupestris sont extraites du site VITAL(http://www.ifremer.fr/vital/fiche_esp.html) ; la photo de l'espèce Lepidion eques est extraite dusite Plonger dans les abysses (http://www.ifremer.fr/poseng) ; celle de l'espèce Scyliorhinidae estextraite du site FishBase (http://www.fishbase.org).

100 Ludovic Coquelle

Page 103: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

La campagne vital

Tableau 3.2 � Résumé des éthogrammes : caratéristiques biométriques et activité normaleEspèce Longueur Distance du

fondOrientationdans lecourant

Comportement

spAHoplostethusatlanticus

0.45 m 0.70 m fait face stationnaire

spBScyliorhinidae

0.6m moins de 0.5 m indépendant nage de 0.5 à 1 m/s enchangeant de direction

spCCoryphaenoides

rupestris

0.11 m moins de 1 m indépendant stationnaire

spDLepidion eques

0.2 m proche du fond fait face stationnairespE

Alepocephalidae0.65 m de 0 à 50 m indépendant dérive

Tableau 3.3 � Résumé des éthogrammes : réaction au rovEspèce Distance

au rovIntensité (ou durée) Comportement

(trajectoire)spA

Hoplostethusatlanticus

entre3 et 5 m

perdure tant que le rov lesuit

nage d'abord rapidementpuis ralentit ; devant lerov

spBScyliorhinidae

10m quitte le champ de vue nage plus vite (1 à 2 m)dans la même direction ouen zigzag

spCCoryphaenoides

rupestris

entre3 et 10 m

la réaction ne s'arrête pas ;le rov peut le suivre

nage en direction opposéeau rov et vers le bas d'unangle de 30◦ jusqu'à 30cmde hauteur d'eau

spDLepidion eques

2 m (90%sans réac-tion)

quitte le champ de vue nage (à 2 m/s) proche dufond et contre le courant

spEAlepocephalidae

tard (1m) quitte le champ de vue nage brusquement vers lebas dans une direction ho-rizontale quelconque

behavioRis 101

Page 104: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

1.2 Modélisation d'un poissonPrésentons maintenant la construction de ce modèle de poisson avec l'outil beha-

vioRis. Le but de cette section est de compléter progressivement le code 3.1 page 102.Nous présentons un modèle général de poisson qui servira de base pour créer un modèlespéci�que à chaque espèce. Nous ne nous attardons ni sur la spéci�cation de la formegéométrique ni sur celle des propriétés qui seront spéci�ques à chaque espèce.1: Species SpGeneralFish:2: Shape Vrml(path="Vrml/Fish/common.vrml")3: Property length = gaussRand(0.12, 0.05)4: Property XShapeScale = length5: Property spYSpeed = PI/4... ...6: End

Code 3.1 � vital bbdl : modèle d'une espèce

1.2.1 DéplacementPour ce type de simulation, le modèle mécanique de mouvement peut être très simple.

En e�et, la plupart des informations disponibles sur les mouvements des poissons sontdes descriptions de trajectoires par la vitesse et la direction.

Donc pour faciliter la transcription des éthogrammes dans notre langage, nous déci-dons d'utiliser un contrôleur de mouvement basé sur ces notions de vitesse et direction.Contrairement aux méthodes habituelles (Reynolds, 1999), une modélisation de la dy-namique du mouvement n'est pas nécessaire ici car notre but est de reproduire unetrajectoire et non de contrôler un objet mobile auto-propulsé. Cette dynamique peutêtre intégrée dans behavioRis mais nécessiterait de traduire les règles de comportementen règles de commande de contrôle. Pour simpli�er la transcription des données biolo-giques disponibles (sans introduire de modèle physique), nous décidons de ne pas prendreen compte les caractéristiques d'accélération du poisson. A notre échelle de travail, ellesn'apporteraient pas beaucoup d'information sur le comportement.

Comme nous l'avons déjà présenté, cette modélisation est traduite en utilisant uncomposant Controller, muni d'un sous-composant Selector qui fait la fusion des vitesseset des orientations en entrée, et de deux sous-composants Actuator, un pour la positionangulaire et un pour la vitesse linéaire. Nous obtenons ainsi un modèle cinétique simplequi mixte des entrées en position et en vitesse. A cela, pour modéliser la possibilitéde se laisser dériver dans le courant, il faut ajouter le respect des règles mécaniquesdues à ce courant en ajoutant une contrainte spéci�que. La transcription en bbdl endécoule directement et est illustrée par le code 3.2 page 103 : six propriétés sont votées,puis utilisées comme commandes de déplacement par les composants Actuator, et uncomposant Constraint assure la loi de dérive dans le courant.

102 Ludovic Coquelle

Page 105: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

La campagne vital

1: Controller displacement:2: Trigger Clock(0.2)3: Selector Fusion(xSpeed,ySpeed,zSpeed,roll,pitch,yaw)4: Actuator AngularPosition(roll=spRSpeed,pitch=spPSpeed, yaw=spYSpeed)5: Actuator LinearSpeed(maxXSpeed=spXSpeed)6: Constraint EnvironmentFlow(x="currentX", y="currentY", z="currentZ")7: End

Code 3.2 � vital bbdl : modèle de déplacement

1.2.2 PerceptionsLe second ensemble d'hypothèses après la modélisation biomécanique concerne les

capacités de perception du poisson. Dans ce problème, les perceptions sont très limitées :la densité étant très faible, nous n'introduisons pas d'interaction entre les individus.Nous verrons un tel exemple dans l'application suivante. Ici, nous supposons que chaqueindividu est capable de percevoir trois informations : le courant, le sol et le rov.

1. La perception du courant est nécessaire si l'on veut écrire des règles de comporte-ment d'alignement dans le courant, ou simplement de stationarité (rappelons qu'ils'agit d'espèces vivant très près du fond). C'est l'environnement qui porte la pro-priété de courant marin. Donc la perception du courant passe par la perception del'environnement, et est modélisé par un sous-composant Detector spécialisé (voircode 3.3 page 104 lignes 1 à 9).Ce composant spécialisé détecte l'objet environne-ment, et permet donc l'accès à ses propriétés parmi lesquelles currentX, currentYet currentZ. Ces propriétés sont éventuellement localisées (elles peuvent dépendrede la position de l'objet qui perçoit) et c'est le rôle du détecteur de les évaluer pourla position de l'individu. Le sous-composant Filter LocalVector ligne 4 permet luide transformer les coordonnées du courant du repère global au repère de l'individu.A partir de ces coordonnées cartésiennes exprimées dans le repère local, le sous-composant Filter CartToSpherical (lignes 5 à 8) ajoute des propriétés ��ctives�à l'environnement qui ne sont autres que l'expression du courant en coordonnéessphériques locales (x, y, z désignent les coordonnées cartésiennes à transformer, etd, yaw, pitch le nom des nouvelles propriétés ajoutées).

2. Plus simplement, la détection de l'altitude (distance au sol ou au premier objetsitué sous le poisson) est réalisée par un détecteur spécialisé Altimeter (lignes 10 à13). La propriété distance de cette perception représente l'altitude du poisson.

3. En�n, nous supposons que les poissons sont capables de percevoir le rov. Rap-pelons que le modèle de perception ne décrit pas les processus physiologiques deperception mais leur résultat supposé. Ici, nous supposons que, quel que soit le sensutilisé (l'ouïe, la vue, les lignes latérales sensibles à la pression), un poisson perçoittoujours le rov. Ceci est décrit par les lignes 14 à 17.

1.2.3 ComportementsLe modèle de comportement est évidement di�érent pour chaque espèce. Cependant

on retrouve des caractéristiques communes et des écritures qui se ressemblent. Nous

behavioRis 103

Page 106: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

1: Perception env:2: Trigger Clock(1.0)3: Detector Environment()4: Filter LocalVector(x="currentX",y="currentY",z="currentZ")5: Filter CartToSpherical(6: d="currentNorm", yaw="currentYaw", pitch="currentPitch",7: x="currentX", y="currentY", z="currentZ"8: )9: End10:Perception alt:11: Trigger Clock(1.0)12: Detector Altimeter()13:End14:Perception rov:15: Trigger Clock(0.5)16: Detector FieldOfView(dist=INF, species="Rov")17:End

Code 3.3 � vital bbdl : modèle des perceptions

présentons ici quelques points clefs dans l'écriture des règles par des Pattern de compor-tement évoqués dans la description des éthogrammes. Les paragraphes à suivre donnerontles clefs pour compléter le code 3.4 page 104 suivant les espèces modélisées.1: Behavior Fuzzy() benthic:2: Pattern free-swiming:... ...3: End4: Pattern avoid-obstacle:... ...5: End6: End

Code 3.4 � vital bbdl : modèle des comportements

A Comportement de �nage-libre�Di�érents types de nage ont été évoqués pour décrire l'activité normale d'un poisson

(pour les cinq espèces considérées). Nous présentons ici une manière de les décrire, sansconsidérer l'aspect de déclenchement par les stimuli, qui sera spéci�que à chaque espèce.Dérive dans le courant Dériver dans le courant ne nécessite aucune action ; c'est le

modèle biomécanique de déplacement qui gère cette dérive. L'activité de ce com-portement consiste alors à adopter un vitesse nulle, ce qui s'écrit :ySpeed is Null

104 Ludovic Coquelle

Page 107: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

La campagne vital

Stationnaire Garder une position stationnaire par rapport au fond marin oblige lepoisson à nager contre le courant à une vitesse exactement opposée à celui-ci.Voici une manière de décrire ce comportement par des règles (on suppose ici quele courant est seulement horizontal, mais l'extension à un courant vertical est tri-viale) :xSpeed is opposite(env.currentX)ySpeed is opposite(env.currentY)Cependant, ce comportement re�ète assez di�cilement la réalité : il est di�ciled'imaginer un poisson nageant sur le côté (direction y locale) ! En fait, les poissonsstationnaires sont également orientés dans le sens opposé du courant (la tête face aucourant). Une autre manière d'écrire cette stationnarité orientée utilise égalementdeux règles mais aussi la caractérisation en coordonnées sphériques du courant :xSpeed is env.currentNormyaw is oppositeAngle(env.currentYaw)

Nage active Ce dernier type de nage est le plus intuitif : le poisson avance en changeantde direction régulièrement. Comme nous n'avons aucune description sur la manièrede choisir une direction à l'échelle individuelle, nous choisissons ici d'utiliser uneorientation aléatoire. Si les deux valeurs SwimmingSpeed et SwimmingAngle dé�-nissent la manière normale d'avancer (respectivement la vitesse linéaire habituelleet l'angle de direction horizontale souvent nul), on peut dé�nir un comportementde �nage active� par :xSpeed is SwimmingSpeedyaw is randomize(SwimmingAngle, {degToRad(40)})On voit apparaître (i) la notation d'évaluation arithmétique entre accolades qui s'ef-fectue dans l'espace des propriétés de l'individu et (ii) la fonction randomize(X, v)qui décale la fonction d'appartenance de X d'une valeur choisie aléatoirement dansl'intervalle [−v, v] (cette dé�nition est valable pour les valeurs �oues comme pourles valeurs réelles). On dé�nit ainsi un poisson qui avance à vitesse constante maisqui change en permanence de direction. La fréquence de ces changements n'est pasdé�nie ici : elle dépend du déclencheur a�ecté au comportement qui contient larègle et aussi au déclencheur du contrôleur de mouvements.

B Comportement de �réaction-à-un-obstacle�Le comportement de fuite par rapport au rov ne se décrit pas de manière générale

pour toutes les espèces. Nous donnons ici un exemple pour introduire la perception durov dans l'écriture des règles qui nécessitent maintenant l'expression des stimuli. Ene�et, la distance du rov peut être vue comme un stimulus déclencheur quand elle passesous un certain seuil de �sentiment de sécurité�, alors que sa position peut être vuecomme un stimulus directeur à partir duquel la direction de fuite est choisie.if rov.distance is SmallDist then

xSpeed is AvoidSpeedand yaw is oppositeAngle(rov.yaw)and pitch is globalPitch(AvoidPitchAngle)

end

behavioRis 105

Page 108: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

Cette règle, active lorsque le rov s'approche à une distance SmallDist, provoque une fuiteen avant à la vitesse de AvoidSpeed, dans une orientation horizontale opposée au rov,et avec un angle de fuite vers le bas de AvoidPitchAngle. Comme toutes les notions géo-métriques sont exprimées dans le repère local à l'individu (pour faciliter la modélisationindividu centrée), la fonction globalPitch a été introduite pour considérer son argumentcomme écrit dans le repère global. Nous supposons que le poisson dispose de capteursproprioceptifs de position lui permettant d'adopter un tel comportement.1.2.4 Etats internes

Les éthogrammes ne semblent pas faire référence directement à des variables internes.Cependant il semble intéressant de modéliser une transition d'état entre le comporte-ment de �nage libre� et de �réaction à un obstacle�. Cet modélisation de la transitionest particulièrement adaptée à l'espèce Hoplostethus atlanticus, où le comportement estclairement di�érent à l'approche progressive du rov et au cours de la réaction. Ce chan-gement d'état semble même in�uencer directement sa couleur. L'état interne va donc iciservir à modéliser des comportements dépendants du contexte en modélisant les relationsentre les entrées des stimuli.A fcm : modéliser des in�uences imprécises

L'idée est de modéliser un variable interne afraid pour prêter au poisson un �étatperturbé ou d'alerte� : quand cet état est actif le poisson réagit.

Le code de cet état interne est présenté �gure 3.2 page 107. Pas-ser par un état interne permet d'introduire naturellement une dy-namique d'évolution de cet état. La première in�uence que nousajoutons (ligne 6) correspond à un auto-entretien de la valeur de cetétat : s'il atteint à un instant donné un certain niveau d'activation et sans autre nouvelleactivation externe, son niveau d'activation doit ensuite diminuer progressivement (�lapeur diminue�). Ensuite, nous introduisons deux autres états : idle représente l'état op-posé à afraid, et alive modélise une sorte d'énergie de l'individu à retrouver un ensembled'états �de calme�. Ainsi, avec deux in�uences supplémentaires, une négative de afraidvers idle (ligne 7) et une positive de alive vers idle (ligne 5), on assure que la peur inhibel'état de calme mais que cet état de calme est ré-amorcé dans un contexte �normal�. Ledernier lien de alive vers alive (ligne 4) modélise ici une énergie constante (nous suppo-sons que le modèle est utilisé sur une échelle de temps su�sament courte). L'utilisationde l'état alive permet de modéliser une sorte d'homéostasie sur l'ensemble des états.

La �gure 3.2 page 107 montre l'évolution des valeurs de la fcm. Si les courbes montreune évolution relative des états, le tableau de donnée con�rme que les valeurs prises parles niveaux d'activation ne sont pas intuitives (dû à la normalisation). C'est pourquoi,si cette dynamique doit être maitrisée, notamment d'un point de vue temporel, nousutilisons un deuxième type de graphe d'états internes.B bpn : manipuler des in�uences dans le temps

Un exemple de manipulation du temps comme stimulus peut être exposé pour l'espèceScyliorhinidae. L'éthogramme précise que sa fuite est en zigzag. Comme aucune précisionn'est donnée sur les causes de changement de direction, une manière de simuler cette nageest d'utiliser une constante de temps avant de changer de direction. L'idée est d'utiliser

106 Ludovic Coquelle

Page 109: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

La campagne vital

1: InternalState FCM() :2: Trigger Clock(1.0)3: Concept alive is_active 1.004: alive in�uences alive with_factor 1.05: alive in�uences idle with_factor 0.36: afraid in�uences afraid with_factor 0.37: afraid in�uences idle with_factor -0.88: End

alive idle afraid0.986 0.588 00.985 0.582 00.985 0.581 00.985 0.581 00.985 0.581 00.985 -0.870 0.7030.985 -0.630 0.5480.985 -0.406 0.4460.985 -0.222 0.3710.985 -0.077 0.3140.985 0.036 0.2680.985 0.128 0.2300.985 0.201 0.1980.985 0.261 0.1720.985 0.310 0.1490.985 0.350 0.1300.985 0.384 0.1130.985 0.412 0.0980.985 0.436 0.0860.985 0.456 0.0750.985 0.473 0.0650.985 0.488 0.0570.985 0.500 0.0500.985 0.511 0.0440.985 0.520 0.038

Figure 3.2 � Evolution d'une fcm �alive�idle�afraid�. En haut à gauche �gure le code bbdlde la fcm. A droite, les valeurs successives prises par les états : aucune évolution pendant lescinq premiers cycles, seul le calcul de normalisation entre en compte, mais au temps t = 5 l'étatafraid est mis à 1. L'évolution qui s'en suit est représentée par les courbes en bas à gauche : lavaleur d'activation de l'état afraid passe brutalement à 0.7 (0.7 correspond à la valeur 1 aprèsnormalisation) puis diminue progressivement, tandis que l'état idle suit une courbe opposée avecdes variations plus grandes car il est relié à l'état alive qui tend à in�uencer vers l'état de repos.

une règle qui donne au poisson la direction opposée au rov, à laquelle tantôt on ajoute lavaleur d'un angle �xé pendant un certain temps (le �zig�), tantôt on retranche la valeurde cet angle �xé pendant un certain temps (le �zag�). En termes de stimuli, il fautdétecter la �n d'un �zig� et la �n d'un �zag�. Pour cela nous proposons un état bpn trèssimple, avec deux états swimLeft et swimRight et leurs états complémentaires leftEnd etrightEnd, comme illustré code 3.5 page 108. Le rôle des règles est alors d'activer l'étatswimRight lorsque leftEnd est su�samment actif et vice versa. L'intérêt du bpn est deconnaître exactement le temps d'activation d'un état, et donc ici l'amplitude du zigzag.

1.3 Validation qualitativeLa validation de tels modèles individu-centrés reste di�cile. Les données de sortie de

la simulation sont, hormis les états du modèle lui-même, les trajectoires de déplacement.Hors les trajectoires réelles ne sont pas connues quantitativement mais seulement par les

behavioRis 107

Page 110: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

1: InternalState BPN() :2: Trigger Clock(1.0)3: swimLeft in�uences leftEnd with_factor 1.04: swimRightin�uences rightEnd with_factor 1.05: End

Code 3.5 � vital bbdl : modèle de bpn

descriptions d'experts de ces espèces. C'est pourquoi nous avons mis en place un test dereconnaissance de comportement.1.3.1 Le protocole

L'objectif est d'estimer le réalisme du comportement reproduit par simulation. Commeles éthogrammes ne précisent pas de catégorisation des di�érents comportements possibles(ils donnent une description générale du comportement global de l'espèce), le principedu test utilise la reconnaissance inverse : reconnaître l'espèce à partir du comportementobservé.Le test

Pour chacune des cinq espèces, nous avons enregistré une vidéo d'une durée d'uneminute. Chacune de ces vidéos met en scène le même scénario :

� l'environnement est constitué d'une zone rectangulaire su�samment grande pouréviter les e�ets de bord ;

� le rov avance à vitesse constante sur un petit trajet central à la zone simulée ;� le courant marin est faible, presque constant et perpendiculaire à la direction durov ;

� une seule espèce est présente dans chaque vidéo avec :� la même densité et distribution de population,� la même représentation géométrique qui indique seulement l'orientation du pois-son (forme, couleur et taille),

� le même type de nage (la nage n'est pas simulée, seulement le déplacement).Dans chaque vidéo, la seule information pour reconnaître une espèce est donc sa

trajectoire. Ces cinq vidéos ont été présentées sous les noms spA,spB , . . . spE à desexperts qui doivent leurs associer une espèce reconnue à partir des comportements.Les experts

Les experts qui ont passé ce test de reconnaissance avaient participé à la campagnevital (plus d'un an auparavant). Ils sont donc familier du champ de vision restreint etde l'analyse de comportement. Leur connaissance du champ de vue de la caméra réelleaide à situer les trajectoires géométriques 3d de la simulation et à percevoir les distances.Ils connaissent également les espèces qui vivent dans ces eaux profondes. Quatre expertsont répondu à ce test, mais seulement trois ont pu voir les cinq séquences vidéos (l'und'entre eux n'en a vu que quatre).

108 Ludovic Coquelle

Page 111: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

La campagne vital

Tableau 3.4 � Réponses possibles au test de reconnaissanceVidéo Espèce simulée Autre bonnes réponses Réponses approchéesspA Hoplostethus

atlanticusspB Scyliorhinidae Apristurus spp.

Galeus murinusSqualidaeCentroscymnus coelolepisDeania calcea

spC Coryphaenoidesrupestris

ChimaeridaeChimaera monstrosa

spD Lepidion eques Caelorinchus labiatusTrachyrincus murrayiMoridaeMora moroSmall macrourid

Trachyscorpia cristulata echi-nataB. dubius

spE Alepocephalidae A. bairdiiNotacanthidaeNotacanthus spp.Polyacanthonotus spp.

Les réponses possiblesLe protocole de test impose aux experts de répondre soit par le nom de l'espèce

reconnue, soit rien. Comme dans une famille de poisson le comportement ne change passigni�cativement, toute espèce de la bonne famille a été considérée comme une bonneréponse (p. ex. centroscyllium à la place de squalidae). De plus nous avons créé desgroupes d'espèces qui exhibent les mêmes comportements.

Pour chaque séquence vidéo, le tableau 3.4 page 109 présente les réponses attenduespour chaque espèce. La deuxième colonne indique les autres espèces classi�ées commeayant le même comportement et donc considérées comme bonne réponse. La dernièrecolonne indique quant à elle des espèces qui exhibent un comportement ressemblantdans certaines conditions.

Les réponses approchées pour l'espèce spD (Lepidion eques) sont des espèces quirestent presque �posées au fond� alors que Lepidion eques est juste au dessus avec peud'individus qui réagissent au rov. Pour l'espèce spC (Coryphaenoides rupestris), chimae-ridae est vu comme une réponse approchée car elle tend à rester stationnaire à la mêmehauteur dans l'eau (Trenkel et al., 2002). Mais quand elle est perturbée par le rov, lachimaeridae ne tente pas de nager devant le rov ni de fuir vers le bas. Une autre sourced'erreur dans la reconnaissance est que l'espèce Hoplostethus atlanticus est référencée�dives to bottom when disturbed� (Trenkel et al., 2002) alors que ce comportement n'aété observé que deux fois dans la campagne vital pour des individus probablement déjàperturbés avant d'entrer dans le champ de vue du rov. Ceci peut mener les testeurs àrépondre Hoplostethus atlanticus pour spE , surtout que nous n'avons pas modélisé cecomportement (de fuite verticale, di�érente de celui de spE ) pour spA qui est le vrai mo-dèle de Hoplostethus atlanticus. En�n, certaines réponses peuvent révéler des similaritésque nous n'avons pas préalablement précisées.

behavioRis 109

Page 112: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

Tableau 3.5 � Réponses des experts. Les bonnes réponses sont marquées par le signe + + +et les réponses approchées sont marquées par le signe ∼. L'expert noté e0 est celui avec quinous avons créé le modèle. L'expert e3 n'a pas donné de réponse pour l'espèce spD à cause d'unproblème technique avec l'enregistrement.

spA spB spC spD spE

e0H. atlanticus

+ + +Scyliorhinidae

+ + +C. rupestris

+ + +Lepidion eques

+ + +Alepocephalidae

+ + +

e1Synapho-branchidae

Apristurus+ + +

Moridae / Smallmacrourid

Bathypterois∼

Alepocephalus+ + +

e2Scyliorhinidae Synapho-

branchusC.Rupestris

+ + +Bathypterois

∼Alepocephalus

+ + +

e3Squalidae /large morid ?

Macrouridae Notacanthidae Chimaera

e4Synapho-branchus

Chimaerids Moridae H. atlanticus onbottom

Alepocephalus+ + +

1.3.2 Les résultatsRéponses

Le premier retour obtenu sur la simulation a été obtenu lors de sa conception. Ene�et, l'expert qui a initialement écrit les éthogrammes des espèces simulées a reconnu lescomportements qu'ils décrivaient depuis notre modélisation. C'est un premier résultatdans le sens ou le simulateur permet au moins de reproduire ce qu'en attend l'expertthématicien qui fournit les données au modélisateur de la simulation. Dans la suite desconceptions, cet expert thématicien a pris également part à la modélisation en modi�antles règles de comportement écrites en bbdl.

Cet expert avec qui nous avons créé la simulation a passé avec succès le test dereconnaissance pour les cinq espèces, dans les conditions du protocole mais avec l'avan-tage de connaître l'ensemble des cinq espèces à reconnaître ainsi que les comportementspertinents. Néammoins cette réussite montre un certain degré de faisabilité du test.

Les résultats du test pour les autres experts e1 à e4 sont présentés par le tableau3.5 page 110. Rappelons que le test exige de reconnaître une espèce seulement par sondéplacement : la forme, la couleur, le type de nage, et même la taille sont identiques pourtous les individus des tests.Estimation de la validité des résultats

Vu le petit nombre de réponses, une analyse statistique n'aurait pas de sens. Mais aumoins, nous pouvons comparer ces réponses à des résultats obtenus aléatoirement. Dansles conditions idéales (la connaissance des experts est su�sante pour reconnaître lespoissons depuis leurs trajectoires et la simulation transcrit exactement cette trajectoire)les réponses du test donneraient une mesure de l'information nécessaire aux expertsapportée par les séquences vidéos. Dans les conditions réelles du test, nous ne pouvonsque comparer les réponses de ce test à des réponses aléatoires.

110 Ludovic Coquelle

Page 113: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

La campagne vital

Pour un enregistrement, si i experts choisissent aléatoirement une réponse parmiles N espèces possibles, la probabilité d'avoir exactement t bonnes réponses (t ≤ i)est de P t

i = Cti .(

1N )t.(1 − 1

N )i−t (sans prendre en compte les réponses approchées ouéquivalentes). Avec N = 30 espèces possibles et i = 4 experts, pour un nombre de bonnesréponses prenant successivement les valeurs t = 0, 1, 2, 3, 4, les probabilités associéesvalent P t

i = 87.31%, 12.04%, 0.62%, 0.01%, 0.0001% et P 23 = 0.32%. La probabilité

globale d'avoir les résultats du tableau 3.5 page 110 est donc très faible (P 04 P 1

4 P 14 P 2

3 P 34 =

5.10−9). Ceci reste une probabilité mais donne un indicateur sur la pertinence probabledes simulations.Analyse des résultatsspA Deux des experts ont répondu Synaphobranchus ou Synaphobranchidae ; aucun

n'a reconnu Hoplostethus atlanticus. Cet espèce n'a pas été vue un grand nombrede fois durant la campagne alors que Synaphobranchus kaupii était l'espèce la plusabondante sur toutes les vidéos du submersible ; ceci peut in�uencer la réponsedes experts. De la manière dont spA est simulée, le comportement commun avecSynaphobranchus est la stationnarité près du fond. Ce qui n'est pas réaliste pour unSynaphobranchus c'est la longue distante parcourue pour fuir le rov. Un point quipeut expliquer la non reconnaissance est la forte proportion de Synaphobranchusqui nageaient dans n'importe quelle direction (sur les vraies images).

spB Un des expert l'a reconnu, et un autre a proposé chimaerids qui, comme les requins,sont souvent des nageurs actifs. Par contre, S. kaupii et les petits macrourids étaientrarement vus se déplaçant vite sur des longues distances. Cependant, comme les S.kaupii nagent souvent, la confusion peut venir d'un problème d'échelle qui n'a paspermis aux experts de réaliser que les petits poissons ne peuvent entrer et sortirrapidement du champ de vision.

spC Un seul expert a reconnu Coryphaenoides rupestris. La réponse Notacanthidaeapproche cette espèce car il reste stationnaire, haut dans l'eau, et réagit au rov.Cependant, ils ne nagent pas devant le rov pour garder une �distance de sécurité�.

spD Aucun expert n'a reconnu Lepidion eques, ce qui suggère qu'il manque quelquechose à la simulation. En fait, la séquence vidéo montrait quelques individus fuyantle rov. La proportion réelle de Lepidion eques réagissants est tellement faible quecertains experts ne l'ont peut être jamais remarqué. De plus, la fuite du Lepidioneques est plus souvent un changement de position qu'une sortie du champ de visionqui était simulée, et ceci peut expliquer la confusion avec le Hoplostethus atlan-ticus. Une autre di�érence entre ces deux dernières espèces est que pour Lepidioneques, tous les individus sont orientés dans la même direction (face au courant)alors que Hoplostethus atlanticus est près du fond et orienté dans une directionquelconque. Mais ceci n'a peut être pas été vu par les experts car sur les séquencesles individus étaient souvent isolés et les orientations ont été déduites des analysesdes comportements par rapport au courant. Deux experts ont répondu Bathyperoisdubius, qui est aussi une espèce orientée dans le courant et qui la plupart du tempsne réagit pas (sauf une petite proportion qui tente de s'échapper).

spE Trois experts sur quatre ont reconnu Alepocephalidae grâce certainement à uneréaction tardive mais forte. Le quatrième proposait Chimaerids qui reste haut dansla colonne d'eau comme le Alepocephalidae et a été vu réagir quelques fois for-tement. Cependant le comportement des chimaerids est plus varié que celui des

behavioRis 111

Page 114: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

Alepocephalidae.La large gamme de comportements dans le répertoire du Hoplostethus atlanticus peut

être une raison de faible reconnaissance car les experts peuvent garder en mémoire uncomportement qui n'apparaît pas dans la séquence. A moindre échelle, cela peut êtreappliqué aussi au Coryphaenoides rupestris, mais il n'est pas facile de justi�er que lesexperts n'aient pas reconnu le Scyliorhinidae alors que le comportement de nage activedes requins semblait signi�catif. Une explication peut être que les requins sont souventsolitaires et que les simuler avec une densité plus élevée peut compliquer la reconnais-sance. Au contraire, Alepocephalidae a été bien reconnu grâce à une dérive naturellepassive suivie d'une réaction assez forte à petite distance du rov. Ceci peut suggérerque des vidéos plus longues, avec plus d'individus ou plus de variation dans le compor-tement, sont nécessaires pour des espèces à plus large répertoire comportemental, alorsque nous avons simulé le comportement le plus fréquent. En fait, nous avons choisi de nepas reproduire de comportement anecdotique (rare mais typique), comme celui d'un Ho-plostethus atlanticus qui fuit le rov vers le bas jusqu'à rentrer en collision avec le fond !Des espèces di�érentes comme Lepidion eques et Bathypterois dubius sont devenues trèssimilaires avec la modélisation (distance du fond, type de fuite, orientation) et les condi-tions adoptées pour la simulation. Ces deux espèces sont posées au fond, stationnaires,faces au courant, et une faible proportion fuit le rov. Des densités locales plus fortes deBathypterois dubius ont pu lui associer ce comportement plutôt qu'au Lepidion eques.

En conclusion, les résultats montrent que des experts peuvent reconnaître une espèceà partir de courtes séquences vidéos (une minute) ; l'entraînement peut certainement amé-liorer les résultats car les experts n'avaient pas vu les vraies vidéos depuis au moins un an.Dans l'ensemble, les espèces plus stéréotypées ont été mieux reconnues : le sens communveut qu'un animal qui exhibent des comportements très variés ne soit pas reconnu.

La prochaine étape de ce travail sera d'utiliser ces modèles pour calculer le nombrede poissons non observables par le rov. Ceci permettra alors de corriger les estimationsd'abondances.

2 premecs-IIAvec cette seconde application, nous restons dans la modélisation de comportements

de poissons, mais dans un environnement totalement di�érent. Le but ici est de com-prendre le comportement dans le cadre de la pêche au chalut.

Rappelons qu'un chalut est une grande poche de �let en forme d'entonnoir, maintenueouverte horizontalement par des panneaux et verticalement par des �otteurs disposés surla lèvre supérieure, et tractée par un chalutier, comme illustrée �gure 3.3 page 113.La partie antérieure s'appelle l'embouchure. Dans sa partie postérieure, un chalut estconstitué d'une rallonge et de la poche. La rallonge est une grande partie cylindrique detransit entre l'embouchure et la poche, permettant notamment d'éviter le phénomène derefoulement. La poche est la dernière partie, fermée, du chalut, et servant à retenir lesprises.

112 Ludovic Coquelle

Page 115: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

premecs-II

chalutier

flotteurs

embouchure

poche

rallonge

panneaux

Figure 3.3 � Illustration d'un chalut de pêche pélagique. Les ordres de grandeur de la tailled'un tel chalut sont de quelques dizaines de mètres de large et de haut pour l'embouchure etd'une centaine de mètres pour la profondeur. Nos cas d'études concernent la pêche de l'égle-�n (Melanogrammus aegle�nus ou haddock), avec des prises avoisinant plusieurs centaines dekilogrammes (le nombre de poissons nageant dans la poche est aussi de l'ordre de la centaine).

2.1 DescriptionContexte et objectif du projet

Le contexte de cette application est le projet premecs-II 2 (PRedictive ModEl ofCod-end Selectivity) dont le but est d'étudier la sélectivité de la poche. Ce projet piloté parifremer est issu d'une collaboration entre les laboratoires difres (Danish Institute forFisheries Research, Danemark), frs (Fisheries Research Services, Royaume-Uni), ifre-mer (France), ismar (Instituto di Scienze Marine, Italie) et li2 (Laboratoire d'IngénierieInformatique, France).

La sélectivité est la propriété, pour un engin de pêche, de capturer une espèce plutôtqu'une autre (sélectivité interspéci�que) ou de ne retenir, pour une espèce déterminée,que les individus au dessus d'une certaine taille (sélectivité intraspéci�que). Parmi lespoissons qui rentrent dans le chalut, certains sortiront avant que celui-ci ne soit remontésur le navire. Si l'application vital précédente concernait l'étude de la disponibilité (dis-tributions spatiales horizontale et verticale), celle-ci concerne l'étude de la vulnérabilité(comportement d'approche et sélectivité de l'engin de pêche). Toutes deux contribuentà l'étude globale de la capturabilité dont la connaissance est nécessaire à la gestion desressources halieutiques.

Le projet premecs s'intéresse donc à modéliser la sélectivité de la poche. Pour celail est important de modéliser la forme du �let, et donc de la prise, ainsi que les compor-

2Site du projet premecs-II: http://www.ifremer.fr/premecs

behavioRis 113

Page 116: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

tements des poissons. C'est un problème à la fois mécanique, pour modéliser le chalutou l'écoulement, et à la fois biologique, pour modéliser les comportements qui peuventin�uencer la sélectivité.Problématique

Les problèmes de vulnérabilité, pour tout le chalut de l'embouchure à la poche (etsur un chalut de fond), sont exposés dans (Main et Sangster, 1981). Cette étude parobservation directe donne une vue générale des di�érents mécanismes intervenant entrechalut et poissons dans le processus de pêche.

Les problèmes mécaniques interviennent à plusieurs niveaux : la traction du navire,la résistance de l'eau, et sa structure maillée donnent sa forme au �let, et l'écoulementinduit in�uence la nage des poissons. Ce processus est très dynamique, et même l'étatde mer peut in�uencer la sélectivité de la poche (O'Neill et al., 2003) : en donnant unmouvement rapide au bateau, transmise au �let par un mouvement de va-et-vient, lapoche prend des formes �rebondissantes� qui changent les tensions dans le maillage, etdonc l'ouverture des mailles, et donc les possibilités d'échappement !

D'un point de vue biomécanique, les capacités de nage des poissons font égalementparties des processus in�uençant la sélectivité (He, 1993) et ce modèle dépend lui-mêmefortement de l'environnement, par exemple de la température (Özbilgin et Wardle, 2002).Les comportements des poissons en réaction aux di�érents éléments sont nombreux etvarient pour chaque espèce (Wardle, 1993).

La sélectivité, de la poche ou du chalut en entier, dépend donc de nombreux para-mètres, et son étude peut faire intervenir des modèles de natures di�érentes. La caractéris-tique spatiale du problème a mené à des ibm pour l'étude de l'in�uence du comportement.Modélisation comportementale

Par exemple, le logiciel PRESEMO, développé par le difta (Danish Institute forFisheries Technology and Aquaculture), repose sur un modèle stochastique qui permetd'estimer le facteur de sélectivité d'un chalut de fond. Il prend en compte la morphologiedes poissons sous forme de distributions des paramètres biométriques et des valeurs sta-tistiques re�étant leur activité : temps moyen mis par un poisson pour atteindre la pochedu chalut, temps moyen avant épuisement, avant la première tentative d'échappement,entre deux tentatives . . . L'in�uence de la forme de la prise peut être étudiée avec ce typed'outils (Herrmann, 2005).

Un autre modèle utilise la théorie du chaos pour modéliser les prises de décisions despoissons par rapport aux stimuli (Kim et Wardle, 2005). Cette approche est di�érente carelle fait intervenir des comportements individuels. Elle se base sur le modèle précédent(Kim et Wardle, 2003) qui prend en compte deux types de comportements, une réponsevisuelle ou une réponse erratique, mais ajoute comme le proposait (Walsh et Godo, 2003)une prise en compte de caractéristiques individuelles ainsi que de comportements relatifs(la densité de poissons devient alors signi�cative dans leurs comportements).

Cependant, ces modèles ont vocation à prédire la sélectivité. Dans une autre optique,nous cherchons à modéliser avec behavioRis les comportements dans la poche de chalutpour pouvoir tester des hypothèses comportementales (qui pourraient être intégrées en-suite dans les autres modèles qui fournissent déjà les outils adaptés d'analyse statistique).

114 Ludovic Coquelle

Page 117: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

premecs-II

2.2 ModélisationPour cette simulation, le chalut est un objet de l'environnement d'importance déter-

minante. En e�et, la sélectivité est directement liée aux échappements des poissons. C'estle maillage du chalut qui détermine la possibilité de ces échappements ; à cette contraintemécanique s'ajoute les comportements des poissons qui génèrent des tentatives d'échap-pement.

La modélisation doit donc prendre en compte un modèle précis du chalut et de sonmaillage. Ensuite, l'analyse de comportement montre des réactions des poissons devantla prise (nous rappelons que la prise est la masse de poissons capturés qui ne nagentplus mais sont entassés au fond de la poche) ; la prise nécessite alors d'être modélisée,notamment sa forme géométrique.

Rappelons également avant d'entrer dans les détails que les comportements suivantles espèces sont mal connus. Cela est dû principalement aux di�cultés d'expérimenta-tion des observations. behavioRis va permettre de tester des hypothèses comme la nageen banc, l'attirance pour certaines régions dans la poche, ou �simplement� l'e�et del'écoulement. Pour le modèle de poisson, nous reprenons le modèle précédemment établidans l'application précédente (pour ce qui est du modèle biomécanique) ; nous allons voircomment l'adapter à son nouvel environnement.2.2.1 Le chalutA Modèle mécanique

Le modèle de chalut utilisé a été développé dans le cadre du projet premecs. C'estun modèle statique qui utilise la mef (Méthode des Elements Finis) pour calculer lagéométrie du �let d'après le maillage (dimension et topologie des mailles), le poids de laprise, et l'assemblage des di�érentes parties de �let composant le chalut (Priour, 1999).Un exemple de poche est donné �gure 3.4 page 115.

Figure 3.4 � Modèle de poche de chalut par mef

Le principe de ce modèle est de remplacer le maillage réel du chalut par un maillage

behavioRis 115

Page 118: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

abstrait triangulaire, et d'appliquer les forces physiques pour calculer la forme géomé-trique 3d obtenue. Nous notons une maille pour le �let réel, et un élément pour unemaille abstraite du modèle. Cette di�érence est faite car, suivant la �nesse de la trian-gulation utilisée, un élément peut représenter une maille réelle, une partie de maille ouencore un ensemble de mailles. Le résultat du calcul du modèle dé�nit pour chaque élé-ment ses coordonnées mais aussi l'ouverture de mailles réelles, nécessaire pour déterminersi un poisson est physiquement �apte�3 à traverser la maille. Cette ouverture de mailleest illustrée par la �gure 3.5 page 116.

−→ı−→O

AB

C

−→u−→v

Figure 3.5 � Modèle du chalut : mailles de �let et maille abstraite. Le maillage réel du chalutest dessiné en vert (exemple ici de maille losange). Un élément de la triangulation est représentépar le triangle ABC. A l'intérieur de chaque élément, l'ouverture de maille réelle est dé�nie parle couple de vecteurs (−→u ,−→v ).

Le modèle brièvement présenté est un modèle global pour le chalut entier ; nousn'en utiliserons que la partie concernant la poche, mais le procédé est général. Suivantl'échelle (temporelle) de simulation, un modèle statique de chalut est su�sant. Si on veutsimuler la déformation du chalut, il faudra prévoir un modèle dynamique (qui peut êtreobtenu rapidement par recalcul du modèle statique précédent car celui-ci est une bonneapproximation de la situation dynamique). Avec ce type de modèle dynamique pourle chalut, l'in�uence de l'augmentation de la prise sur les possibilités d'échappementpourrait être introduite (quand la prise change de poids ou de forme, les ouvertures desmailles réelles ne sont plus les mêmes). De même, il serait intéressant de tester l'in�uencede l'état de mer qui déforme dynamiquement la forme du chalut.

Aucun modèle d'écoulement n'a été introduit car aucun modèle n'est disponible à cejour. Cependant nous utiliserons pour la simulation un courant global dé�ni par des équa-tions temporelles sur les trois axes pour simuler une certaine dynamique des conditionsenvironnementales.

Pour modéliser cette poche dans behavioRis, nous utilisons directement le maillageabstrait comme approximation de la forme géométrique. Une maille de chalut dans be-havioRis correspond alors à un élément triangulaire associé à une ouverture de maille.Cette approximation n'est pas abusive puisque l'on peut paramétrer le modèle mécaniquepour qu'un élément ne recouvre pas plus de surface qu'une maille réelle. Une premièresolution pour modéliser le chalut dans behavioRis est de créer un objet de la simulation

3Un exemple de modèle de calcul de possibilité pour un poisson de traverser une maille est donnépar Herrmann (2005) ; parmi les paramètres, on trouve les caractéristiques biométriques du poisson maisaussi les déformations possibles du �let suivant la matière et le poids de la prise.

116 Ludovic Coquelle

Page 119: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

premecs-II

pour chaque maille de la poche. Cette méthode est facile à mettre en ÷uvre mais peue�cace pour le calcul du rendu et de la simulation (un nombre élevé d'objets pause lesproblèmes de perception). La seconde solution, que nous avons choisie, est d'utiliser latriangulation interne aux primitives de représentation 3d d'un objet. Se pose alors leproblème de la perception, car la poche se voit représentée dans l'environnement commeun seul objet situé en un point !B Perception

Un poisson doit percevoir les di�érentes mailles, même si la poche est modéliséepar un seul objet. Pour cela, nous utilisons la possibilité sous behavioRis d'indexer leurtriangulation et d'ajouter de l'information (ici l'ouverture de maille). Cette indexation(dont le principe est expliqué en annexe B) est mise en ÷uvre ici à travers les R-Tree.

Ceci permet de répondre au problème de perception, mais en introduisant des hypo-thèses fortes. Le comportement mal connu nous oblige à introduire de telles hypothèses.La première est qu'un poisson est capable de percevoir les mailles les plus proches de lui(pour pouvoir s'en approcher, s'en éloigner ou tenter de s'échapper au travers). Ceci estmodélisé à travers un Filter spécialisé (cf code 3.6 page 117 lignes 1 à 5) qui remplacela liste d'objets perçus par leurs réponses à l'indexation spatiale (ici, les 50 plus prochesvoisins de l'individu, c'est-à-dire les 50 mailles les plus proches du poisson). Un objetTrawl doit donc être capable de répondre à une requête d'indexation spatiale, ce qu'ilfait en répondant une liste d'objets de type Mesh qui possèdent les propriétés d'ouver-ture de maille (synthétisée sous forme d'une propriété size que l'on a choisie comme lamoyenne des normes des vecteurs d'ouverture).

La seconde hypothèse de perception suppose que le poisson est �conscient de sonorientation� dans l'espace, c'est-à-dire que les perceptions peuvent porter une sémantiqued'orientation comme �au dessus�. Ceci est modélisé par le même Filter (voir les lignes 6à 10) , mais avec une requête spatiale sur une boîte centrée sur le poisson (ici la boîte aune largeur équivalente à la demie longueur du poisson dans les deux direction x et y, etune taille de 3 m en z, ce qui correspond à la perception des mailles au dessus de lui).1: Perception nn-meshes:2: Trigger Clock(1.0)3: Detector FieldOfView(dist=INF, species="Trawl")4: Filter SpatialIndex(query="NN", n=50)5: End6: Perception up-meshes:7: Trigger Clock(1.0)8: Detector FieldOfView(dist=INF, species="Trawl")9: Filter SpatialIndex(query="range", n=50, x=length/2, y=length, z=3)10:End

Code 3.6 � premecs bbdl : modèle de perception des mailles

behavioRis 117

Page 120: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

2.2.2 La priseLa prise (l'ensemble de poissons qui ne nagent plus et sont entassés au fond du

�let) nécessite également d'être modélisée, car les poissons pris au piège dans la rallongesemblent dériver puis nager devant la prise (et donc la percevoir). Le modèle de priseutilisé est celui associé au modèle de chalut. Elle est dé�nie comme le volume comprisentre le fond du �let et la surface imaginaire d'une ellipsoïde, dont le modèle nous donneles centres, les rayons et une ligne de �front� derrière laquelle cette dé�nition est valide.La ligne de �front� est dessinée d'un trait rouge vertical sur la �gure 3.4 page 115 : laprise commence à droite de cette ligne et est comprise entre le �let et les points marquésd'une croix rouge.

La prise, dans l'environnement behavioRis, est un objet complexe au même titre quela poche et pourrait utiliser la même modélisation (un objet triangulé indexé). Cependant,la solution adoptée hérite d'une version antérieure du framework dans laquelle ces objetsindexés n'existaient pas. Néanmoins elle exhibe la possibilité d'extension du framework.En fait, la prise est actuellement représentée par un objet de l'environnement, dont laforme géométrique est dé�nie extèrieurement de manière quelconque (pour la représenta-tion, nous avons créé un solide correspondant à la description ellipsoïde�fond-de-chalut).Les objets étant tous situés, il est toujours possible pour les poissons de détecter le centrede notre objet prise quelle que soit sa forme par un détecteur FieldOfView . Ensuite, lasolution consiste en la création d'un composant Filter spécialisé pour la prise qui trans-forme les propriétés de position spatiale d'un objet Catch par celle du point de la prise leplus proche de l'animat qui perçoit. Encore une fois, nous introduisons l'hypothèse queles poissons sont capables de percevoir le point de la prise le plus proche d'eux même.Le code 3.7 page 118 présente ce modèle. L'algorithme utilisé pour le calcul du point leplus proche d'un ellipsoïde est repris de (Eberly, 2001).1: Perception catch:2: Trigger Clock(1.0)3: Detector FieldOfView(dist=0.5, species="Catch")4: Filter CatchNearestPoint()5: End

Code 3.7 � premecs bbdl : modèle de perception de la prise

2.2.3 Comportements des poissonsComme nous l'avons déjà mentionné, la modélisation de poisson reprend le modèle

de l'application précédente (pour le modèle biomécanique), auquel on ajoute les carac-téristiques de perception du chalut et de la prise. Il faut maintenant modéliser les règlescomportementales associées à cet environnement et à ces nouveaux éléments. Pour cettemodélisation, aucun éthogramme complet n'a été préalablement établi. Au contraire,nous nous servons de behavioRis pour construire un comportement très mal connu : lesimulateur permet de tester des hypothèses de comportement. La démarche suivie a été

118 Ludovic Coquelle

Page 121: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

premecs-II

d'analyser des séquences vidéos d'observation en mer4, d'en extraire quelques caractéris-tiques de comportement avec un expert, de les transcrire en simulation et de proposer lerésultat au même expert. Les comportements testés ici sont ceux des aigle�ns.A Nage dans le chalut

Le premier comportement qui nous a intéressés est celui de la nage dans le chalut.En e�et, avant de �nir dans la prise, la plupart des poissons semblent nager en suivantle chalut, de l'embouchure en passant par la rallonge pour �nir dans la poche. Chaqueespèce possède une sorte de �chemin� privilégié de l'embouchure à la poche : certainspoissons restent dans le haut du chalut, d'autres vers le bas. Des points �xes (relativementau déplacement d'eau) semblent servir de repère momentanément à des poissons : parexemple à l'entrée du chalut, certains nagent en gardant une distance constante parrapport à une partie du �let (les premières mailles), puis se laisse rattraper (dériventprogressivement vers le fond du chalut). Dans la poche cependant, le comportementconsiste essentiellement à éviter le �let et la prise (le comportement de nage en haut ouen bas suivant les espèces persiste néanmoins).

Le comportement de se tenir à une distance d'un objet référence (nager à sa vitesse)a été testé en introduisant dans le chalut des cibles arti�cielles que le poisson perçoit ettente de suivre. La modélisation est simple puisqu'il su�t d'introduire dans le chalut desobjets cibles, que les poissons puissent percevoir la cible la plus proche (avec un détecteurde type FieldOfView dans une perception nommée target), et de réagir avec une règlecomportementale qui consiste à ajuster sa vitesse et son orientation à celle de la cible :if target.distance is Followable then

xSpeed is target.xSpeedand orientationPitch is target.orientationPitchand orientationYaw is target.orientationYaw

endCette voie a été assez vite abandonnée car ces �points-�xes� ne semblent pas exister dansla poche (trop peu d'informations sont diponibles pour en construire un modèle réaliste).

L'évitement (du �let ou de la prise) est un comportement primordiale dans la poche :les poissons semblent en constante activité pour nager dans une zone libre. L'évitementdu �let a été modélisé de manière très directe : quand un poisson perçoit une mailletrop proche de lui, il prend la direction opposée (réaction à partir de la perception nn-meshes). Fuir la prise nécessite des règles un peu plus compliquées : non seulement lepoisson l'évite mais en plus il accélère sa nage quand il la perçoit trop près derrrière lui.Pour tester si la prise est derrière, on doit tester l'angle de position latéral avec deuxcas possibles : proche de π ou proche de −π. Quant au comportement de nage dans lehaut de la poche (ou dans le bas), nous avons dit qu'il nécessite de faire l'hypothèse quele poisson perçoit son orientation globale dans l'espace (il connait la verticale terrestrevia les otolithes). A partir de cette hypothèse, il peut percevoir le �let au dessus de lui(perception up-meshes) et réagir en fonction. Tout ceci est illustré par l'extrait de code3.8 page 120.

4Les enregistrements, provenant du frs (Fisheries Research Services, http://www.marlab.ac.uk/)anciennement MarLab (Marine Laboratory), ont été étudiés en collaboration avec cet établissement.

behavioRis 119

Page 122: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

1: Pattern avoid-meshes:2: if nn-meshes.distance is TooNearMesh then3: pitch is oppositeAngle(nn-meshes.pitch)4: and yaw is oppositeAngle(nn-meshes.yaw)5: end6: End7: Pattern avoid-catch:8: if catch.yaw is BackwardR then xSpeed is AvoidingSpeed end9: if catch.yaw is BackwardL then xSpeed is AvoidingSpeed end10: if catch.yaw is InFrontOf then11: xSpeed is AvoidingSpeed12: and pitch is oppositeAngle(catch.pitch)13: and yaw is oppositeAngle(catch.yaw)14: end15:End16:Pattern go-to-top:17: if up-meshes.distance is UpTooFar then pitch is globalPitch(UpPitch) end18:End

Code 3.8 � premecs bbdl : évitement des objets de l'environnement

B Nage en bancLe comportement de nage en banc semble très présent à l'intérieur du chalut, contrai-

rement à l'application précédente où la densité de poisson ne permet pas de regroupement(et les observations ne mettent en évidence aucune réaction entre individus). Par contredans la poche, la formation spatiale peut avoir de l'in�uence sur les possibilités d'échap-pement des individus, et donc sur la sélectivité. La nage en banc a souvent été étudiéepar rapport à l'échappement vis-à-vis d'un prédateur. Zheng et al. (2005) proposent unibm dans lequel ils mettent en évidence des réactions innées expliquant certaines con�gu-ration de fuite. Dans la poche du chalut, c'est notamment parce que le banc est ballottépar le courant (avec l'in�uence des pulsations dues au mouvement de la poche) que sacon�guration peut être importante.

La modélisation adoptée reprend bien entendu le principe des boids exposé en section2.3 page 30. behavioRis se prête naturellement à ce type de modèle, comme on peut lelire code 3.9 page 121. En changeant quelques prémisses ou conclusions de règles, il estaisé de tester l'in�uence des modèles de stimuli (p. ex. réagir en fonction de l'individu leplus proche, d'une distance moyenne, d'une distance maximum) ainsi que des réponsesadoptées (p. ex. suivre la vitesse du plus rapide, de la moyenne des vitesses du groupe).behavioRis propose un framework pour des études de formations comme le présententBajec et al. (2005).C Tentative d'échappement

Les comportements décrits su�sent à simuler des déplacements de poissons dans lapoche du chalut. Le ballottement du banc semble réaliste et provoque une dynamique

120 Ludovic Coquelle

Page 123: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

premecs-II

1: Behavior Fuzzy() boids:2: Linguistic :3: TooNear is "down_ramp(0.1, 0.2)"4: Near is "trapeze(0.1, 0.2, 0.5, 0.6)"5: TooFar is "up_ramp(0.5, 0.6)"6: End7: Pattern attraction:8: if min(neighbours.distance) is TooFar then9: orientationYaw is mean(neighbours.yaw)10: and orientationPitch is mean(neighbours.pitch)11: end12: End13: Pattern repulsion:14: if min(neighbours.distance) is TooNear then15: orientationYaw is oppositeAngle(min(neighbours.distance).yaw)16: and orientationPitch is oppositeAngle(min(neighbours.distance).pitch)17: end18: End19: Pattern alignment:20: if mean(neighbours.distance) is Near then21: orientationYaw is globalYaw(mean(neighbours.orientationYaw))22: and orientationPitch is globalPitch(mean(neighbours.orientationPitch))23: end24: End25:End

Code 3.9 � premecs bbdl : nage en banc (boids)

de mouvement semblable aux observations. Il reste cependant à modéliser les tenta-tives d'échappement. C'est le point le plus délicat du modèle, car les observations etles connaissances actuelles ne su�sent pas à décrire les stimuli qui provoquent chez unpoisson une �envie de s'échapper�. Les vidéos montrent des tentatives : un poisson quittesoudainement sa position dans le banc, se dirige vers un endroit du �let et tente de passerau travers. Les observations permettent de penser que ce sont les individus plutôt surla périphérie du banc qui tentent de s'échapper, et parmi ceux-ci, ce sont les plus hautplacés dans la poche (il tente de s'échapper par la partie supérieure de la poche).

Pour modéliser les tentatives d'échappement, plusieurs hypothèses peuvent être po-sées. La première est que les poissons peuvent distinguer l'ouverture de certaines mailles,et ainsi on peut penser qu'ils essayent de fuir quand ils �voient� une maille pas trop loin,en haut, et su�samment ouverte. La deuxième hypothèse est qu'ils ressentent la vitesserelative de l'eau, et ainsi préfèrent tenter de s'échapper quand le courant les pousse (lecourant change alternativement de faible à fort pour chaque pulsation de la poche). Unedernière hypothèse est de prendre en compte un état de fatigue générale de l'individu.

D'un point de vue technique (ou simulation), la tentative d'échappement a été mo-délisée comme une action atomique. En fait, le déplacement du poisson vers le �let estmodélisé par un contrôle continu (au même titre que la nage dans le chalut) mais l'échap-pement en lui-même est atomique : quand il est déclenché par ses stimuli (distance et

behavioRis 121

Page 124: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

Figure 3.6 � Simulation d'un banc de poissons (50 individus) nageant devant la prise dans lapoche de chalut. La poche est en bleu transparent (ni les éléments ni les mailles ne sont apparentsici). La prise est en vert transparent (on voit apparaître les deux surfaces qui la dé�nissent : lefond du chalut à l'extrème droite, et la surface d'un ellipsoïde). L'exécution s'e�ectue en tempsréel pour la simulation d'une centaine d'individus, sachant qu'un individu nécessite le calcul de6 activités qui sont (1) la perception du voisinage avec une fréquence de 2Hz, (2) la perceptiondes mailles et de la prise avec une fréquence de 5Hz, (3) un comportement de nage libre avecune fréquence de 5Hz, (4) un comportement d'évitement des mailles avec une fréquence de 5Hz,(5) un comportement de boids avec une fréquence de 5Hz, et �nalement (6) un contrôle dedéplacement avec une fréquence de 5Hz.

ouverture de la maille ciclée), il provoque l'arrêt de toute activité de l'animat, et lepositionne à un endroit précis de l'environnement (derrière le chalut). Ce type de modé-lisation a uniquement pour but de pouvoir compter le nombre de poissons échappés. Larègle s'écrit simplement sous la forme :ifnn-meshes.distance is EscapeDistand nn-meshes.size is Open

thenperform.escape(nn-meshes) is One

endLa simulation des comportements décrits donnent un rendu réaliste 5. Il est intéressant

de pouvoir les simuler individuellement, mais aussi de voir leur interactions quand ils sonten �concurrence�.

Pour aller plus loin dans la modélisation de ce processus, plusieurs perspectives sontenvisagées. D'abord une perspective de validation, qualitative auprès d'experts du com-portement dans un premier temps, puis quantitative par mesure de sélectivité comparéessur un parcours de pêche réel et simulé. Ensuite, pour augmenter le modèle, l'interven-tion d'une variable interne modélisant la fatigue physique semble être un paramètre dansl'organisation des comportements. Outre le fait d'intégrer d'autres modèles mécaniquesde prise, de �ot et de chalut dynamique, la simulation peut aussi s'étendre pour traiter lemême problème de sélectivité mais adapté au chalut complet. L'étude des comportementsvis-à-vis d'un chalut semble également un point important du processus de capturabilité(avant l'entrée des poissons dans le chalut), qui pourrait être traité comme une extension

5Quelques enregistrement vidéos de simulations sont disponibles au téléchargement à l'adresse sui-vante: http://www.enib.fr/~coquelle/En/video_premecs.html

122 Ludovic Coquelle

Page 125: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bilan

de notre modélisation.

3 BilanLes deux exemples présentés ont montré l'utilisabilité de behavioRis, que ce soit la

plateforme de simulation ou le langage de description de comportement réactif.La première application est une simulation des comportements de poissons de fond en

réaction au passage d'un rov. Cinq espèces sont modélisées : les descriptions linguistiquesde leurs comportements ont été formattées en deux parties, l'une pour le comportementdit �normal� et l'autre réservée à la réaction face au rov. Pour chaque partie, les stimulisont mis en évidence et le comportement est décrit brièvement. Cette organisation deleurs éthogrammes a permis de créer facilement les modèles dans le langage behavioRis,puis de les simuler dans un environnement 3d simple. A partir de ces simulations, nousnous sommes attachés à décrire un protocole de test de reconnaissance en aveugle :des experts des poissons de fond devaient reconnaître les espèces en fonction de leurstrajectoires de déplacement (les autres informations comme la taille, le type de nage oula densité de population ont été volontairement exclues des données simulées). Malgré lepetit nombre de jeux d'expérience, les taux de reconnaissance (38.2% de bonnes réponsesen moyenne, avec un maximum à 75% pour l'espèce la mieux reconnue et un minimum de0% pour une espèce jamais reconnue) apportent quelques éléments pour une validationqualitative.

La deuxième application présente une utilisation un peu di�érente de behavioRis. Elleconsiste à simuler des comportements individuels et collectifs de poissons à l'intérieur dela poche d'un chalut de pêche. L'environnement à simuler est plus complexe, puisque lechalut doit être modélisé (avec une ouverture déterminée pour chaque maille) ainsi quela prise (les poissons attrapés qui restent inertes au fond du �let). De plus, les conditionsenvironnementales physiques sont extrèmement changeantes, notamment à cause desperturbations hydraudynamiques. A cette dynamique de l'environnement s'ajoutent lesdéplacements actifs des poissons di�ciles à identi�er. Les comportements dans le chalutsont donc mal connus car l'observation y est extrèmement délicate (peu d'éclairage, forteturbidité, environnement con�né et très dynamique). behavioRis a été utilisé ici pourtester des hypothèses de comportement (nage dans le chalut, nage en banc, tentativesd'échappement). Le langage a permis de développer ces hypothèses comportementalesséparément pour construire ensuite un modèle global. L'exécution de ce modèle s'e�ectueen temps réel pour la simulation d'une centaine d'individus, ce qui permet de mettre aupoint les comportements par rapport à ceux observés sur les enregistrements vidéos.

Dans les deux applications, nous avons exprimé puis modélisé des comportementsréactifs. Les règles comportementales utilisent des termes proches de ces descriptions.Dans la première application, behavioRis a montré son utilité pour reproduire des com-portements connus ; dans la seconde, il a servi d'outil pour construire un modèle decomportement. Ces deux types d'application illustrent son utilisabilité dans un travailde modélisation comportementale basée sur la dé�nition d'animat décrite par les étholo-gistes.

behavioRis 123

Page 126: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Chapitre 3 � Application : simulations de comportements de poissons

124 Ludovic Coquelle

Page 127: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Conclusions et perspectives

BilanRappel de l'objectif initial

Le sujet de recherche abordé au cours de cette thèse concerne la simulation de com-portements réactifs innés d'animaux dans leur environnement. La problématique danslaquelle nous nous sommes placés est celle de l'étude des comportements d'entités auto-nomes en interaction dans un univers virtuel qui relève du contexte des modèles individu-centrés (ibm).

La modélisation qui nous a intéressée est celle de l'éthologie qui aborde la descriptiondu comportement animal d'un point de vue externe à l'individu. Notre ambition était defournir un outil pour simuler des éthogrammes, ce qui sous-entend un modèle d'exécutionde la simulation ainsi qu'une méthode pour construire une simulation sur la base d'unedescription linguistique de comportement.Résumé de la proposition

Le premier chapitre a présenté des problématiques qui se recoupent fortement : d'unepart la dé�nition de modéle comportemental a été traitée du point de vue des sciencesnaturelles (de la psychologie au behaviourisme), et d'autre part ce même objet de modé-lisation a été présenté sous le point de vue des sciences arti�cielles (incluant les modèlesphysiques ou simulés). Ceci nous a permis de cerner le niveau d'observation (et de descrip-tion) choisi pour un modèle d'animal : l'animat en temps qu'interface entre évènementsdéclenchants (eoa, ioa) et leurs conséquences (ioc, eoc). Nous nous sommes alors in-téressés aux concepts-clefs de l'éthologie qui dé�nit des règles causales de comportementà partir d'éléments observables. C'est cette approche à base de règles que nous avonssituée par rapport à deux aspects de la problématique de simulation de comportements :la construction et l'exécution du modèle, supportée par l'architecture d'agents réactifs.Pour dé�nir un modèle simulable, cette architecture doit préciser une manière d'abs-traire les données d'entrée du mécanisme comportemental ainsi que ses sorties associéesà son exécution dans l'environnement. Or la structure d'exécution intrinsèque à chaquearchitecture in�uence la modélisation, et donc la manipulation de la simulation en tempsqu'outils d'étude du comportement. Plusieurs axes ont été retenus pour spéci�er unearchitecture qui satifasse l'expression d'une modélisation éthologique simulable :

� Les déclencheurs des règles comportementales sont les stimuli, issus des percep-tions et de l'état interne de l'individu. L'architecture doit fournir l'abstraction desdonnées de l'environnement simulé pour construire ces stimuli, et donc o�rir uneformalisation des perceptions, avec leurs sémantiques, et de certaines évolutions de

behavioRis 125

Page 128: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Conclusions et perspectives

variables intermédiaires.� Pour permettre plusieurs types de modélisation, l'organisation des di�érents com-portements ne doit pas être une contrainte du modèle d'exécution qui ne doit pasintroduire de nouvelles hypothèses dans le modèle éthologique reproduit.

� En�n, la simulation doit permettre une transcription des descriptions linguistiquesimprécises et partielles de comportements. Elle doit donc proposer un modèle nu-mérique et continu, en exhibant une interface d'utilisation en tant qu'outil d'étudedu comportement par expérimentation.

Le deuxième chapitre décrit notre proposition d'un outil de description de compor-tements pour la simulation. Le niveau de modélisation adopté a conduit à diviser lecomportement global en plusieurs éléments pour pouvoir les spéci�er séparément. Mêmesi l'intérêt du modélisateur est centré sur les règles comportementales, la simulationsuppose une réalisation des réactions comportementales : les entrées de l'animat (sesperceptions et son état interne) sont les sources des stimuli qui engendrent des réponsesdont la réalisation est supportée par un modèle biomécanique. behavioRis présente alorsune architecture à base de composants pour décrire chacun des quatre aspects du mo-dèle : les perceptions, l'état interne, les règles comportementales et la partie contrôle. Lecomportement global est la conséquence de l'éxécution de ces divers composants dans unordre aléatoire à chaque cycle. Un soin tout particulier a été apporté à la réalisation d'uncomposant de règles comportementales utilisant la logique �oue. Cette dernière permeten e�et de traduire des données linguistiques imprécises de manière simple, et l'inférence�oue s'adapte particulièrement à l'expression des règles comportementales des modèleséthologiques.

En�n, le troisième chapitre vient appuyer notre proposition en l'illustrant par desapplications concrètes de notre outil. Ce sont toutes les deux des simulations de dépla-cements de poissons (dans un environnement en 3d). La première modélise des com-portements de cinq espèces de poissons de fond réagissant au passage d'un rov dansleur environnement proche. Cette application illustre l'utilisation du simulateur pourreproduire des comportements observés in situ dans de bonnes conditions. Un test de re-connaissance des espèces par leur comportement simulé a été soumis à des experts de cespoissons et les résultats montrent que l'information comportementale est bien traduitepar le simulateur. Dans la démarche de Minsky (Minsky, 1965, cité dans le chapitre1), la simulation � de l'objet modèle A∗ � du comportement des poissons observés �objet A � permet aux éthologues d'utiliser ce modèle A∗ pour étudier les mêmes poissonsA dans des conditions di�érentes : dans le cadre du projet, il est question d'utiliser lesimulateur pour étudier l'in�uence du rov sur l'estimation de population. La secondeapplication présente elle une utilisation dans un environnement complexe, et illustrel'extensibilité de l'architecture. Les poissons sont cette fois à l'intérieur d'une poche dechalut. Les conditions d'observations sont ici très di�ciles, et les observations résultantessont fugaces et parcellaires. Parmi les comportements ont été modélisés la nage dans lechalut, les tentatives d'échappement et la nage en banc avec le modèle des boids. Danscet environnement très dynamique, où les comportements actifs des poissons résultenten des déplacements relatifs par rapport au chalut, behavioRis est utilisé pour testerdes hypothèses en observant par simulation les di�érents comportements sous di�érentscontextes.

126 Ludovic Coquelle

Page 129: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

PerspectivesLa réalisation de ce travail de thèse a ouvert di�érents axes de ré�exion et o�re

plusieurs perspectives quant à la simulation de comportements réactifs d'animaux selonune approche éthologique. Nous les citons dans l'ordre de leur rapprochement vis-à-visde la solution que nous avons proposée.Améliorations directes Dans cette catégorie, nous regroupons les évolutions intrin-

sèques de l'outil behavioRis. Outres des considérations d'ingénierie (comme l'ad-jonction d'une interface graphique au langage qui augmenterait considérablementson utilisabilité), behavioRis peut être étendu d'un point de vue fonctionnel. Lelangage à base de composants, adapté à une description suivant le paradigme ob-jet, pourrait intégrer une sémantique d'héritage qui permettrait par exemple dereprendre les classi�cations suivant les familles et espèces par héritage de compor-tements. Un soin particulier est apporté dans notre proposition à la description descauses comportementales et de leurs réponses plutôt qu'à l'expression de la réali-sation de l'action. Un point di�cile de l'architecture, charnière entre le modèle etson exécution, est la description du modèle biomécanique ; une approche fonction-nelle réactive (FRP), comme utilisée en robotique, semble être un axe de rechercheadapté à cette description (Boidin et Julliard, 2005).

Renforcer le rapprochement entre modélisation et simulation Si behavioRis seveut être une passerelle entre l'éthogramme et la simulation, aucun e�ort n'a étéentrepris visant à l'automatisation (même partielle) de cette démarche. Di�érentesapproches peuvent être envisagées en ce sens. La première imaginée pourrait êtreconstituée �d'un assistant de modélisation� (incorporant une sorte de guide métho-dologique) qui aurait di�érents rôles comme par exemple détecter l'imcomplétuded'un modèle (p. ex. véri�er que toutes les propriétés en conclusion de règles com-portementales débouchent sur au moins un composant de contrôle) ou soulever desincohérences de modélisation (p. ex. des règles qui ne peuvent jamais être activées).Cette approche doit être en partie dynamique (à la modélisation et à l'exécution),et peut aborder di�érents niveaux d'automatisation allant du signalement d'un pro-blème à la proposition d'une résolution. Une approche di�érente serait d'accompa-gner activement l'expert pour l'aider à formaliser des comportements (Sempé et al.,2005).

Extensions L'exécution de modèles complexes basé comportement peut également ti-rer pro�t des méthodes d'apprentissage (Zaera et al., 1996). Il est question ici desalgorithmes d'optimisation et non du processus �naturel� d'apprentissage. Intégrerce type d'approche dans l'architecture permettrait d'ajuster automatiquement lesrègles comportementales (p. ex. pour paramétrer les valeurs �oues utilisées dans ladé�nition des stimuli avec un apprentissage évolutionniste). Mais remarquons quece processus va à l'encontre de la démarche qui nous a conduits à élaborer l'architec-ture, puisqu'il s'agit ici de ne pas exécuter une description des comportements maisau contraire de seulement cadrer cette spéci�cation pour apprendre des règles (ouleur paramétrage) ; cependant, en prenant garde que l'apprentissage conserve l'in-telligibilité des règles initiales, il serait intéressant de le considérer comme une aideà la modélisation, avec une méthode qui consisterait en des cycles de modélisationalternés apprentissage�spéci�cation.

behavioRis 127

Page 130: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Conclusions et perspectives

En s'écartant encore de notre proposition, tout en restant bien entendu dans le su-jet d'étude, il serait également intéressant de voir comment construire une couchecognitive associée à l'architecture réactive pour modéliser des comportements baséssur des inférences logiques. Il peut être envisagé de construire un module compor-temental (un composant Behavior spéci�que) intégrant une construction de repré-sentations symboliques et leurs traitements logiques.

128 Ludovic Coquelle

Page 131: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe A

Logique �oue pour le contrôle

Ce chapitre a pour vocation de présenter les bases élémentaires de la logique �oueet son application au contrôle. De plus amples explications peuvent être trouvées dans(Bouchon-Meunier et Marsala, 2003).

La logique �oue est née d'un besoin de représentation des connaissances intermédiairesentre les approches numériques et symboliques. Elle a été introduite par Zadeh en 1965.La logique �oue est un sur-ensemble de la logique conventionnelle (booléenne) qui a étéétendue pour introduire la notion de vérité partielle, avec un degré de vérité variant de�complètement vrai� à �complètement faux�.

1 La notion d'ensemble �ouPour dé�nir cette logique, Zadeh a proposé le concept de sous-ensemble �ou (Za-

deh, 1965), qui admet l'idée qu'un élément peut appartenir partiellement à plusieursensembles.De�nition

Soit E un ensemble dans l'univers du discours U . Un sous-ensemble conventionnel Cde E peut être dé�ni soit par extension C = {x1, x2, · · · , xn}, soit par intension à l'aidede sa fonction caractéristique (ou fonction d'appartenance)

µC : E 7→ {0, 1}

µC(x) ={

1, x ∈ C0, x /∈ C

En généralisant cette dé�nition, un ensemble �ou F se dé�nit par une fonction d'appar-tenance continue µ eF : E 7→ [0, 1]. De plus, F sera dit normalisé si maxx∈E(µ eF (x)) = 1.Interprétation et exemple

Pour un élément x de E, µ eF (x) représente le degré d'appartenance de x à F . Parexemple, l'ensemble �ou qui représente le concept �Loin� sur l'univers du discours detoutes les distances possibles R+ peut être dé�ni par sa fonction d'appartenance µgFarreprésentée par la �gure 1. Cette �gure introduit également les notations souvent utiliséespour les fonctions d'appartenance dé�nies par morceaux sur des intervalles contigüs.

behavioRis 129

Page 132: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe A � Logique floue pour le contrôle

µFar = up_ramp(10, 14)

µApprox8 = trapezoid(6, 8, 9, 14)

µCloseTo6 = triangle(5, 6, 7)

µNear = down_ramp(2, 4)

memb

ership

degre

e

0

1

distance2 4 5 6 7 8 9 10 14

Pour x1, x2, x3, x4 éléments de R tels que x1 < x2 < x3 < x4, on a

down_ramp(x1, x2)(x) =

1, si x < x1x2−xx2−x1

, si x1 ≤ x < x2

0, si x ≥ x2

up_ramp(x1, x2)(x) =

0, si x < x1x−x1x2−x1

, si x1 ≤ x < x2

1, si x ≥ x2

triangle(x1, x2, x3)(x) =

0, si x < x1x−x1x2−x1

, si x1 ≤ x < x2x3−xx3−x2

, si x2 ≤ x < x3

0, si x ≥ x3

trapezoid(x1, x2, x3, x4)(x) =

0, si x < x1x−x1x2−x1

, si x1 ≤ x < x2

1, si x2 ≤ x < x3x4−xx4−x3

, si x3 ≤ x < x4

0, si x ≥ x4

Figure A.1 � Exemples de fonctions d'appartenance caractérisant un ensemble �ou.

Opérations entre ensemblesLes opérations sur les sous-ensembles �ous étendent celles de la théorie des ensembles

classiques. Pour deux ensembles �ous A et B dé�nis sur E, les opérations de base sont :L'intersection A ∩ B, dé�nie par un opérateur de norme triangulaire (appelées t-normes

et notées >)∀x ∈ E,µ eA∩ eB(x) = >

(µ eA(x), µ eB(x)

)≤ min

(µ eA(x), µ eB(x)

)min est la plus optimiste des t-normes.

L'union A ∪ B, dé�nie par un opérateur de co-norme triangulaire (appelées t-co-normeset notées ⊥)

∀x ∈ E,µ eA∪ eB(x) = ⊥(µ eA(x), µ eB(x)

)≥ max

(µ eA(x), µ eB(x)

)max est la plus pessimiste des t-co-normes.

Le complément AC , dé�ni par la fonction d'appartenance :∀x ∈ E,µ eAC (x) = 1− µ eA(x)

.

130 Ludovic Coquelle

Page 133: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

La logique floue

Munie de ces trois opérations, la théorie des ensembles �ous satisfait les mêmes propriétésque la théorie classique des ensembles, exceptées la non-contradiction (A∩ AC 6= ∅) et letiers exclu (A ∪ AC 6= E).

2 La logique �oue

2.1 Proposition �oue élémentaireLa logique �oue manipule des propositions �oues, de la forme �V est D�, où V est une

variable et D est une valeur �oue de cette variable. En théorie des ensembles classiques,la valeur de vérité d'une proposition P est équivalente à la notion d'appartenance à unensemble. Les ensembles classiques sont dans ce cas le support à une logique bi-valuée(vrai ou faux), alors que les ensembles �oues correspondent à une logique continue valuéedans l'intervalle [0, 1].

Pour continuer l'exemple précédent avec la notion de distance, posons P la proposition�distance D est Loin�. Si la distance d0 est un élément de R+, le degré de vérité de Pest µ gLoin

(d0). Mais si la distance D est un ensemble �ou, noté alors D, la valeur de véritéT de la proposition P correspond alors à la valeur de similarité entre les deux ensemblesD et Loin, traduit par �D −est similaire a− Loin�.

La similarité, ou valeur de vérité de P , s'évalue comme le plus haut degré d'apparte-nance des objets communs aux deux ensembles, soit :

P : D −est similaire a− Loin

T (P ) = supx∈R+

(µ eD∩Loin

(x))

2.2 Combinaison de propositions �ouesCes propositions logiques peuvent être reliées avec des opérateurs de composition,

comme la conjonction (∧ signi�ant et), la disjonction (∨ signi�ant ou) ou la négation (¬signi�ant la négation). Les dé�nitions de ces opérateurs en logique �oue sont supportéespar celles des relations entre ensembles �ous. Nous ne présentons ici que certains opéra-teurs utilisés couramment (issus des travaux de Zadeh). Soient P1, P2 deux propositions,et T (P1), T (P2) leur degré de vérité respectifs.La conjonction �oue (et) PP1∧P2 = P1 ∧ P2 est dé�nie par une t-norme :

minimum T (P1 ∧ P2) = min (T (P1), T (P2))

produit algébrique T (P1 ∧ P2) = T (P1).T (P2)La disjonction �oue (ou) PP1∨P2 = P1 ∨ P2 est dé�nie par une t-co-norme :

maximum T (P1 ∨ P2) = max (T (P1), T (P2))

somme algébrique T (P1 ∨ P2) = T (P1) + T (P2)− T (P1).T (P2)La négation �ou P¬P1 est dé�nie par

T (P¬P1) = 1− T (P1)

2.3 L'inférence �oueL'inférence consiste à interpréter une règle logique R de la forme �si I est V alors O

est C�, que l'on écrit V ⇒ C.

behavioRis 131

Page 134: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe A � Logique floue pour le contrôle

En logique �oue, le modus ponens généralisé (méthode de raisonnement utilisée encontrôle) consiste à appliquer une règle R en présence d'une observation I qui ne luiconvient qu'imparfaitement. Par exemple pour l'observation �I est V ′�, la conclusion�O est C ′� sera d'autant plus proche de �O est C� que V ′ et V seront similaires. Demanière plus formelle, l'application d'une règle �oue est une composition de propositions�oues par un opérateur d'implication noté Φ⇒. L'évaluation d'une règle R : V ⇒ C parle modus ponens a pour valeur de vérité :

µR(i, o) = Φ⇒(µV (i), µC(o))

Il existe plusieurs dé�nitions de l'opérateur d'implication. Par exemple, l'implicationde Kleene-Dienes généralise l'équivalence classique entre les propositions v ⇒ c et¬v ∨ c :

Φ⇒(Kleene−Dienes) : R× R 7→ [0, 1]Φ⇒(i, o) = max(1− µv(i), µc(o))

Φ⇒ est choisi de manière à respecter le modus ponens classique, c'est-à-dire que C ′ doitêtre égal à C si V ′ est égal à V .

En contrôle, l'opérateur Φ⇒ peut être une pseudo-implication (qui respecte les carac-téristiques de l'implication mais ne satisfait pas entièrement la dé�nition). L'opérateur deMamdani �écrête� la conclusion en fonction de la valeur de vérité de la prémisse, et sedé�nit simplement par l'opérateur min. L'opérateur de Larsen �écrase� cette conclusionpar l'opérateur produit.

3 Le contrôle en logique �oueZadeh proposa l'idée de formuler des algorithmes de contrôle en utilisant des règles

logiques �IF�THEN� et l'inférence �oue (Zadeh, 1973). Un contrôleur �ou est alors unensemble de règles qui, à partir de variables d'entrée, infèrent sur les valeurs de variablesde sortie.Principe

La première étape du contrôle pour un système réel est d'encoder les entrées sousla forme de variables �oues. En simulation, il n'y a pas d'incertitude sur les valeurs,et souvent l'encodage d'une variable réelle en un singleton �ou est su�sant et simpli�eles calculs. Une valeur x0 ∈ R est alors encodée par le singleton dé�ni par sa fonctioncaractéristique

µx0 : R 7→ [0, 1]

µx0(x) ={

0, si x 6= x0

1, sinon

Ensuite, il faut choisir les opérateurs (et, ou) qui permettent de composer les propo-sitions �oues, ainsi que l'opérateur d'implication, pour paramétrer le calcul d'inférence.Par exemple, la méthode de Mamdani consiste à choisir l'opérateur min pour l'impli-cation et la conjonction. Ainsi, pour une règle R de la forme �SI X est A ET Y estB ALORS Z est C�, que l'on peut noter A ∧ B ⇒ C, la fonction caractéristique del'ensemble solution est dé�nie par :

µR(z) = Φ⇒(µA∧B(x, y), µC(z))= min(µA∧B(x, y), µC(z))= min(min(µA(x), µB(y)), µC(z))

132 Ludovic Coquelle

Page 135: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Le contrôle en logique floue

Par la méthode de Larsen, on obtient :µR(z) = min(µA(x), µB(y)) · µC(z)

L'étape suivante du contrôle passe par l'opérateur d'agrégation �as also�, qui combinele résultat de plusieurs règles �oues qui concluent sur la même variable Z. Dans lesméthodes précédentes, le choix est porté sur l'opérateur max.

En�n, le contrôleur extrait une valeur réelle à partir du résultat de l'inférence �oue parun opérateur de défuzzy�cation. Par exemple, pour défuzzi�er Z, l'opérateur maximumextrait la valeur réelle z pour laquelle µ eZ est la plus grande ; l'opérateur centre de l'aire(coa) extrait l'abscisse z telle que les surfaces dé�nies par µ eZ à gauche et à droite de zaient la même aire.Exemple

On suppose un système de contrôleur �ou par la méthode de Larsen : l'implicationest e�ectuée par l'opérateur produit, la conjonction de proposition est également calculéepar un produit, et l'agrégation de règles est faite par l'opérateur maximum.

L'entrée unique d de ce contrôleur est encodée par un singleton �ou D. Les variableslinguistiques sont dé�nies par des fonctions linéaires (cf �gure A.2 page 134).

Soit un contrôle dé�ni en deux règles :{ R1 : if D is TooNear then V is LowR2 : if D is CorrectDist then V is Quick

Le calcul d'implication donne :{µV,R1 = µTooNear(D).µLow

µV,R2 = µCorrectDist(D).µQuick

L'opérateur d'agrégation combine ces résultats, puis par défuzzy�cation on obtientla commande réelle :

µV = max(µV,R1, µV,R2)v = COA(µV )

behavioRis 133

Page 136: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe A � Logique floue pour le contrôle

d

0.0

1.0

distance speed

speed

0.0

1.0

0.0

1.0

possibility possibility

� � � � � � � � � � �� � � � � � � � � � �� � � � � � � � � � �� � � � � � � � � � �

� � � � � � � � � �� � � � � � � � � �� � � � � � � � � �� � � � � � � � � �

µCorrectDistµTooNear µTooFar µQuickµLow

µVR1= µTooNear(d)µLow

µVR2= µCorrectDist(d)µQuick

{ R1 : D is TooNear ⇒ V is LowR2 : D is CorrectDist⇒ V is Quick

µV = > (µVR1, µVR2

)

v

Figure A.2 � Un exemple simple d'inférence �oue (méthode de Larsen)

134 Ludovic Coquelle

Page 137: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe B

Indexation spatiale

Ce chapitre a pour but de présenter l'indexation spatiale dans notre cadre d'utilisation(retrouver un objet 3d dans notre scène de simulation). Loin d'être exhaustif sur lessolutions, il présente les di�érents problèmes traités par cette indexation, et introduit lesconcepts de bases.

1 PrésentationPar indexation spatiale, nous désignons ici l'ensemble des méthodes qui permettent

de stocker et de retrouver e�cacement une donnée par rapport à ses coordonnées dans unespace multidimensionnel. Dans le cadre de notre application, cet espace est à trois dimen-sions, mais notre discours se généralise pour un nombre quelconque de dimensions. Nousnous intéressons plus particulièrement aux structures de données sous-jacentes. Ces struc-tures sont utilisées aussi bien pour les sig (Système d'Information Géographique), l'in-fographie, la visualisation de données scienti�ques ou l'indexation de documents commedans les moteurs de recherche.Objectifs de l'indexation spatiale

Le but de ces index et de répondre e�cacement à des requêtes spatiales. Celles-cisont exprimées en fonction d'opérateurs topologiques ou de distances.range query est un exemple de requête topologique. En réponse à cette requête, l'index

doit retrouver les objets contenus (quelque fois approximativement) dans la régionconcernée. Ce type de requête fait apparaître la manière dont les objets sont dé�nis :soit ce sont des points, soit ce sont des boîtes englobantes de l'objet réel, auquelcas les problémes de recouvrement apparaissent.

k-NN query utilise un opérateur de distance. La réponse à ce type de requête estl'ensemble des k objets indexés les plus proches (Nearest Neighbours) d'un pointdonné. C'est la notion de distance qui apparaît cette fois, et cette distance seraimportante à dé�nir dans le cas de l'indexation des boîtes englobantes.

Ces structures d'indexation sont souvent utilisées pour le traitement de bases dedonnées. Elles sont donc optimisées pour l'accès rapide aux données en même temps quele calcul des requêtes spatiales. Elles se composent alors d'une méthode de stockage etd'algorithmes pour insérer, supprimer ou modi�er un objet.

behavioRis 135

Page 138: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe B � Indexation spatiale

2 Méthodes d'indexationDi�érentes solutions se sont proposées pour répondre aux di�érentes contraintes (ob-

jets mobiles, dispersion dans l'espace) de chaque application. Par exemple, pour un en-semble d'objets à indexer, si ces objets sont immobiles (la structure de donnée est sta-tique) et que la seule requête spatiale est une recherche de voisin, une triangulation deDelaunay est possible.

2.1 Indexer des objets mobiles !Dans des cas moins restrictifs où l'ensemble des objets n'est pas �xe, le problème se

pose alors dans la mise à jour de ces structures pour suivre le déplacement des objets.On parle alors d'indexation spatio-temporelle. Optimisées pour l'accès aux données, lesindex proposent souvent des algorithmes complexes pour modi�er un objet. Dans le casd'objets mobiles, comme par exemple les bases de données des opérateurs de téléphoniemobile ou comme dans notre cadre d'objets qui se déplacent dans une scène en 3d, letemps gagné pour l'accès aux données peut devenir négligeable par rapport au tempsnécessaire pour les mettre à jour.

Jensen et �altenis (2002) listent plusieurs solutions permettant d'améliorer le com-portement de ces structures dynamiques. Nous les classons en trois catégories :

1. Optimisation des accès mémoire. Dans le cadre des bases de données spa-tiales, c'est l'optimisation des accès au médium de stockage qui est important (plusque le calcul des algorithmes). L'utilisation de techniques utilisant des tampons demémoire, ou exploitant toute la mémoire disponible, permet d'améliorer le com-portement dynamique d'un point de vue accès aux données. Ces méthodes sontparticulièrement destinées aux index de grande taille.

2. Techniques de prédiction. Ce type de technique visent à limiter le nombre demodi�cations de la structure de l'index. Par exemple, une méthode un peu analogueau dead-reckoning, est d'approcher les déplacements des objets par des fonctions(souvent polynômiales) pour prévoir leurs futurs emplacements, et organiser lastructure pour que ce déplacement vienne à la modi�er le moins possible. Dansle même ordre d'idée, une autre approximation est de mémoriser des informations(calculées pour les requêtes) et de les réutiliser pendant un certain temps (le tempsd'expiration des informations est à paramétrer). Ce type de technique convient dansle cadre de déplacements d'objets qui sont progressifs (pas de saut dans l'espace) etprévisibles (pas de mouvement aléatoire), par exemple pour les téléphones mobilesoù les opérateurs doivent en permanence savoir les localiser et trouver le routagepar le point d'accès le plus proche (la notion de distance est fonction des bandespassantes).

3. Sémantique de l'application. Un dernier type de technique prend en compte dessémantiques particulières de l'application. Des contraintes de déplacement peuventêtre intégrées dans les algorithmes d'accès aux structures de données (p. ex. deschemins obligatoires ou des zones interdites). Un autre moyen utilisé est de prendreen compte une imprécision de localisation (Cheng et al., 2002).

136 Ludovic Coquelle

Page 139: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Méthodes d'indexation

2.2 Quelques solutionsSans vouloir être exhaustif sur les méthodes utlisées, nous proposons de classer les

di�érentes solutions d'indexation spatiales en trois familles. Nous ne donnerons pas iciune description complète des méthodes et algorithmes mais nous exposerons les principesde bases ainsi que quelques remarques sur leur utilisation.2.2.1 Les techniques de hachage régulier de l'espace

Le principe de ces techniques est de décomposer l'espace en un découpage régulier(en intervalles de mêmes dimensions), et de stocker les objets par intervalle. Le hachageconsiste alors en une fonction qui, à partir d'une localisation dans l'espace, retournetoujours le même identi�ant d'un intervalle. Si cet identi�ant d'intervalle est dé�ni surun ensemble ordonnable, il est alors possible de créer une indexation classique sur cetidenti�ant.

Par exemple, pour un espace à deux dimensions [0, 16]× [0, 16], la fonction de hachagef(x, y) = bxc + 4 · byc découpe l'espace en 16 intervalles ; il est alors possible d'indexerces intervalles par un arbre binaire classique (B-Tree), et pour retrouver un objet il su�tensuite de le chercher dans l'intervalle désigné par sa position. Ce type de techniqueest utilisée dans (Song et Roussopoulos, 2001), qui propose une architecture à base dehachage pour les objets mobiles (en utilisant également des découpages irréguliers del'espace que nous exposons dans la partie suivante).

Le choix de la fonction de hachage peut introduire des contraintes d'utilisation : lataille de l'espace est bornée (pour chaque dimension) et la taille des intervalles est unparamètre de l'indexation. Les coûts (en temps de calcul) sont constants pour l'accès et lamise à jour des données ; par contre ils sont dépendants de la distribution de ces données.La fonction de hachage doit également être �compatible� avec des requêtes range queryou k-NN qui nécessitent l'accès aux intervalles connexes d'une position.

ARéVi 1 (bibliothèque utilisée pour implémenter notre simulateur) propose un outild'indexation par hachage extensible. Par �extensible�, nous entendons qu'il n'existe pasforcément de fonction de hachage donnant un identi�ant unique à un intervalle, mais ilexiste un moyen de désigner cet intervalle à partir de la position (par procédés d'indirec-tions). Le service Grid3D2, simplement paramétré par la taille des intervalles (cube dansl'espace), propose un découpage régulier mais dynamique de l'espace (sans contrainte detaille de l'espace à indexer) pour indexer des positions (des points). Le principe, qui estd'utiliser des hachages successifs pour chaque dimension, est illustré �gure B.1 page 138.☞ Du fait de l'indirection de l'indexation sur les intervalles plutôt que sur les objets, certains

auteurs ne classi�ent pas les méthodes de hachage régulier de l'espace parmi les méthodesd'indexation.

2.2.2 Décomposition dynamique et adaptative de l'espaceNous regroupons dans cette section les méthodes utilisant des grilles (grille dans le

sens de découpage de l'espace) de formes variées dont le but est d'obtenir une cardinalitébornée du nombre d'objets indexés dans chaque intervalle (tesselation). De plus, une

1ARéVi: http://www.enib.fr/~harrouet2L'implémentation est limitée à l'indexation de trois dimensions, mais le principe est généralisable àun nombre quelconque de dimensions.

behavioRis 137

Page 140: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe B � Indexation spatiale

σ−→x δ−→x

y

L→x

x

Soit un espace Rn composé de n dimensions ordon-nées Di. A chaque dimension Di est associé un tri-plet Ti = 〈Li, σi, δi〉 avec σi ∈ R une valeur de dé-calage, δi ∈ R la largeur des intervalles dans cettedimension, et Li la liste ordonnée des intervalles I.Chaque intervalle I contient soit le triplet Ti+1 dela dimension suivante, soit une liste de points in-dexés si i = n (la dernière dimension de l'espaceconsidéré).Pour l'exemple ci-contre de dimension 2, la re-cherche d'un point P = (x, y) procède comme suit :� l'intervalle d'indexation sur la dimension −→x cor-respond à l'élément numéro bx−σ−→x

δ−→xc de la liste L−→x ;

� si le point est indexé, il est dans la liste des pointsde l'intervalle numéro by−σ−→y

δ−→yc de la liste L−→y .

Figure B.1 � Service d'indexation spatiale par grille régulière d'ARéVi

telle grille est dite adaptative (au contraire de régulière) si des intervalles connexes peuremplis sont regroupés.

Une grille est multicouche quand elle est constituée d'une suite de grilles adaptatives,dont les découpages sont indépendant mais de moins en moins �n (une manière de gérerdes boîtes englobantes qui chevauchent la limite entre deux intervalles).

Par exemple, un Quad-Tree est une grille adaptative, sous forme d'arbre quaternaire,pour indexer une espace de dimension 2 (une adaptation Oct-Tree indexe un espacetridimensionnel). Le principe est de représenter un intervalle par un n÷ud de l'arbre,et de découper un intervalle en quatre quadrants de même taille à chaque fois que cetintervalle contient un nombre maximum d'objets indexés (on construit alors quatre �lsau n÷ud de l'arbre). Le principe reste su�samment simple pour manipuler des objetsmobiles. Certaines variantes l'améliore grâce à des algorithmes de parcours d'arbres nonlinéaires (Eppstein et al., 2005).

Dans la même famille, le KD-Tree est une décomposition d'un espace en 2 dimensionssous forme d'arbre de recherche binaire. Le découpage d'un intervalle ne se fait plusrégulièrement (cf �gure B.2 page 139) : pour ajouter un point dans un intervalle, si lacardinalité de ce dernier atteint la limite maximum �xée, l'intervalle est coupé en deuxverticalement ou horizontalement (respectivement pour les profondeurs paire ou impairedans l'arbre) par une droite passant par la moyenne respectivement des abscisses ou desordonnées des points contenus dans l'intervalle.

Ces structures sous forme d'arbre sont souvent linéarisables (p. ex. KDB-Tree) sousforme d'arbre équilibré : au prix d'une construction plus coûteuse de la structure, l'accèsaux données est plus rapide (temps logarithmique).

138 Ludovic Coquelle

Page 141: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Méthodes d'indexation

3

5 1 6

9 10 4

8

2 7

1

2

3 5

4

1

4

6

5

2

3

6

1

2

3

6

5

7

4

89

10

Figure B.2 � Construction d'un KD-Tree. Chaque intervalle contient au plus 2 points indexés,chaque n÷ud contient deux �ls (un �ls est soit un intervalle soit un n÷ud). Les points sontajoutés dans l'ordre croissant, et la construction des n÷uds de l'arbre est numérotée égalementsur l'espace par des étiquettes rectangulaires contenant le numéro du n÷ud.

2.2.3 Groupement d'objets par zones de recouvrementCette dernière famille de méthodes d'indexation ne découpe plus l'espace initial en

intervalles connexes, mais dé�nit des boîtes englobantes de plusieurs objets.Ces structures sont sous forme d'arbres équilibrés qui permettent d'indexer des objets

par leur boîte englobante dans un espace de dimension quelconque. La première versionproposée est nommée R-Tree (Guttman, 1984). Un exemple est donné �gure B.3 page140. Les feuilles de l'arbre contiennent les objets (leur boîte englobante, notée mbr pourMinimum Bounding Rectangle) ; elles sont toutes à la même profondeur dans l'arbre(équilibré). Les n÷uds supérieurs enregistrent également le mbr de tous ses �ls. Commepour les méthodes précédentes, le critère de construction de l'arbre réside dans le nombrede �ls de chaque n÷ud. Ici, un n÷ud possède au maximum M �ls, et m ≤ M

2 au minimum(sauf la racine). Ce paramétrage in�uence la taille mémoire nécessaire mais aussi lesperformances d'accès aux données.

Si la recherche d'un objet indexé dans un R-Tree est une descente résursive rapide versla feuille appropriée, la modi�cation de l'index (ajout ou suppression d'une mbr) peutdevenir complexe. Pour insérer un objet, l'arbre est parcouru depuis la racine ; à chaqueniveau, le n÷ud dont la mbr est la moins étendue par l'ajout est choisi ; l'objet est ajoutéau dernier n÷ud feuille atteint. Cependant si la limite maximum est atteinte, le n÷uddoit être coupé en deux : couper un n÷ud ajoute un �ls au n÷ud supérieur qui peut alorsêtre coupé, et ce récursivement jusqu'à la racine. Le même type de procédé est utilisépour la suppression. Guttman a proposé les algorithmes d'ajout et de suppression, ainsique plusieurs algorithmes (exhaustif, quadratique et linéaire) pour découper un n÷ud.

La méthode des R-Tree a ensuite inspiré des ra�nements. Les R+-Tree reprennentle principe mais changent les algorithmes d'ajout et d'insertion pour limiter le recouvre-ment des mbr des n÷uds non-feuilles. La version la plus complexe est celle des R*-Tree(Beckmann et al., 1990), qui non seulement tend à réduire le recouvrement mais aussile chevauchement partiel. Des versions SS-Tree et SR-Tree modi�ent respectivement lesstructures R-Tree et R*-Tree pour utiliser des volumes englobants sphériques qui né-

behavioRis 139

Page 142: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe B � Indexation spatiale

11

12

7

8

9 10

1513

14

1

2

3

4

56

(a) Ordonnancement spatial des mbr (b) Représentation de l'arbre

Figure B.3 � Exemple d'une structure R-Tree indexant 9 mbr en 2d. Les n÷uds de l'arbreréférencent au minimum 2 mbr et 3 au maximum. (b) Les mbr indexées sont numérotées de 7à 15 (les feuilles de l'arbre) ; (a) en traits discontinus sont représentées les mbr construites pourl'indexation.cessitent moins de place en mémoire (cependant ces volumes sont plus grands que lesboîtes). En�n, nous citerons la version des Lazy-Update-R-Tree qui met en ÷uvre cetype d'indexation pour des objets mobiles (Kwon et al., 2002).

3 Conclusions pour nos utilisationsLes premières méthodes présentées (décomposition de l'espace par hachage ou adap-

tativement) ont pour vocation d'être plus dynamiques (plus rapides pour les modi�ca-tions). Elles sont cependant moins faciles à paramétrer pour une utilisation optimale.D'un point de vue utilisation de la mémoire, suivant les techniques le rapport peut chan-ger (un Quad-Tree requiert plus de place qu'un R-Tree qui requiert plus de place qu'unhachage simple). Les avantages des méthodes par R-Tree sont qu'elles peuvent indexerplus de deux dimensions, elles supportent une répartition quelconque des données pourfournir un résultat toujours optimal, et surtout, l'algorithme de recherche des voisins esttrès e�cace (Roussopoulos et Vincent, 1995).

Dans les simulations 3d avec des objets très mobiles (p. ex. des poissons) l'utilisationdes R-Tree n'est pas e�cace, même si l'application utilise intensivement les recherches devoisins. Dans ce cas, les indexations par décomposition de l'espace peuvent être utilisées(l'e�cacité de leur utilisation dépend de l'application).

Par contre, les structures géométriques complexes de l'environnement sont souventstatiques. Quand elles sont décomposables en sous-parties, et si la recherche de sous-partie est pertinente, alors une indexation par R-Tree est tout à fait appropriée (elle estutilisée dans l'application de behavioRis qui modélise un chalut de pêche pour lequell'accès aux di�érentes mailles les plus proches est utilisé).

140 Ludovic Coquelle

Page 143: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe C

Fuzzy Cognitive Map

Ce chapitre présente une dé�nition mathématique des graphes d'in�uence �ous (fcm)avec le calcul de leur évolution itérative décrite dans (Parenthoën et al., 2001).

1 IntroductionLes cartes cognitives sont issues des travaux des psychologues qui introduisirent ce

concept pour décrire des comportements complexes de mémorisation topologique chez lesrats (cognitive maps (Tolman, 1948)). Elles furent ensuite formalisées sous la forme degraphes orientés et utilisées en théorie de la décision appliquée au domaine économique(Axelrod, 1976). Puis elles furent en�n associées à la logique �oue pour devenir les cartescognitives �oues (FCM : Fuzzy Cognitive Maps (Kosko, 1986)). L'utilisation de ces cartesfut même envisagée pour la modélisation globale d'un monde virtuel (Dickerson et Kosko,1994). Nous proposons ici de délocaliser les cartes cognitives �oues au niveau de chaqueindividu. Nous n'avons pas conservé a priori l'idée historique qu'une carte cognitivepuisse représenter une topologie, comme dans le modèle de connaissances SSH (SpatialSemantic Hierarchy (Kuiper, 2000)) où elles sont de véritables cartes de l'environnementsensorimoteur d'un système ; nous ne les utilisons que comme un outil formel, en tantque graphe d'in�uence entre concepts sémantiques.

C 3

C 1 C 4

C 2

−1

+1

+1

−1

−1

−1

+2

La carte ci-contre est formée de 4 concepts et possède 7arcs. Chaque concept Ci a un degré d'activation interne ai.

a =

a1

a2

a3

a4

, L =

0 +2 −1 −10 −1 0 +1−1 0 0 0

0 0 +1 0

Un zéro dans la matrice des liens Lij = 0 désigne l'absenced'arc du concept Ci vers le concept Cj et un élément nonnul de la diagonale Lii 6= 0 correspond à un arc du conceptCi sur lui-même.

Figure C.1 � Carte cognitive �oue : 1er exemple.

2 Dé�nition mathématiqueOn désigne par K l'un des anneaux Z ou R, par δ l'un des nombres 0 ou 1, par V l'un

des ensembles {0, 1}, {−1, 0, 1} ou l'intervalle [−δ, 1]. Soient n ∈ N∗, t0 ∈ N et ρ ∈ R∗+.Une carte cognitive �oue F est un sextuplet < C,A, L,A, fa,R > où :

behavioRis 141

Page 144: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe C � Fuzzy Cognitive Map

1. C={C1, · · · , Cn} est l'ensemble des concepts formant les n÷uds d'un graphe.

2. A ⊂ C × C est l'ensemble des arcs (Ci, Cj) orientés de Ci vers Cj .

3. L :∣∣∣∣ C × C → K

(Ci, Cj) 7→ Lijest une fonction de C × C vers K associant un poids Lij à un

couple de concepts (Ci, Cj), avec Lij = 0 si (Ci, Cj) /∈ A, ou avec Lij égal au poids del'arc orienté de Ci vers Cj si (Ci, Cj) ∈ A. L(C × C) = (Lij) ∈ Kn×n est une matrice deMn(K). C'est la matrice des liens de la carte F que, pour simpli�er, on notera L.

4. A :∣∣∣∣ C → VN

Ci 7→ aiest une fonction qui à chaque concept Ci associe la suite de ses degrés

d'activation telle que pour t ∈ N, ai(t) ∈ V soit son degré d'activation interne à l'instantt. On notera a(t) = [(ai(t))i∈[[1,n]]]T le vecteur des activations internes à l'instant t.

5. fa ∈ (Rn)N une suite de vecteurs d'activations externes tels que pour i ∈ [[1, n]] ett ≥ t0, fai(t) soit l'activation externe du concept Ci à l'instant t.

6. (R) est une relation de récurrence sur t ≥ t0 entre ai(t + 1), ai(t) et fai(t) pour i ∈ [[1, n]]

traduisant la dynamique de la carte F .

(R) : ∀i ∈ [[1, n]], ∀t ≥ t0,

{ai(t0) = 0ai(t + 1) = σ

[gi

(fai(t),

∑j∈[[1,n]] Ljiaj(t)

)] (C.1)

où gi : R2 → R est un opérateur de comparaison entre l'activation interne due au graphed'in�uences ∑Ljiaj(t) et l'activation externe fai

(t) du concept Ci, par exemple :gi(x, y) = min(x, y) , ou max(x, y) , ou αix + βiy , . . .

et où σ : R→ V est une fonction de R vers l'ensemble des degrés d'activation V normalisantles activations comme le montre la �gure C.2.

(1+δ)/2k

(0,0.5,5)σa0

−δ

(1−δ)/2

mode continu

(a) En mode continu, V = [−δ, 1], σ estla fonction sigmoïde σ(δ,a0,ρ) centrée en(a0,

1−δ2 ), de pente ρ · 1+δ

2 en a0 et de li-mites en ±∞ respectivement 1 et −δ :

σ(δ,a0,ρ) :

∣∣∣∣∣∣R → [−δ; 1]

a 7→ 1 + δ

1 + e−ρ(a−a0)− δ

(0,0.5,5)σ

1

0

mode binaire (b) En mode binaire, V = {0, 1} et ρ > 0n'a pas de rôle :

σ : a 7→∣∣∣∣ 0 si σ(0,0.5,ρ)(a) ≤ 0.5, i.e. : a ≤ 0.5

1 si σ(0,0.5,ρ)(a) > 0.5, i.e. : a > 0.5

(1,0,5)σ

+1

0

−1

mode ternaire

(c) En mode ternaire, V = {−1, 0, 1} etplus ρ > 0 est grand, moins facilementles concepts sont indé�nis :

σ : a 7→

∣∣∣∣∣∣−1 si σ(1,0,ρ)(a) < −0.5, i.e. : a < −ln 3/ρ

0 si |σ(1,0,ρ)(a)| ≤ 0.5, i.e. : |a| ≤ ln 3/ρ

1 si σ(1,0,ρ)(a) > 0.5, i.e. : a > ln 3/ρ

Figure C.2 � Fonctions de normalisation des cartes cognitives �oues.

142 Ludovic Coquelle

Page 145: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe D

Réseaux de Petri

L'ambition de ce chapitre est de rappeler rapidement la dé�nition d'un RdP (Réseaude Petri) et quelques notions utilisées dans ce document pour comprendre l'évolution deces réseaux. Ne seront pas abordées les notions sous-jacentes de la théorie des graphes etde l'algèbre linéaire, intervenant dans l'analyse des réseaux.Introduction

Un RdP est un graphe orienté biparti alterné de places (représentéespar des cercles) et transitions (représentées par des rectangles pleins).Chaque place possède un état (un marquage), et l'évolution du marquagedes places est dé�nie par le tirage des transitions.

Introduit dans les années 60 par le mathématicien C.A. Petri (Petri,1962), un RdP est adapté à la représentation de l'évolution d'un systèmeà évènements discrets. Le calcul asynchrone des RdP en fait un modèleadapté aux applications réparties ou aux protocoles de communication.L'intérêt desRdP est que son formalisme s'attache à décrire à la fois l'étatdu processus modélisé mais aussi les transitions entre les états possibles.

Inspiré des RdP �ordinaires�, plusieurs extensions ont été proposées. Nous ne pré-senterons que celles à partir desquelles nous avons construit notre proposition.Dé�nition

Un RdP (ordinaire) est un quadruplet N = 〈P, T, Pre, Post〉 avec :� P = {p1, p2, . . . , pn} un ensemble �ni (non vide) de places,� T = {t1, t2, . . . , tm} un ensemble �ni (non vide) de transitions entre places,� Pre est l'application d'incidence avant telle que

Pre : P × T → {0, 1}

Pre(p, t) ={

1, s'il existe un arc orienté de p vers t0 sinon.

� Post est l'application d'incidence arrière telle quePost : P × T → {0, 1}

Post(p, t) ={

1, s'il existe un arc orienté de t vers p0 sinon.

Un arc orienté d'une place vers une transition (et vice versa) relie la place (res-pectivement transition) d'entrée vers la transition (respectivement place) de sortie. Une

behavioRis 143

Page 146: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe D � Réseaux de Petri

transition sans place d'entrée est une transition source et une transition sans place desortie est une transition puits.Marquage

Chaque place d'un RdP peut contenir une ou plusieurs marques (ou jetons). ; lacon�guration complète du réseau forme le marquage et dé�nit l'état du réseau :Soit Q un RdP à n places {pi, i ∈ {0, · · ·n}}, le marquage de Q est un vecteur dedimension n qui associe à chaque place le nombre de jetons M(pi) ∈ N présents sur cetteplace.Evolution temporelle ou tir de transition

L'évolution d'un RdP correspond à l'évolution de son marquage. Les jetons, quimatérialisent l'état du réseau à un instant donné, peuvent passer d'une place à l'autrepar franchissement ou tir d'une transition.

Mt+1 = (0, 1, 2, 1)

Mt = (1, 2, 1, 0)

�re

Une transition t est franchissable ou sensibilisée ou encore validée sitoutes ses places d'entrées pi (on note pi ∈ ◦t) comportent au moins unnombre de jetons égal au nombre d'arcs orientés vers t : ∀pi ∈ ◦t, M(Pi) ≥Pre(pi, t).

Lorsque t est validée, le franchissement ou tir de la transition consisteà retirer le nombre Pre(pi, t) de jetons des places d'entrées pi ∈ ◦t de t, età ajouter une marque Post(pi, t) dans toutes les places de sorties pi ∈ t◦

(dans un RdP ordinaire, le franchissement d'une transition consiste à retirerun jeton dans chacune des places en amont de la transition et à ajouter unjeton dans chacune des places en aval de celle-ci, cf �gure ci-contre). Ennotant M ′ l'état du réseau succédant l'état M , on obtient :∀pi ∈ P,M ′(pi) = M(pi)− Pre(pi, t) + Post(pi, t)☞ Le réseau ne peut évoluer que par franchissement d'une seule transition à la fois,

transition choisie aléatoirement parmi toutes celles qui sont validées à cet instant.☞ Le franchissement d'une transition est indivisible et de durée nulle.Quelques extensionsRdP généralisé Un RdP est dit généralisé si les arcs comportent une indication de

poids telle que Pre : P × T → N? (de même avec Post). Le franchissement d'unetransition validée, consiste à enlever de chacune des places d'entrée, un nombre dejetons égal au poids de l'arc qui relie la place à la transition et à ajouter un nombrede jetons égal au poids de l'arc qui relie la transition à chacune des places de sortie.

RdP synchronisé Un RdP est dit synchronisé lorsque des événements extérieurs sontassociés aux transitions : le franchissement d'une transition étiquetée s'e�ectue sielle est validée et quand l'évènement se produit.☞ Deux événements externes ne peuvent pas se produire simultanément.

144 Ludovic Coquelle

Page 147: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe E

Exemple de dé�nition de scenariodans behavioRis

< ?xml version="1.0" ?><Scenario>< !-- ==== Configuration ==== --><Con�guration><Path>Data/SimpleExemple</Path><Library name="animals"/><Library name="environment"/><Library name="descriptors"/><BBDLFile name="spHaddock.bea"/>

</Con�guration>< !-- ==== Environment ==== --><Object type="Agent" persistent="TRUE" class="Environment">

<Property>yCurrent = 0.05 * sin(t)</Property></Object>< !-- ==== Trawl ==== --><Object type="Animat" persistent="TRUE" class="Trawl">

<Species name="FooTrawlSpecies"><Controllers><Controller class="BasicDisplacement"><Interval value="0.1"/><Speed x="0.1" y="0.0" z="0.0"/>

</Controller></Controllers>

</Species><RawData><DonFile name="DPTrawlNet/Multi/medl.don"/><MdgFile name="DPTrawlNet/Multi/medl.mdg"/><StaFile name="DPTrawlNet/Multi/medl_122.sta"/><VrmlFile overwrite="no" name="DPTrawlNet/Vrml/medl_122.wrl"/><CatchVrmlFile name="DPTrawlNet/Multi/medl_122.wrl"/>

</RawData><Attachment>< !-- ==== Viewer ==== --><Object type="Object" persistent="TRUE" class="Viewer">

behavioRis 145

Page 148: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe E � Exemple de définition de scenario dans behavioRis

<WindowGeometry><Width value="50"/><Height value="80"/><WidthPos value="0"/><HeightPos value="0"/>

</WindowGeometry><Mapped value="TRUE"/><Decoration value="TRUE"/><FarDistance value="400"/><NearDistance value="0.1"/><BackgroundColor r="0.5" g="0.5" b="0.8"/>

</Object><RelativePosition x="0" y="o" z="5.0"/><RelativeOrientation pitch="PI/2.0"/>

</Attachment></Object>< !-- ==== SpHaddock Creator ==== --><Object type="Agent" persistent="TRUE" class="Creator"><CreatedAnimat class="Animat" species="SpHaddock"/><ActivityParameters period="3" number="5" command="20">< !-- create 20 times 5 animats,

waiting 3 seconds between each creation pool --><Area type="Box"><XDistribution>linearRand(-0.6, -0.1)</XDistribution><YDistribution>linearRand(-0.6, 0.6)</YDistribution>

</Area></Object>< !-- ==== Descriptors ==== --><Descriptors period="0.4212"><Descriptor alias="SpHaddock_x_Description" target="SpHaddock::x"/><Descriptor alias="SpHaddock_y_Description" target="SpHaddock::y"/><Descriptor alias="SpHaddock_z_Description" target="SpHaddock::z"/><Recorder period="1" file="haddock.rec" writer="GNUPlot"><Descriptor alias="SpHaddock_x_Description" condition="self.cond=EVER"/><Descriptor alias="SpHaddock_y_Description" condition="self.cond"/><Descriptor alias="SpHaddock_z_Description" condition="self.cond"/>

</Recorder></Descriptors>

</Scenario>

146 Ludovic Coquelle

Page 149: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe F

Grammaire BNF du langage debehavioRis

1 Dé�nition de la notation bnfbnf (originellement �Backus Normal Form�, renommée �Backus�Naur Form� sur la

suggétion de D. Knuth) est le premier métalangage formel de syntaxe pour exprimerdes grammaires sans contexte (Naur et al., 1960).Principes et syntaxe

Le principe est de partir d'un symbole et d'utiliser des règles de remplacement lexico-graphique. Le langage dé�ni par une grammaire bnf est l'ensemble de toutes les chaînesde caractères qui peuvent être produites à partir de ses règles. Par abus de langage, nousdésignerons par bnf la grammaire d'un langage elle-même (plutôt que le langage per-mettant de décrire cette grammaire) et préciserons �grammaire bnf� pour parler de lasyntaxe bnf.

Les règles sont appelées règles de production et s'écrive de la manière suivante :symbol ::= alternative1 | alternative2 . . .Une règle de production signi�e que le symbole à gauche du signe ::= doit être remplacépar un des symboles de l'alternative à droite de ce signe. Une alternative est constituéede métasymbole, terminaux et non-terminaux.

� Un métasymbole est un symbole de la syntaxe bnf : ::= signi�e �est dé�ni par�et le symbole | sépare deux alternatives.

� Les symboles terminaux sont les symboles manipulés par le langage décrit par lesrègles de sa bnf (terminal signi�e qu'il n'existe pas de règle de production quis'applique à eux, et donc que ces symboles termine le processus de production).Nous les noterons symb.

� Les symboles non-terminaux sont les symboles qui doivent être transformés parles règles de production (à la �n des processus de production, il n'existe plus desymbole de non-terminaux dans le résultat). Ils seront notés <symb>.

Extensions vers ebnfComme la syntaxe bnf est largement utilisée, di�érentes extensions (Extended Backus�

Naur Form (ebnf)) améliorent son expressivité (en facilité d'expression, pas en capacité)avec des notations plus pratiques (qui trouvent leurs traductions dans la syntaxe bnf) :

behavioRis 147

Page 150: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe F � Grammaire BNF du langage de behavioRis

� [. . .] est utilisé pour dénoter des symboles optionnel, ie 0 ou 1 occurence de l'ex-pression ;

� {. . .} dénote une fermeture, ie 0 ou plus occurence(s) de l'expression ;� (. . . ) est utilisé pour changer la précédence des applications de règles.

2 Le langage de behavioRis

Cette section présente une version simpli�ée de la spéci�cation ebnf du langage bbdlde behavioRis :

� certaines règles de syntaxe sont omises (la mise en page et les sauts de lignes sontlaissés implicites pour donner une vue plus compréhensible de la grammaire) ;

� certains élément non-terminaux ne sont pas explicités :� <ident> : toute chaîne de caractères composées de lettres ou chi�res.� <string> : toute chaîne de caractères encadrée par des doubles guillemets simples(syntaxe anglophone).

Le symbole de départ est <species> ; quelques commentaires sont inserés dans lagrammaire.species ::=

Species <ident> : {<spElt>} EndspElt ::=

<shape> | <property> | <action> | <component>shape ::=

Shape <type> <ident><ident> is a shape name ;currently implemented type is Vrml(path=<string>, shared=<bool>)

property ::=Property <ident> = <string><string> is an arithmetic formula

action ::=Action <type> <ident>currently implemented types are :- AttachTo : attach object's shape given as argument to the animat- TrawlEscape : simulate escape from trawl object given as argument

component ::=Perception <type> [<ident>] : {<compElt> | <perceptElt>} End| InternalState <type> [<ident>] : {<compElt> | <stateElt>} End| Behavior <type> [<ident>] : {<compElt> | <beaElt>} End| Controller <type> [<ident>] : {<compElt> | <ctrlElt>} End

compElt ::=Trigger <type>currently implemented types are :- Clock(interval=<double>) (for periodic release)- OnRequest(interval=<double>) (release when some component request answer)

stateElt ::=Concept <ident> [is_active <number>]| Spring <ident>| Well <ident>

148 Ludovic Coquelle

Page 151: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Le langage de behavioRis

| [<ident> :] <ident> in�uence <ident> [with_factor <number>]�rst <ident> is the link's name ; <number> is the link's strength

perceptElt ::=Detector <type>currently implemented types are :- FieldOfView- Environment- Altimeter

| Filter <type>currently implemented types are :- LocalVector (3 inputs are converted in local coordinates)- CartToSpherical (3 cartesians inputs are converted in spherical coordinates)

ctrlElt ::=Selector <type>currently implemented types are :- Fusion (balanced mean)- Selection (maximum)

| Actuator <type>currently implemented types are :- AngularPosition (inputs are new desired positions)- LinearSpeed (inputs are speed commands)planed type's implementations are :- Color (change colour of tri-dimensionnel (3d) shape)

| Constraint <type>currently implemented types are :- EnvironmentFlow (add a displacement due to environment �ow speed)- NoIntersect (restrict displacement to not intersect with an object)

beaElt ::=Linguistic : {<lingElt>} End| Pattern : {<patElt>} End

lingElt ::=<ident> is speciesValue ( <ident> )property <ident> contains a fuzzy value description

| <ident> is <string><string> describes a fuzzy value

patElt ::=if <premises> then <consequences> end| <consequence>

premises ::=<premise> [{(and | or) <premise>}]

premise ::=<sensorSymb> is [(not | very | not_very)] <lingSymb>

consequences ::=<consequence> [{and <consequence>}]

consequence ::=| <actuatorSymb> is <actionSymb>

actuatorSymb ::=state . <ident>

behavioRis 149

Page 152: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Annexe F � Grammaire BNF du langage de behavioRis

| perform . <ident> ( (<sensorSymb> | <lingSymb>) )implementation support actually only <ident> as argument

| <selector>actionSymb ::=

<actionSymbBase>| <actionSymbFun1> ( <actionSymb> )| <actionSymbFun2> ( <actionSymb> , <number> )

actionSymbFun1 ::=opposite | oppositeAngle | globalRoll | globalPitch | globalYaw

actionSymbFun2 ::=randomizerandomize(X,v) shift the membership de�nition of X from value choosen in interval [−v, v]

| fuzzyfy | addactionSymbBase ::=

(<lingSymb> | <sensorSymb>)lingSymb ::=

<ident>sensorSymb ::=

state . <ident>| [self .] <selector>| <chooser> ( <ident> [. <selector>] )

default selector is distance| <ident> [. <selector>]

default chooser is �rst, default selector is distance| <enumerator> ( <ident> ) [. <selector>]

default selector is distancechooser ::=

min | max | absmax | absmin | �rst | lastenumerator ::=

meanselector ::=

<ident>actually implementation di�er for core selectors :- x, y, z, dist, pitch, yaw- xSpeed, ySpeed, zSpeed- rollOr, pitchOr, yawOr

150 Ludovic Coquelle

Page 153: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bibliographie

Agre, P. et Chapman, D. (1990). What are plans for ? Robotics and Autonomous Systems,6(1�2) :17�34. ↪→ p. 39

Arkin, R. C. (1987). Motor schema based navigation for a mobile robot : An approachto programming by behavior. Dans IEEE Conference Robotics and Automatics, pages264�271, Raleigh, NC. ↪→ p. 39

Arkin, R. C. (1998). Behavior-based robotics. MIT Press. ↪→ p. 39Arkin, R. C. et Balch, T. (1997). AuRA : principles and practice in review. Journal ofExperimental & Theorical Arti�cial Intelligence, 9(2) :175�189. ↪→ p. 40

Axelrod, R. (1976). Structure of Decision. Princeton University Press, Princeton, NewJersey. ↪→ p. 141

Baerends, G. (1976). The functional organization of behaviour. Animal Behavior, 24 :726�738. ↪→ p. 29

Bajec, I. L., Zimic, N., et Mraz, M. (2005). Simulating �ocks on the wing : the fuzzyapproach. Journal of Theoretical Biology, 233(2) :199�220. ↪→ p. 33, 87, 120

Beckmann, N., Kriegel, H., Schneider, R., et Seeger, B. (1990). The R*-tree : an e�cientand robust access method for points and rectangles. Dans SIGMOD Conference, pages322�331, Atlantic City, NJ. ↪→ p. 139

Beer, R. D., Chiel, H. J., et Sterling, L. S. (1990). A biological perspective on autonomousagent design. Robotics and Autonomous Systems, 6 :169�186. ↪→ p. 22

Blumberg, B. M. (1997). Old Tricks, New Dogs : Ethology and Interactive Creatures.PhD thesis, Massachussets Institute of Technology. ↪→ p. 44, 63, 68

Boidin, C. et Julliard, F. (2005). Apport, dans un cadre purement fonctionnel, d'uneméthodologie pour la spé�cication et l'implémentation de simulations orientées-agents.Actes du séminaire du LISyC. ↪→ p. 127

Bonarini, A., Invernizzi, G., Halva Labella, T., et Matteucci, M. (2003). An architectureto coordinate fuzzy behaviors to control an autonomous robot. Fuzzy Set and System,134 :101�115. ↪→ p. 47, 48

Booth, G. (1997). Gecko : A continuous 2-D world for ecological modeling. Arti�cialLife, 3(3) :147�163. ↪→ p. 51

Bouchon-Meunier, B. et Marsala, C. (2003). Logique �oue, principes, aide à la décision.Informatique et systèmes d'information. Hermes. ↪→ p. 129

behavioRis 151

Page 154: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bibliographie

Bousquet, F., Bakam, I., Proton, H., et Le Page, C. (1998). CORMAS : Common-poolresources and multi-agent systems. Lecture notes in Computer Science, 1416 :826�837.↪→ p. 9, 52

Bratman, M. E. (1987). Intentions, Plans and Practical Reason. Harvard UniversityPress. ↪→ p. 35

Bridgeman, B. (1998). Simple conscious percepts require complex unconscious processing.PSYCHE, 4(6)http://psyche.cs.monash.edu.au/v4/psyche-4-06-bridgeman.html. ↪→ p. 61

Briot, J.-P. et Demazeau, Y. (2001). Principes et architecture des systèmes multi-agents.Informatique et Systèmes d'Information. Hermes Lavoisier. ↪→ p. 35

Brogan, D. C. et Hodgins, J. K. (1997). Group behaviors for systems with signi�cantdynamics. Autonomous Robots, 4 :137�153. ↪→ p. 33, 75

Brooks, R. A. (1986). A robust layered control system for a mobile robot. IEEE Journalof Robotics and Automation, 2(1) :14�23. ↪→ p. 36, 38

Bryson, J. (2000). Cross-paradigm analysis of autonomous agent architecture. Journalof Experimental & Theorical Arti�cial Intelligence, 12(2) :165�189. ↪→ p. 18, 22, 29,35

Buche, C., Parenthoën, M., et Tisseau, J. (2002). Learning by imitation of behaviorsfor autonomous agents. Dans 3rd International Conference on Intelligent Games andSimulation, GAME-ON 2002, pages 89�93, London, United Kingdom. ↪→ p. 69

Cannon, W. (1927). The james-lange theory of emotion : A critical examination and analternative theory. American Journal of Psychology, 39 :106�124. ↪→ p. 28

Cheng, R., Kalashnikov, D. V., et Prabhakar, S. (2002). Querying imprecise data inmoving object environments. Technical Report TR 02-020, Purdue University. ↪→ p.136

Coquelle, L., Buche, C., et Chevaillier, P. (2004). Un langage à base de logique �oue pourla simulation de comportements individuels d'animaux. Dans Rencontres Francophonessur la Logique Floue et ses Applications (LFA'04), pages 379�386, Nantes, France.Cépadues�Éditions. ↪→ p. 86

Coquelle, L. et Chevaillier, P. (2005). behavioris : une architecture d'agent et un langagepour la simulation de modèles de comportements animaux. Dans 3ième Conférenceinternationale Recherche, Innovation et Vision du Futur (RIVF), pages 38�45, CanTho, Vietnam. ↪→ p. 61

Coquillard, P. et Hill, D. R. (1997). Modélisation et simulation d'écosystèmes. Ecologie.Masson. ↪→ p. 21, 34

Darwin, C. (1959). On the origin of species. Gutenberg eBookhttp://www.literature.org/authors/darwin-charles/the-origin-of-species.↪→ p. 15

152 Ludovic Coquelle

Page 155: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Dean, J. (1998). Animats and what they can tell us. Trends in Cognitive Sciences,2(2) :60�67. ↪→ p. 20

Dickerson, J. A. et Kosko, B. (1994). Virtual worlds as fuzzy cognitive maps. Presence,3(2) :173�189. ↪→ p. 69, 141

Dougall, W. (1926). An outline of abnormal psychology. American Journal of Psychiatry,156 :1677�1685. ↪→ p. 29

Drath, R. (1998). Hybrid object nets : an object oriented concept for modelling complexhybrid systems. Dans Proceedings of the Hybrid Dynamical Systems, 3rd InternationalConference on Automation of Mixed Processes (ADPM'98), pages 437�442. ↪→ p. 70

Drogoul, A. et Ferber, J. (1994). Multi-agent simulation as a tool for modeling societies :Application to social di�erentiation in ant colonies. Dans Castelfranchi, C. et Werner,E., editors, 4th European Workshop on Modelling Autonomous Agents in a Multi-AgentWorld (MAAMAW'92), pages 3�23, Berlin, Heidelberg. Springer. ↪→ p. 51

Eberly, D. H. (2001). 3D Game Engine Design : A Practical Approach to Real-TimeComputer Graphics. Interactive 3D Technology. The Morgan Kaufmann Series. ↪→ p.118

Edmonds, B. et Bryson, J. J. (2004). The insu�ciency of formal design methods � thenecessity of an experimental approach - for the understanding and control of complexmas. Dans Third International Joint Conference on Autonomous Agents and Mul-tiagent Systems (AAMAS'04), volume 2, pages 938�945, New York City, New York,USA. ↪→ p. 34

Emami, M. R., Goldenberg, A., et Turksen, I. (2000a). Systematic design and analysisof the fuzzy-logic control and application to robotics, part i : Modeling. Robotics andAutonomous Systems, 33 :65�88. ↪→ p. 87

Emami, M. R., Goldenberg, A., et Turksen, I. (2000b). Systematic design and analysisof the fuzzy-logic control and application to robotics, part ii : Control. Robotics andAutonomous Systems, 33 :89�108. ↪→ p. 87

Endo, Y. et Arkin, R. C. (2001). Implementing tolman's schematic sowbug : Behavior-based robotics in the 1930's. Dans International Conference of Robotics and Automa-tion (ICRA), pages 477�484, Seoul. ↪→ p. 40

Eppstein, D., Goodrich, M. T., et Sun, J. Z. (2005). The skip quadtree : A simple dynamicdata structure for multidimensional data. Dans 21st ACM Symposium ComputationalGeometry, pages 296�305, Pisa. ↪→ p. 138

Faulkner, S. et Kolp, M. (2003). Towards an agent architectural description language forinformation systems. Dans 5th International Conference on Enterprise InformationSystems, ICEIS 2003, pages 59�66, Angers, France. ↪→ p. 35

Fréon, P. et Misund, O. A. (1998). Dynamics of pelagic �sh distribution and behaviour :e�ects on �sheries and stock assessment, chapter 4 - Schooling behaviour. Iowa StatePress, Blackwell Science. ↪→ p. 32

behavioRis 153

Page 156: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bibliographie

Frezza-Buet, H. et Alexandre, F. (2002). From a biological to a computational model forthe autonomous behavior of an animat. Information Sciences, 144(1�4) :1�43. ↪→ p.48

Funge, J. D. (1998). Making Them Behave : Cognitive Models for Computer Animation.PhD thesis, University of Toronto, Toronto, Canada. ↪→ p. 20, 54

Gamma, E., Helm, R., Johnson, R., et Vlissides, J. (1995). Design patterns : elementsof reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc.,Boston, MA. ↪→ p. 81

García-Pérez, L. et Garcia-Alegre, M. C. (2001). A simulation environment to test fuzzynavigation strategies based on perceptions. Dans 10th IEEE International Conferenceon Fuzzy Systems, pages 590�593, Melbourne. ↪→ p. 46

Gardner, M. et Heyes, C. (1998). Splitting lumping and priming. Brain and BehavioralScience, 21(5) :695. ↪→ p. 29

Giske, J., Huse, G., et Berntsen, J. (2001). Spatial modelling for marine resource mana-gement, with a focus on �sh. Dans Workshop on marine spatial modelling, volume 86,pages 405�410. ↪→ p. 21

Green, D. G. et Sadedin, S. (2005). Interactions matter�-complexity in landscapes andecosystems. à paraître dans Ecological Complexity. ↪→ p. 20

Grimm, V. (1999). Ten years of individual-based modelling in ecology : what have welearned and what could we learn in the future ? Ecological Modeling, 115 :129�148. ↪→p. 22

Guillot, A. et Meyer, J.-A. (1998). Synthetic animals in synthetic worlds. Dans CyberWorlds, pages 111�123, Tokyo. Springer-Verlag. ↪→ p. 15, 23

Gulyás, L. et Kozsik, T. (1999). The use of aspect-oriented programming in scienti�csimulations. Dans 6th Fenno-Ugric Symposium on Software Technologyi (FUSST'99),Sagadi, Estonia, pages 17�28. ↪→ p. 53

Gurney, K., Prescott, T., et Redgrave, P. (2001a). A computational model of actionselection in the basal ganglia. I. A new functional anatomy. Biological Cybernetics,84(6) :401�410. ↪→ p. 48

Gurney, K., Prescott, T., et Redgrave, P. (2001b). A computational model of actionselection in the basal ganglia. II. analysis and simulation of behaviour. BiologicalCybernetics, 84(6) :411�423. ↪→ p. 48

Guttman, A. (1984). R-trees : dynamic index structure for spatial searching. Dans ACMSIGMOD, pages 47�57, Boston, MA. ↪→ p. 63, 139

Guyomarc'h, J.-C. (1995). Ethologie - Seconde édition. Abrégés. Masson. ↪→ p. 24Harrouet, F. et al (2006). Le traité de la réalité virtuelle - 3e édition. Presses de l'Ecoledes Mines (à paraître). ↪→ p. 79

154 Ludovic Coquelle

Page 157: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Harrouet, F., Tisseau, J., Reignier, P., et Chevaillier, P. (2002). oRis : un environnementde simulation interactive multi-agents. Revue des sciences et technologie de l'infor-mation, série Technique et science informatiques (RSTI�TSI), 21(4) :499�524. ↪→ p.79

He, P. (1993). Swimming speeds of marine �sf in relation to �shing gears. Dans ICESSymposium, volume 196, pages 183�189. ↪→ p. 114

Heleno, P. et dos Santos, P. (1998). Arti�cial animals in virtual ecosystems. ComputerNetworks and ISDN Systems, 90(20�21) :1923�1932. ↪→ p. 20

Hendriks-Jansen, H. (1996). Catching Ourselves in the Act : Situated Activity, InteractiveEmergence, Evolution, and Human Thought. MA. Cambridge, MIT Press. ↪→ p. 29

Herrmann, B. (2005). E�ect of catch size and shape on the selectivity of diamond meshcod-ends. i - model development. Fisheries Research, 71(1) :1�13. ↪→ p. 114, 116

Hokkanen, J. (1999). Visual simulations, arti�cial animals and virtual ecosystems. TheJournal of Experimental Biology, 202 :3477�3484. ↪→ p. 9, 15

Holland, O. et McFarland, D. (2001). Arti�cial ethology. OXFORD University Press.↪→ p. 17, 20, 27, 29, 34

Houssin, D., Bornhofen, S., Souissi, S., et Ginot, V. (2002). Entre programmation parcomposants et langages d'experts - rendre la modélisation individu-centrée plus acces-sible à l'utilisateur. 21(4) :525�548. ↪→ p. 52, 81

Huse, G., Giske, J., et Gro Vea Salvanes, A. (2002). Fish and Fisheries Handbook. VolumeII., chapter 11 Individual-based modelling. P.J.B. Hart and J.D. Reynolds (Eds). ↪→p. 21

Huth, A. et Wissel, C. (1991). The simulation of the movement of �sh schools. Journalof Theoretical Biology, 156 :365�385. ↪→ p. 32

Isla, D., C. Burke, R., Downie, M., et Blumberg, B. (2001). A layered brain architec-ture for synthetic creatures. Dans IJCAI International Joint Conference on Arti�cialIntelligence, Seattle, WA, pages 1051�1058. ↪→ p. 44, 45, 66

Jensen, C. S. et �altenis, S. (2002). Towards increasingly update e�cient moving-objectindexing. IEEE Data Engineering Bulletin, 5(2) :35�40. ↪→ p. 136

Jonhson, R. et Foote, B. (1988). Designing reusable classes. Journal of Object-OrientedProgramming, 1(2) :22�35. ↪→ p. 35

Jonker, C. M. et Treur, J. (2001). Agent-based simulation of animal behaviour. Journalof Applied Intelligence, 15 :83�115. ↪→ p. 49

Kim, Y.-H. et Wardle, C. S. (2003). Optomotor response and erratic response : quantita-tive analysis of �sh reaction to towed �shing gears. Fisheries Research, 60(2�3) :455�470. ↪→ p. 114

Kim, Y.-H. et Wardle, C. S. (2005). Basic modelling of �sh behaviour in a towel trawlbased on chaos in decision-making. Fischeries Research, 73 :217�229. ↪→ p. 114

behavioRis 155

Page 158: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bibliographie

Kosko, B. (1986). Di�erential hebbian learning. Dans AIP Conference proceedings, vo-lume 151, pages 277�282. American institute of Physics. ↪→ p. 69, 141

Kuiper, B. (2000). The spatial semantic hierarchy. Arti�cial Intelligence, 119 :191�233.↪→ p. 141

Kwon, D., Lee, S., et Lee, S. (2002). Indexing the current positions of moving objectsusing the lazy update r-tree. Dans IEEE Third International Conference on MobileData Management, page 113, Singapore. ↪→ p. 140

Laird, J. E., Newel, A., et Rosenbloom, P. S. (1987). Soar : An architecture for generalintelligence. Arti�cial Intelligence, 33 :1�64. ↪→ p. 50

Lashley, K. (1951). The problem of serial order in behavior. Cerebral Mechanisms inBehavior, pages 112�136. ↪→ p. 29

Likhachev, M., Kaess, M., Kira, Z., et Arkin, R. C. (2002). Learning behavioral parame-terization using spatio-temporal case-based reasoning. Dans ICRA, pages 1282�1289.↪→ p. 40

Liu, H. et Lieberman, H. (2005). Metafor : visualizing stories as code. Dans 10th Interna-tional Conference on Intelligent User Interfaces, pages 305�307, San Diego, California,USA. ↪→ p. 53

Lorek, H. et Sonnenschein, M. (1999). Modelling and simulation software to supportindividual-based ecological modelling. Ecological Modeling, 115(2-3) :199�216. ↪→ p.34, 52

Lorenz, K. (1950). The comparative method in studying innate behaviour patterns.Symp. Soc. exp. Biol., 4 :221�268. ↪→ p. 27, 28

Lötzsch, M., Bach, J., Burkhard, H.-D., et Jüngel, M. (2004). Designing agent behaviorwith the extensible agent behavior speci�cation language xabsl. Dans Springer, t. a.,editor, 7th International Worshop on RoboCup 2003 (Robot World Cup Soccer Gamesand Conferences), Lecture Notes in Arti�cial intelligence, Padova, Italy. ↪→ p. 53

Maes, P. (1989). How to do the right thing. Connection Science Journal, Special Issueon Hybrid Systems, 1(3) :291�323. ↪→ p. 36, 37, 40

Main, J. et Sangster, G. (1981). A study of the �sh capture process in a bottom trawlby direct observations from a towed underwater vehicle. Technical Report 23, ScottishFisheries Research. ↪→ p. 114

Matari¢, M. J. (1998). Behavior-based robotics as a tool for synthesis of arti�cial beha-viors and analysis of natural behavior. Trends in Cognitive Science, 2(3) :82�87. ↪→p. 36

McFarland, D. (1999). Animal Behaviour - Psychobiology, ethology and evolution - ThirdEdition. Prentice Hall. ↪→ p. 24

Meurisse, T. et Briot, J.-P. (2001). Une approche à base de composants pour la conceptiond'agents. Technique et science informatiques, 20(4) :567�586. ↪→ p. 34

156 Ludovic Coquelle

Page 159: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Meyer, J.-A., Guillot, A., Girard, B., Khamassi, M., Pirim, P., et Berthoz, A. (2005).The Psikharpax project : Towards building an arti�cial rat. Robotics and AutonomousSystems, 50(4) :211�223. ↪→ p. 22, 23

Minsky, M. (1965). Matter, mind and models. Dans International Federation of Infor-mation Processing Congress, volume 1, pages 45�49. ↪→ p. 14, 126

Minsky, M. (1985). The Society of Mind. NY :Simon and Schuster Inc. ↪→ p. 29Müller, J. P. (1996). The Design of Intelligent Agents. A Layered Approach. Springer,lnai state-of-the-art survey edition. ↪→ p. 36

Naur, P., Backus, J. W., Bauer, F. L., Green, J., Katz, C., MacCarthy, J., Perlis, A. J.,Rutishauser, H., Samelson, K., Vauquois, B., Wegstein, J. H., van Wijngaarden, A.,et Woodger, M. (1960). Report on the algorithmic language algol 60. NumerischeMathematik, 2 :106�136. ↪→ p. 147

Newell, A. et Simon, H. (1963). GPS : A program that simulates humen thoughts.Computers and Thought, pages 279�293. ↪→ p. 40

O'Neill, F., McKay, S., Ward, J., Strickland, A., Kynoch, R., et Zuur, A. (2003). Aninvestigation of the relationship between sea state induced vessel motion and cod-endselection. Fisheries Research, 60 :107�130. ↪→ p. 114

Ord, T. J., Martins, E. P., Thakur, Sidharth †and Mane, K. K., et Börner, K. (2005).Trends in animal behaviour research (1968�2002) : ethoinformatics and the mining oflibrary databases. Animal Behavior, 69(6) :1399�1413. ↪→ p. 9

Özbilgin, H. et Wardle, C. (2002). E�ect of seasonal temperature changes on the escapebehaviour of haddock,Melanogrammus aegle�nus, from the codend. Fisheries Research,58 :323�331. ↪→ p. 114

Parenthoën, M., Buche, C., et Tisseau, J. (2002). Action learning for autonomous virtualactors. Dans 3rd International Symposium on Robotics and Automation, ISRA 2002,pages 549�554, Toluca, Mexico. ↪→ p. 69

Parenthoën, M., Tisseau, J., Reignier, P., et Dory, F. (2001). Agents's perception andcharactors in virtual world : Put fuzzy cognitives maps to work. Dans VRIC 2001proceeding, pages 11�18. ↪→ p. 69, 141

Perlin, K. et Goldberg, A. (1996). Improv : a system for scripting interactive actors invirtual worlds. Dans Press, A., editor, Proceedings of the 23rd annual conference onComputer graphics and interactive techniques, pages 205�216, New York, NY, USA.↪→ p. 53

Petri, C. A. (1962). Kommunikation mit Automaten. PhD thesis, University of Bonn.↪→ p. 143

Pirjanian, P. (1999). Behavior coordination mechanisms � state-of-the-art. Technicalreport, USC Robotics Research Laboratory, University of Southern California, LosAngeles, CA 90089-0781. ↪→ p. 37, 40, 41

behavioRis 157

Page 160: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bibliographie

Pirjanian, P. et Matari¢, M. (1999). A decision theoretic approach to fuzzy behaviorcoordination. Dans IEEE International Symposium on Computational Intelligence inRobotics & Automation (CIRA99), Monteray, CA. ↪→ p. 46

Priour, D. (1999). Calculation of net shapes by the �nite element method with triangularelements. Communications in Numerical Methods in Engineering, 15(10) :755�763. ↪→p. 115

Ramat, E. et Preux, P. (2003). "virtual laboratory environment" (VLE) : a software en-vironment oriented agent and object for modeling and simulation of complex systems.Simulation Modelling Practice and Theory, 11(1) :45�55. ↪→ p. 50

Regula, T. C. et Viscido, S. (2005). Simulated evolution of sel�sh herd behavior. Journalof Theoretical Biology, 234 :213�225. ↪→ p. 32

Reuter, H. et Breckling, B. (1994). Self-organization of �sh schools : an object-orientedmodel. Ecological Modeling, 75/76 :147�159. ↪→ p. 32

Reynolds, C. (1999). Steering behaviors for autonomous characters. Dans Game Deve-lopers Conference (GDC), pages 763�782, San Jose, California. Miller Freeman GameGroup, San Francisco. ↪→ p. 75, 102

Reynolds, C. W. (1987). Flocks, herds, and schools : A distributed behavioral model.Computer Graphics, 21(4) :25�34. ↪→ p. 30, 31

Richard, N., Codognet, P., et Grumbach, A. (2003). Créatures virtuelles. Vie arti�cielle,série Technique et science informatiques (RSTI�TSI), 22(2) :221�243. ↪→ p. 36, 51

Ricordel, P.-M. et Demazeau, Y. (2001). From analysis to deployment : A multi-agentplatform survey. Dans Engineering Societies in the Agent World, First InternationalWorkshop, Lecture Notes in Computer Science, ESAW 2000, volume 1972, pages 93�105. ↪→ p. 34

Ricordel, P.-M. et Demazeau, Y. (2002). La plate-forme volcano - modularité et réutili-sation pour les systèmes multi-agents. 21(4) :447�471. ↪→ p. 34

Ropella, G. E., Railsback, S. F., et Jackson, S. K. (2002). Software engineering conside-rations for individual-based models. Natural Resource Modeling, 15(1). ↪→ p. 34

Rosenblatt, J., Williams, S., et Durrant-Whyte, H. (2002). A behavior-based architecturefor autonomous underwater exploration. Information Sciences, 145(1-2) :69�87. ↪→p. 43

Rosenblatt, J. K. (1995). DAMN : A distributed architecture for mobile navigation.Dans Proc. of the AAAI Spring Symp. on Lessons Learned from Implememted SoftwareArchitectures for Physical Agents, volume 1, pages 167�178, Stanford, CA. ↪→ p. 42,93

Rosenblatt, J. K. (1997). DAMN : A Distributed Architecture for Mobile Navigation.PhD thesis, Robotics Institute, Carnegie Mellon University, Pittsburgh, PA. ↪→ p. 75

Roussopoulos, Nick abd Kelley, S. et Vincent, F. (1995). Nearest neighbor queries. DansACM-SIGMOD, pages 71�79. ↪→ p. 63, 140

158 Ludovic Coquelle

Page 161: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Sa�otti, A. (1997). Fuzzy logic in autonomous robotics : behavior coordination. DansProcs. of the 6th IEEE Int. Conf. on Fuzzy Systems, pages 573�578, 1109 Spring Street,Suite 300, Silver Spring, MD 20910, USA. IEEE Computer Society Press. ↪→ p. 46

Sche�er, M., Baveco, J., DeAngelis, D. L., Rose, K. A., et van Nes, E. H. (1995). Super-individuals a simple solution for modelling large populations on an individual basis.Ecological Modeling, 80(2-3) :161�170. ↪→ p. 22

Scheutz, M. et Andronache, V. (2002). Architectural mechanisms for the dynamic mo-di�cation of action selection strategies. ↪→ p. 50

Scheutz, M. et Andronache, V. (2004). Integrating theory and practice : The agent archi-tecture framework apoc and its development environment ade. Dans Third Internatio-nal Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS'04),volume 3, pages 1014�1021, New York City, New York, USA. ↪→ p. 50

Sempé, F., Nguyen-Duc, M., Boucher, A., et Drogoul, A. (2005). An arti�cial maieuticapproach for eliciting expert's knowledge in multi-agent simulation. Dans Fourth Inter-national Joint Conference on Autonomous Agents and MultiAgent Systems (AAMAS)(à paraître), Utrecht (Netherlands). ↪→ p. 127

Song, Z. et Roussopoulos, N. (2001). Hashing moving objects. Dans Second InternationalConference on Mobile Data Management (MDM'01), pages 161�172, London, UK.Springer-Verlag. ↪→ p. 137

Souissi, S., Seuront, L., Schmitt, F. G., et Ginot, V. (2005). Describing space-timepatterns in aquatic ecology using ibms and scaling and multi-scaling approaches. Non-linear Analysis : Real World Applications, In Press, Corrected Proof, Available online29 January 2005. ↪→ p. 52

Thomas, R. K. (2001a). Lloyd morgan's canon : A history of misrepresentationhttp://eprints.yorku.ca/archive/00000017/00/MCWeb.htm. ↪→ p. 30

Thomas, R. K. (2001b). Thinking clearly about concepts in behavioral sciencehttp://www.arches.uga.edu/~rkthomas/ClearThinking.htm. ↪→ p. 15, 16

Tinbergen, N. (1951). The study of instinct. Clarendon Press, Oxford, England. ↪→ p.25, 29

Tisseau, J. (2001). Réalité virtuelle : autonomie in virtuo. Habilitation à Diriger desRecherches, Université de Rennes I. ↪→ p. 80

Tolman, E. C. (1948). Cognitive maps in rats and men. Psychological Review, 42(55) :189�208. ↪→ p. 141

Topping, C. J., Hansen, T. S., Jensen, T. S., Jepsen, J. U., Nikolajsen, F., et Odderskæ r,P. (2003). Almass, an agent-based model for animals in temperate european landscapes.Ecological Modeling, 167 :65�82. ↪→ p. 52

Trenkel, V. M., Bailly, N., Berthele, O., B., O., Causse, R., De Corbiere, F., Dugornay, O.,Ferrant, A., Gordon, J., Latrouite, D., Le Piver, D., Kergoat, B., Lorance, P., Mahevas,S., Mesnil, B., Poulard, J.-C., Rochet, M.-J., Tracey, D., Vacherot, J.-P., Veron, G.,et Zibrowius, H. (2002). First results of a quantitative study of deep-sea �sh on the

behavioRis 159

Page 162: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bibliographie

continental slope of the bay of biscay : Visual observations and trawling. Dans ICESCM 2002/L :18. ↪→ p. 99, 109

Trenkel, V. M., Mahévas, S., Lorance, P., et Masset, J. (2003). Evaluation of visualtransects for estimating trawl e�ciency of deep-sea �sh species. Dans ICES Symposiumon �sh behaviour in exploited ecosystems. ↪→ p. 98

Tron, E. et Margaliot, M. (2004). Mathematical modeling of observed natural behavior :a fuzzy logic approach. Fuzzy Sets and Systems, 146(3) :437�450. ↪→ p. 73, 87

Tu, X. (1996). Arti�cial Animals for Computer Animation : Biomechanics, Locomotion,Perception, and Behavior. PhD thesis, University of Toronto. ↪→ p. 20

Tunstel, E., de Oliveira, M. A. A., et Berman, S. (2002). Fuzzy behavior hierarchies formulti-robot control. International Journal of Intelligent Systems, 17 :449�470. ↪→ p.47

Tyrrel, T. (1993). Computational Mechanisms for Action Selection. PhD thesis, Univer-sity of Edinburg. ↪→ p. 37, 42

Viscido, S., Miller, M., et Wethey, D. S. (2002). The dilemma of the sel�sh herd : Thesearch for a realistic movement rule. Journal of Theoretical Biology, 217(2) :183�194.↪→ p. 32

von Holst, E. et Mittelstaedt, H. (1950). Das rea�erenzprinzip. Naturwiss, 37 :464�476.↪→ p. 28

Walsh, S. J. et Godo, O. R. (2003). Letter to the editor - quantitative analysis of �shreaction to towed �shing gears � what responses are important ? Fisheries Research,63 :289�292. ↪→ p. 114

Wang, F. et McKenzie, R. (1998). Virtual Life in Virtual Environments. Technical ReportECS-CSG-44-98, Department of Computer Science, University of Edinburgh. ↪→ p. 9,20

Wardle, C. (1993). Behaviour of Teleost Fishes, 2nd edn., chapter 8. Fish behaviour and�shing gear. Chapman & Hall. ↪→ p. 114

Watts, J. (1998). Animats : computer-simulated animals in behavioral research. Journalof Animal Science, 76(10) :2596�2604. ↪→ p. 18

Werner, F. E., Quinlan, J. A., Lough, G., et Lynch, D. R. (2001). Spatialy-explicitindividual based modeling of marine populations : a review of the advances in the1990s. Dans Workshop on marine spatial modelling, volume 86, pages 411�421. ↪→ p.22

Wiener, N. (1948). Cybernetics or Control and Communication in the Animal and theMachine. Cambridge MIT Press, Wiley & Sons in NY. ↪→ p. 17

Wilson, S. W. (1985). Knowledge growth in an arti�cial animal. Dans Proceedingsof the First International Conference on Genetic Algorithms and Their Applications.Lawrence Erlbaum Assoc. ↪→ p. 14

160 Ludovic Coquelle

Page 163: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Wooldridge, M. et Ciancarini, P. (2000). Agent-Oriented Software Engineering : TheState of the Art. Dans Ciancarini, P. et Wooldridge, M., editors, First Int. Workshopon Agent-Oriented Software Engineering, volume 1957, pages 1�28. Springer-Verlag,Berlin. ↪→ p. 35

Wooldridge, M. et Jennings, N. (1995). Intelligent agents : Theory and practice. Know-ledge Engineering Review, 10(2) :115�152. ↪→ p. 22

Zadeh, L. (1965). Fuzzy sets. Information and Control, 8 :338�353. ↪→ p. 129Zadeh, L. (1973). Outline of a new approach to the analysis of complex and decisionprocesses. IEEE Transactions on Systems, Man and Cybernetics SMC-3, pages 28�44.↪→ p. 132

Zadeh, L. (1999). From computing from numbers to computing with words � frommanipulation of measurements to manipulation of perceptions. IEEE Transactions onCircuits and Systems -I :Fundamental Theory and Applications, 45(1) :105�119. ↪→p. 87

Zaera, N., Cli�, D., et Bruten, J. (1996). (Not)evolving collective behaviours in synthetic�sh. Technical Report HPL-96-04, Hewlett Packard Laboratories. ↪→ p. 33, 127

Zheng, M., Kashimori, Y., Hoshino, O., Fujita, K., et Kambara, T. (2005). Behavior pat-tern (innate action) of individuals in �sh schools generating e�cient collective evasionfrom predation. Journal of Theoretical Biology, 235(2) :153�167. ↪→ p. 120

Ziemke, T. et Sharkey, N. E. (2000). A stroll through the worlds of robots and animals :Applying Jakob von Uexkull's theory of meaning to adaptive robots and arti�cial life.Semiotica, 134 (special issue)(1/4) :701�746. ↪→ p. 33

behavioRis 161

Page 164: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Bibliographie

162 Ludovic Coquelle

Page 165: Mémoire de thèse de doctorattisseau/pdf/phd/lcPhD.pdfRemerciements Je remercie Jacques Tisseau pour m'avoir accueilli dans son ²quipe depuis le Mas-ter Recherche et pendant ces

Simulation de comportements individuels instinctifsd'animaux dans leur environnement

De la description éthologique à l'exécution de comportements réactifs

Résumé Cette thèse s'inscrit dans le cadre de la modélisation de systèmes complexes, ets'intéresse à la description de comportements animaux en vue de leur simulation dans un universvirtuel. La problématique se trouve à l'interface entre les modélisations biologiques et les systèmesd'exécution basés comportements. L'échelle de modélisation est celle de l'observation extérieuredes individus dans leur environnement (les animats), basée sur les modèles individu-centrés del'éthologie. L'objectif était de construire un outil qui permette de transcrire un éthogramme enun modèle exécutable dans un environnement tri-dimensionnel continu. En éthologie, le schémacausal des comportements d'un animat le modélise comme une interface dont le rôle est de dé-duire une réponse qui dénote une action en fonction des stimuli (Innate Releasing Mechanism).En simulation, ce type d'inférence causale stimuli�réponses doit s'adapter à un modèle d'exécu-tion, et plus précisément au mécanisme de sélection d'action (asm). Notre démarche a été deconstruire une architecture modulaire qui permette de manipuler les concepts utilisés par lesrègles comportementales et de les exécuter.

Notre proposition, le simulateur behavioRis, s'articule autour des deux problématiques évo-quées et propose d'une part une architecture d'exécution basée sur un système multi-agents, etd'autre part un langage déclaratif de description du comportement. Quatre composants ont étéidenti�és et réi�és dans l'architecture. Un premier type de composant, Perception, permet desimuler les capacités perceptives de l'animat et dénote une perception associée à sa sémantiquecomportementale (ce n'est pas le processus physique de perception à travers les sens qui estsimulé mais son résultat sémantique : on ne décrit pas comment un prédateur est perçu maisquels sont les prédateurs perceptibles). Le deuxième type de composant, InternalState, dé�nitsous forme de graphes d'in�uences les variables intermédiaires utilisées dans les modélisationséthologiques. Ces deux types de composants sont utilisés par les composants Behavior commebase de construction des stimuli qui déclenchent les règles. Les réponses de ces règles sont en-suite utilisées par un dernier type de composant, les composants Controller, qui reproduisentle modèle biomécanique pour exécuter l'action. Ce fonctionnement nous a permis de mettre enplace un langage déclaratif qui sépare le problème de description de comportement et la simu-lation. Pour traduire les descriptions linguistiques des règles comportementales, nous utilisonsla logique �oue qui permet de manipuler les données imprécises et incomplètes des descriptionscomportementales.

Cette proposition a été appliquée à la simulation de comportements de poissons. Avec unpremier projet qui consiste à modéliser les trajectoires d'évitement de poissons face à un objetmobile passant dans leur environnement proche, nous avons mis en place un protocole de testde reconnaissance d'espèce à partir du comportement. Ce test en aveugle sert de validationqualitative de la pertinence de notre système. Le second projet expose quant à lui l'extensibilitédu simulateur en présentant une modélisation de comportement de poissons dans l'environne-ment complexe que forme un chalut de pêche. Si la première application illustre la modélisationd'un éthogramme connu, la seconde utilise le simulateur comme laboratoire d'expérimentationde comportements et montre l'expressivité du langage.Mots-clefs Animat, architecture réactive, langage de description de comportement, simula-tion multi-agents, inférence �oue, éthologie.

Ludovic Coquelle