Vous êtes sur la page 1sur 165

Simulation de comportements individuels instinctifs d'animaux dans leur environnement

De la description thologique l'excution de comportements ractifs

Ludovic Coquelle

Thse
prsente devant

l'Universit de Bretagne Occidentale


pour obtenir le grade de

Docteur de l'Universit de Bretagne Occidentale Mention Informatique


Equipe d'accueil 3883 (ubo,enib) Laboratoire d'Informatique des SYstmes Complexes (lisyc)

Rapporteurs

Soutenue le

1er

dcembre 2005 devant la commission d'examen:

Examinateurs
Pierre Lionel Laurent Jacques

Vincent Dominique

Chevrier Fresneau Chevaillier Marc Nana-Tchamnda Tisseau

Remerciements
Je remercie tques isseu pour m'avoir accueilli dans son quipe depuis le Master Recherche et pendant ces annes de thse. Je voudrais exprimer ma plus sincre gratitude ierre ghevillier pour la qualit de son encadrement tant sur le plan scientifique qu'humain. Je remercie hominique presneu, ainsi que inent ghevrier, qui ont accept de juger ce travail et d'en tre les rapporteurs. Merci galement vionel wr et vurent xnEhmnd pour leur participation au jury de cette thse. Je n'aurais pas su mener ce travail sans les encouragements et la collabaration de : fent rerrmnn, imm tones, sl vorne, tphnie whvs, frry y9xeill, ruseyin yzilgin, hniel riour, entonello l, eren renkel. Merci l'ensemble des doctorants du erv ; et merci galement tous le personnel de l'eni. Je tiens remercier galement mes amis, qui m'ont toujours support . . . et propos de supporter, je vous flicite vivement de cet exploit ! Je vous dois tous une foultitude de merci. Les encouragements constants de ma famille m'ont toujours soutenu pour avancer librement : merci ! v cng cm n gia nh v ! Et le plus chaleureux des mercis ma merveilleuse pouse ; Cm n v yu thng nhiu lm qu tri lun !

behavioRis

Remerciements

Ludovic Coquelle

Table des Matires


Remerciements Table des Matires Listes des illustrations Introduction 1 Modlisation de comportement animal
1 Comportement et modlisation 1.1 1.2 Animat 1.2.1 1.2.2 1.3 1.3.1 1.3.2 1.3.3 1.4 1.4.1 1.4.2 1.4.3 2 2.1 2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comportement et sciences du vivant . . . . . . . . . . . . Comportements articiels . . . . . . . . . . . . . . . . . . Domaines connexes . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 3 7 9 13
14 14 17 17 19 20 20 21 22 23 23 23 24 24 24 27 27 29 30 33 35 35 35 36 37 38 38 42 45 48

(Eco)systme et

ibm

. . . . . . . . . . . . . . . . . . . . . . . . . .

Milieu naturel et systme complexe Dnition et intrt des Utilisation des

sma

ibm

. . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

Notre objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objet d'tude, ou quels comportements simuler ? . . . . . Sujet d'tude, ou quelle modlisation adopter ? . . . . . . Objectif, ou quelle nalit rechercher ? . . . . . . . . . . .

Ethologie et simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modlisations thologiques . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 2.2.2 2.3 2.4 L'explication causale . . . . . . . . . . . . . . . . . . . . . Vers le modle fonctionnel . . . . . . . . . . . . . . . . . .

Exemple d'

ibm

Simulation des

ibm

comportemental : les thologiques

boids

. . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

Modles d'excution 3.1 3.1.1 3.1.2 3.1.3 3.2 3.2.1 3.2.2 3.2.3 3.2.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Architecture d'agents et slection d'action . . . . . . . . . . . . . . Architectures . . . . . . . . . . . . . . . . . . . . . . . . . Problmes transverses . . . . . . . . . . . . . . . . . . . . Slection d'action . . . . . . . . . . . . . . . . . . . . . .

Quelques architectures . . . . . . . . . . . . . . . . . . . . . . . . . Direntes approches d' Modularit

asm

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

Le contrle ou . . . . . . . . . . . . . . . . . . . . . . . . Vers le comportement animal . . . . . . . . . . . . . . . .

behavioRis

Table des Matires

3.3 4 4.1 4.2 4.3

Excution d'un modle thologique . . . . . . . . . . . . . . . . . .

49 50 50 51 52 52 53 53 55

Outils orients modlisation . . . . . . . . . . . . . . . . . . . . . . . . . .

sma sma

gnriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . spcialiss Modle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Langages de description de comportements 4.3.1 4.3.2 4.3.3

vs. excution .

. . . . . . . . . . . . . . . . . . . .

Outils informatiques . . . . . . . . . . . . . . . . . . . . . Langages ddis . . . . . . . . . . . . . . . . . . . . . . .

Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

behavioRis
1 Architecture fonctionnelle 1.1 1.2 L'environnement 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.3.3 1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les perceptions externes . . . . . . . . . . . . . . . . . . . . . . . . Des gomtries la notion de perception Le composant Dtection d'objets gomtrie complexe . . . . . . . . . .

59
60 60 61 61 63 64 66 67 67 71 72 72 73 74 75 77 78 79 79 81 81 84 84 86 86 87 92

Perception

. . . . . . . . . . . . . . . . . .

La dynamique des tats internes Le composant mentales 1.4.1 1.4.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Des tats internes aux stimuli . . . . . . . . . . . . . . . .

InternalState

Interactions entre l'tat interne et les rgles comporte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Les rgles comportementales . . . . . . . . . . . . . . . . . . . . . . Des stimuli aux ractions Le composant

Behavior

. . . . . . . . . . . . . . . . . . .

1.5

Le modle biomcanique . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 1.5.2 Contrles indpendants par votes . . . . . . . . . . . . . . Le composant

Controller

. . . . . . . . . . . . . . . . . .

1.6 2 2.1 2.2 2.3 3 3.1 3.2

Bilan des composants de l'architecture . . . . . . . . . . . . . . . . Asynchronisme par ignorance Implmentation : espce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Modle d'excution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

vs. animat

Utilisation du simulateur . . . . . . . . . . . . . . . . . . . . . . . . Modlisation dclarative d'une espce Rgles comportementales 3.2.1 3.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Langage de description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Manipuler des donnes imprcises La syntaxe des rgles

Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Application : simulations de comportements de poissons


1 La campagne 1.1 1.2

vital

97
98 98

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Description du problme . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 1.2.2 1.2.3 1.2.4 Dplacement

Modlisation d'un poisson . . . . . . . . . . . . . . . . . . . . . . . 102 . . . . . . . . . . . . . . . . . . . . . . . . . 102 . . . . . . . . . . . . . . . . . . . . . . . 103 . . . . . . . . . . . . . . . . . . . . . . . . 106 Perceptions . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Comportements Etats internes

Ludovic Coquelle

Table des Matires

1.3

Validation qualitative 1.3.1 Le protocole Les rsultats 1.3.2

. . . . . . . . . . . . . . . . . . . . . . . . . 107 . . . . . . . . . . . . . . . . . . . . . . . . . 108 . . . . . . . . . . . . . . . . . . . . . . . . . 110

premecs-II
2.1 2.2 2.2.1 2.2.2 2.2.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 . . . . . . . . . . . . . . . . 118

Description Modlisation

Le chalut

La prise . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Comportements des poissons

Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Conclusions et perspectives A Logique oue pour le contrle


1 2 La notion d'ensemble ou 2.1 2.2 2.3 3 Proposition oue lmentaire L'infrence oue

125 129
. . . . . . . . . . . . . . . . . . . . . 131 . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

La logique oue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Combinaison de propositions oues . . . . . . . . . . . . . . . . . . 131 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Le contrle en logique oue

B Indexation spatiale
1 2 2.1 2.2 Indexer des objets mobiles ! Quelques solutions 2.2.1 2.2.2 2.2.3 3

135
. . . . . . . . . . . . . . . . . . . . . . 136

Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Mthodes d'indexation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 . . . 137

Les techniques de hachage rgulier de l'espace . . . . . . . 137 Dcomposition dynamique et adaptative de l'espace Groupement d'objets par zones de recouvrement . . . . . 139

Conclusions pour nos utilisations

. . . . . . . . . . . . . . . . . . . . . . . 140

C Fuzzy Cognitive Map


1 2

141 143 145 147 151

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Dnition mathmatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

D Rseaux de Petri E Exemple de dnition de scenario dans behavioRis F Grammaire BNF du langage de behavioRis
1 2 Dnition de la notation Le langage de

bnf behavioRis . .

. . . . . . . . . . . . . . . . . . . . . . . . . 147 . . . . . . . . . . . . . . . . . . . . . . . . . 148

Bibliographie

behavioRis

Table des Matires

Ludovic Coquelle

Listes des illustrations


Liste des Figures
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.1 3.2 3.3 3.4 3.5 3.6 A.1 A.2 B.1 B.2 B.3 C.1 C.2 Entres et sorties d'un animat situ dans son environnement . . . . . . . . Place de l'tude des animats en Intelligence Articielle. Exemple d'thogramme Modle psychohydrauliquede motivation de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 19 26 28 31 38 43 44 45 48 54 60 62 68 72 74 76 80 82 83 99

Lorenz . . . . . . . Les trois comportements de dplacement des boids de Reynolds Hirarchie de comportements dans l'architecture de subsumption . Architecture damn d'un robot mobile sous-marin autonome . . . . Les Creatures de Blumberg . . . . . . . . . . . . . . . . . . . . . Architecture C4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Architecture brian . . . . . . . . . . . . . . . . . . . . . . . . . . . Le langage visuel Behave ! . . . . . . . . . . . . . . . . . . . . . . .
Localisation d'un animat dans l'espace Architecture fonctionnelle de Exemple d'volution d'un

behavioRis

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Equation des tats internes dans l'architecture

bpn .

Creature

. . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Entres et sorties du module comportemental ou . . . . . . . . . . . . . . Slection d'action par systme de vote Diagramme de classes simpli de Simulateur

ARVi

Diagramme de classes simpli de l'architecture

behavioRis
fcm

behavioRis

. . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Copies d'cran de la simulation du projet Evolution d'une

vital

. . . . . . . . . . . . . . .

aliveidleafraid . . . . . . . . . . . . . . . . . . . 107

Illustration d'un chalut de pche plagique . . . . . . . . . . . . . . . . . . 113 Modle de poche de chalut par

mef

. . . . . . . . . . . . . . . . . . . . . 115 . 122

Modle du chalut : mailles de let et maille abstraite . . . . . . . . . . . . 116 Simulation d'un banc de poissons nageant devant la prise dans la poche

Exemples de fonctions d'appartenance caractrisant un ensemble ou . . . 130 Un exemple simple d'infrence oue . . . . . . . . . . . . . . . . . . . . . . 134 Service d'indexation spatiale par grille rgulire d' Construction d'un Exemple

KD-Tree . . . . . . . . de R-Tree indexant 9 mbr en 2d

ARVi

. . . . . . . . . . 138

. . . . . . . . . . . . . . . . . . 139 . . . . . . . . . . . . . . . . . . 140

Carte cognitive oue : 1er exemple

. . . . . . . . . . . . . . . . . . . . . . 141 . . . . . . . . . . . 142

Fonctions de normalisation des cartes cognitives oues

behavioRis

Listes des illustrations

Liste des codes


2.1 2.2 2.3 2.4 2.5 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9

BBDL
bbdl. bbdl.
. . . . . . . . . . . . 85 88 89 90 92 . . . . . . . . . . . . . . .

Premier exemple de dnition d'une espce en Exemple de rgles comportementales en Exemple de stimulus complexe Hirarchie de rgles oues Exemple de dnition d'action atomique

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

vital bbdl : modle d'une espce . . . . . . . . . . . . . vital bbdl : modle de dplacement . . . . . . . . . . . vital bbdl : modle des perceptions . . . . . . . . . . . vital bbdl : modle des comportements . . . . . . . . . . vital bbdl : modle de bpn . . . . . . . . . . . . . . . . premecs bbdl : modle de perception des mailles . . . . premecs bbdl : modle de perception de la prise . . . . premecs bbdl : vitement des objets de l'environnement premecs bbdl : nage en banc (boids) . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . 102 . . . . . . . . . 103 . . . . . . . . . 104 . . . . . . . . . 104 . . . . . . . . . 108 . . . . . . . . . 117 . . . . . . . . . 118 . . . . . . . . . 120 . . . . . . . . . 121

Liste des Tableaux


1.1 1.2 Disciplines des sciences du vivant. . . . . . . . . . . . . . . . . . . . . . . . Relations d'activation entre modules de comportement dans un rseau d'activation 3.1 3.2 3.3 3.4 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 17

Rsums des thogrammes des espces simules . . . . . . . . . . . . . . . 100 Rsum des thogrammes : caratristiques biomtriques et activit normale 101 Rsum des thogrammes : raction au

rov

. . . . . . . . . . . . . . . . . 101

Rponses possibles au test de reconnaissance . . . . . . . . . . . . . . . . . 109 Rponses des experts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Ludovic Coquelle

Introduction
Cette thse de doctorat est une contribution la simulation du comportement animal. De nombreuses thories expliquent les comportements animaux et divers modles en dcoulent ; notre but n'est pas de prendre parti sur ce point. Notre ambition est de proposer une solution pour reproduire virtuelle.

in virtuo

le rsultat de

descriptions

de ractions

instinctives innes par un rendu graphique tri-dimensionnel dans un univers de ralit

Motivation  Objectif
Quand avez-vous regardez par la fentre pour la dernire fois ? N'avez-vous pas observ une araigne, un papillon ou le chat du voisin ? Observer et comprendre le comportement animal est d'un abord attractif, peut-tre parce que cela nous renvoie notre environnement naturel et nos propres agissements. Ces activits comportementales attisent la curiosit mme lorsqu'elles sont articielles comme le montre le succs des jeux comme l'animal virtuel

Tamagotchi

ou le jeu vido

Nintendog

Comprendre la complexit des interactions des comportements d'animaux dans leur environnement est l'objet d'tude de l'thologie. Hors, comprendre en profondeur le comportement naturel ncessite de savoir le reproduire, et donc de le modliser. Les modles individu-centrs (

ibm, Individual-Based Model) sont utiliss pour prendre

en compte les nombreuses interactions htrognes entre les entits modlises. Souvent utilise en biologie des populations (Bousquet et al., 1998), ce type d'approche permet de dcrire un niveau microscopique des phnomnes intervenant localement entre plusieurs individus pour observer le rsultat de ces interactions un niveau macroscopique. A l'chelle de l'individu, cette approche individu-centre est galement utilise pour dcrire les dirents comportements qui interagissent pour rsulter en un comportement global : ce sont les

bbm

(Behavior-Based Model).

La nature de ces modles les rend indissociables de leur simulation. De l'animation physiologique de mouvements de membres articuls l'apprentissage non-supervis de la nage, la simulation est utilise en biologie (Wang et McKenzie, 1998; Hokkanen, 1999) car elle aide comprendre le fonctionnement d'un systme et prdire son volution. L'tude du comportement animal, qui se dveloppe en intgrant, dans des modles communs, les divers aspects allant de la physiologie l'tude des comportements sociaux (Ord et al., 2005), utilise ces simulations. La problmatique qui nous intresse est celle de l'utilisation de la simulation pour l'tude du comportement. Le sujet de notre recherche se trouve l'interface entre la simulation informatique et la modlisation thologique des comportements animaux. Cette

1 2

Tamagotchi Connection: http://www.tamagotchi.com Nintendog, The unocial fansite: http://www.nintendog.com

behavioRis

Introduction

simulation, servant aussi bien rvler les rsultats d'un modle (prdiction) qu' raliser ce modle (comprhension), est un outil pour l'thologue. La base de travail de l'thologue est la description linguistique du comportement de l'individu tudi : l'thogramme. Traduire cette description en une simulation demande d'abord un travail de modlisation et ensuite une tape de programmation. Nous avons identi trois types de dicult rsoudre pour raliser cette traduction. 1. Dnir l'objet de la simulation. Les frontires de la modlisation doivent tre strictement dnies pour qu'une formalisation simulable prcise ce qui peut tre manipul par le modle. Parmi les lments que la modlisation doit cadrer, l'chelle de description et d'observation du modle d'animal doit d'abord tre xe, ainsi que celle de l'environnement qui peut correspondre un modle en deux ou trois dimensions, continu ou discrtis. Ensuite, le mcanisme de dcision comportementale peut se baser sur une approche connexioniste ou base comportements ; divers aspects, comme l'introduction d'un mcanisme d'apprentissage, inuence la manipulation des donnes de ce mcanisme. Enn, l'expressivit dsire de la description du comportement (p. ex. un scnario de comportement ou un assemblage de primitives comportementales) xe des contraintes de formalisation lies aux deux points prcdents. 2. Adapter un modle d'excution. La modlisation du comportement, et son formalisme, sont intrinsquement tributaires du modle d'excution de la simulation. Le choix du modle d'excution doit satisfaire la modlisation de la thmatique thologique. Sans restreindre les possibilits d'expressivit des modles (en prenant en considration les mmes notions temporelles, physiques et abstraites) l'excution ne doit pas introduire de nouvelle hypothse dans le modle thologique (notamment pour le point dlicat des simulations que constitue le mcanisme de slection d'action). 3. Orir une interface de modlisation. Si l'thologie se sert de la simulation comme d'un outil, celui-ci doit orir une interface de manipulation ayant deux rles : faciliter l'utilisation de la simulation d'une part, et d'autre part, cadrer les possibilits de modlisation au formalisme dni pour l'objet de la simulation.

Contribution
La thse dfendue ici est une formalisation simulable des descriptions comportementales thologiques, restreintes aux comportements ractifs inns exprims sous forme de rgles de causalit entre stimuli et rponses. L'objectif est de crer un outil d'tude par simulation du comportement. L'ambition est donc de pouvoir transcrire un thogramme en un modle excutable pour le simuler dans un environnement de ralit virtuelle, qui permet d'observer ce modle. Notre proposition s'articule en deux parties. La premire est une architecture d'animat (un modle d'animal), associe son modle d'excution, qui dnit les proprits manipulables pour la simulation d'un modle thologique. Cette architecture, base de composants, identie et rie les concepts de perception, de rpertoire comportemental, de variables internes et de contrle biomcanique. L'excution de ces composants rsulte en une activit globale de l'animat par l'intermdiaire des interactions spcies. La seconde partie de notre proposition est un langage de description de comportements qui s'appuie sur l'architecture pour permettre sa simulation. Ce langage permet

10

Ludovic Coquelle

de dcrire compltement un modle d'animat, de la perception l'excution des rponses comportementales. En tant qu'interface de modlisation, un soin particulier a t apport pour que ce langage formalise facilement les donnes biologiques de l'thogramme. Pour ce faire, nous utilisons l'infrence oue, adapte la fois la manipulation des donnes imprcises et incompltes ainsi qu'au formalisme d'infrence de rgles de causalit utilis par les thogrammes. Cette proposition est concrtise par le simulateur

behavioRis , qui propose une impl-

mentation de l'architecture ainsi que l'interprteur du langage associ. Deux applications prsentent la modlisation et la simulation de comportements de poissons, dans des univers de ralit virtuelle en

3d

et continu.

Organisation du mmoire
Ce mmoire est divis en trois chapitres prsentant la problmatique, notre proposition et deux applications. 1. Le premier chapitre traite des problmatiques entremles de la modlisation de comportement animal, d'un point de vue d'abord biologique, puis d'un point de vue de l'excution de modle sur un systme automatis. Nous prsentons dans un premier temps les besoins de la modlisation thologique, pour montrer les correspondances avec les systmes d'excution, et nous concluons sur les points clefs d'un simulateur ddi la transcription d'thogramme. 2. Le deuxime chapitre dcrit notre proposition, en prsentant l'architecture, les systme de simulation, et le langage qui permet d'interfacer le simulateur avec les descriptions linguistiques. 3. Enn, deux applications sont prsentes dans le dernier chapitre pour conclure sur l'utilisabilit du simulateur. Elles prsentent deux aspects de l'utilisation de behavioRis . La premire illustre la modlisation d'thogramme en s'appuyant sur le projet vital men par ifremer (Institut Fran cais de Recherche et d'Exploitation de la MER). La seconde utilise le simulateur comme un laboratoire d'exprimentation d'hypothses comportementales, ceci dans le cadre du projet europen pilot par

ifremer

et issu d'une collaboration entre les laboratoires (France),

nish Institute for Fisheries Research, Danemark),

li

Royaume-Uni),
2

ifremer

ismar

frs (Fisheries Research Services,

premecs-II difres (Da-

(Instituto di Scienze Marine, Italie) et

(Laboratoire d'Ingnierie Informatique, France).

ges trvux ont pris ple dns le dre de l prolmtique de modlistion et de simultion de omportements d9entits utonomes dns des univers virtuelsD ojet de reherhe des quipes du cerv @gentre iuropen de lit irtuelleAF xotre trvil s9insrit l fois dns l9pprohe d9exprimenttion des systmes omplexes du projet InVirtuo D et dns l thmtique de l simultion omportementle du projet spi @imultion rtiiptive et smmersiveAF
behavioRis

11

Introduction

his study hs een rried out with the (nnil support from the gommission of the iuropen gommunitiesD egriulture nd pisheries @pesA spei( h proE grmmeD gWT ISSSD hevelopment of preditive model of odEend seletivity F st does not neessrily re)et its views nd in no wy ntiiptes the gommission9s future poliy in this reF ge projet glement eu le soutien de l gion fretgneF

12

Ludovic Coquelle

Chapitre 1 Modlisation de comportement animal


applications que ce soit la reS imuler ledecomportement animal peut avoir desmme de ce comportement.dans simucherche modles prdictifs ou dans l'tude La lation permet en eet de comprendre ou mesurer l'inuence des interactions entre les divers facteurs inuenant ce comportement en intgrant dirents modles direntes chelles d'observation, et c'est pourquoi elle prend de plus en plus d'importance dans l'tude du comportement animal. Comme soulign en introduction, simuler des comportements animaux entrelace des problmatiques des sciences du comportement et de la modlisation informatique. L'objectif de ce chapitre est alors double. Il s'agit d'abord de prsenter quelques bases (non exhaustives) de la modlisation de comportement et de prciser l'chelle d'observation adopte dans le cadre de notre tude. Ensuite l'aspect simulation de ces modles sera abord, tant d'un point de vue excution du modle que du point de vue de l'interface avec le modlisateur de comportement animal.

behavioRis

13

Chapitre 1  Modlisation de comportement animal

Comportement et modlisation
L'objectif de notre tude est de modliser les comportements individuels d'animaux

dans leur milieu naturel, ce qui entre dans le cadre d'une problmatique d'tude des systmes complexes. En eet, il est simple de voir ce milieu naturel comme un systme compos d'lments nombreux, htrognes et en interaction : c'est le cadre d'tudes auxquelles s'intresse la systmique. Dans ce cadre systmique, le milieu naturel est un systme ouvert dans lequel le comportement animal peut tre tudi comme un sous-systme, avec le systme naturel. Les comportements d'animaux peuvent donc tre tudis en tant que modle de systme complexe. Voici une dnition du terme

ie

un ensemble d'en-

tits fonctionnant de manire apparemment autonome mais en entretenant des relations

modle,

connote du sens usit en cy-

berntique qui nous intresse ici : systme articiel dont certaines proprits prsentent des analogies avec des proprits, observes ou infres, d'un systme tudi, et dont le comportement est appel, soit rvler des comportements de l'original susceptibles de faire l'objet de nouvelles investigations, soit tester dans quelle mesure les proprits attribues l'original peuvent rendre compte de son comportement manifeste (

Lemp, 1975, cit dans Le Trsor de la langue franaise


observateur

Thins-

). Cette dnition met en exergue

deux caractristiques importantes des modles. La premire est mise en vidence dans cette autre dnition enonce de manire plus symbolique mais plus concise : Pour un

B , un objet A

est un modle d'un objet

A pour rpondre des questions qui l'intressent propos de

A dans la mesure o B peut utiliser A (Minsky, 1965, traduc-

tion libre). La premire caractristique d'un modle est donc d'tre lie un observateur, qui est d'ailleurs souvent l'initiative du modle. Un modle ressemble au systme rel, simplie le rel, idalise le rel, et reproduit le comportement du rel le mieux possible en fonction des objectifs xs pour le cadre de l'tude. La deuxime caractristique d'un modle, est de pouvoir tre utilis dans deux directions. La modlisation peut tre utilise but prdictif : le modle devient un outil de gestion pour surveiller un systme complexe ou relever certaines proprits. Mais elle peut aussi nous amener repenser la comprhension du phnomne modlis : le modle devient un instrument scientique pour montrer des carences dans les connaissances du systme ou pour tester des hypothses. La simulation plonge un modle statique dans le temps, mais pour cela nous verrons qu'elle introduit des hypothses supplmentaires sur la dynamicit temporelle du modle. La simulation d'animaux a t utilise dans les deux approches : pour prdire et pour comprendre. Elle sert galement d'inspiration pour bien d'autres domaines o l'on doit modliser le comportement d'un agent autonome dans son environnement.

1.1 Animat
Le comportement complexe d'un animal peut tre tudi grce la simulation d'un modle. Nous nous intressons plus prcisment ici la description individuelle du comportement, c'est--dire la spcication des interactions de l'individu avec son environnement, ce qui xe le niveau d'observation du modle. le terme

animat

Wilson (Wilson, 1985) a introduit

pour dsigner un systme articiel en tant que modle de comportement

d'un animal.

Le Trsor de la langue franaise: http://atilf.atilf.fr/tlf.htm

14

Ludovic Coquelle

Comportement et modlisation

Le mot animat a souvent une connotation "bio-mimtique", c'est--dire qu'il est souvent associ des modles de fonctionnement interne de l'animal qui visent reproduire les mcanismes biologiques. Avec une approche biologique souvent neuro-thologique (qui tudie comment le systme nerveux gnre les comportements naturels chez les animaux), ces modles dcrivent le plus souvent le comportement adaptatif de l'animal. Adaptatif est comprendre ici dans le sens de l'adaptation l'environnement dans le but de survivre, et c'est donc une approche des mcanismes proximaux d'adaptation. Nous verrons que le comportement est alors dcrit par rapport cette fonction  la survie  et l'on peut opposer cette approche une autre dite volutionniste (en rfrence la thorie de l'volution introduite par Darwin (1959)) qui s'intresse l'adaptation de l'animal (ou son espce) et dcrit le comportement par rapport la fonction de reproduction. Modliser un comportement biologique adaptatif suppose de ne pas programmer l'avance toutes les rponses possibles du systme, mais au contraire de modliser le mcanisme d'adaptation du comportement : behavioral plasticity is due to biologically-inspired automatic processes  like the processes of learning, evolution or development (Guillot et Meyer, 1998).

Dnition

Dans la suite de cette tude, nous utiliserons le terme

animat

pour dsigner

tout modle calculatoire reproduisant un comportement animal autonome, ce qui inclut les modles internes comme les modles observs d'un point de vue externe. Ainsi, un animat peut tre pour nous aussi bien un robot autonome se dplaant dans un environnement rel qu'un animal simul sur une machine de calcul. L'approche animat est devenue un domaine part entire dans les sciences de l'tude du comportement animal. Les animats ont apport direntes contributions en biologie (Hokkanen, 1999). Mais avant de prsenter quelques domaines relatifs celui de l'tude des animats qui nous permettront de mieux cerner ce domaine, nous abordons une dnition plus pragmatique travers une reprsentation symbolique. Comme tout modle, un animat est dni par ses entres, ses sorties, et un mcanisme qui les relie. Ces entres et sorties sont respectivement appeles

senseurs

et

actuateurs,

ce sont les moyens

d'interaction avec l'environnement ; le mcanisme de liaison est appel

contrle, il est charg de reproduire les capacits comportementales de l'animal. Ces appellations donnent une dnition simple d'un animat, mais ces concepts mritent d'tre claris pour comprendre les dirents points de vue adopts dans les sciences du vivant qui tudient le comportement animal (Thomas, 2001b). La gure 1.1 page 16 illustre le modle animat de

architecture de

Thomas

en interaction dans son

environnement (l'auteur ne parle pas explicitement d'animat, mais de concepts en science du comportement). Les notions prcdentes de senseurs et actuateurs sont positionnes l'interface entre l'animat et l'environnement. Cependant,

Thomas direncie les facteurs

inuenant le comportement de l'animal selon qu'ils sont exprims suivant le point de vue d'un observateur externe ou suivant la donne accessible par l'animal. Un External Observable Antecedent (

eoa),

aussi appel

en provenance de l'environnement ( la manifestation de l' Antecedent (

stimulus, est une source d'nergie physique eg. la lumire, le son). C'est donc un facteur externe,

observable et mesurable, et considr comme variable indpendante. L'animal peroit

eoa par l'intermdiaire des sens qui crent un Internal Observable ioa), lui aussi potentiellement observable et mesurable par instrumentation. ioc)
est le prcurseur : c'est une manifestation physique qui marque le

Le comportement animal peut alors dclencher une rponse dont l'Internal Observable Consequent (

behavioRis

15

Chapitre 1  Modlisation de comportement animal

dbut de la rponse. Cette rponse se traduit par un changement nergtique : l'External Observable Consequent (

dpendante.
Selon

eoc) (eg.

le dplacement), aussi assimil une

variable
et

L'architecture de contrle a donc pour rle de crer la relations entre

Thomas,

ioa

ioc.

il faut cependant ajouter la dynamique temporelle dans la dnition de

ces termes, et remarquer qu'un reprsent par la gure. La notion d'

eoa peut rsulter d'un eoc. De mme, l'eet de mmoire ioa


et

de l'animal doit tre pris en compte dans l'explication d'un comportement et n'est pas

interface

symbolise la relation entre

ioc,

mais les connaissances

actuelles ne permettent pas de la situer prcisment : le lien entre

eoa

et

eoc,

ioa et ioc, voire entre

n'est pas identi exactement, et si certaines relations s'expliquent par

des modles cognitifs (le cortex crbral joue le rle d'interface) d'autres se modlisent par des ractions directes (par l'intermdiaire du systme nerveux ou par des interactions intercellulaires). Les modles d'interface s'eorcent alors d'expliquer des correspondances entre des entres et des actions rsultantes sur l'environnement. Dans de nombreux modles d'interface, la plupart des concepts manipuls ne sont en eet pas les

eoa, ioa, ioc et eoc, mais des concepts abstraits. Parmi ces concepts, cer-

tains rsultent d'hypothses de travail, et reprsentent des entres possibles mais encore non observes : elles sont supposes exister. Au contraire, d'autres concepts abstraits, les variables intermdiaires, sont manipuls mais reprsentent des donnes ctives (dans le sens o elles ne sont pas isomorphes une source d'nergie de l'environnement, elles ne sont ni observables, ni mesurables) : leur existence concrte n'est pas infre.

ENVIRONNEMENT
senseurs actuateurs

stimulations

EOA

senseurs

IOA

effecteurs

IOC

rponses

EOC

INTERFACE

ANIMAT

 Entres et sorties d'un animat situ dans son environnement d'aprs Thomas (2001b).
Figure 1.1

Comme nous le prsentons dans la section suivante, les direntes sciences du comportement n'abordent pas les mmes niveaux d'abstraction et donc ne manipulent pas les mmes concepts, et tudient les comportements direntes chelles d'observation. Cette chelle d'observation est lie le plus souvent la manire dont est modlis le fait que l'animat est situ dans son environnement.

16

Ludovic Coquelle

Comportement et modlisation

1.2 Domaines connexes


La cyberntique a t le premier domaine mettre en vidence des analogies fortes entre les systmes naturels (biologiques) et articiels (physiques) (Wiener, 1948, cit dans (Holland et McFarland, 2001, ch. 1)). En eet, la cyberntique construit des modles d'entits autonomes, semblables aux animats, en s'appuyant sur des mcanismes de communication et de rgulation. L'tude des animats est une sous-branche de la

discipline faisant partie de l'Intelligence Articielle (

vie articielle, qui est elle-mme une ia). Comme les animats font le lien

entre systmes vivants et articiels, les modles de comportement sont souvent inspirs des sciences comportementales du vivant. Notre but tant de dcrire compltement le comportement d'un animat, nous prsentons ici l'objet d'tude de direntes sciences du comportement. La plupart de ces sciences qui tudient le comportement humain sont souvent englobes sous le terme de

science cognitive

: tude interdisciplinaire de l'esprit ou de

l'intelligence, qui fait intervenir la psychologie, la linguistique, l'

ia,

la philosophie, les

neuro-sciences, la logique, la robotique, l'anthropologie et la biologie. Le but n'est pas alors de dcrire un comportement mais plutt un mcanisme de pense. Nous prfrons dans la suite nous focaliser sur les sciences du comportement qui cherchent dcrire des modles 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'observation, comme le rsume brivement le tableau 1.1. Nous donnons ici quelques prcisions sur les modlisations adoptes par les tudes concernant les comportements individuels.

Tableau 1.1

 Disciplines des sciences du vivant.

Niveau d'observation

Objet d'tude
ADN, protine cellule organisme, individu colonie, population espce cosystme

Disciplines
gntique, biochimie, biologie molculaire microbiologie, physiologie, biologie cellulaire anatomie, psychologie, thologie biologie des populations phylogographie cologie

molculaire microscopique macroscopique populationnel spcique supra-spcique

La psychologie animale

(incluant la

trs anthropomorphique, notamment avec la

physio-psychologie) adopte un point de vue psychologie compare qui tudie les

dirences psychiques, particulirement entre faits psychiques humains et animaux. Les tudes en psychologie s'attachent dcrire un modle cognitif (dlibratif, symbolique) de l'interface de l'individu. Le rle d'une telle interface est de crer une reprsentation symbolique de l'univers pour pouvoir raisonner sur cette reprsentation et adopter un comportement adquat. Ce comportement est une reprsentation des actions ncessaires, et elle est transforme en commande pour les eecteurs. La psychologie dtache le comportement de l'individu et de son environnement.

behavioRis

17

Chapitre 1  Modlisation de comportement animal

Elle s'intresse dcrire l'interface sans hsiter faire intervenir des variables intermdiaires et des constructions hypothtiques sur la perception de l'environnement. L'hypothse principale est que l'action et la perception sont spares par une couche comportementale cognitive.

Le behaviourisme,

l'oppos, modlise les ractions de l'individu comme consquences

directes des stimulations externes. Dans cette branche de la psychologie, dnomme psychologie objective, le comportement de l'individu est tudi de manire purement exprimentale avec pour but de crer un modle prdictif. Aucune hypothse n'est faite sur des variables intermdiaires : un modle behaviouriste d'animat forme un lien direct entre les entres et sorties sans supposer aucun modle de cognition ou de mmoire dans l'interface. C'est une approche fonctionnelle de l'interface de l'animat, o l'on cherche crire le comportement comme une fonction

telle que

eoc = f (eoa).

Cette approche permet de crer et tester des modles de comportements dits ractifs, ne faisant aucunement rfrence des tats mentaux ou des processus psychologiques internes. Mais si cette doctrine explique facilement les rsultats exprimentaux tel que l'apprentissage par renforcement, elle n'est pas susante pour dcrire le comportement d'un individu dans son environnement. Une explication d'un comportement ne peut se passer d'une contextualisation de l'individu qui passe par sa reprsentation interne du monde.

L'thologie

apporte une approche transversale ces disciplines.

Si le behaviourisme ne sut pas expliquer tous les comportements, les modles cognitifs de la psychologie ne peuvent pas non plus prendre en compte tous les aspects du comportement. Par exemple,

Lashley dmontra en 1951 (cit par Bry-

son (2000)), que la virtuosit des musiciens (le dplacement des mains) ou plus simplement le contrle de la parole chez les humains ne peuvent pas tre expliqus par des processus crbraux : ceux-ci sont simplement trop lents. L'thologie va replacer l'individu au sein de son environnement et tudier son comportement pour apporter un modle prdictif. Pour cela, elle se base sur les donnes du behaviourisme, mais introduit dans les modles d'interface la notion d'tat interne de l'individu par l'utilisation des variables intermdiaires. Nous verrons en section 2 que l'objectif est de proposer des modles explicatifs de comportement sans introduire d'hypothse cognitive forte. Mme si les champs d'tudes se xent des sujets de recherches dirents, ils se basent tous sur des donnes exprimentales issues d'observations des niveaux moins abstraits (

cf

tableau 1.1 page 17). Ainsi des tudes comme la

normales de l'organisme, ou comme la

physiologie qui tudie les fonctions psycho-physiologie qui tudie les rapports entre l'cologie, utilise les modles de compor-

l'activit psychique et l'activit physiologique (en particulier celle du systme nerveux), restent la base de construction des modles de comportement. Par analogie, des tudes un niveau d'observation plus lev, comme modles. Ces tudes comportementales animales ont inspir les tudes sur les animats. Que ce soit des ns de simulation ou de robotique, l' tement, et fournissent alors des retours sur la validit des hypothses de base de ces

ia

a dvelopp des modles d'entits

autonomes bass sur les modles de comportements animaux. Dans l'utilisation oppose, Watts (1998) prsente la simulation d'animat comme un moyen d'exprimenter les

18

Ludovic Coquelle

Comportement et modlisation

Artificial Intelligence Artificial Life Virtual Life Animats Animation

Artificial Ethology Robotics

Figure 1.2

 Place de l'tude des animats en Intelligence Articielle.

modles en tudiant le comportement en dehors de l'organisme qui le produit. Ainsi les sciences du comportement vivant et articiel se rejoignent travers cette notion d'animat.

1.2.2 Comportements articiels


Pour ce qui est des comportements de systmes articiels, l' voir l'

ia

couvre un large do-

maine d'application et sa dnition est dicile. Une dnition dite forte consiste

ia

comme une manire de rendre une machine non seulement capable de simu-

ler un comportement intelligent mais aussi d'prouver une relle conscience de soi pour pouvoir comprendre ses raisonnements. La notion d'

ia

faible constitue une approche

pragmatique : chercher construire des systmes de plus en plus autonomes. C'est avec cette approche que nous abordons les animats. L'tude principale de l'

ia

porte sur les

mcanismes de prise de dcision ; pour cette raison elle utilise le plus souvent des modles cognitivistes qui, dans le cadre des animats, permettent d'abstraire l'interface de son environnement. Plusieurs branches de l'

ia, dont la gure 1.2 page 19 reprsente les imbrications, nous ia,
est la

intressent particulirement pour notre tude de modlisation de comportement animal.  La premire, non incluse entirement dans l'

robotique mobile.

Un

robot est simplement dni ici comme une entit physique autonome : isol dans son environnement, il embarque ses propres moyens de dcider et d'agir . Un robot peut tre vu comme un animat concret. Les problmatiques souleves sont alors proches de son utilisation : le modle de comportement doit prendre en compte les perceptions relles avec leurs approximations, les asservissements mcaniques pour l'excution des actions, et doit s'excuter en temps rel, le tout fonctionnant dans une entit aux ressources limites. Pour satisfaire toutes ces contraintes, les modles utiliss ont souvent t inspirs du behaviourisme ou de l'thologie. Une autre contrainte relevant plus de l'ingnierie favorise l'utilisation de modles simples pour la recherche de solutions robustes et dterministes dans un environnement  dynamique.

Computer Animation

: certaines techniques de cration d'animation (lm ou

jeu) s'appuient galement sur des modles de comportement. L'autonomie des animats soit aide l'animateur ne pas dcrire fastidieusement l'animation complte

behavioRis

19

Chapitre 1  Modlisation de comportement animal

car il ne dcrit que le comportement (Funge, 1998), soit elle sert de base la cration d'animation dynamique comme par exemple un aquarium virtuel (Tu, 1996). Comme en robotique, il y a souvent opposition entre autonomie et contrle du  comportement, qui inuence la modlisation du comportement.

Articial Life. Comme en ia, si la branche forte de cette discipline cherche


abstraire le processus de vie de tout medium, et donc pouvoir la synthtiser sur ordinateur, la branche faible, convaincue de l'impossibilit de gnrer un processus vivant, cherche imiter la vie, en produisant des modles correspondant aux observations. On retrouve alors l'utilisation des simulations informatiques avec par exemple les algorithmes volutionnistes, les systmes multi-agents (discuts en sous-section 1.3), et les automates cellulaires. L'tude des animats peut tre considre comme une sous-catgorie de multi-agents (Dean, 1998). 

ALife

qui se concentre sur les modlisations

Virtual Life est une sous-branche de ALife qui cherche reproduire le comportement d'tres vivants dans une simulation de ralit virtuelle. Une double problmatique est aborde : environnement avec

(i)

reproduire les comportements des entits et leur

(ii)

un rendu visuel (voire multimodal) raliste en temps

rel. La technique utilise est l'utilisation de la modlisation agent (Wang et McKenzie, 1998). Les comportements simuls sont donc dcrits au niveau individuel, et s'appuient sur les modlisations des sciences du vivant (de la psychologie, du behaviourisme et de l'thologie). Simuler un animat virtuel implique ici de simuler son environnement, c'est--dire l'cosystme, ainsi que toutes les interactions. Heleno et dos Santos (1998) prsentent la simulation d'cosystme partir de modles comportementaux de dplacement excuts par un processus d'animation.  L'

Ethologie articielle utilise les robots mobiles pour tudier le comportement

animal : les robots servent soit d'exprimentation des modles d'animaux, soit d'outils d'tude de ces animaux en permettant par exemple de les approcher ou d'interagir avec eux (Holland et McFarland, 2001). L'interaction avec l'environnement tant un point clef de l'thologie (qui tudie le comportement de l'animal dans son milieu), l'utilisation d'animats virtuels par simulation est peu usite car elle contraint modliser l'environnement et ajoute ainsi des hypothses de modlisation supplmentaires non lies au modle de comportement. Les modles de l'thologie sont donc utiliss ici soit pour concevoir les comportements des robots soit pour tudier le comportement des animaux.

1.3 (Eco)systme et ibm


1.3.1 Milieu naturel et systme complexe
Nous venons de voir que les modles comportementaux utiliss en sciences du vivant et en sciences articielles sont trs proches (ce sont souvent les mmes avec des adaptations aux contraintes spciques). De plus, la modlisation individu-centre (qui correspond aux modles animats) s'appuie sur l'exprimentation et donc la simulation. Le milieu naturel peut tre tudi comme un systme complexe avec des interactions qui peuvent tre de natures direntes et oprer direntes chelles spatiales et temporelles (Green et Sadedin, 2005). Le comportement animal peut galement se dcrire sous la forme de systme complexe quand on s'intresse au comportement de l'individu

20

Ludovic Coquelle

Comportement et modlisation

en interaction avec son environnement mais aussi avec les autres individus. L'ide principale de cette modlisation est de dcrire des comportements simples au niveau individuel pour observer les rsultats de la simulation un niveau suprieur (groupe ou population par exemple). En biologie, suivant les proprits du systme que l'on souhaite modliser (et le but de la modlisation), plusieurs types de modle sont utiliss : analytique, stochastique, ou par vnements discrets. Un modle analytique relve de la proprit continue de l'volution temporelle du systme (de son modle), par opposition un modle discret o les grandeurs modlisant les tats du systme changent de manire discrte. Un modle discret peut tre stochastique (le contraire serait un modle dterministe) si au moins un lment (une variable) alatoire inuence l'volution du systme. La simulation par vnements discrets dsigne la modlisation d'un systme rel tel qu'il volue dans le temps, par une reprsentation dans laquelle les grandeurs caractrisant le systme ne changent qu'en nombre ni de points isols dans le temps. Seul ce type de simulation permet de tenir compte nement de la spatialisation des systmes (Coquillard et Hill, 1997). Pour les animats, la simulation par vnements discrets permet de raliser des modles dynamiques qui intgrent l'individu dans son environnement : ce sont les Individual-Based Model (

ibm),

traduits en franais par modles individu-centrs.

1.3.2 Dnition et intrt des ibm


Un Individual-Based Model (

ibm)

reprsente les consquences globales issues des

interactions locales entre individus ; ces individus sont dnis par leurs comportements et proprits. Le modle dnit les individus, mais le rsultat est observ au niveau d'un ensemble d'individus (pour lequel aucune proprit moyenne n'a t dnie). Un

ibm est

de plus spatialis si les individus sont localiss (ventuellement mobiles) dans l'environnement. Ce besoin de spatialisation pour modliser l'volution temporelle des processus physiques et biologiques est dcrit dans une histoire des modles lis la gestion des ressources marines (Giske et al., 2001). Dans (Huse et al., 2002), les auteurs dnissent formellement un tion de deux vecteurs. Le vecteur d'attributs

ibm comme l'volu-

Ps dnit toutes les proprits de tous les individus, tandis que le vecteur de stratgies Ss dnit tous les comportements des individus. Chaque individu Ai possde un ensemble de proprits Pi (comme sa position par exemple) traduites sous la forme d'attributs numriques pi pour un instant t, ainsi qu'un ensemble Si de comportements traduits sous la forme d'algorithmes si . Un individu est donc reprsent par un couple de deux ensembles Ai = Pi , Si avec Pi = p1 , p2 , pni , t et Si = s1 , s2 , smi . La simulation a alors pour rle de faire voluer les vecteurs Ps et Ss .
Quel est l'intrt des

ibm pour modliser des comportements animaux ? Il se situe dans

la dirence d'chelle entre la description du modle et l'observation du rsultat : c'est le phnomne d'mergence. Sans entrer dans les dbats de dnition du terme mergence, nous l'employons ici pour dsigner simplement un phnomne observ un niveau plus lev que celui du modle ; c'est donc un phnomne non dcrit lors de l'laboration du modle, mais observ par simulation.

dans les sciences du vivant


2

Miquel

donne

une dnition de l'mergence

, et conclu que dans la science contemporaine (la simulation

des systmes complexes par exemple) dterminisme et prvisibilit cessent de concider

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

behavioRis

21

Chapitre 1  Modlisation de comportement animal

systmatiquement. Pour modliser un seul individu animat, un modle classique (non

ibm)

comme pro-

pos dans (Beer et al., 1990) s'appuie sur un modle neuro-thologie pour contrler les six pattes d'un insecte. Cet insecte virtuel se dplace dans l'environnement, attir par de la nourriture mais en vitant les obstacles. Le modle dcrit le fonctionnement des pattes, et c'est ce dplacement qui est observ. Par contre dans (Meyer et al., 2005), mme si le rsultat observ est le fonctionnement global d'un rat articiel (non virtuel, c'est un robot mobile dans ce cas), le modle dcrit le fonctionnement interne comme un systme complexe : un ensemble d'interactions entre les entits qui composent le rat. Les intrts de l'

ibm

sont rsums dans (Scheer et al., 1995). Le premier est de ne pas

introduire dans le modle de loi explicite de comportement l'chelle d'observation. Le second est que la construction de comportement est plus robuste la formulation partielle des processus. Et le dernier, qui nous intresse particulirement dans notre tude, est que les paramtres du modle sont typiquement ceux mesurs par les biologistes. Cependant, le principal inconvnient des calcul : si

ibm,

qui explique en partie leur dvelop-

pement relativement rcent, est que la simulation peut tre trs coteuse en terme de

individus peuvent tous interagir entre eux, le nombre d'interactions calcules

au cours de la simulation volue en o

N2

, mme si

in ne

elles ne sont pas toutes prises

en compte. La principale rponse ce problme est souvent de passer par des structures

Grimm nous met en garde aussi sur le but de la simulation d'ibm. En eet, un modle ibm a un but explicatif (Grimm utilise le terme pragmatique ) qui tend guider le modle vers plus de ralisme, pourtant il ne reste qu'un
seul lorsque cela est possible (Grimm, 1999). modle abstrait. Nous pensons cependant que cette remarque prend plus d'importance dans le contexte voqu par l'auteur qui est l'cologie, que dans la modlisation d'animat o l'on compare en permanence le sujet et le modle. Un autre point voqu est la dirence entre une thorie au niveau du systme en lui-mme et un question relve plus de l'utilisation faite de l' les modles suivant les

organisationnelles, comme les super-individus, pour regrouper plusieurs individus en un

ibm sont une rponse certains problmes comme le montre la classication modles spatiaux utiliss des ibm pour l'tude des populations marines de

ibm

ibm.

Mais cette

que de sa forme. Toujours est-il que

Werner et al. (2001).

1.3.3 Utilisation des sma


Nous considrerons dans la suite qu'un Systme Multi-Agents ( mentation d'un

ibm

sma)

est une impl-

pour obtenir une simulation. Dans (Wooldridge et Jennings, 1995),

les auteurs donnent une dnition dite faible d'un agent comme un systme autonome, dot de capacit sociale (interactions

via

un langage agent), et capable de ractivit et

de proactivit (rponses des stimulations de l'environnement et prise d'initiative). En simulation, les agents sont des entits situes, dotes d'un modle de comportement, et le

sma simule l'excution parallle des entits. Sans entrer plus dans les dtails de dnition
parlerons galement

du terme agent, nous assimilerons un animat virtuel un agent de la simulation. Nous

d'architecture d'agents

comme une mthodologie de conception et

non pas comme une structure xe (Bryson, 2000).

22

Ludovic Coquelle

Comportement et modlisation

1.4 Notre objectif


Comme nonc en introduction, notre tude porte sur la simulation de comportements individuels d'animaux. Le but de la simulation est de proposer un formalisme (excutable) de la modlisation de comportement. Pour cela, nous nous plaons dans le cadre d'tude des systmes complexes ainsi que dans celui des animats. Prcisons les limites de notre travail.

1.4.1 Objet d'tude, ou quels comportements simuler ?


Les direntes sciences du comportement individuel (du vivant ou de l'articiel) abordent la notion d'individu plusieurs chelles d'observation suivant leur but. Le notre ici est de dcrire un animal de manire externe, an de modliser son comportement observable dans un environnement virtuel. Un modle dit externe fait opposition un modle de fonctionnement interne. Un modle interne fait des hypothses fortes sur le systme interne de l'individu en s'appuyant sur les modlisations physiologiques pour proposer des approches bio-mimtiques. Par exemple, le projet

Psikharpax

(Meyer et al., 2005) propose un modle (physique, dans

le sens de robot mobile) de rat. Ce rat articiel intgre les capacits motrices et sensorielles de l'animal et son mcanisme comportemental est inspir du fonctionnement de la structure nerveuse situe dans plusieurs boucles

 cortex.

cortex  ganglions de la base  thalamus

Parmi les comportements observables, nous nous limitons aux comportements instinctifs inns. Un comportement est dit instinctif s'il pousse l'animal excuter des actes adapts un but dont il n'a pas conscience ; il est inn s'il n'est pas appris par l'animal au cours de sa vie. Poser ces limites de modlisation de comportements permet de concentrer notre travail sur la description externe du comportement. Un comportement non instinctif relve d'une certaine conscience du comportement, et son modle s'appuierait sur les donnes psychologiques internes. De la mme manire, un processus d'adaptation (l'

ia

utilise

le terme apprentissage o la biologie utilise l'expression d'adaptation proximale) s'appuie souvent sur des hypothses comme la reprsentation interne du monde ; de plus, modliser un processus d'adaptation conduit ne plus matriser le rsultat du modle (Guillot et Meyer, 1998), ce qui nous loigne de notre problmatique de description du comportement. Pour rsumer, voici nos objectifs et restrictions :  une modlisation au niveau individuel reposant sur des observables (externes ou internes) ;  une manire de dcrire des comportements instinctifs inns ;  une simulation d'un environnement virtuel ou interagissent des individus de direntes espces.

1.4.2 Sujet d'tude, ou quelle modlisation adopter ?


Pour simuler un environnement virtuel peupl d'animats en interaction, nous avons vu en section 1.3 que les l'environnement comme un systme complexe. La problmatique des simulations des systmes complexes n'entre pas en conit avec la volont d'avoir un moyen de description simple du comportement : la complexit in-

ibm fournissaient un outil adapt, avec l'hypothse de modliser

behavioRis

23

Chapitre 1  Modlisation de comportement animal

tervient au niveau du rsultat global de la simulation mais rsulte d'un agencement de systmes simples. De plus elle permet de modliser des interactions entre dirents modles en laissant l'autonomie de dcision au niveau des entits simules (ici les animats). Pour ce faire, la modlisation s'appuiera sur les donnes de l'thologie. Les modles de la psychologie introduiraient des processus du fonctionnement interne de l'animal (li l'espce et souvent non observable). Au contraire, les modles trop fortement les possibilits de description. Le sujet d'tude vise alors proposer un moyen de dcrire les modles thologiques de comportements instinctifs inns d'animaux pour les simuler grce aux techniques de la vie articielle, particulirement l'tude des animats.

behaviourists

limiteraient

1.4.3 Objectif, ou quelle nalit rechercher ?


Le but est de crer un modle d'animat, qui puisse tre utilis pour simuler direntes espces animales. L'objectif nal est donc d'apporter un outil de modlisation pour des spcialistes de la modlisation comportementale (thologique). Pour cela, les caractristiques de ces donnes sur le comportement doivent tre prises en compte dans l'laboration du simulateur. En eet les connaissances du comportement animal sont souvent parcellaires et imprcises (du point de vue de la simulation qui exige de calculer tout moment un comportement reprsent par des valeurs numriques exactes). Parcellaires car les comportements ne sont souvent connus que dans des conditions spciques ; imprcises car ceux-ci sont souvent dcrits de manire linguistique. De plus, il faut prendre en considration que les donnes sur le comportement sont exprimes de manire dclarative, ce que nous allons voir en section 2.1.

Ethologie et simulation
Cette partie n'a pas pour prtention de dnir entirement l'thologie mais pose

les lments de base pour aborder la notion de modle thologique. De plus amples informations sur l'thologie peuvent tre trouves dans des livres de rfrence comme (McFarland, 1999).

2.1 Dnition
L'thologie est une science relativement rcente dans sa dnition actuelle. Le terme a t introduit au dbut du XX

e sicle. L'thologie tudie le comportement naturel animal,

c'est--dire la manire adapte 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 mcanismes et leurs histoires, en rpondant aux questions nise structurellement (

quoi ?, comment ?

et

pourquoi ?.

L'ensemble des comportements dnit l'activit de l'individu. Cette activit est orgason nid n'importe o) et temporellement (

eg. une manire de marcher), spatialement (eg. l'oiseau ne fait pas 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 organismemilieu qui fait le vritable objet d'tude de l'thologie. L'organisme n'est donc pas tudi comme une unit populationnelle, mais comme un ensemble cohrent, qui va de l'espce une direntiation en groupes d'individus, ce qui permet de prendre en considration les caractristiques et dirences

24

Ludovic Coquelle

Ethologie et simulation

inter-individuelles. Le milieu n'est plus alors le milieu naturel dans sa globalit mais l'environnement phylogntiquement pertinent, c'est--dire ce avec quoi l'individu peut interagir. L'thologie direncie deux types de comportement. Les comportements dit de premier ordre (que l'on peut voir comme les actions et perceptions de l'individu) contribuent directement une fonction ultime de survie ou reproduction. Les autres sont dits de second ordre, ce sont les interactions qui ont pour but de prparer  via la communication  les conditions d'une relation nalise ultime d'interaction avec un autre organisme. Caractriser un comportement au cours des activits des individus sous-entend de pouvoir reprer une rponse qui se rpte pour chaque individu dans une certaine situation : ce sont les Fixed Action Pattern (

fap) qui permettent de dcrire des comportements

strotyps. Mais l'thologie introduit la variabilit dans l'tude des comportements. Celle-ci est soit d'ordre phnotypique inter-individuelle, c'est la direntiation des dirents groupes d'individus l'intrieur d'une mme espce ; soit elle est de l'ordre de la exibilit dans le comportement, c'est une variabilit contrle par l'individu. Les champs de rexion de l'thologie peuvent se dcomposer en quatre questions, prcises par les schmes de

Tinbergen (Tinbergen, 1951). La premire, lie au schma

causal, est l'tude des causalits : qu'est ce qui fait que cet animal produit cette rponse maintenant ? La deuxime, le schma fonctionnel, adopte un point de vue plus pragmatique et s'interroge sur la fonction : comment le comportement peut-il inuencer les chances de survie ou de reproduction de l'individu ? La troisime, le schma proximal, s'intresse au dveloppement de l'individu : comment le comportement change avec l'ge, et quelles sont les expriences ncessaires la prsence d'un comportement ? Et enn, le schma historique, pose le problme d'un point de vue volutionniste : comment peut-on comparer un comportement par rapport celui d'une autre espce, et comment a-t-il pu se dvelopper suivant le principe de la phylognse. L'thologie se direncie de la psychologie compare principalement dans le fait qu'elle focalise son tude sur l'individu en situation naturelle et non pas dans des cas spciques articiels. De plus, l o la psychologie compare tudie le comportement animal en fonction des connaissances sur la psychologie humaine, l'thologie tudie l'animal partir des bases d'anatomie et de physiologie. Une consquence observable de ces divergences d'approche est que si la psychologie compare s'est eorce d'accumuler des connaissances prcises sur quelques espces, l'thologie s'est intresse un nombre plus grand d'espces, mais avec des connaissances moins prcises, pour comparer et extraire des principes de comportement. Avec les schmas, fonctionnel, proximal et historique, l'thologie pose un 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 et pourquoi il est excut par l'individu plutt que de chercher comprendre les mcanismes qui conduisent ce comportement. Le comportement consiste en une srie de mouvements continus et d'vnements. Pour dcrire le comportement d'un animal, il va falloir le dcomposer en units. L'ensemble des units comportementales dcrites dans une espce forme le rpertoire comportemental ou thogramme de l'espce (au sens strict, thogramme signie description du rpertoire). L'thogramme est donc une description comportementale de l'animal, sous la forme d'une description linguistique des principaux comportements ainsi que de leurs occurrences (causes et frquences). Un exemple est donn gure 1.3 page 26.

behavioRis

25

Chapitre 1  Modlisation de comportement animal

Exemple d'thogramme Species : Multiple species (Class Aves) Use : General behavior and social proximity Authors : M. Ross : Lincoln Park Zoo, Chicago, IL Methods : Group scan with 30-second intersample interval Publications/Presentations : Ross, M.R. The eect of ultraviolet light on the behavior of birds. Ph.D. dissertation, Georgia Institute of Technology, November, 2001.  Stationary
CHANNEL 1 : Behavior Resting (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.  Courtship Nest 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 a nest box. Incubation of Nest (IN) The subject is sitting in a nest, or manipulating an egg within a nest with its beak. Allo-Preening (AP) The subject is manipulating the feathers of a conspecic. (Recorded for instantaneous 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 instantaneous data as well as all-occurrences) Vocalizing (VC) The subject is vocalizing and not performing any other active behavior simultaneously.  Locomotion Flying (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) will be recorded. Underwater swimming of penguins and seabirds will be classied as ying. Walking (WK) The subject is using its legs to locomote on a solid surface in a rhythmical fashion in 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 least 3 times before being recorded as pacing.
CHANNEL 2 : Distances

Any part of a subject is in contact with a conspecic. Proximate (P) The subject is within one body length to a conspecic. Out of reach (O) The subject is over one body length away from a conspecic but less than 4 feet away. Distant (D) The subject is more than 4 feet away from a conspecic. Not Visible (NV) The subject's distance from conspecics is not visible at point sample.
Contact (C)

 Exemple d'thogramme : extrait partiel de l'thogramme d'une famille d'oiseau d'aprs le Behavioral Advisory Group http://www.lpzoo.org/
Figure 1.3

ethograms/FRMS/menus/birdsmenu/generalbirds.html

26

Ludovic Coquelle

Ethologie et simulation

2.2 Modlisations thologiques


Les thogrammes sont des outils pour runir les connaissances comportementales animales. Ce travail de regroupement et d'organisation des connaissances, comme par exemple l'initiative

Ethosource

, est la base ncessaire la conception des modles de

comportement qui nous intressent. Un historique de ces modles thologiques est prsent dans (Holland et McFarland, 2001, ch. 1). Nous reprenons dans cette partie certaines rfrences pour extraire quelques principes de modlisation.

2.2.1 L'explication causale


Comme nous l'avons prcis, avec la cyberntique, de faire une analogie entre systmes physiques et

Wiener a t le premier proposer biologiques. Avant lui, Von Holst,

pionnier de la physiologie comportementale, utilisait systmatiquement des analogies physico-biologiques (p. ex. un modle mcanique de battement en rythme des nageoires d'un poisson prsentant certains degrs d'indpendance dans leur coordination, en 1939).

Lorenz,

sous l'inuence de

Heinroth,

a t un des pres fondateurs de l'thologie

moderne. Il a notamment propos la notion d'Innate Releasing Mechanism ( donner une explication causale de comportement (Lorenz, 1950). Un de stimuli qui dclenche un comportement donn ( haviouristes, un

irm regroupe les stimuli externes (causes exognes dues la perception Lorenz

fap).

irm) pour irm est un ensemble

A la dirence des modles be-

de l'environnement) avec les stimuli reprsentant l'tat interne de l'individu (causes endognes dues l'tat interne de l'individu). En 1950, dclenchement de comportement (un modle d' hydraulique (

cf

irm) sous forme d'analogie un systme

a prsent un modle de

gure 1.4 page 28). Dans ce modle psycho-hydraulique, une variable

interne nergie est symbolise par un rservoir d'eau qui se remplit progressivement (le niveau d'eau indique le niveau d'nergie). Un stimulus externe agit sur l'ouverture d'une vanne par l'intermdiaire d'une action mcanique et permet au contenu du rservoir de se dverser dans un systme qui symbolise le contrle du comportement. Ainsi, le dclenchement du comportement dpend la fois du niveau de stimulation interne (le niveau d'eau dans le rservoir inuence la vitesse de sortie de son contenu l'ouverture de la vanne) et du niveau de stimulation externe (le degr d'ouverture de la vanne dpend de la force du stimulus peru). De la mme manire, le contrle du comportement est modul par la quantit d'eau qui se dverse hors du collecteur. Mme si le concept d'nergie sera remis en cause en 1960 par

McFarland,

Hinde

et en 1971 par

c'est le principe de modlisation qui nous intresse ici par dclenchement

d'action sous l'inuence d'une certaine conguration de stimuli. Ce qui n'apparat pas clairement dans ce modle de schma causal, c'est la distinction entre deux types de stimuli. Les premiers sont dits stimuli dclencheurs (releasing), ils engendrent le dbut d'une rponse. L'autre type de stimulus est dit directeur (directing) : un stimulus directeur est un paramtre de la rponse. Ces deux types sont souvent lis, comme ici o l'inuence du niveau d'eau dans le rservoir ou l'ouverture de la vanne guident le processus de contrle de comportement : ils sont la fois dclencheurs et directeurs. Une autre tape dans l'volution des modles thologiques est l'introduction des boucles de rtroaction (

feedback )

utilises en thorie du contrle. Cette ide a t in-

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

behavioRis

27

Chapitre 1  Modlisation de comportement animal

Figure 1.4

 Modle psychohydraulique de motivation d'aprs Lorenz (1950). Le robinet T symbolise une production endogne d'nergie d'action ; le rservoir R reprsente la quantit disponible de cette nergie. La valve V est le mcanisme dclencheur et le ressort S reprsente les forces inhibitrices de plus haut niveau. Une masse Sp symbolise la partie des stimuli provenant des perceptions externes. Les dirents coulement T r, suivant le niveau atteint, symbolisent les dirents fap activs G.

troduite en biologie sous le nom

homostasie

(Cannon, 1927). C'est la proprit qu'a un

systme ouvert (un organisme vivant par exemple) de se rguler pour maintenir sa stabilit, par ajustement de dirents mcanismes de contrle potentiellement interconnects. Le mcanisme utilis est la rtroaction. Une rtroaction est la prise en compte comme entre du contrle de la dirence entre la sortie du mcanisme de contrle et l'tat vritable du systme. Cela sous-entend que le contrle doit connatre sa sortie (un eet mmoire) ainsi que l'tat du systme (par l'intermdiaire de la proprioception). Cette rtroaction est dite positive si elle tend faire crotre la dirence, et ngative dans le cas inverse. Ce fonctionnement est mis en uvre dans le modle thologique du principe de r-arence (von Holst et Mittelstaedt, 1950). Ce principe est une extension de la thorie propos par

von Helmholtz

la n du XIX

e sicle. Le modle prsent, qui dcrit

outow

le contrle du mouvement de l'il, permet de direncier les mouvements perus par la rtine entre les mouvements propres des muscles rtiniens et les mouvements externes (comme ceux de la tte par exemple). Ce type de modlisation a conduit des analyses dites bote noire dans une perspective connexioniste, dont le but est d'identier les variables d'tat principales qui caractrisent un comportement. Les techniques d'analyse statistique ont beaucoup t utilises.

28

Ludovic Coquelle

Ethologie et simulation

Cependant ces tudes n'taient adaptes qu' des comportements simples et linaires. Or, si l'animal n'eectue qu'une seule activit la fois, les dirents comportements de son rpertoire sont en comptition, et l'animal change de comportement son gr. L'analyse bote noire ou mme la modlisation par la thorie du contrle classique ne sut alors plus modliser un animal car son tat ne peut tre reprsent compltement par un seul comportement. Direntes variables internes interviennent dans le modle, mais seulement certaines sont corrles au comportement actif. Il est alors ncessaire de pouvoir modliser ces variables indpendemment du comportement, pour obtenir un modle non-linaire multiples entres.

2.2.2 Vers le modle fonctionnel


Les modles que nous venons de citer sont trs proches de la thorie du contrle. En fait leur but est de montrer comment les facteurs internes et externes sont combins pour dterminer le comportement observable. Certains sont assez simples pour tre modliss par une expression analytique qui peut dcrire une squence d'actions. Pour modliser une activit plus complexe de l'individu, l'thologie adopte une approche fonctionnelle du comportement. Le modle n'aura plus pour fonction de rpondre la question comment l'animal prend la dcision ? mais va plutt s'intresser rpondre la question quelle dcision va-t-il prendre ?. Autrement dit, le problme passe de l'ordre de la l'ordre de

l'observabilit

contrlabilit

(Holland et McFarland, 2001).

Modliser dirents comportements possibles dont un seul la fois peut tre actif ncessite une organisation structurelle. Trs tt en biologie, les comportements ont t classs sous forme de hirarchie (Dougall, 1926, cit par Bryson (2000) qui retrace l'organisation hirarchique de comportements d'aprs Hendriks-Jansen (1996)). Sous l'inuence des modles causaux comme celui de comportement ne dpend que d'un en thologie, jusqu'aux travaux de

Lorenz qui suppose que l'activit d'un irm x, cette hirarchie a t peu prise en compte Lashley (Lashley, 1951). Baerends Tinbergen
(Baerends, 1976),

En prenant en compte l'tat de motivation de l'animal (les stimuli internes et son histoire rcente) ainsi que les conditions environnementales (stimuli externes), a propos un modle comportemental, reprit ensuite par

bas sur une organisation fonctionnelle hirarchique (Tinbergen, 1951). Le principe est de classer les comportements instinctifs par niveaux, et l'activation d'un instinct de niveau

dpend de l'activation de l'instinct du niveau suprieur. Une organisation fonctionnelle hirarchique permet de dcrire le comportement en

terme de but et sous-but. Mais le fait de pouvoir dcrire ce comportement en ces termes ne permet pas de conclure que ce rsultat a t produit par un systme de contrle hirarchique (Gardner et Heyes, 1998). La thorie des systmes dynamiques propose que le comportement ne soit pas slectionn dans une hirarchie de buts mais rsulte des consquences de plusieurs processus parallles dynamiques et chaotiques (on rejoint ici la notion d'mergence voque en section 1.3.2). Depuis Minsky (1985), de nombreux modles ont t prsents en ce sens. Que ce soit pour modliser le schma causal (comment le comportement est slectionn) ou le schma fonctionnel (quel comportement est slectionn), les modlisations en thologie utilisent une description causale. Le rle des modles est de dcrire d'un point de vue systmique les relations de causeconsquence entre stimuli et comportements. Cet aspect descriptif permet l'laboration de modles en dehors de la thorie classique du contrle. Les modles de comportement s'appuient toujours sur un principe qui vient

behavioRis

29

Chapitre 1  Modlisation de comportement animal

de la psychologie compare et connu sous le nom du

canon de Lloyd Morgan : In no


Thomas nous met

case 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 of psychological evolution and development, cit par Thomas (2001a). dirence fondamentale faite avec le modlisation, le canon de plus, en garde contre les mauvaises interprtations de ce principe, et notamment marque la

principe de parcimonie

(ou

rasoir d'Occam ). L o

le principe de parcimonie veut tre un lment de dcision entre plusieurs hypothses de

Morgan prcise l'chelle psychologique en terme d'volution et de dveloppement.

Morgan

se place uniquement au niveau psychologique. De

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 boids


A ce stade de la prsentation de la modlisation en thologie, nous dveloppons ici un exemple pour introduire de manire concrte les dirents aspects d'laboration d'un

ibm

comportemental en vue d'une simulation.

Description d'un modle


Reynolds
terme peau ( Cet exemple est le clbre modle informatique des

boids

(Bird-oids) dvelopp par

pour faire de l'animation (Reynolds, 1987). Son but est de dnir un com-

portement de dplacement en groupe pour un ensemble d'individus. L'auteur emploie le

boids

boids pour dsigner aussi bien un modle de nue d'oiseaux (ock ), que de trouherd ) ou de banc de poissons (school ). Une animation est propose sur la page des
4

. L'ide principale de ce modle pour simuler un groupe est de se baser sur l'ob-

servation naturelle : chaque individu agit (peroit et se dplace) de manire autonome. Le groupe est une notion ajoute par l'observateur du modle. Le principe des comportements de dplacement :

boids est

alors d'assimiler un comportement de groupe pour un individu la rsultante de trois

(1)

sparation,

(2)

alignement et

(3)

cohsion, illustrs

gure 1.5 page 31. Ces trois comportements rgissent les interactions de l'individu avec son environnement de la manire suivante :  L'entourage de l'individu est dni comme l'ensemble des individus situs une distance infrieure un paramtre

Dmax .

 Chacun des trois comportements accde aux positions et vitesses des individus de l'entourage et calcule en sortie une nouvelle acclration pour l'individu.  Les sorties de ces comportements sont ordonnes par importance et l'acclration applique en rsulte.

Les shmas thologiques mis en uvre


Nous cherchons retrouver dans cet exemple les liens entre le modle informatique propos et les modlisations thologiques, c'est--dire illustrer pour les causaux, et s'il en est, les schmas fonctionnels. Les rgles causales se retrouvent dans la description de chaque comportement et de ses entres et sorties. Les trois comportements prsents ont le mme type de fonctionnement : leurs entres sont les moyennes des vitesses, des orientations, et des positions de

boids les schmas

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

30

Ludovic Coquelle

Ethologie et simulation

Sparation
 viter les collisions avec l'entourage ;

Alignement
 se dplacer comme son entourage ; rage.

Cohsion
 rester proche de l'entou-

Figure 1.5

(1987).

 Les trois comportements de dplacement des

boids

de Reynolds

l'entourage de l'individu ; la sortie de chaque comportement est le vecteur acclration ncessaire pour satisfaire le comportement. Par exemple, la sparation calcule une acclration qui dirige l'individu

dans la direction oppose du point

B , barycentre spatial des

positions des individus de l'entourage (le calcul du barycentre est pondr par l'inverse du carr de la distance l'individu autres comportements. La notion de perception est la base de la description causale. Sans dcrire le processus physique sous-jacent, ce qui est appel perception et qui peut gnrer un stimulus est une abstraction de ce processus. Par exemple la perception de la vitesse des individus de l'entourage peut s'expliquer par une variation du milieu (eau, air) dtecte par un ensemble de sens coordonns. Les rgles comportementales ne se rfrent qu'aux stimuli. Ensuite, ce sont des rgles causales de type contrle classique qui dterminent les sorties des comportements. Enn, les rsultats des comportements sont regroups par un systme de contrle qui doit eectuer l'action, et la manire d'eectuer l'action fait encore partie du schma causal, puisque l'ont dcrit ici le processus de contrle des eecteurs. Cependant le calcul de la commande des actionneurs partir des sorties des comportements est imputable un modle fonctionnel. Chaque comportement a deux proprits de sortie : le vecteur d'acclration souhait, mais aussi un coecient de pondration du comportement. Ce coecient fait partie du modle fonctionnel car il permet de discriminer des relations entre les comportements. Les rgles fonctionnelles dnissent la commande d'activit excuter partir des sorties des comportements. Dans le modle des

: plus un individu de l'entourage est proche, plus

il inuence le comportement de sparation). Le mme type de calcul s'applique pour les

boids,

la commande est dduite par un

algorithme qui moyenne et trie les acclrations en sortie des comportements sur un intervalle de temps qui dpend des quantits d'acclration intervenant et d'un paramtre d'acclration maximum (dcrire l'algorithme n'est pas l'objet de cette partie). Les rgles fonctionnelles sont exprimes de manire causale. Ici c'est un algorithme de calcul de type moyenne ; une autre solution serait de choisir le comportement le plus actif ; les deux solutions ont leurs contraintes, et ce problme sur lequel nous reviendrons est connu en automatique comme le problme de la

slection d'action.

behavioRis

31

Chapitre 1  Modlisation de comportement animal

Etudes biologiques en corrlation


Les

boids restent un modle informatique pour reproduire les groupes. Il a t initia-

lement conu pour calculer des dplacements, et notamment pour pouvoir dcrire dans une animation un chemin que le groupe doit suivre. L'tude de vritables groupes d'animaux soulvent cependant dirents problmes de ce modle. Une description biologique de la notion de nage en banc pour des poissons plagiques est faite par Fron et Misund (1998). Un banc est caractris par la rpartition spatiale des individus (taille, densit, organisation) mais aussi par des rgles dynamiques comme la synchronicit des mouvements entre individus, ou les dirences inter-individuelles. Les caractristiques statiques sont le plus souvent relies aux schmas causaux, et les rgles comportementales aux schmas fonctionnels. Les fonctions de la nage en banc (accrotre le taux de survie une attaque d'un prdateur, amliorer l'ecacit de recherche de nourriture, tirer prot d'un avantage hydraudynamique, faciliter la migration et la reproduction) font partie de l'tude de schma proximal. Sans faire l'tude thologique de cette notion de groupe, nous reprenons ici quelques tudes de modlisation, principalement sur les banc de poissons, qui montrent des points importants dans la simulation de tels modles.

Observation du modle.

Dans (Huth et Wissel, 1991), un modle similaire (

ibm)

est

utilis pour des poissons avec quelques modications pour prendre en compte les aspects particuliers des poissons (les modles de perception et de dplacement, mais aussi les rgles qui xent l'inuence des congnres en fonction de leur position pour que l'axe devant l'individu soit favoris). Le but est toujours d'avoir un modle simulable, mais il est cette fois compar avec un vritable banc de poisson. Des descripteurs (degr de polarisation et d'expansion) sont mis en place pour comparer la simulation aux donnes relles, ou mme plusieurs modles entre eux (direntes manires de prendre en compte l'inuence du voisinage). Devoir mettre en vidence des descripteurs est un point clef des modles une chelle plus globale que sa description.

ibm : l'observation du rsultat se fait

Description des stimuli.

Reuter et Breckling (1994) prsente l'inuence de la percep-

tion (prendre en compte tous les individus de l'entourage dni par une distance, ou seulement un nombre restreint, ou encore seulement une partie visible) en comparant les rsultats du modle aux vritables bancs de poissons. La perception est une interprtation des rponses sensorielles. C'est cette interprtation qui est utilise dans les rgles comportementales. Ainsi on peut modliser la perception du voisinage comme tant les

plus proches congnres, les congnres situs devant,

ou seulement ceux visibles (sans obstruction visuelle mono- ou stro-scopique). Modliser la perception est la premire tape d'interprtation du modle.

Expression des rgles de comportement.

Le problme de comparaison par rapport

un mouvement rel est galement tudi dans (Viscido et al., 2002) pour le cas de troupeaux, en tudiant les trajectoires. Plus prcisment, la question de la localit du comportement est pose. Si des rgles comportementales ne semblent pas susantes

a priori,

une simulation sur un principe d'volution (Regula et Viscido,

2005) semble donner un comportement plus crdible (le gnotype dtermine la rpartition d'inuence des voisins par rapport leur seule distance). L'ajustement des rgles comportementales est une description causale des rgles fonctionnelles du modle, et est faite par un modle qui utilise un schma historique. Cet ajustement peut faire partie du modle fonctionnel si celui-ci simule un apprentissage, comme

32

Ludovic Coquelle

Ethologie et simulation

l'apprentissage de dplacement en groupe (Zaera et al., 1996). Une autre approche pour dcrire les rgles 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 rgles comportementales dpendent des percep-

tions, elles dpendent galement des rponses motrices. Dans (Brogan et Hodgins, 1997), cette rponse est inuence par le modle mcanique (physique) pris en compte, et des rsultats sont exposs pour des points pesants mobiles, des robots unijambistes et des cyclistes. A travers l'tude d'un modle informatique, tudi ensuite en comparaison de donnes biologiques, nous avons prsent la complexit inhrente aux

ibm thologiques, que

ce soit au niveau de son observation ou de sa conception. En eet, les perceptions sont des interprtations des rponses sensorielles, les comportements se basent sur des rgles imprcises qui ncessitent d'tre exprimentes pour les paramtrer, et les rponses motrices ncessitent de connatre le modle physique. Toutes ces hypothses, en interaction, forment le modle, pour lequel il devient ncessaire de formuler un cadre de simulation.

2.4 Simulation des ibm thologiques


Dans cette section, nous nous intressons la manire d'excuter un

ibm

tho-

logique, pour pouvoir l'observer et le manipuler. Par excution, nous entendons la manire de mettre en uvre les interactions dcrites par le modle. Bien entendu, nous nous concentrons toujours sur la formalisation de comportements ractifs.

Vie vs. comportement


En aucun cas il ne s'agit de dresser un parallle direct entre un organisme vivant et un animat : pour nous, un animat n'est pas un modle d'tre vivant mais un modle qui reproduit le rsultat de son comportement. Considrons un agent autonome comme un organisme articiel modlis par un systme auto-organis. Certes ces agents sont capables de reproduire une certaine adaptation, ce qui les direncie des systmes mcaniques classiques (Ziemke et Sharkey, 2000). Cependant, d'aprs les mmes auteurs, les thories de la cognition biologique, comme la thorie de topoesis conduisant au principe d'naction de

von Uexkll ou de l'auMaturana et Varela, ont exhib des

dirences entre un agent (plutt) autonome et un organisme vivant. Mme si un animal et un robot mobile (sorte d'agent autonome) prsentent de nombreuses similitudes, et notamment l'autonomie physique et la dcomposition en sous-systmes, des dirences apparaissent notamment par le fait que les composants d'un robot mobile sont ncessairement des systmes mcaniques, et qu'un agent autonome ncessite toujours d'tre initialis avec une tche accomplir (problme de la rst hand semantic). Nous soulignons alors que, dans notre tude de modlisation, il ne faut pas comprendre le terme animat comme modle d'animal mais comme modle de son comportement. Nous nous intressons la manire de dcrire un comportement, sans vouloir forcment reproduire le fonctionnement naturel.

Robotique vs. simulation


Nous avons introduit les

ibm

pour modliser des phnomnes complexes (que ce

soit au niveau causal ou fonctionnel). Pour modliser un comportement animal, nous

behavioRis

33

Chapitre 1  Modlisation de comportement animal

avons vu que le support d'excution du modle peut tre aussi bien une simulation informatique ( le principe d'tude

ALife) qu'un robot mobile (thologie articielle). Quel que soit ce support, in situ de l'thologie implique que le modle intragisse avec l'environ-

nement. En eet, c'est l'environnement qui permet la boucle des consquences externes des actions d'un animat sur ses entres. En robotique mobile, l'environnement naturel est directement utilis, que ce soit par les senseurs  lments structuraux qui ragissent des quantits locales d'information ou d'nergie de l'environnement ou par les eecteurs  lments du corps du robot (Holland et McFarland, 2001). En simulation informatique, cet environnement doit tre simul (et donc modlis). Par exemple, les lois physiques qui gouvernent l'environnement ne sont pas donnes. Dans le modle des

boids, le vol gomtrique permet de simuler un dplacement dynamique prenant en compte les inerties
par une succession de petits dplacements incrmentaux. Dans le cadre d'une dmarche explicative, modliser l'environnement permet galement de comprendre tous les lments inuenant le modle d'animat. Par contre, un biais du modle d'environnement peut entraner un biais dans le modle d'animat. Cependant la simulation permet galement, et c'est le cadre qui nous intresse, d'intgrer dans l'environnement de nombreux animats en interaction. L o la conception de robots peut tre longue et coteuse, la simulation permet l'exprimentation mme dans des milieux

in situ,
pche.

quasi

inaccessibles l'exprimentation

comme par exemple la modlisation d'un banc de poissons dans un chalut de

Formalisme vs. outil


La simulation d'un modle passe par un formalisme. L'approche objet est incontournable dans les processus individu-centr : l'analyse oriente objet s'impose dans un dialogue ecace entre experts du domaine [de la modlisation d'cosystme] et informaticiens (Coquillard et Hill, 1997). Les mthodologies de conception en gnie logiciel se sont intresses l'ingnierie des simulations d' en composants, comme par exemple le systme

ibm

(Ropella et al., 2002). Le plus sou(Meurisse et Briot, 2001). Le but

vent dans le cadre systmique, ces systmes sont fonds sur une dcomposition d'agent

Maleva

est d'tudier un sous-systme (le composant) en sparant d'un ct son ux de donne, et de l'autre son ux de contrle. Ceci a le double avantage de prsenter au modlisateur le comportement spar de ce qu'il manipule, et de faciliter l'excution pour la plate-forme multi-agents sous-jacente des imbrications de ux de contrle (nous revenons sur cette excution dans la section suivante). Le modle d'agent doit en eet pouvoir correspondre au modle d'animat que l'on souhaite simuler (Ricordel et Demazeau, 2001). Les mthodologies agents ont pour but de composer le modle d'agent correspondant l' sans prsenter les problmes dus la simulation. Par exemple, la plate-forme porte la mthodologie

Voyelles

ibm, Volcano sup(Ricor-

base sur des composants (briques et interfaces) dcrits

par un langage spcialis inspir des Architecture Description Language ( place une simulation d'

adl)

del et Demazeau, 2002). Ces mthodologies logicielles montrent la dicult mettre en

ibm. Pour Edmonds et Bryson (2004), les mthodes formelles sont

mmes insusantes pour dcrire le systme, qui ncessite une approche exprimentale. Une autre question est souleve par Lorek et Sonnenschein (1999), qui posent le problme de la direnciation entre le modle de comportement et son excution. Si notre but est de simuler un modle thologique, il faut que la description de comportement ne fasse pas partie de la plate-forme d'excution mais en soit plutt une donne d'entre. Cette excution devient alors un point clef de la simulation sur lequel repose le modle.

34

Ludovic Coquelle

Modles d'excution

L'excution introduit ses propres hypothses sur le comportement. Celles-ci doivent tre conformes aux principes sur lesquels repose l'

ibm.

Modles d'excution
L'excution des modles

ibm reposent sur des plates-formes de sma. Ces plates-formes

ont pour rle de dnir les relations exprimables entre agents puis de transformer ces relations en instructions excutes par la machine. Pour nous, une plate-forme agent est vue comme un framework orient objet, auquel elle ajoute un principe d'excution. La notion de framework orient-objet a t introduit par Jonhson et Foote (1988) : un framework est dni comme un ensemble de classes reprsentant une solution abstraite pour une famille de problme. La dirence est faite entre deux catgories de frameworks. Ceux dits bote blanche obligent l'utilisateur sur-dnir les composants pour apporter son modle de comportement. Les frameworks bote noire permettent l'utilisateur d'assembler des composants pour crer un comportement. Le second a l'avantage (dans notre cas) de cacher les dtails d'implmentation. A partir de la plate-forme agent, le modle d'excution dpend de la catgorie d'architecture d'agents.

3.1 Architecture d'agents et slection d'action


Une architecture d'agents autonomes peut tre dnie comme un support mthodologique de conception d'un

sma (Bryson, 2000). C'est alors un ensemble de connaissances

et de mthodes sur ces systmes (Wooldridge et Ciancarini, 2000). Ces architectures sont le plus souvent classes suivant dirents paradigmes dpendant des hypothses sur le fonctionnement interne des agents (Briot et Demazeau, 2001).

3.1.1 Architectures
Un premier type d'architecture excute des modles cognitifs Belief Desire Intention (

bdi).

Un systme

bdi

est une vision antropomorphique du fonctionnement interne

de l'agent. Il repose sur le principe philosophique du

practical reasoning

de Bratman

(1987). Un agent possde des connaissances sur le monde, souvent des rgles de causalit (vraie ou fausse). Il possde galement des buts, par exemple survivre, et prvoit ses enchanements d'actions pour atteindre ses buts. Un avantage de ce type d'architecture est de proposer des concepts de haut niveau pour dcrire le systme. Par exemple, Faulkner et Kolp (2003) proposent un langage pour dcrire un systme d'agents bas sur les architectures

bdi.

Pour cela, le systme est dcompos en deux aspects : le premier

dcrit le modle interne des agents en termes de buts, croyances, actions, plan d'action et vnements, et le second aspect dcrit le modle global en termes d'interface, de service, de conguration et d'architecture. Mais un modle

bdi

pose de fortes hypothses sur

un mode de raisonnement logique de l'agent. Ce type d'architecture peut dicilement convenir une base d'excution d'un modle thologique (principe de page 30). A l'oppose des architectures cognitives, les architectures ractives supposent un fonctionnement interne analogue aux hypothses behaviouristes. A tout moment l'tat de l'agent est dduit directement de ses stimuli. Cependant le mode ractif n'interdit pas l'agent de possder des variables internes, et ce type d'architecture est donc tout fait possible pour des simulations de modles thologiques.

Morgan

nonc

behavioRis

35

Chapitre 1  Modlisation de comportement animal

Enn, certaines architectures proposent d'assembler le meilleurs des deux mondes pour faire des architectures hybrides. Par exemple, l'architecture dcompose l'activit de l'agent en plusieurs couches de contrle. Une couche basse ex-

InterRap (Mller, 1996)

cute les ractions directes aux stimuli. Des couches plus hautes permettent de manipuler des concepts de plus haut niveau. Cette couche cognitive, pour faire des agents intelligents, se justie pour expliciter les squences ou plan d'action (Richard et al., 2003), notion sur laquelle nous reviendrons dans la section suivante.

3.1.2 Problmes transverses


A Modularit dans la conception
Certains choix de conception se retrouvent dans les dirents types d'architecture. Le premier point est la modularit dans la description de cette architecture, c'est--dire la manire de dcouper les sous-systmes, que ce soit en fonction du ot de donnes ou du ot de contrle. Par exemple, une architecture est en couches horizontales si les mcanismes de bas niveau (activation des perceptions et activation des actions) sont dissocis des mcanismes de haut niveau (dcision d'action) qui ne manipulent alors que les entres et sorties des couches infrieures. De la mme manire, une architecture est en couches verticales si un tage est ddi la gestion des stimuli, puis les sorties de cet tage sont manipules par une couche de traitement, qui sont ventuellement manipules leur tour par une ou plusieurs autres couches, et enn ressorties travers une couche de manipulation des actionneurs. L'architecture en couches horizontales permet de sparer les problmes d'interaction avec l'environnement des problmes de comportement (les architectures trois couches horizontales disposent d'une couche ractive, d'une couche de planication et d'une couche cognitive). Cependant la hirarchie des couches ne permet pas facilement de sparer les dirents comportements en modules indpendants. ( Matari (1998) fait un parallle entre les notions d'architecture base-comportement et de modlisation fonctionnelle. Dans ces architectures, un module

behavior-based )

comportemental est un systme de contrle, dont les entres proviennent des senseurs et d'autres modules de comportement, et les sorties rfrent des eecteurs et d'autres modules de comportement. L'avantage est de pouvoir isoler chaque comportement sans que ceux-ci ne manipulent une reprsentation gnrale partage de l'environnement : chaque comportement utilise les proprits perues de l'environnement qui l'intressent (ide introduite par Brooks (1986) sous la clbre formule 

the world is its own best model ). Ce type de solution distribue est souvent plus robuste aux conditions de l'environnement. Cependant il est ncessaire de prvoir un mcanisme de contrle global qui supervise le rsultat de tous les comportements.

B Organisation des modules de comportement


Cette organisation (entre les couches ou entre les modules de comportement) pose le problme de savoir si le comportement est le rsultat d'une structuration xe (hirarchique ou squentielle) des dirents modules, ou si elle merge d'une auto-organisation dynamique de ces modules. Elle est responsable notamment de la gestion des donnes de l'environnement. Les dfenseurs des architectures dcentralises (Maes, 1989, par exemple) soutiennent l'ide qu'une organisation hirarchique ou squentielle apporte une certaine rigidit dans le systme qui devient alors inecace prendre en compte rapidement des changements dans l'environnement (aspect ractif ). Cependant, la hirarchie

36

Ludovic Coquelle

Modles d'excution

est un moyen de grer les dpendances entre modules comportementaux, et a souvent t introduite dans les modles thologique (2.2.2). L'organisation des comportements permet galement d'introduire des plans ou squences d'actions qui sont ncessaires l'expression d'un comportement complexe (par exemple, attraper une proie puis la manger). Ce plan d'actions est dit hirarchique si ses lments constitutifs sont exprims en fonction d'autres actions. Ceci nous amne au problme principal des architectures : savoir tout moment quelle action excuter, ou plutt quelles commandes envoyer aux eecteurs qui retent au mieux les actions lues par les modules comportementaux.

3.1.3 Slection d'action


Le problme de la slection d'action pour les architectures bases comportement est dtaill dans (Pirjanian, 1999), qui propose une classication des direntes solutions habituellement retenues en robotique mobile. Nous rsumons ici cette synthse. Un module comportemental est dcrit comme un ensemble d'units perceptionaction qui rsolvent un objectif en choisissant une action approprie. Une action est relative l'agent qui l'excute, et traduit la manire dont cet agent agit sur ses proprits. C'est donc travers les actions que le comportement est observ. Pour faire le parallle avec l'thologie, le problme de la slection d'action est analogue au problme de la survie de l'espce (ou du groupe) : choisir localement une action qui vise accomplir un objectif global. En modlisation, plusieurs critres peuvent tre considrs dans la dnition d'un   

asm (Action Selection Mechanism). Maes (1989) dnit la notion


en situation : le systme doit choisir rapidement une action

de comportement susament bon partir de six critres :

(1) (3)

Ractivit,

(2)

correspondant au contexte de l'instant prcis ; Orientation par les buts : l'action doit favoriser un ou plusieurs buts globaux du comportement ;

(4) Persistance et (5) plan d'actions : le systme doit calculer une squence d'actions
pour rpondre aux situations futures proches et ne pas interrompre inopinment le but en cours ;

(6)

Robustesse : un dysfonctionnement local ne doit pas remettre en cause tout le

systme. Tyrrel (1993) ajoute les critres suivants pour tenir compte de certaines situations :  La gestion rcursive des sous-problmes : dans une organisation hrarchique des comportements, le mme niveau ;  Compromis d'actions : le systme doit prendre en compte plusieurs modules comportementaux pour satisfaire un objectif global sans tre ncessairement optimal pour chaque sous-systme ;  Opportunisme : en contradiction avec la persistance, le systme doit tre capable d'interrompre un but en cours pour un nouveau plus adapt. De nombreuses architectures d'agent orent une rponse d' vie. Ce cycle correspond celui de l'

asm

doit pouvoir rpondre aux sous-organisations pour

pouvoir garder une homognt par rapport aux buts et dcisions de plus haut

asm.

Les

sma

sont des

modlisations discrtes o un agent peroit le temps par l'intermdiaire de son cycle de

asm

qui remet alors en question l'action courante.

Deux types de solutions sont utilises : la premire est une slection d'un nouveau comportement parmi les divers modules en comptition ( d'une action qui synthtise plusieurs rponses

arbitration), la seconde est le choix (command fusion). Pour chaque solution,


37

behavioRis

Chapitre 1  Modlisation de comportement animal

dirents algorithmes dpendant des architectures peuvent tre mis en uvre.

3.2 Quelques architectures


Dans cette section, nous passons en revue quelques architectures pour analyser les problmes lis au choix d'une architecture et de son modle excution. Le but est de pouvoir choisir une conception qui puisse supporter la modlisation thologique de comportements sans inuencer (ou au moins de manire contrle) l'laboration du modle.

3.2.1 Direntes approches d'asm


L'architecture

subsumption
asm)
en couches hori-

Premire implmentation d'un Action Selection Mechanism (

zontales, cette architecture a t utilise initialement pour le contrle d'un robot mobile (Brooks, 1986). Nous la dtaillons ici comme un cas typique pour prsenter les direntes problmatiques qui se dgagent de l'laboration d'une architecture. En robotique, les architectures prcdentes taient dcomposes en modules successifs. L'architecture
SUPPRESSIONS

INHIBITIONS

MC 2

subsumption
senseurs

relier chaque module de comportement aux entres ainsi qu'aux sorties. Un module reprsente alors un comportement

MC 0
vitement dobstacle

complet appel module de comptence. Figure 1.6 Ces comportements sont ordonns hirarchiquement en fonction de leur degr de priorit. Un module sur une couche in-

 Hirarchie de comportements dans l'architecture de subsumption d'aprs (Brooks, 1986)

frieure est responsable d'une tche simple et de forte priorit.Plus la priorit est faible (dans les couches suprieures), plus la tche est abstraite. La priorit correspond alors l'urgence de la tche. Par exemple, la phototaxie est de plus haut niveau (entendez moins prioritaire) que la gestion du dplacement qui est elle-mme de plus haut niveau que la gestion de l'vitement d'obstacle. La hirarchie apporte deux choses. D'une part elle permet de dcrire une tche abstraite en fonction des sous-tches : dcomposition fonctionnelle. D'autre part, elle supporte l'

asm avec l'intgration de deux mcanismes dans le ot d'excution : l'inhibition et

la suppression. Ces relations ont lieu l'initiative d'un module infrieur vers un module juste suprieur dans la hirarchie. La suppression consiste annihiler les entres du module suprieur alors que l'inhibition remplace ses sorties par celles du module inhibiteur. Ces deux mcanismes sont dclenchs pour des intervalles de temps nis prprogramms. Chaque module est alors caractris par le couple reprsente le niveau de prsence de ses perceptions d'entres.

(c, a). c est la condition d'activation et a est la rponse sous forme

d'une intensit d'action. Les mcanismes d'inhibition et de suppression dnissent des relations d'ordre sur les couples et en chaque instant il est possible de choisir le module actif. Aprs de nombreux travaux en

ia

traditionnelle, l'architecture de

subsumption a re-

donn de l'engouement pour des modles de comportement ractifs. Ces modles ont l'avantage d'tre souvent simples et ecaces en terme de temps de calcul (intrt qui se

38

Ludovic Coquelle

dplacement

actioneurs

rompt avec ce procd pour directement

MC 1

phototaxis

Modles d'excution

perd au vu des progrs de la technique, mme pour les modles embarqus en robotique mobile, mais qui se retrouve quand on augmente le nombre de modles calculer sur une machine unique). Et surtout, l'auteur introduit la notion de langage de programmation ractive de comportement pour manipuler des rgles de causalit exprimes par les couples conditionaction caractrisant les modules. Par contre, tablir une relation ge d'ordre total sur les priorits des modules de comptence n'est pas une tche aise dans la conception d'un modle de comportement (est-il plus urgent d'viter les obstacles ou les prdateurs ?). De plus, dans la formulation des interactions entre modules, il est dicile de concevoir un comportement indpendamment de ses sous-comportements. Notamment les sorties de tous les modules doivent tre uniformes (en robotique, les actions se rsument aux contrles de dplacement, mais ce ne serait plus le cas pour un modle animal plus complexe). L'architecture est une architecture purement ractive : l'action excute l'instant correspond une modlisation

subsumption

dpend unique-

ment des perceptions ce mme instant. Cette vision de courte dure d'un comportement

behaviouriste.

Mais ce type de modle ractif, bien que

robuste, manque d'adaptabilit. Le manque de reprsentation de l'environnement ne permet de modliser ni des buts comportementaux (Agre et Chapman, 1990), ni une capacit d'apprentissage symbolique (Arkin, 1998).

AUtonomous Robot Architecture (AuRA)


mas. Le principe est de superposer les dirents rsultats des modules de comportement
pouvoir sparer des processus indpendants (les dirents comportements) dans la stratgie  Un

asm

dirent est utilis dans

AuRA

(Arkin, 1987), bas sur la thorie des

sch-

pour en extraire une commande reprsentative. L'objectif de cette approche est donc de

divide and conquer ,

en utilisant un processus automatique de combinaison des

rponses. La thorie des schmas, issue de la psychologie et la neurologie, modlise les processus mentaux de perception et de rponse aux stimuli de l'environnement.Un schma est une fonction de potentiel qui reprsente un processus mental indpendant. Cette fonction est paramtre dynamiquement pour tre spcialise pour une une tche ou un domaine. Les schmas se distinguent en deux types. Un schma perceptuel reprsente une perception oriente par un but de stimuli de l'environnement : c'est un modle de l'information prsente dans l'environnement et pertinente pour une certaine tche. Par analogie au shma perceptuel, un schma moteur reprsente un contrle moteur (d'action) rsultant d'un module de comportement. Pour contrler un robot mobile,

AuRA

utilise les schmas comme des champs de

vecteurs. Un schma de perception d'un obstacle peut tre par exemple reprsent par un champ de vecteurs qui dnissent la direction oppose l'obstacle et dont la norme est inversement proportionnelle la distance. Autre exemple, un schma de suivi d'une cible dnit les vecteurs toujours orients vers la cible. Ces schmas, activs en fonction de l'tat en cours, sont combins pour dnir une reprsentation unique des perceptions sous forme d'un schma. Cette reprsentation est utilise pour actualiser l'tat en cours, et pour activer les schmas moteurs. Chaque schma moteur dnit une commande motrice en fonction de la reprsentation de perception (sous forme d'un unique vecteur, souvent l'acclration). Le rsultat nal du cycle de contrle correspond une moyenne des vecteurs des schmas moteur. Cette moyenne est pondre, car chaque schma moteur se voit aect d'un coecient de gain, qui reprsente l'importance du schma. Une

behavioRis

39

Chapitre 1  Modlisation de comportement animal

surcouche de gestion temporelle sous forme de graphe d'tat squentiel vient paramtrer la spcialisation des schmas de perception ainsi que les schmas moteurs. Initialement, cette architecture tait purement ractive, et en trois couches qui sont couramment reprises : planication, navigation et pilotage. Le niveau de planication prvoit long terme les directions vers un objectif. Le niveau de navigation calcule un chemin possible. Et c'est le pilotage qui utilise les schmas pour excuter les actions.

AuRA

a ensuite volu vers une architecture hybride (Arkin et Balch, 1997) pour no-

tamment introduire les possibilits d'apprentissage (Likhachev et al., 2002). Cette architecture prsente l'avantage de dcomposer les comportements en modules indpendants (les schmas sont tablis indpendamment et la combinaison de schmas est une fonction simple). La gestion des relations entre comportements se traduit par les coecients de pondration des schmas moteurs (cette pondration est d'abord empirique mais peut faire l'objet d'un apprentissage). Les schmas de perception permettent galement de direncier les notions de perception et de sensation, en liant la perception la tche eectuer. Ce n'est pas seulement un modle de perception active, qui se retrouve travers le paramtrage des shmas, mais aussi un modle de reprsentation par rapport l'usage : un comportement ne manipule pas un ensemble de sensations comme entre, mais l'interprtation de ces stimuli. Le principal inconvnient de ce type de mcanisme de slection d'action par fusion de commande rside dans les conits entre comportements. Si plusieurs comportements ont des sorties opposes (par exemple droite et gauche pour deux comportements d'vitement), la somme de ces sorties donne un rsultat parfois inappropri (aucun vitement). D'o l'importance des valeurs de gain des dirents modules pour viter les conits. Dans (Endo et Arkin, 2001), les composantes internes d'un agent sont introduites en plus du modle purement ractif. Ceci permet de ne plus baser uniquement le comportement sur les vnements de l'environnement (rponse

behaviouriste )

mais aussi de

prendre en compte l'hrdit, la motivation, l'apprentissage et l'ge de l'agent.

Rseaux d'activation
Les rseaux d'activation abordent le contrle de comportement avec une approche totalement distribue d'

asm

(Maes, 1989). Pour cela, les modules de comportement

forment un graphe dont les arcs reprsentent des relations de dpendance et d'activation. Le principe de ces rseaux est alors de distribuer le contrle sur chaque nud du graphe pour viter d'introduire dans l'architecture soit une organisation xe des comportements (comme l'agencement hirarchique de la slection globale (comme la fusion opre dans Ce type de rseau a t introduit par le reprsent par un tuple 

subsumption), soit un systme de AuRA). General Problem Solver (Newell et Simon,


Bi
est

1963, cit par Pirjanian (1999)). Pour construire ces rseaux, un comportement

ci , ai , di , i

ci

reprsente l'ensemble des prconditions l'excution du comportement ;

 l'ensemble des eets de l'activation du comportement est reprsent par les listes d'ajout 

ai

et de retrait

di ;

quant lui est le coecient d'activation qui mesure la possibilit d'application

du comportement. Les relations d'activation dcrites par le tableau 1.2 page 41 permettent de calculer en permanence les coecients d'activation des comportements qui sont en comptition pour tre activs. Le comportement rellement excut l'issue du processus de calcul des ac-

40

Ludovic Coquelle

Modles d'excution

tivations est le plus actif, condition que son degr d'activation seuil

soit suprieur un

s.

Si aucun comportement n'est susamment actif, ce seuil est diminu de

10%

et

le processus recommence jusqu' trouver un comportement le plus actif : ce type d'architecture est quali d'arbitrage choisi est rinitialis

winner-takes-all. Le degr d'activit du comportement

avant de relancer un nouveau cycle.

Tableau 1.2  Relations d'activation entre modules de comportement dans un rseau d'activation d'aprs Pirjanian (1999)

Sources externes d'activation : Activation par Si les prconditions du module correspondent l'tat de l'environnel'environnement ment, l'activation du module est augmente. La quantit d'activation, ou nergie, fournie par l'environnement est nie, note , et rpartie quitablement entre les modules dont les prconditions correspondent. Activation par les Un certain nombre de buts sont dclars dans le modle. Un comportebuts ment permet de satisfaire un but si sa liste d'ajout ai contient au moins un but. Chaque but rpartit une nergie d'activation entre les modules qui amnent sa ralisation. Inhibition par la A l'inverse de , une nergie est retire pour chaque but l'ensemble protection de buts des modules dont la liste de retrait di contient ce but.

Sources internes d'activation pour le module Bi : Activation des Un module Bi dont les prconditions sont vries inuence l'activation successeurs de ses successeurs dans le rseau : un successeur est un module Bsucc ai csucc qui deviendra excutable (ses prconditions seront vries) quand le module Bi sera eectivement actif (les conditions csucc contiennent des valeurs de ax ). Chaque successeur voit son activation succ augmenter de i . Activation des Par analogie la rgle prcdente, un module non actif Bi augmente de prdcesseurs i le niveau d'activation des modules qui se trouvent dans sa liste de ci apre prcondition ci . Inhibition des Pour un module Bi , un module Br est dit rival si ses eets contiennent rivaux au moins un lment l'encontre des prconditions ci . r est diminu ci dr de i Dans le cas d'un conit mutuel, seul le module le plus actif inuence l'autre, pour ne pas que deux modules trs actifs s'annihilent l'un l'autre.
Cet algorithme qui met en comptition les divers modules de comportement a t conu pour proposer un systme qui reste ractif tout en proposant un moyen de crer des squences d'actions. En eet, les relations qui lient les successeurs et prdcesseurs favorisent l'apparition de squences d'activation des modules. Ces squences permettent de transformer un tat de l'environnement en un ensemble de buts atteindre. La gestion des squences, encore appeles plans d'action, est un problme classique des architectures d'agents et de l'

ia

en gnral. Contrairement aux solutions classiques de l'

ia,

les

squences dans cette architecture ne sont ni dtermines entirement avant leurs excutions (il n'y a donc pas le problme de remettre en cause un plan en cours de ralisation) ni mme ne sont dcrites par une reprsentation symbolique. Aucun algorithme spcique de gestion de squence n'est utilis, celles-ci rsultent des activations des dirents mo-

behavioRis

41

Chapitre 1  Modlisation de comportement animal

dules. C'est ce processus qui rend le systme ractif et opportuniste (une squence peut tre naturellement interrompue pour une autre) car il reste trs dynamique. Les coecients

et

permettent nammoins de rgler la sensibilit du systme aux vnements

de l'environnement (son tat) ou la ralisation de des buts. A contrario, la ractivit de l'architecture pose le problme de la modlisation d'un comportement par le concepteur qui voudrait spcier une squence plus formellement. Cependant, l'avantage de la distribution du contrle est de prendre en compte toutes les interactions trop nombreuses dans un systme complexe pour tre gres manuellement. Le travail du modlisateur de comportement est donc de s'assurer que les relations entre comportements ne mnent pas des oscillations involontaires du systme (dans le choix de l'activation des modules). Un point plus dicile pour l'utilisation de cette architecture est l'expression des buts (et des conditions et listes d'ajouts et de retraits qui en dcoulent). En eet, pouvoir exprimer ces buts suppose que l'agent soit situ dans un monde ferm, dans lequel il est capable de reprsenter toutes ses connaissances. En thologie, la notion de but rfre au schma fonctionnel. Elle n'entre pas dans l'explication des causes du comportement mais de ses consquences. Cette notion de but peut tre rapproche des comportements

apptitifs,

dont la fonction est de permettre le

dclenchement d'un autre comportement ; cependant ces comportements apptitifs sont dcrits de manire causale sans introduire de procd (p. ex. logique) de manipulation de l'ensemble des connaissances. Autre inconvnient de cette architecture, dans le cas de dnition d'un comportement pour un animal dans une situation relle, l'expressivit des relations entre modules ne sut plus exprimer des comportements complexes. Dans d'un comportement dans un rpertoire comportemental.

animals (Tyrrel, 1993), une

notion d'organisation hirarchique est introduite entre ces modules pour simuler le choix

3.2.2 Modularit
Modularit et

asm

La problmatique de slection d'action est directement lie au fait de vouloir dcrire des comportements indpendamment les uns des autres, tout en voulant restituer une certaine organisation dans la gestion de priorit et de squence entre leurs activations. Cette modularit recherche pour spcier des comportements en tant que soussystmes induit l'introduction de relations entre les modules de comportement. Nous avons vu par exemple que l'architecture de

subsumption

oblige chaque module de com-

portement avoir les mmes sorties puisqu'elles doivent pouvoir tre remplaces par celles d'un module infrieur. Dans l'architecture Distributed Architecture for Mobile Navigation (

damn)

(Rosenblatt, 1995), un mcanisme de vote permet de restreindre cette

contrainte, et la distribution du contrle dans des modules de comportement permet de crer des niveaux de slection d'action sans passer par une organisation hirarchique. La gure 1.7 page 43 donne un exemple de contrle ralis suivant cette architecture. Cette architecture a t conue pour le contrle de robot mobile. Le principe de fonctionnement repose sur un systme de vote. Chaque comportement tablit une rponse en fonction des entres du systme. Pour chaque type de rponse (les comportements n'ont pas forcment les mmes sorties) ou pour chaque tche accomplir (par exemple le dplacement, qui peut tre scind en deux tches comme dans l'exemple de la gure), les comportements vont avoir la possibilit de voter auprs d'un arbitre. Ce vote peut tre

42

Ludovic Coquelle

Modles d'excution

Figure 1.7  Architecture damn d'un robot mobile sous-marin autonome (Rosenblatt et al., 2002, cette gure en est extraite). Un contrleur de tche active les dirents comportements partir de l'tat de ces comportements et de l'tat gnral du sous-marin. Des modules d'arbitrations centralisent les votes des comportements distribus.

positif (favorise une rponse particulire) ou ngatif (dfavorise une rponse particulire) et son inuence est pondre par un poids qui lui est assign par un dernier module : le

task-level controller. Ce dernier gre les priorits entre comportements en leur xant des
degrs de conance dans leur vote. Ces priorits peuvent voluer au cours de l'excution. commande appliquer sur les sorties de l'agent. Malgr l'apparence, un arbitre ne fait pas

Chaque arbitre a pour responsabilit de rceptionner les votes pour en dduire une de la fusion (moyenne) de commandes (la fusion peut entraner le problme des minima locaux comme dans les champs de potentiel de l'architecture

AuRA

par exemple). En

eet le vote d'un module de comportement reprsente un tat souhait du systme, et non pas une commande. Le rle 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 caractrise de

utility fusion

relative la thorie de l'utilit utilise pour slectionner une commande

partir des votes. Le systme de vote permet galement l'asynchronisme dans les rponses des comportements ; ainsi chaque module peut adopter une stratgie ractive ou dlibrative (dans un systme embarqu, le mode dlibratif pose souvent le problme du calcul en temps rel). Chaque arbitre est ensuite responsable d'un ensemble de commandes et rpond un ensemble de votes sur les entres qu'il attend, donc les comportements peuvent avoir des sorties direntes, reprsentant des buts atteindre ( par une hirarchie des comportements. Cette architecture d'

goal-directed behavior ).

Ce contrle dcentralis permet dirents niveaux de planication d'action sans passer

asm

introduit une bonne modularit dans la spcication de

la slection d'action. Cependant elle ne prend pas en compte l'architecture complte

behavioRis

43

Chapitre 1  Modlisation de comportement animal

d'un agent, de la perception l'action. Notamment pour un comportement animal, la perception (stimulus) doit apparatre comme composant de la slection d'action.

Composants et agent
L'quipe

MediaLab

du

mit

propose une architecture gnrale spciant complte-

ment le comportement d'agent autonome dans un environnement de simulation premire version de l'thologie. Initialement,
Sensory system Object

Creature

(Blumberg, 1997), qui a t utilise dans le

3d. La projet alive

(Articial Life Interactive Video Environment), est fortement inspire des principes de

Blumberg

a spar

le processus comportemental en quatre systmes. L'interface sensitive est dcrite par des composants dont les sorties sont des objets de l'environnement. Ensuite, le mcanisme de dclenchement de comportement analyse les sorties des sens pour crer un

World

Releasing System

update

Geometry

Pronome

Internal variables

nome,
Motor system Motor commands Behaviors

pro-

qui reprsente un degr d'ac-

tivation et son contexte (objet dont il est le sujet et des caractristiques de la perception). Les modules de compor-

Figure 1.8

 Les Creatures de

Blumberg

tement utilisent les pronomes et des variables internes pour produire une

commande motrice, qui est interprte par le systme de contrle moteur. Sur la gure, nous faisons galement apparatre le composant supplmentaire

update

mme s'il n'est

pas dcrit dans l'architecture en tant que composant ; celui-ci met jour un ensemble de variables internes selon une quation faisant intervenir des facteurs de gain et de perte suivant la valeur prcdente de chaque tat. L'

asm

est base sur le principe thologique de ne choisir qu'un seul comportement

actif la fois. Pour cela, en plus d'une commande motrice, un comportement doit fournir un niveau de pertinence de sa rponse (si elle est trs basse, cela signie que le comportement n'est pas capable de fournir une rponse approprie aux entres qui lui sont fournies). Ce degr d'activation est inuenc par des relations d'inhibition et de priorit. Les comportements sont galement hirarchiss dans des groupes de faon reprsenter direntes stratgies, et ces groupes permettent de pallier le problme de persistance d'action des architectures slection d'action. Cette architecture a ensuite volu vers l'architecture logique), elle fait intervenir un

C4

(Isla et al., 2001) reprsente

gure 1.9 page 45. Prsente de manire plus abstraite (plus loigne du modle tho-

blackboard

communications et surtout l'apprentissage.

C4

au centre des composants, pour faciliter les garde le principe de sparer les capacits

sensorielles de l'individu de ses perceptions eectives : les sens dtectent des objets alors qu'un composant de perception associe une description de l'objet dans un contexte et le classe dans un arbre de peuvent alors manipuler des

percepts qui caractrise le type de perception. Les comportements percepts sans connatre les objets qu'ils reprsentent. Cette

dissociation entre perception et comportement est concrtise par une mmoire de travail (reprsentant la mmoire court terme de l'individu). Cette mmoire est lue par les

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

44

Ludovic Coquelle

Modles d'excution

 Cette gure, extraite de (Isla et al., 2001), illustre l'architecture C4 du cerveau virtuel d'une creature. Les processus de sensations et perceptions ont pour rle d'informer un espace mmoire de travail. Cette mmoire est utilise par les modules de comportements (ici nots action) pour remplir un tableau noir des actions souhaites ; ce tableau est modi par le systme de navigation qui prvoit les chemins de dplacement long terme. Enn, le systme de contrle moteur excute eectivement les actions souhaites rsultantes du processus.
Figure 1.9

comportements qui remplissent alors le

blackboard

avec les actions souhaites. C'est le

rle du systme moteur de lire ces commandes pour les excuter. Cette approche base de composants pour dcrire l'architecture permet de sparer les dirents problmes, mais aussi d'abstraire les fonctionalits qui peuvent ensuite tre dcrites plus haut niveau. L'architecture permet l'organisation du modle d'excution, mais ne propose pas ici une manire de dcrire le fonctionnement des modules de comportements, qui sont souvent crits sous forme d'algorithmes adapts au langage de programmation sous-jacent.

3.2.3 Le contrle ou


La logique oue ( lenne) tendue pour introduire la notion de

fuzzy logic ) est un sur-ensemble de la logique conventionnelle (boodegr de vrit, prenant des valeurs entre

compltement vrai compltement faux. L'annexe A rsume les notions de base utilises dans notre travail sur la logique et le contrle ou. Une des raisons qui justie l'utilisation de la logique ou en contrle est sa capacit d'abstraire les problmes d'imprcision, notamment au niveau des capteurs. En eet les

behavioRis

45

Chapitre 1  Modlisation de comportement animal

systmes physiques rels (comme les robots mobiles) disposent d'une certaine gamme de capteurs et la partie de contrle doit tre robuste aux dfaillances et imprcisions des capteurs. L'autre intrt est l'utilisation de l'infrence logique qui permet d'exprimer non pas la manire de calculer le rsultat d'un contrle mais les rgles permettant de dduire ce rsultat. L'infrence oue permet de plus d'crire des rgles imprcises pour les quantications des valeurs.

ROJO

est un exemple de robot mobile contrl par des rgles oues (Garca-Prez

et Garcia-Alegre, 2001). Par l'intermdiaire d'un modle cinmatique du robot rel, les auteurs proposent un simulateur virtuel pour tester les stratgies de dplacement bas perception (contrle ractif ). L'architecture de

ROJO

dcompose le comportement en

modules actifs (le terme agent utilis n'est pas repris ici pour ne pas le confondre avec l'agent individu au centre de notre tude). Chaque module reoit en entre un signal d'activation paramtr (provenant d'autres modules) ainsi que les sorties des perceptions. Toutes les donnes manipules sont des ensembles ous. L'intrt de ces modules est de dcomposer le comportement en sous tches indpendantes, avec chaque module dcrit par un ensemble de rgles comportementales. Mme si les rgles sont indpendantes, et possiblement dans des modules dirents, elles utilisent et inuencent les mmes variables oues : l'infrence oue permet de s'abstraire de l'architecture d'excution (le moteur de calcul) pour se concentrer sur l'criture des rgles comportementales. Dirents comportements ous peuvent alors inuencer des variables de manire contradictoire, et mme si l'infrence oue permet de donner un rsultat, il est souvent indispensable de coordonner les comportements (nous retrouvons ici la problmatique

asm).

Dans (Saotti, 1997), la coordination de comportements est exprime par un calcul ou qui eectue un choix arbitraire d'un comportement puis une fusion sur la commande. Il peut paratre trange de faire de la fusion aprs avoir fait une slection, mais la slection propose en logique oue slectionne plus ou moins chaque comportement. Le processus est nomm

fusion contextuelle (context-dependent blending )

car la fusion dpend des

rgles d'arbitrage. L'intrt est en eet de pouvoir exprimer la slection de comportement sous forme de rgles (ce n'est pas ici un processus statique li seulement l'architecture d'excution). Par exemple, une alternative entre deux comportements lie une donne de perception peut s'crire (ces exemples sont emprunts l'auteur) :

if obstacle-close then Avoid-Obstacle if (obstacle-close ) then Go-To-Target


De la mme manire des rgles peuvent exprimer des squences d'activation des comportements

B1

et

B2

s'il est possible d'exprimer la n ou le but

G1

du premier

comportement :

if if

G1 G1

then B1 then B2

La logique oue permet alors de dcrire le choix d'un comportement, et mme jusqu' dcrire un plan d'actions, tout en orant la possiblit de fusionner les rsultats non contradictoires des dirents modules. Si l'infrence oue permet de fusionner des rsultats, la faisabilit de cette fusion dpend souvent du contexte (d'o la notion de fusion contextuelle que nous venons de voir) mais aussi des objectifs. La fusion, rsultat de la dfuzzycation, permet de tendre vers plusieurs objectifs mais peut produire des rsultats inappropris. Dans (Pirjanian

46

Ludovic Coquelle

Modles d'excution

et Matari, 1999), la thorie de la dcision plusieurs objectifs (

modm

pour Multiple

Objective Decision Making) est utilise pour rpondre ce problme. Le principe est de gnrer pour chaque comportement sa rponse ainsi qu'un coecient de pondration avec les rgles oues contextuelles. Puis ces rponses sont coordonnes non plus par la dfuzzycation mais par la recherche d'une solution Pareto-optimale
6

pour satisfaire le

maximum de comportements. Cette approche permet de combiner les avantages du raisonnement approximatif et la facilit de spcication de la logique oue, tout en utilisant les rsultats de coordination des comportements par Le systme

brian (Brian Reasonably Implements an Agent Noddle) (Bonarini et al.,

modm.

2003) utilise la logique oue. Il est la partie ractive d'une architecture cognitive en couches reprsente gure 1.10 page 48. Brivement, la couche l'environnement ; la couche la couche de

concept abstrait les donnes brutes sous forme de symboles ; traitement de connaissances produit des informations structures partir des concepts ; et enn la couche modlisation structure les connaissances et leurs traitements. Les entres de brian, dont le rle est d'assurer les relations entre les dirents
leurs reprsentations symboliques. L'activation des comportements se fait travers un ensemble de prdicats ous, diviss en deux groupes. Le premier groupe (

donne

est l'interface avec

comportements, sont donc non seulement des donnes sur l'environnement, mais aussi

cando) repr-

sente les conditions ncessaires l'activation du comportement (analogues aux stimuli), alors que le second groupe (

want)

reprsente les motivations c'est--dire l'opportunit qui donne le sens du prdicat, un degr de vrit

d'activer un comportement dans un contexte donn. Les prdicats ous sont reprsents par un tuple constitu d'un label et un degr de conance dans le prdicat

(par exemple

, ObstacleInFront, 0.8, 0.9 ).

L'avantage de ces groupes de rgles (un comportement lui mme peut ventuellement tre cod sous forme de rgles), est de dissocier les problmes d'activation, dtermination de l'action, et de slection. L'architecture repose sur l'infrence oue tout en proposant un framework qui structure l'criture des rgles. La structuration des rgles dans un framework permet de palier un problme paradoxal des systmes base de rgles oues : si la lecture d'une rgle est simple car elle se rapproche du langage, l'tablissement d'un nombre quelque fois considrable de rgles ne permet plus de comprendre simplement le fonctionnement global puisqu' tout moment toutes les rgles sont actives un certain degr. Pour structurer cet ensemble de rgles, Tunstel et al. (2002) proposent de les regrouper dans une hirarchie de module comportementaux ous. Les modules comportementaux, reprsentant des ensembles de rgles, sont spars en deux types. Un dont les degrs d'activation sont moduls par les note

p-behavior (primitive-behavior ) est un ensemble de rgles c-behaviors (composite-behaviors ). Pour cela, un module comportemental embarque la notion de DOA (Degree Of Applicability)
.
En simpliant, le calcul du degr de vrit de l'application d'une rgle (le coecient qui intervient dans l'infrence des sorties d'une rgle par rapport ses entres) est alors pondr par le

DOA des rgles suprieures dans la hirarchie. Ainsi, il est plus

ais de manipuler quelques comportements abstraits haut niveau dans la hirarchie qui vont guider l'infrence oue. De plus, comme il est possible dans les rgles primitives de manipuler la valeur

, ce calcul d'infrence ou devient dynamique (dans un contrle ou

classique la rponse est statique et peut tre caractrise par une fonction nonlinaire de correspondance). Cette structure hirarchique a t conue pour rendre l'

asm dynamique,

mais permet galement de faciliter l'organisation des rgles en proposant de dcrire la

Une solution est Pareto-optimale s'il n'existe pas d'autre solution qui peut amliorer un objectif sans en dgrader un autre en mme temps. Cette solution est galement dite non-dominante ou satisfaisante.
behavioRis

47

Chapitre 1  Modlisation de comportement animal

Figure 1.10

 A gauche, l'architecture cognitive en couche qui embarque le systme brian ( droite) comme partie comportementale ractive. Figures extraites de (Bonarini et al., 2003).

structure entre comportements par les mmes rgles qui rgissent ces comportements.

3.2.4 Vers le comportement animal


Les simulations d'agents autonomes soulvent de nombreux problmes dans leur modle d'excution, d'o les nombreuses architectures existantes. Pour tablir un modle de comportement animal, il faut donc russir unier le modle biologique avec la plateforme d'excution. Le choix de cette plate-forme inuence la conception du modle. De nombreux travaux portent alors sur la conception d'un modle d'excution bas sur un modle biologique. Par exemple, Frezza-Buet et Alexandre (2002) prsentent d'abord un modle biologique bas sur le fonctionnement du cortex puis une modlisation informatique. Le passage du modle biologique au modle informatique oblige mler des descriptions biologiques abstraites de haut niveau des considrations d'ingnierie. Cependant, les entres d'un tel simulateur ne sont pas des descriptions de comportements mais des modles qui amnent ces comportements. De mme, le modle d'

cortex

asm

bas sur la rtroaction

ganglion de la basethalamus

(Gurney et al., 2001a) est une implmentation d'un modle de fonctionnement

de cette boucle de contrle. Le principe est de partir de la dtection de saillance ; cette perception devient le paramtrage de deux processus parallles chargs de la slection pour le premier et du contrle pour le second ; ces processus indpendants modlisent des noyaux neuronaux et changent des informations travers une autre structure neuronale englobante ; enn le rsultat de slection est soumis aux sorties ainsi qu' l'tage qui engendre un retour positif (

positive feedback )

thalamus

sur la perception des saillances. Les

auteurs ont montr les avantages de ce mcanisme sur le modle

winner-takes-all

(Gurney

et al., 2001b) notamment sur l'eet de persistance des actions slectionnes mais aussi sur l'ecacit du mcanisme modier la slection. Mais la encore, c'est un modle de

48

Ludovic Coquelle

Modles d'excution

fonctionnement interne qui est propos. Le modle d'excution est une reprsentation du modle biologique, sans passer par une couche intermdiaire qui permettrait de pouvoir dcrire un comportement sans dcrire son fonctionnement. Cette notion d'architecture d'agents pour dcrire un comportement est par exemple implmente dans le systme tecture

DeSIRe

(Jonker et Treur, 2001,

DEsign and Specication of Interacting REasoning components). Sur la base d'une archi-

bdi, DeSIRe propose de dcrire la slection d'action sur des rgles logiques liant

les connaissances et les actions. Par exemple, en oprant des rgles uniquement sur les observations et les actions, il est possible de crer un modle ractif qui dcrit le comportement :

if then if then

observation_result (I :INFO_ELEMENT,S :SIGN ) new_world_info (I :INFO_ELEMENT,S :SIGN ) belief (at_position (food,P :POSITION), pos ) to_be_performed (goto (P :POSITION) )

Des rgles quivalentes mais utilisant cette fois les notions de buts peuvent ensuite ajouter une pro-activit au comportement, et la notion d'intention introduit des possibilits de modliser des agents sociaux par la communication et le partage d'intentions. Ce modle permet de dcrire le comportement par des rgles, ce qui le rapproche d'une description thologique de comportement par l'intermdiaire d'un thogramme. Cependant, le modle d'excution soustendu (

bdi)

introduit des hypothse fortes (anthropomorphiques)

sur le fonctionnement interne qui sont bien direntes des bases thologiques de modlisation. De plus, le choix d'un modle d'excution peut galement avoir des rpercutions sur la description des actions. Dans les rgles simples prsentes en exemple, seule la slection d'action est dcrite (la logique du comportement), ce qui ne sut pas pour transcrire un thogramme : il faut ajouter la possibilit de dcrire les actions lmentaires comme l'action

goto

utilise dans l'exemple.

3.3 Excution d'un modle thologique


Notre objectif, simuler le comportement animal instinctif et ractif par des agents autonomes au sein d'un environnement virtuel, pose le problme de dcrire un contrle sur un animat agissant en autonomie. La limite entre contrle et autonomie est alors xe par le contexte de modlisation thologique qui impose d'une part des contraintes au modle d'excution et d'autre part une correspondance la plus directe possible entre les donnes biologiques et l'architecture d'excution comportementale. Le but de l'architecture est de structurer le modle d'excution pour permettre de dcrire au mieux le modle comportemental. Dans le cas de la simulation, elle permet galement d'intgrer l'animat dans un environnement virtuel par la modlisation des actions et perceptions. Pour cela, elle ne doit pas introduire d'hypothse en contradiction avec les bases des modles thologiques. Par exemple, une hirarchie statique dans les comportements n'est pas un fondement que tous les modles thologiques reprennent car il n'existe pas un ordre total pour hirarchiser ces comportements. Cependant cette organisation de haut en bas (

top-down)
asm

des modules de comportements doit pouvoir exister

dans la simulation pour implmenter les modles hirachiques. L'architecture d'excution doit permettre de recrer cette structure sans l'intgrer de manire indispensable dans son fonctionnement. Le choix de l' doit alors tre un compromis entre une distribution du contrle qui permet de dcomposer le comportement en modules indpendants, et un

behavioRis

49

Chapitre 1  Modlisation de comportement animal

modle global qui facilite la description statique du modle comportemental. Pour cela, il est important de dnir les frontires entre perceptions, rgles comportementales, et modles biomcaniques l'intrieur de la description de l'animat. Chacune de ces parties peut se dcrire de manire indpendante, et mme si nous cherchons faciliter la description du comportement, il faut pouvoir manipuler les perceptions et organiser les donnes d'entre du modle biomcanique. La modlisation des entres de l'animat doit prendre en compte les variables intermdiaires du comportement : l'tat interne de l'individu. Cet tat est dcrit de manire trs symbolique dans les modles thologiques. Ces variables sont utilises par les comportements, mais sont galement manipules par le modle global de l'animat qui xe des relations d'inuence entre ces variables. Ces relations sont de l'ordre de l'inuence causale (par exemple un tat de stress inhibe un tat de calme) ou de l'inuence temporelle (le mme tat de stress peut diminuer petit--petit). Cet tat interne doit donc faire partie de l'architecture de l'animat.

Outils orients modlisation


Une architecture d'agent n'est pas un outil de modlisation proprement parl, mais

4.1 sma gnriques


sert de base la simulation. En cela une architecture qui propose un modle gnrique pour tablir les bases du systme multi-agents est vue ici comme un outil de modlisation. Un premier exemple d'une telle architecture est ving Components) et son implmentation

apoc (Activating Processing Obserade (Architecture Development Environment) apoc

(Scheutz et Andronache, 2004). Son but est de fournir un formalisme pour dcrire les architectures d'agents par des composants relis par quatre type de liens : activation, composition, contrle de processus et composition. couvre tous les types d'architecture, du modle strictement ractif (comme l'architecture de dle cognitif (comme

subsumption

ou mme

des architectures utilisant le framework de programmation fonctionnelle ractive) au mode proposer ensuite une seule implmentation comme

soar (Laird et al., 1987)). L'avantage de ce type d'architecture est ade qui permet alors d'abstraire

les problmes d'excution matrielle (comme la possibilit de dployer les simulations sur plusieurs machines de calcul en parallle). Cette abstraction de l'architecture d'agent permet par exemple de modier dynamiquement les stratgies de slection d'action en modiant les liens entre composants (Scheutz et Andronache, 2002). Cependant elle se place un niveau trop loign des concepts thologiques en ne permettant pas de spcier des contraintes intermdiaires entre la spcication de l'architecture et son utilisation : elle est axe sur la description de modle, respectant quelqu'architecture souhaite, mais ne propose pas d'outil pour utiliser l'architecture modlise.

vle

(Virtual Laboratory Environment) propose une approche dirente de l'expri-

mentation des modles individu-centrs (Ramat et Preux, 2003). C'est un environnement pour la modlisation de systmes complexes spatialiss et temps discret, bas principalement sur le paradigme des agents ractifs. L'utilisation du formalisme

devs (Discret

EVent system Specication) permet le couplage entre modles direntes chelles. Son but est de fournir des non-experts en informatique un outil pour tester des hypothses sur un systme qui se congure avec leurs modles. Le moteur de comportement est donc trs gnrique et l'interface avec l'utilisateur se fait travers le langage

uml

pour la

conception statique du modle et plusieurs autres formalismes sont proposs pour mo-

50

Ludovic Coquelle

Outils orients modlisation

dliser l'aspect dynamique (des rseaux de Petri interprts, un langage algorithmique, un systme base de rgles ou des quations direntielles). Le modle est ensuite simul dans un univers virtuel. En utilisant des langages qui ne sont pas des langages de programmation algorithmique usuels, Virtual Laboratory Environment ( des modles simples par l'utilisation seule des interfaces utilisateurs. l'

vle)

propose

l'utilisateur un outil plus simple manipuler. Il est par exemple possible de crer

vle

est une base

de construction, qui propose une architecture d'agents pour la modlisation, mais dont

asm

reste concevoir.

De la mme manire le modle d'agent

InViWo

(INtuitive VIrtual WOrld) intro-

duit une architecture gnrale qui permet de faire soit un agent virtuel reprsentant un utilisateur dans un monde virtuel soit une crature articielle autonome dans ce mme monde (Richard et al., 2003). Ce modle prsente un systme d'agents ractifs syn-

asm, et introduit l'utilisation de MARVIN comme langage spcique pour la modlisation de comportements. Ce langage est inspir du langage ESTEREL mais est adapt pour pouvoir dcrire la spcication complte d'un agent InViWo. Cepenchrones, son thologique bas sur des rgles de causalit.

dant, si le langage facilite l'utilisation de l'architecture d'agents, il suit un paradigme de programmation imprative qui n'est pas spciquement adapt pour dcrire un modle

4.2 sma spcialiss


Un autre moyen pour faciliter la modlisation est de proposer des architectures d'agents ddies certains domaines. Les bases de modlisation de ce domaine sont alors intgres au systme sur lequel le modlisateur s'appuie pour spcier son modle prcis. Par exemple, des

Gecko

(Booth, 1997) propose un systme pour modliser la gestion de

ressources d'un point de vue cologique. Son but est de fournir un systme pour simuler

ibm

qui regroupent direntes espces dirents niveaux trophiques. Pour cela

l'architecture dnit un monde continu

2d o chaque agent est reprsent par un disque.

Cette reprsentation permet une modlisation assez ne de la perception (distance) tout en adoptant un modle calculatoire simple. Le comportement de chaque agent est dni par un cycle de vie spcique (assimilation des ressources gagnes, calcul des pertes mtaboliques, possibilit de reproduction ou recherche de ressource, puis dplacement). Trs simple d'utilisation, cette architecture n'apporte pas de solution notre problme de simulation thologique. Cependant elle illustre la manire dont les architectures peuvent tre spcialises, et introduit une modlisation astucieuse de la perception qui reste un point dicile dans un univers continu. Dans le contexte de l'thologie, l' par

emf

(Etho-Modeling Framework) se base sur les

mcanismes de dclenchement (Innate Releasing Mechanism (

Lorenz

irm))

comme prsents

(Drogoul et Ferber, 1994). Une activit instinctive est strotype (avec

une marge de variation faible entre individus de la mme espce) et elle est dclenche par des stimuli externes. La rponse comportementale se traduit par un enchanement d'actions lmentaires.

emf implmente un temps et un espace discrtis. La perception

de chaque agent est modlise comme une communication non-intentionnelle, dont le mdium se trouve tre l'environnement. Ainsi chaque agent (leur module comportemental) interroge l'environnement et ragit en fonction. Pour cela il est muni d'un certain nombre de tches (ou module de comportement) qui correspondent aux possde entre autre un Potentiel d'Action Spcique (

pas),

fap.

Une tche

un seuil de dclenchement

behavioRis

51

Chapitre 1  Modlisation de comportement animal

et une squence de primitives eectue quand elle est active. Un stimulus active une tche si elle possde le mme nom. L' niveau d'intensit du stimulus et du

asm choisit d'activer la tche dont le produit du pas de la tche est le plus lev. Un mcanisme de pas
de la tche active (boucle de

renforcement est introduit dans ce processus (plus un comportement est actif plus il a de chance d'tre activ) en augmentant chaque cycle le rtroaction). Cet outil de modlisation thologique permet de construire des modles de comportement trs simplement, sans passer par un langage de programmation impratif (sauf pour tendre la liste des primitives existantes). Cependant le modle de perception dpend de la discrtisation de l'espace (ce qui peut prsenter un avantage pour modliser des processus de communication induit par l'environnement, comme la dispersion des odeurs). De mme, les primitives sont des actions atomiques ce qui induit de lier le modle comportemental au modle d'excution temporel, c'est--dire que la rponse du comportement doit dpendre du temps d'excution des primitives. L'utilisation de primitives permet de composer des comportements sans utiliser de langage de programmation. Cette mthode est utilis galement dans

cormas (Common-

Pool Resources and Multi-Agent Systems) pour modliser un cosystme par l'environnement ainsi que la dynamique temporelle des interactions (Bousquet et al., 1998). Cet outil introduit galement la modlisation du point de vue de l'observation car la simulation permet d'observer les rfrences spatiales comme les liens sociaux. Dans

almass (Animal, Landscape and MAn Simulation System), l'accent est mis sur

l'importance de la modlisation de l'environnement et surtout sur son aspect dynamique (Topping et al., 2003). La modlisation de cet environnement rejoint les dicults de modlisation des perceptions dans un univers complexe. La plate-forme Mobidyc (Houssin et al., 2002) dnit galement le comportement d'un agent par un ensemble de primitives (25 sont prdnies et runies en

groupes).

Le niveau d'observation supra-spcique permet de dcrire un comportement par un ensemble de primitives, ce qui permet une discrtisation de l'espace et donc des actions, que Mobidyc simule avec une modlisation synchrone par automate cellulaire (hypothse du modle d'excution). Mobidyc introduit par contre la direnciation entre l'agent lui-mme et la description de cet agent (nomm

moule d'agent,

qui correspont plus ou

moins l'espce de l'animat dans le vocabulaire thologique, ou plutt son groupe d'appartenance). Ce moule d'agent est une description de ses perceptions et comportements dans le langage un formalisme de spcication du modle indpendant de l'excution. Il permet aussi de passer d'un prototype dynamique dans son interprtation de base en mulation lourde en aquatiques (Souissi et al., 2005).

atoll spcique et dissoci de la simulation. Ce langage prsente

SmallTalk une siC++ . Il a t utilis par exemple pour la modlisation d'cosystmes

4.3 Langages de description de comportements


Nous avons brivement entrevu les langages impratifs de simulation par rapport la modlisation.

atoll et marvin pour dcrire

les comportements. Un langage intermdiaire permet en eet d'abstraire les problmes

4.3.1 Modle vs. excution


Cette ide est prsente plus en dtail par Lorek et Sonnenschein (1999) qui dcrivent l'outil

wesp-tool

pour les modles individu-centrs de mta-populations. Le principe

52

Ludovic Coquelle

Outils orients modlisation

est de dissocier l' cute.

wesp-dl

ibm

de son implmentation, et donc de la plate-forme agent qui l'ex-

est le langage qui permet de dcrire les individus possdant un rle et

un tat (par exemple juvnile ou adulte). Les individus (direncis ici des agents) possdent un cycle de vie qui dnit la dynamique du modle. Le framework charg de l'excution est bas sur Entre ces deux phases,

Ecosim, un framework agent ddi la simulation d'cosystmes. wesp-tool propose des assistants la mise en place du mo-

dle (un assistant projet pour la documentation et la gestion des versions de modles et d'exprimentations ; un assistant modlisation qui aide la dnition de l'individu ; un assistant d'exprimentation pour dnir les conditions initiales de la scne simuler ; et un assistant d'valuation qui permet de xer les donnes enregistrer au court de la simulation). L'ide principale est de fournir des outils au modlisateur. La description du comportement reste un point dlicat qui est abord ici de manire imprative.

4.3.2 Outils informatiques


Des outils informatiques peuvent tre utiliss pour cette tche. Par exemple, le langage dclaratif Extensible Agent Behavior Specication Language (

xabsl) propose un format

de description de comportement (Ltzsch et al., 2004). Mais ce format ne propose pas l'interprtation associe, et les donnes sont encore une description imprative des actions comportementales. La dissociation entre modle et excution se retrouve galement dans le langage

maml

(Multi-Agent Modeling Language) (Gulys et Kozsik, 1999). L'ide est encore de fournir un outil pour des non-informaticiens, mais cette fois en utilisant un concept de programmation dirent : l' les

aop

(Aspect Oriented Programing). Mais ce langage a moins pour

but de dcrire le comportement que de sparer la modlisation de l'observation. En eet,

ibm sont souvent modliss par le mme systme que celui qui permet de les observer.

Il est donc intressant de pouvoir sparer ces deux aspects. Une autre manire de faciliter l'implmentation de modles est de faciliter leur programmation partir de leurs spcications. C'est l'objectif de

Metafor

(Liu et Lieberman,

2005) qui vise traduire les spcications d'un programme du langage naturel en code excutable. L'ide est d'utiliser la structure grammaticale du langage pour crer un squelette de programme structur en classes, proprits, fonctions et rgles de causalit. Mais il n'est question ici que de programmer un modle, sans tenir compte d'un contexte de modlisation.

4.3.3 Langages ddis


Dans le domaine de l'animation, des langages ddis sont utiliss pour faciliter le travail du modlisateur. Souvent, ils se prsentent comme une couche cognitive qui vient complter un agent ractif et qui lui permet de prendre des dcisions sur les squences d'actions entreprendre. Par exemple, le systme

Improv

(Perlin et Goldberg, 1996) permet de scnariser le

comportement d'un agent. Il adopte un langage proche du langage naturel mais comme son but est de dcrire un scnario, il reste impratif. Cependant le langage apporte la possibilit d'introduire des probabilits d'excution, d'o son nom : en adoptant un comportement moins prvisible l'agent est plus raliste. Mais mme si l'agent semble improviser, toutes ses actions ont t plus ou moins prvues, et ce sont les choix d'action qui sont dcrits par le langage. Le langage Cognitive Modelling Language (

cml) propose une approche dirente en


53

behavioRis

Chapitre 1  Modlisation de comportement animal

utilisant les constructions dynamiques de squences d'actions bases sur les connaissances de l'agent (Funge, 1998). Ces connaissances de l'agent sont de deux types : les actions, qui sont dcrites par leurs prconditions et leurs consquences (par exemple, l'action

aller-vers-l'avant

est conditionne par l'absence d'obstacle et rsulte en une position

d'arrive), et les buts, qui sont des tats que l'agent cherche atteindre (une position par exemple). Ces connaissances dclaratives sont ensuite utilises par un moteur d'infrence logique qui permet d'enchaner les actions pour atteindre les buts. Les actions, avec prconditions et consquences, ressemblent des rgles comportementales. Cependant elles ne sont valides par le moteur d'infrence que par rapport aux buts atteindre. Il est alors dicile de dcrire un comportement ractif par ce langage.

Behave !

est un langage visuel base de rgles pour dcrire un comportement. Son

but est d'introduire ce type de programmation par rgles des non-informaticiens et il est utilis pour interagir avec un aquarium virtuel. Toutes les rgles se construisent partir de primitives, reprsentes par l'intermdiaire de mtaphores graphiques, et assembles par 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 dcrire des comportement de poissons d'aquarium. Behave ! A visual behavior language :

http://xenia.media.mit.edu/~mt/behave/behave.html

54

Ludovic Coquelle

Bilan

Bilan
En thologie, le comportement se dcompose en dirents aspects que nous appe-

Modle d'animal
lons des modules de comportement, ou plus simplement des comportements, dcrits de manire indpendante (bien qu'entretenant parfois certaines relations de causalit ou de structure). Ces comportements forment ensemble une interface dont le rle est de dduire un rsultat qui dnote une action en fonction des stimuli : c'est ce qu'exprime la reprsentation d'animat de la gure 1.1 page 16. Cet animat est donc en interaction avec son environnement de deux manires direntes : d'une part il le peroit, et d'autre part il agit dans cet environnement.

Simulation d'animat
Ce type d'approche conduit construire des modles individu-centrs spatialiss, qui ncessitent l'exprimentation. La simulation multi-agents permet cette exprimentation des

ibm

dans des environnements dicilement accessibles l'exprimentation relle, et

avec de nombreux agents, en modlisant chaque animat par un agent. La premire tape pour simuler des animats est de modliser l'environnement. Cet environnement est la fois l'espace sensible, qui permet l'animat de percevoir les informations, et il est le support du modle biomcanique de l'animat, qui a pour rle de transcrire le rsultat du comportement en actions. Ensuite, c'est l'architecture d'agents qui formalise la simulation des animats. Pour une simulation de modles thologiques, cette architecture d'agents couvre alors deux objectifs : le premier est de fournir un cadre de description du fonctionnement interne des animats, et le second est de fournir l'excution de ce modle.

Elments de comportement en thologie


Nous revenons donc sur les besoins en matire de description pour noncer un modle thologique de comportement instinctif. Le shma causal modlise les rponses comportementales comme les consquences d'un ensemble de stimuli (

irm).

La notion de

perception est donc introduite ce stade pour traduire les donnes de l'environnement (son modle) en stimuli. A ces stimuli externes (perus), s'ajoutent des stimuli issus de processus internes. Les rponses ces stimuli s'expriment travers des modications des variables internes ainsi que par l'intermdiaire d'actions sur l'environnement. Ces actions (

fap)

sont eectues suivant un modle biomcanique appropri. Ces lments

de stimulirponses doivent tre modliss par l'architecture d'agents pour permettre la simulation.

Excution et architecture d'agents


L'utilisation des systmes multi-agents pour ce type de modle doit en eet permettre d'une part de spcier chacun de ces aspects (environnement, perception, comportement et modle biomcanique), et d'autre part proposer un modle d'excution de cette spcication, en accord ici avec les modles thologiques. Les direntes architectures prsentes dans ce chapitre abordent des problmatiques direntes et apportent en consquence diffrentes rponses au problme de l'excution. La tche principale d'une architecture est ralise par l'

asm

qui doit permettre de choisir l'action excuter, c'est--dire reter

behavioRis

55

Chapitre 1  Modlisation de comportement animal

les rgles comportementales du modle exprimes par l'ensemble des modules de comportement. L'organisation hirarchique de ces comportements facilite l'tablissement du modle global (

subsumption),

cependant les rgles comportementales ne sont plus ind-

pendantes. Pour modliser les rgles de manire indpendante, leurs entres et sorties peuvent tre tendues par la thorie des schmas par exemple ( les comportements tablir ; les

AuRA),

mais alors les

concepts de perception et d'action ne sont plus modliss directement et dirent suivant

rseaux d'activation

ont l'avantage de sparer les rgles

de dcision mais reposent sur l'expression de buts que l'on ne trouve pas dans les modles thologiques. Une ide intressante des systmes base de

bdi

est d'utiliser un systme

d'infrence pour dcrire les rgles comportementales. Cependant c'est une approche trs anthropomorphique qui inclut des hypothses fortes que le modle animat ne vrie pas forcment. A la dirence de l'infrence logique, l'infrence oue peut permettre de faciliter la description sans avoir manipuler de connaissances de haut niveau (p. ex. la notion abstraite de but).

Outils d'exprimentation
Pour exprimenter un modle, l'architecture d'agents doit permettre de manipuler aisment tous les lments de ce modle, des stimuli externes (perception) et internes jusqu'au modle biomcanique. La modularit (dans la structure cette fois-ci, non pas dans l' de l'architecture

asm) d'un systme base de composants permet d'organiser le modle. L'exemple Creature (et ses volutions) fait apparatre ces lments. Le problme damn
permet de manipuler la manire

de modularit est de faire coexister des modules comportementaux automatiquement. Le systme de vote mis en place dans l'architecture de regrouper non pas les dirents comportements mais leurs sorties indpendantes. L'utilisation de l'infrence oue quant elle prsente l'avantage de dcrire des rgles logiques proches du discours d'un thologue. La simulation doit en eet tre l'outil pour le spcialiste du domaine modliser (l'thologue dans notre cas). Elle doit alors sparer le modle de l'implmentation, ce que permet un langage spcialis, tout en gardant un support sur une architecture d'agents.

Conclusions
Pour simuler des modles d'animaux reproduisant un rpertoire comportemental dcrit par un thogramme, nous proposons de formuler une architecture d'agents adapte. Elle s'appuie sur des composants permettant de manipuler des concepts thologiques : la perception de l'environnement, le modle biomcanique et un tat interne qui permet de manipuler des variables intermdiaires sans introduire une smantique spcique. Le choix d'un modle causal (par opposition un modle cognitif ) permet d'exprimer des rgles comportementales manipulant les entres et sorties de l'animat sur son environnement. Les comportements sont dcrits de manire indpendante, mais peuvent prsenter des liens dynamiques structuraux, qui permettent d'exprimer des comportements complexes comme une hirarchie de comportements. Pour traduire directement les rgles comportementales des thogrammes, nous proposons un langage dclaratif associ l'architecture. Il permet au thmaticien de spcier indpendament les modles de perception, la dynamique des tats internes, les modles biomcaniques, et les rgles causales. Bas sur la logique oue, il facilite l'expression d'ensembles de rgles tout en manipulant des donnes exprimentales souvent imprcises et parcellaires.

56

Ludovic Coquelle

Bilan

Notre simulateur utilise les techniques de Ralit Virtuelle pour observer le rsultat de l'excution du modle d'animal travers les manifestations des comportements individuels dans l'environnement.

behavioRis

57

Chapitre 1  Modlisation de comportement animal

58

Ludovic Coquelle

Chapitre 2

behavioRis
ractif Son nom vient de la C ler des modles thologiques de comportement langageanimal.pour son prototypage. concatnation des termes behavior et , nom du utilis
oRis

e chapitre prsente notre contribution : behavioRis est un outil dvelopp pour simu-

behavioRis se veut un outil d'exprimentation de modles de comportements animaux. L'chelle d'observation tant celle de l'thologie, le but est de proposer un animat (modle d'animal en tant qu'interface entre stimuli et ractions) construit de manire ce qu'un expert thmaticien en science du comportement animal puisse facilement exprimer et exprimenter ses modles. Comme l'a montr le chapitre prcdent, les thories et modles de cette discipline sont multiples. Il n'est pas du ressort de l'informaticien spcialiste de la simulation de prendre part la discussion sur la pertinence des direntes approches et nous prenons le parti de proposer un outil susament gnraliste pour tre utilis dans une perspective physiopsychologique, behavioriste ou thologique. De ce fait, l'architecture d'animat que nous proposons doit tre gnrique tout en permettant la simulation. behavioRis fournit un langage de description de comportement permettant une transcription aise des descriptions linguistiques comportementales des thogrammes en un modle excutable. Pour cela notre outil repose sur un framework d'agents ractifs responsable de l'excution du modle. Ces deux composantes, langage de modlisation comportementale et framework gnrique d'excution, font de behavioRis un outil d'exprimentation des modles comportementaux. Il est donc question dans ce chapitre de prsenter une architecture d'agent adapte aux modles thologiques. Cette architecture fonctionnelle modlise l'animat et ses interactions avec l'environnement. Elle est dcoupe en composants qui permettent de spcier indpendamment les perceptions, les variables intermdiares, les comportements et le modle biomcanique. Le modle d'excution de la simulation dans un environnement de rv (Ralit Virtuelle) s'appuie sur l'activit de chacun de ces composants. Et enn, nous prsentons un langage dclaratif bas sur cette architecture pour dcrire le modle, et particulirement nous montrerons l'intrt de la logique oue pour exprimer des rgles comportementales manipulant des donnes imprcises. Des applications sont prsentes dans le chapitre suivant.

behavioRis

59

Chapitre 2 

behavioRis

Architecture fonctionnelle
L'architecture fonctionnelle a pour rle de dcrire la manire dont les animats sont

dnis. Nous allons voir que dans notre approche, o un animat est un objet spcialis, la dnition de l'environnement est lie la dnition des objets et ne suppose pas de contrle global de la simulation. Nous verrons ensuite comment modliser chaque concept intervenant dans la dnition du comportement d'un animat.

1.1 L'environnement
Simuler une description de comportement permet d'observer les consquences de ce comportement en terme d'actions. Pour cela, l'animat interagit avec son environnement de deux manires : il peroit les informations et ragit en consquence pour adopter une situation adapte cet tat de l'environnement. L'environnement doit alors pouvoir contenir toutes les informations phylogntiquement pertinentes pour les animats ainsi que permettre le rendu de leurs actions. Nous ne considrons pas ici l'expression de la ralisation de l'action sur l'environnement mais sur l'animat. De plus, pour supporter les modles spatiaux ralistes, nous avons pos la contrainte de modliser un monde ment

3d

qui soit continu ( la dirence des modles qui discrtisent l'espace). Cet environne-

3d

continu permet le rendu de la simulation dans un univers de

rv.

Il sera alors

possible de comparer les rsultats de simulations aux observations relles pour infrer sur les connaissances biologiques introduites dans le modle ; nous prsenterons une telle comparaison dans la premire application du chapitre 3.

Environnement et objet
L'environnement

est un ensemble qui contient tous les objets de la simulation. Un objet

est constitu d'une forme gomtrique

et

Z yaw Y pitch

d'un ensemble un couple

P
:

de proprits nommes.Une proprit est

, v

proprits de l'animat) et

est le label (unique dans l'ensemble des v la valeur de la proprit. Pour

simplier le formalisme, cette valeur n'est pas type ; si elle prend une valeur numrique, elle peut tre lie aux autres proprits du mme objet par une expression arithmtique. Parmi les proprits, certaines sont inhrentes tous les objets comme la localisation dans l'espace (les positions dans le repre euclidien suivant les trois axes

(x, y, z) ainsi que (roll, pitch, yaw), cf

son orientation gure 2.1) ; les

autres sont dnies par le modlisateur. Un objet est loca-

roll

lis par un point, mais des gomtries lui sont associes et sont utilises pour son rendu visuel ; elles sont galement utilises par les modles de perception. Un objet possde tout moment une gomtrie active. Ces gomtries sont constitues des composantes classiquement utilises dans les rendus

 Localisation d'un animat dans l'espace


Figure 2.1

3d

temps-rel utilisant OpenGL

(le matriau

est prix en compte (sa couleur et sa raction suivant la luminosit) ainsi que la dnition de l'ensemble des faces triangulaires qui approximent sa forme).

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

60

Ludovic Coquelle

Architecture fonctionnelle

L'environnement est un objet spcial de la simulation : il est unique, n'a pas de forme gomtrique, et dnit le repre dit global. Il possde cependant un ensemble de proprits comme les autres objets. Parmi ces proprits, l'une est toujours dnie et reprsente le temps :

est le nombre de secondes simules depuis le dbut de la

simulation. Ses proprits peuvent donc tre localises dans le temps (p. ex.

f = sin(t)).

Elles peuvent l'tre galement dans l'espace : nous verrons dans un exemple en section 1.2.2 du chapitre 3 qu'une proprit de l'environnement peut tre value en fonction de la position

(x, y, z)

de l'objet qui s'y intresse.

Activit et architecture fonctionnelle


Dans cet environnement, un animat peut tre considr comme un objet actif dans le sens o il peroit son environnement et agit sur ses proprits en fonction de son comportement (nous nous rfrons ici la notion de modlisation base agent comme le prsente le

Animal Simulation Laboratory

). Ces comportements sont observs au sein

d'un groupe d'animats pour mettre en vidence les interactions. Cependant la notion de groupe n'est pas obligatoirement dcrite dans le modle. Par contre, la description d'un animat doit permettre d'exprimer des variabilits inter-individuelles. Pour cela, le modle de l'animat sera manipul travers la notion d'espce. L'architecture fonctionnelle permet de spcier les interactions des animats avec l'environnement et de rier les concepts abstraits manipuls dans la description des comportements. La gure 2.2 page 62 reprsente les dirents composants constituant un animat :

Perception, Behavior , InternalState

et

Controller .

Chaque composant est

lui-mme dcompos en sous-composants. Cette architecture a t prsente dans (Coquelle et Chevaillier, 2005). Nous prsentons ici le rle de chaque composant en prcisant ses entres et sorties pour expliciter les notions thologiques qu'il manipule. Le modle d'excution sera prsent dans la section suivante accompagn de quelques dtails d'implmentation. Il sut pour l'instant de considrer l'activit globale de l'animat comme le rsultat de l'activit de chacun de ses composants. Chacun de ces composants est pilot par un sous-composant

Trigger

: celui-ci dclenche l'excution du composant.

1.2 Les perceptions externes


Dans la ralit, la perception est un phnomne complexe allant au del du problme de sensation. Bridgeman (1998), qui prsente la thse de

Rock Indirect perception en

1997, prsente brivement les mcanismes du cerveau pour transformer les donnes issues des capteurs en donnes utiles. En majorit ces processus sont internes et inconscients. La dirence est alors faite entre sensations (donnes issue des sens) et perceptions (interprtations smantiques des sensations). Notre but n'est pas de modliser ce traitement complexe de l'information, mais de dcrire les rsultats issus des processus de perception.

1.2.1 Des gomtries la notion de perception


Notre objectif est centr sur la description des comportements. Ces derniers, sous forme de rgles comportementales causales, manipulent les perceptions comme des entres

http://mac-huwis.lboro.ac.uk/ASL/Projects/AgentBasedModelling/index.html

Agent-Based Modelling from Animal Simulation Laboratory:

behavioRis

61

Chapitre 2 

behavioRis

ANIMAT PERCEPTIONS perception #1 "name1" detectors filters objects percepts BEHAVIORS behavior #1 pattern #1 commands pattern #2 behavior #2 pattern #1 controller #m selector behavior #m variable values
S2 S1 S3

CONTROLLERS controller #1 selector actuator property changes (speed...)

perception #n "name2" detectors filters

actuator variable influences

W ij

S4

INTERNAL STATE

Figure 2.2

 Architecture fonctionnelle de behavioRis : un animat est constitu d'un ensemble de composants Perception, d'un ensemble de composants Behavior , d'un ensemble de composants Controller et ventuellement d'un composant InternalState (les sous-composants de dclenchement Trigger ne sont pas reprsents ici).

de leurs processus. L'architecture doit alors permettre de modliser ces perceptions dans l'environnement de simulation. Pour cela, les objets gomtriques concerns munis de leurs proprits doivent tre dtects par les animats, puis analyss pour construire des perceptions.

Dtection
La premire tape est donc une tape de dtection qui slectionne la sous partie de l'environnement (sous forme d'un ensemble d'objets) concernant la perception modliser. En simulation, deux procds sont possibles pour modliser le fonctionnement des capteurs : soit un mode distribu (ou local), soit un mode centralis (ou global). Dans le mode local, l'animat qui eectue la dtection utilise lui-mme l'ensemble des donnes de la simulation pour rechercher les objets susceptibles de l'intresser ; dans le mode global, l'environnement est capable de faire ce traitement pour lui. La premire approche semble plus individu-centre, mais des problmes d'ordre calculatoire sont prendre en compte. Les deux types de dtection seront utilisables dans l'architecture.

Spatialisation et problme des

k-

NN

Nous nous appuyons sur l'exemple de la spatialisation pour introduire la dicult algorithmique de la dtection, et plus prcisment sur le problme classique de la dtection des k plus proches voisins, en utilisant une distance euclidienne. Ce problme est

62

Ludovic Coquelle

Architecture fonctionnelle

intressant par exemple pour simuler des comportements en raction aux congnres les plus proches dans un groupe d'individus, o en raction une attaque de plusieurs prdateurs. Chaque animat doit donc tre capable de dtecter les d'un objet. En rsolution locale, c'est--dire si chaque animat doit calculer ses dament des autres, ce problme des eet, si

k individus formant son

entourage. De manire gnrale, la dtection d'un animat est quivalente la dtection

k-NN (k

voisins indpen-

Nearest Neighbours) est d'ordre

o(N 2 ).

En

est le nombre d'objets de la simulation, il faut calculer

distances puis les

trier, et ce pour chacun des

animats. Seule l'optimisation de l'algorithme de traitement

des donnes peut alors amliorer la recherche, mais l'ordre de complexit est conserv. En mode global, la rsolution peut tre amliore en constituant un index spatial des objets (cette notion est dtaille dans l'annexe B) qui, l'image d'un index alphabtique pour un livre, permet de retrouver les objets par rapport leur position dans l'espace. Cependant, pour les objets en dplacement, la mise jour de l'index pour chaque dplacement de chaque objet est parfois plus coteuse en terme de calcul que la recherche locale. Ce principe d'indexation utilis ici pour la localisation peut tre gnralis chaque proprit (la proprit doit alors tre dnie sur un ensemble ordonnable). La spatialisation reste un problme particulier car la localisation ne fournit pas un ordre strict (du fait qu'elle est compose de plusieurs coordonnes). De plus, un objet est localis en un point, mais la forme gomtrique introduit des dicults supplmentaires, pour dnir les distances par exemple. Ainsi pour la dtection de structures complexes statiques (dcomposables en sous-parties) nous avons utilis les qui indexent des gomtries par leur bote englobante
3

R-Tree

(Guttman, 1984)

( la dirence d'une indexa-

tion par point), supportent une rpartition quelconque des donnes, et pour lesquels un algorithme ecace de recherche des voisins est connu (Roussopoulos et Vincent, 1995).

Perception
Aprs la dtection des objets portant l'information, un traitement supplmentaire doit apporter la notion de perception. La perception est le support de modlisation du stimulus externe. Elle doit donc tre quantie et contextualise. Pour cela, il est ncessaire de prvoir un mcanisme capable d'extraire et mmoriser une proprit d'un ensemble d'objets detects : c'est la notion de

Creature

pronome

introduite dans l'architecture

(Blumberg, 1997).

La mmorisation d'une perception modlise localement une mmoire court terme. Il est donc ncessaire de parler de l'activit temporelle de la perception. Cette activit est modlise par la manire de dclencher la mise jour de la perception. Celle-ci dpend du type de perception et peut tre modlise par une priode de rafrachissement automatique.

1.2.2 Dtection d'objets gomtrie complexe


L'approximation ponctuelle est susante pour les petits objets. Elle l'est beaucoup moins pour des formes gomtriques complexes (p. ex. un arbre pour un singe) o l'objet complet n'apporte pas l'information mais une partie de celui-ci seulement est utile et

Pour l'indexation par R-Tree, une bote englobante (axis-aligned bounding box ) est le plus petit paralllpipde rectangle align avec les axes du systme de coordonnes et contenant entirement la forme gomtrique indexer.
behavioRis

63

Chapitre 2 

behavioRis

utilisable (une branche). Or, la gomtrie destine un univers de

rv

est modlise par

un ensemble des facettes triangulaires formant une approximation de la forme globale. Il est donc possible d'accder aux donnes de ces facettes. L'intrt de garder la forme complexe comme un seul objet regroupant un ensemble de facettes (par rapport modliser l'ensemble des facettes comme autant d'objets spars) est de limiter le nombre d'objets dans l'environnement pour ne pas retrouver le problme prcdent de complexit algorithmique due au nombre d'objets. Par contre, si le problme de dtecter certaines facettes dans l'ensemble de toutes celles qui constituent la gomtrie se retrouve, l'indexation globale peut ici tre utilise localement l'objet puisque toutes les facettes sont lies cet unique objet. Nous verrons en section 2 du chapitre 3 une utilisation d'un objet gomtrie complexe pour simuler un let de pche avec des poissons capables de percevoir chaque maille le constituant.

1.2.3 Le composant Perception


A Rle
Le rle 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 : dtection et slection, auquel on attache un tiquetage smantique. Dans cette modlisation, les sens rels (capteurs) de l'animal ne sont pas manipuls directement. Les contraintes lies aux conditions environnementales (bruit, lumire. . . ) ainsi que les caractristiques des objets sont simuls par la spcication de dtection et de ltrage. C'est le rsultat de ces sens qui est modlis ici, pas leurs fonctionnements. Par exemple, si une rgle comportementale spcie une raction face un prdateur, peu importe le moyen de dtection utilis (l'oue, la vue), seule la smantique de la perception de prdateur est utilise. Ici, une perception n'est pas encore assimilable un stimulus externe car elle n'apporte pas de sens comportemental (elle n'implique pas le dclenchement d'une rponse, ceci sera dcrit dans les rgles de comportement). Elle apporte seulement une smantique une partie de l'environnement, ce sens pouvant tre pertinent pour les rgles comportementales. La smantique d'un composant

Perception est donne par le modlisateur

travers le nom associ au composant. A partir de l, un stimulus sera dni comme la comparaison de la valeur d'une proprit d'une perception par rapport un seuil dclenchant, et cette comparaison donnera au stimulus une intensit de stimulation ( travers la valeur de vrit de la comparaison).

B Fonctionnement
Detector , Filter , et Trigger . L'entre du composant Perception est l'ensemble U de tous les objets de l'environnement ; sa sortie est un Percept . Un Percept est une abstraction
qui reprsente le rsultat de la perception, et est constitu de l'ensemble des objets perus, avec leurs proprits propres associs des proprits de perception construction d'un Le fonctionnement d'un composant

Perception

est dni par les sous-composants

Percept est dtaille par le fonctionnement du composant Perception : Dtection Eectue par le calcul successif de chaque Detector , l'tape de dtection cre l'ensemble D des objets potentiellement perus. Chaque Detector utilise une
proprit (ou plusieurs) pour slectionner des objets dans l'environnement et im-

P P

(p. ex. la taille), et auxquels sont ventuellement (p. ex. la vitesse au moment de la perception). La

64

Ludovic Coquelle

Architecture fonctionnelle

plmente une mthode globale ou locale de slection. L'ensemble des prsente alors les capacits sensorielles de l'animat.

Detector

re-

{o = (s, P) , o U } {Detector} o = s, P P , o dtectable e


U:Environnement DU:Dtection e

L'tape de dtection cre l'ensemble D des objets o dnis par leur forme gomtrique s et leur ensemble de proprit P auquel s'ajoute des proprits de dtection P . Plusieurs types de Detector ont t dvelopps. Le sous-composant FieldOfViewDetector implmente la notion de champ de vue d'une camra. Il est paramtr
par une distance

pour la profondeur de champ, un angle

pitch

pour l'ouverture

latrale, et un angle

yaw

pour l'ouverture verticale, et dtecte de manire locale

tous les objets situs dans ce champ. Ce type de

Detector

est classiquement utilis

pour simuler un cne de vision et se base uniquement sur la position du centre des objets de l'environnement. Pour accder un niveau de dtail plus prcis qui dtecte la forme gomtrique des objets, il est possible d'implmenter un dans le chapitre applicatif. Les

Detector

par lancer de rayon. Un exemple utilisant des gomtries complexes sera prsent

Detector
P

ont galement pour rle d'introduire dans les objets des proprits lies la perception. Celles-ci sont de mme nature que les propri-

transitoires

ts propres, mais existent uniquement pour les objets du

FieldOfViewDetector

Percept.

Par exemple,

ajoute chaque objet une position relative au moment de la

perception. Quand cette perception sera utilise ultrieurement par des rgles de comportement, celles-ci pourront utiliser soit la position relle d'un objet peru, soit la position laquelle il a t peru (le temps de latence de perception peut ainsi tre pris en compte).

Filtrage

Eectu par le calcul successif de chaque

Filter ,

le ltrage slectionne parmi

les objets dtects ceux qui sont accessibles et porteurs d'information. Le ltrage modie galement certaines proprits de perception.

o = s, P P
D:Dtection e

{Filter} o = s, P P

, o ltr e

Percept

FieldOfViewDetector un ltrage supplmentaire FieldOfViewFilter qui l'oppos supprime du Percept les objets d'un champ de vision (cette technique peut-tre utilise pour sitection. Ainsi il est par exemple possible d'ajouter une slection par muler une vision priphrique globale

La

slection par le ltrage permet de simplier (et gnraliser) la fonction de d-

Le ltrage de l'ensemble d'objets dtects D construit l'ensemble des objets perus Percept.

360

avec seulement une zone aveugle). Un

calcul d'obstruction peut galement prendre place l'intrieur d'un ce cas, le ltrage peut ajouter une proprit aux objets du exemple un degr ou pourcentage d'obstruction. Le second rle des

Percept,

Filter .

Dans

comme par

Filter

est d'introduire un

traitement temporel sur les propri-

ts de perception. Deux traitements sont envisags sur l'volution temporelle d'une proprit numrique : l'intgration (p. ex. pour dterminer la position moyenne

behavioRis

65

Chapitre 2 

behavioRis

d'un objet trs mobile comme une abeille), ou la drivation (p. ex. pour savoir si la vitesse d'un objet augmente ou diminue).

Activit

Perception calcule chaque Detector , Filter , pour mettre jour son Percept. Pour un comd posant Perception contenant I Detector et J Filter , et avec les notations fi pour la f fonction du Detector i qui l'environnement U rend la dtection D , et fj pour la fonction du Filter j qui renvoie un Percept d'aprs sa dtection d'entre, le calcul
A chaque dclenchement, le composant puis squentiellement chaque de perception s'crit :

f f f Percept = fJ1 fJ2 f0 iI

fid (U)

Comme le ltrage peut modier l'ensemble des proprits des objets, l'ordre des ltres doit tre dni par le modlisateur. En eet, imaginons deux ltres : le premier ajoute une proprit seuil ; l'ordre est vident. Le dclenchement de ce calcul est eectu travers un sous-composant peut tre automatique, comme la spcialisation

proximit aux objets dtects en fonction de leur distance et de leur taille ; le second ltre les individus dont la proximit est suprieure un
Clock Trigger .
Il

qui dclenche le calcul prio-

diquement. Il peut galement tre appel explicitement par un autre composant :

OnRequest

dclenche le calcul seulement si le rsultat de perception (

Percept)

est

accd aprs un temps comportement l'utilise. Le

depuis sa dernire mise jour. Ce type de fonctionne-

ment sur demande modlise une perception pro-active qui n'est activ que si un

Percept

qui est mis jour est une sorte de mmoire court-terme des don-

nes de la perception. Mais la smantique reste dans la perception en elle-mme, contrairement une architecture comme

C4 (Isla et al., 2001) o la smantique de

perception est dduite par les comportements (mais les donnes de perception sont pralablement classes dans un arbre de smantique).

Filter ou Detector . Pour les dtecteurs, le plus couramment utilis est celui dj nonc FieldOfViewDetector . D'autres (EnvironmentDetector et Altimeter ), plus spciques, seront prsents dans le chapitre 3. Les ltres dvelopps concernent la transformation de coordonnes (LocalToGlobal , CartToSpherical ), ou le traitement de requte d'indexation spatiale (SpatialIndex ) ; des ltres concernant l'exclusion (FieldOfViewFilter , Treshold ) sont galement prvus.
ajoutant des sous-composants

Dirents sous-composants ont t dvelopps, et le framework reste extensible en

1.3 La dynamique des tats internes


La description des comportements d'animaux fait intervenir des variables intermdiaires dans les modles, sans avoir ncessairement besoin de modliser leurs dterminismes physiologiques. Ces variables sont la base des stimuli internes qui modlisent les inuences somatiques sur le comportement. Comme nous l'avons vu, un stimulus interne peut avoir des origines varies (p. ex. issu d'un rythme chronobiologique comme l'envie de dormir, ou d'une raction hormonale comme l'envie de reproduction), mais il reste indpendant de l'environnement. Ces stimuli introduisent dans les modles thologiques des comportements non systmatiques. En eet, cause des stimuli internes, la raction de chaque individu est

66

Ludovic Coquelle

Architecture fonctionnelle

contextualise et dpend de son tat interne l'instant o se produit la raction. Les stimuli internes peuvent mme introduire un comportement non dterministe quand la valeur d'une variable interne est modlise par une grandeur probabiliste.

1.3.1 Des tats internes aux stimuli


L'architecture propose de modliser l'ensemble des variables intermdiaires comme un tat interne de l'animat. Cet tat interne est donc un ensemble

de grandeurs numriques

(les variables intermdiaires, ou encore appeles variables internes) identies par un

label

(on notera

la valeur de la variable interne

).

Toujours avec l'objectif de

guider la modlisation par la description des rgles comportementales, l'introduction de cet tat interne dans l'architecture permet de modliser un stimulus interne comme la comparaison de sa valeur un seuil (de manire analogue la dnition des stimuli externes). Par exemple, supposons un modle qui ncessite l'utilisation de variables intermdiaires abstraites : nous introduisons dans l'tat interne une premire variable reprsentant un stress gnral, ainsi qu'une autre variable quand la valeur de la variable

Sstress

Sfatigue

rsumant le besoin

de repos. Dans les rgles comportementales, le stress engendrera un stimulus interne

Sstress

atteindra un certain seuil (ce seuil est x par les

rgles comportementales et nous verrons que la logique oue apporte une exibilit dans sa dnition). Nous pouvons tout de suite remarquer que ces variables interagissent avec certaines rgles comportementales (p. ex. la perception d'un ennemi peut augmenter le stress), mais que certains mcanismes s'expriment de manire indpendante du comportement. Ainsi l'tat de stress de notre animat peut inuencer son besoin de repos, sans que cela ne soit dcrit comme une rgle de comportement. La dnition de l'tat interne inclut donc des notions de dpendances entre variables d'tat. En dehors des rgles de causalit entre stimuli et actions, le rsultat physiologique du comportement interne est alors modlis dans

behavioRis

par des rgles d'inuences

entre tats (dans notre exemple, le stress inuence ngativement la fatigue). Ces rgles inuencent alors indirectement les comportements, notamment dans leur organisation.

1.3.2 Le composant InternalState


A Fonctionnement
Cet ensemble de variables internes est modlis par le composant

InternalState .

Comme il n'existe pas de modle d'tat interne gnral en thologie, le choix a t fait de le reprsenter comme un ensemble de graphes d'inuences. Chaque nud d'un graphe reprsente une variable interne (unique dans l'ensemble des graphes puisqu'une variable interne est unique). Un arc entre deux nuds d'un graphe reprsente une relation d'inuence. Des variables dans des graphes dirents ne peuvent alors pas avoir de relation d'inuence l'une sur l'autre (nous allons voir que ces graphes, ventuellement de types dirents, ne manipulent pas ncessairement des quantits de mme nature). L'activit du composant

InternalState

consiste mettre jour les valeurs des va-

riables internes. Les liens d'inuences entre tats confrent en eet chaque graphe une dynamique d'volution qui consiste calculer l'tat actuel en fonction de l'tat prcdent des variables. La gure 2.2 page 62 fait apparatre galement des relations, entre et les autres composants, que nous expliciterons dans la section suivante. Cette notion d'volution de variables internes est utilise galement dans l'architec-

InternalState

behavioRis

67

Chapitre 2 

behavioRis

IVit = IVi(t1) .dampingi + growthi avec : IVi (t) dampingi growthi eectkit gainki valuek(t1)
Figure 2.3

eectkit

: valeur de la Variable Interne

l'instant

t i i

: coecient d'attnuation li la Variable Interne

: coecient d'augmentation li la Variable Interne

= gainki .valuek(t1)
: ajustement d au comportement : gain utilis par le comportement : valeur du comportement

k k

au temps

t i

pour ajuster la Variable Interne

au temps

t1

 Equation des tats internes dans l'architecture Creature (Blumberg, 1997)


cite dans la section prcdente (Blumberg, 1997). Dans cette architecture,

ture

Creature

la mme quation de mise jour des valeurs de l'tat (

cf

gure 2.3 page 68) prcise l'vo-

lution de chaque variable en prenant en compte l'inuence des comportements.

behavioRis

ajoute la possibilit d'exprimer des relations entre les variables (par l'in-

termdiaire des graphes d'inuences). Dans l'architecture logue la somme des eets des comportements). Si

Creature,

cela reviendrait

ajouter un terme reprsentant la somme des eets des autres variables (de manire ana-

behavioRis

prsente ces relations

sous forme de graphes, c'est pour pouvoir modliser diremment les inuences suivant les donnes biologiques disponibles. L'volution temporelle des variables (comme l'quation de

Creature )

n'est pas toujours connue. Parfois seules les inuences relatives entre

variables sont manipules plutt que leurs valeurs (dans l'exemple du stress qui inhibe l'envie de se reposer, la valeur de stress n'est pas importante par contre il est ncessaire de connatre la variable la plus active). Deux implmentations (deux types de graphe) sont proposes ici pour rpondre deux cas dirents de manipulation des variables internes.

Notations
 Chaque nud d'un graphe reprsente une variable interne  Chaque variable

Si . Lij .

Si

possde un degr d'activation

 Un arc (orient et pondr) entre deux variables

ai (t). Si et Sj

est not

fcm
La premire implmentation d'un composant

l'utilisation d'une carte cognitive oue (note Une les arcs

InternalState (un graphe) repose sur fcm, acronyme de Fuzzy Cognitive Map).
Si
pos-

fcm
Lij

est un graphe d'inuence orient ; les nuds

sdent un degr d'activation et reprsentent des concepts abstraits ; sont pondrs et reprsentent des relations d'inuences. Un arc avec un poids positif reprsente une inuence d'excitation : dans l'exemple, la variable

stress

peur

active la variable

stress ; la variable
sur la

s'active elle-mme galement. Un poids ngatif reprsente une

inhibition, ce qui est illustr par l'inuence du Le principe d'utilisation d'une

fcm

stress

fatigue.

est alors de positionner les va-

leurs initiales des concepts et le calcul itratif des inuences (expliqu ci-aprs) permet d'valuer les degrs d'activation rsultants.

68

Ludovic Coquelle

Architecture fonctionnelle

Ces graphes sont dits

ous

car ils interagissent avec l'extrieur par des fonctions

de transferts semblables celles utilises dans certains contrleurs ous. La valeur d'un concept peut en eet tre force par une valeur extrieure au graphe (la valeur de la variable

peur

par exemple peut tre xe par la perception d'un ennemi). Les fonctions

de transfert oues permettent alors de dcrire un changement d'espace entre la valeur extrieure et la valeur force dans le graphe. Le graphe global correspond alors l'tat rsultant des dirents forages. La valeur d'une variable rsultante peut aussi tre rcupre par l'intermdiaire d'une fonction de transfert (la valeur de la variable peut tre convertie de manire oue en une valeur binaire par exemple). De manire simplie, le principe de calcul itratif d'une

fatigue

fcm

fait intervenir deux

inuences pour dterminer le nouveau degr d'activation interne d'inhibitions (Lji

ai (t) associ un nud

du graphe. La premire est l'inuence interne au graphe, due aux arcs, des relations

< 0)

ou d'excitation (Lji

> 0)

de l'tat

inuence prend en compte des valeurs de forage fonction de forage par une fonction sigmode

Sj vers l'tat Si . La seconde externes fai (t), par l'intermdiaire de

gi . Aprs calcul des inuences, les degrs d'activation sont normaliss pour obtenir : aj (t + 1) = gj faj (t),
i

ai (t) Lij

Cette dynamique des activations internes de la carte est calcule mathmatiquement par produit matriciel, comme expliqu dans la dnition formelle des C. Les

fcm donne en annexe

fcm ont t utilises pour spcier les comportements d'acteurs au sein de mondes

virtuels (Kosko, 1986; Dickerson et Kosko, 1994). Dans (Parenthon et al., 2001), elles sont utilises comme contrleur local pour chaque individu : les capteurs de l'individu sont relis des tats dits sensitifs, et d'autres tats dits moteurs envoient leurs valeurs aux actionneurs de l'individu. Cette reprsentation de fonctionnement ractif a permis d'introduire un apprentissage d'action (Parenthon et al., 2002) ou un apprentissage par imitation pour des agents virtuels qui apprennent les 2002). L'intrt des

fcm d'autres agents (Buche et al.,


dans l'architecture

fcm pour modliser un InternalState

behavioRis

est

a priori. Comme elles ne reprsentent pas des valeurs physiques de l'animat, les valeurs des variables internes (comme la peur )
les cas o seuls les poids relatifs des arcs ont un sens sont en eet moins importantes que leurs valeurs relatives lies leurs inuences respectives. Le calcul itratif des

de manipuler des grandeurs de variables internes par l'expression de leurs inuences, dans

fcm

permet ainsi de modliser un tat interne de manire

intuitive, en construisant des hypothses d'inuences imprcises sur des concepts abstraits. Nous prsenterons un exemple dtaill dans le chapitre consacr aux applications (

cf

gure 3.2 page 107).

bpn
Si la solution base de

fcm

permet une modlisation intuitive des inuences entre

tats internes, il est dicile de prvoir nement l'volution des tats du graphe, notamment cause de la normalisation qui, si elle tend stabiliser rapidement les valeurs au cours des itrations, introduit un calcul complexe dicile se reprsenter. Il est donc trs complexe de crer des modles o l'volution des variables au cours du temps est spcie. Nous prsentons alors un deuxime type de graphe, les

bpn,

pour introduire

behavioRis

69

Chapitre 2 

behavioRis

une notion temporelle dans un graphe d'inuence, ou plus prcisment une notion de squence relative dans les changes entre variables. La dnomination tenant un

bpn

(acronyme de

behavioRis 's
RdP,

Petri Net) est une

utilisation adapte des Rseaux de Petri gnraliss. Nous dcrivons main-

bpn

en terme des proprits des

puis nous reviendrons

sur ses dirents aspects en illustrant son volution dans le paragraphe suivant. Un

RdP se dnit rapidement comme un graphe orient biparti RdP

altern de places et de transitions (une dnition rigoureuse est donne en annexe D). Nous nous intressons plus particulirement au dit graphe d'tats, pour lequel toute transition possde au maximum une seule place d'entre et une seule place de sortie. Chaque place est associe un marquage, et l'volution de ce marquage est li au tirage des transitions. Une transition est dite valide quand la place d'entre possde un marquage au moins gal au poids de l'arc qui la relie la transition. Si cette transition est franchie, le marquage de la place d'entre est diminu du poids de l'arc qui la relie la transition et le marquage de la place de sortie est augment du poids de l'arc qui la relie depuis cette mme transition. Sans tre un aussi la proprit de ot dynamique issue des transition. De plus, un

hdn

RdP

continu, un

bpn

possde

(Drath, 1998) : la somme des poids

des arcs menant une transition est gale la somme des poids des arcs sortant de cette

bpn

est entirement synchronis, c'est--dire que les transitions

ne sont franchies que si elles sont valides et lorsqu'un vnement extrieur intervient. Quand les vnements sont bass sur une horloge, cette synchronisation permet de dnir la dynamique temporelle et les poids associs aux transitions reprsentent alors une vitesse d'inuence. Prsentons l'volution de ce graphe dans le contexte du composant d'tat interne. Chaque place reprsente une variable intermdiaire dont la valeur correspond au marquage de la place. Le marquage

M (t)

de toutes les places du graphe reprsente un tat

interne dont l'volution est dirige par l'activation du sous-composant tre une horloge (sous-composant

Si l'on veut aecter une valeur temporelle aux variations des variables, le

Clock ).

Trigger associ. Trigger doit

Ainsi, le graphe reoit un signal d'activation

priodique qui est utilis comme signal de synchronisation du marquage est conduit par ce signal). A chaque rception de ce signal manire suivante. Une liste pour chaque transition diminu de

evt pour le rseau (l'volution

evt,

un calcul de toutes les transitions est eectu de la

de toutes les transitions actives (le marquage de la place

d'entre est suprieur ou gal au poids la transition) est ordonne alatoirement. Ensuite,

de poids

Lij

de cette liste, si elle est activ (un nouvelle vri-

cation s'impose du fait du processus squentiel), le marquage de la place d'entre est

Lij

et le marquage de la place de sortie

Pj

est augment d'autant. Ce qui se

rsume l'algorithme suivant :

foreach Lij in list-of-all-transitions if Pi > Lij then


L {L, Lij } L randomly-order (L) foreach Lij in L if Pi > Lij then Pi Pi Lij Pj Pj + Lij
70 Ludovic Coquelle

Architecture fonctionnelle

L'volution de ce graphe (du marquage de notre rseau) peut tre reprsente travers une analogie avec un systme hydraulique. Le marquage des places reprsente une quantit de liquide disponible dans la place. Une transition reliant deux places est un tuyau dont la section est le poids de cette transition ; ce tuyau est muni d'une soupape, qui s'ouvre quand la place d'entre possde un niveau suprieur ou gal la section du tuyau. Attention, l'analogie utilise est un systme physique continu alors que notre rseau est un dispositif discret. Nanmoins elle permet de se reprsenter la dynamique du rseau de manire concrte. Prenons l'exemple de modlisation du rythme chronobiologique de la fatigue. L'ide est d'utiliser une variable intermdiaire veil qui modlise la quantit d'nergie pour la journe ; cette quantit est maximum au matin et diminue tout au long de la journe pour devenir nulle le soir ; la nuit, le phnomne inverse se produit, une variable intermdiaire sommeil diminue progressivement pour devenir nulle au matin. Nous proposons la solution gure 2.4 page 72 qui prend en compte ces deux variations (durant le jour et la nuit) et les associe dans une boucle sans n : la n de la variation de jour entrane le dbut de la variation de nuit. Dans cette solution les deux variations sont sur les axes verticaux ; le changement d'une variation l'autre est sur les transitions horizontales. Une transition temporaire a t ajoute pour restituer une priode de en respectant un rapport deux tiers un tiers entre jour et nuit. Pour construire un tat interne, les

24

tops d'horloge

bpn

permettent de dcrire facilement des volu-

tions temporelles. La plus simple des volutions est une variable d'tat (une place) qui se vide progressivement. Mais en introduisant des relations d'inuences, il est possible de crer des cycles ou des phnomnes plus complexes.

1.3.3 Interactions entre l'tat interne et les rgles comportementales


Ces tats internes, qu'ils soient modliss dans des graphes avec les rgles comportementales. Chaque variable interne

fcm ou bpn, interagissent

est accessible par les rgles

et dsigne par son label. La valeur utilise est alors le poids courant dans le graphe. Les rgles comportementales peuvent galement inuencer ces tats (p. ex. si une variable intermdiaire reprsente le stress, la prsence d'un ennemi peut changer le niveau d'activation de l'tat). Cela revient crer des liens entre les perceptions et l'tat interne de l'animat. Le poids d'une variable peut alors tre chang de manire instantane par les consquences des rgles comportementales (ce changement instantan revient une initialisation de graphe). Pour plus de facilit dans l'utilisation du modle, nous introduisons galement deux nuds spciaux (inspirs des

RdP) dans chaque graphe d'tats internes. Un nud source,

dont le poids est toujours le poids maximum d'un nud du rseau, sert introduire de

l'nergie

dans le rseau ( la manire du robinet du modle de motivation de

gure 1.4 page 28) ; par exemple, une variable interne le poids est toujours reprsentant la

age

Lorenz

peut tre lie une source qui

augmente la valeur de cette variable continuellement. A l'inverse, un nud

peur,

0,

est une

dcharge d'nergie ;

puits,

dont

un exemple peut tre une variable

qui est active brutalement par un comportement, et qui se vide

progressivement dans un puits. Les tats internes modlisent la fois les variables intermdiaires et leurs inuences. Le graphe

fcm

permet de modliser des variables dont les valeurs relatives, par le biais

des inuences, sont plus importantes que leurs valeurs relles. Au contraire, un graphe

bpn ore la possibilit de spcier prcisment les valeurs des variables et leurs volutions
behavioRis

71

Chapitre 2 

behavioRis

14 sommeil 0 2 temp 0

14 besoin de sommeil 0 1

besoin de rveil 0 14

rveil 14

Evolution du marquage reveil besoin de sommeil temp sommeil besoin de reveil

20 Valeur du marquage 15 10 5 0 0 5 10 15 20

25

30

35

40

Evenement periodique (du Trigger)


Figure 2.4  Exemple d'volution d'un bpn modlisant un cycle des variables d'veil et de sommeil. Le rseau est reprsent dans la partie suprieure, avec son marquage initial encadr pour chaque place (qui correspond au dbut de la journe). Un marquage entier est utilis ici pour pouvoir l'assimiler des heures. Les transitions sont franchies sur les vnements d'une horloge, et les chronogrammes des marquages sont reprsents sur le graphique en partie infrieure. Ce rseau fait intervenir une variable temporelle temp qui permet de crer un rapport de deux tiers un tiers entre les phases nuit et jour tout en gardant un cycle de 24 heures avec des marquages reprsentant les heures entires.

temporelles.

1.4 Les rgles comportementales


1.4.1 Des stimuli aux ractions
Pour exprimer les ractions comportementales dues aux stimuli, et ce de manire dclarative, l'architecture utilise des rgles de production  si

stimuli

alors

ractions

.

Comme vu prcdement, les stimuli sont issus des valeurs des perceptions et des variables d'tats internes. Dans les deux cas, pour valuer un stimulus, la valeur d'entre (la proprit d'un objet peru ou le degr d'activation d'une variable interne) est compare un seuil. Par exemple, un stimulus li l'tat interne reprsentant le niveau de stress

Sstress 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 plus proche de 1 que x est suprieur y . Les stimuli peuvent tre composs pour dnir la
72 Ludovic Coquelle

Architecture fonctionnelle

condition d'activation d'une rgle. Une raction est l'association d'une valeur souhaite une proprit de l'animat ou l'association d'un niveau d'activation une action atomique. Une action atomique est une squence prdnie d'actions entirement droule par la couche de contrle. La spcication d'une valeur de proprit servira quant elle de loi de commande ce contrle pour modliser les actions continues. Par exemple, si la rgle implique un arrt du dplacement de l'animat, une raction peut tre d'annuler l'acclration :

x , 0

. Les sorties

ne sont pas spcies dans le sens ou chaque rgle peut conclure propos de n'importe quelle proprit. Ainsi il est possible d'agir sur l'acclration (ce qui est la commande habituelle pour modliser ensuite un contrle n de la dynamique du mouvement) comme sur une position xe (qui est souvent la donne d'observation du comportement, p. ex. un angle dnissant un changement de direction). Un comportement est dni par l'architecture comme un ensemble de telles rgles, sans aucune contrainte sur les entres ou sorties. Les rgles sont groupes dans dirents

Pattern

ayant pour rle de runir un ensemble de rgles qui ensemble ont une

smantique (p. ex. le

Pattern

fuire un prdateur) d'lment de description d'un com-

portement. Chaque comportement est indpendant (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 retour des dpendances entre ces comportements.

1.4.2 Le composant Behavior


Le rle du composant

Behavior

est de dnir les seuils et fonctions de comparaison

pour manipuler les stimuli, de dnir l'infrence faite sur les rgles comportementales, et de fournir les rsultats de raction ainsi qu'une estimation de pertinence pour chaque raction. Ses entres ont t dcrites dans la spcication des stimuli : ce sont les les valeurs instantanes des tats internes. Les sorties sont des objets de type dni par le triplet de valeurs relles concerne,

Percept et Command ,

c = , v,

avec

un label dsignant la proprit

la valeur souhaite et

L'activit du

Behavior ,

son coecient de pertinence.

dclenche par les

Trigger

de la mme manire que pour les

autre composants, est de reconstruire son ensemble de sorties (un ensemble de

mand ).

Com-

A chaque dclenchement, le nouvel ensemble de consignes vient remplacer le

prcdent (les consignes calcules prcdement sont annules, qu'elles aient servi ou non).

La spcialisation

FuzzyBehavior
Behavior spciques FuzzyBehavior est lui plus gnral Behavior
a permis de tester l'implmentation de l'arcods en dur (dans et utilise l'infrence

Le framework du composant le langage C++). Le composant

chitecture ses dbuts avec des composants

oue pour interprter les rgles. L'infrence oue, comme nous l'avons mentionne en section 3.2.3, permet de manipuler des donnes imprcises et d'exprimer des connaissances incompltes, et ce, tout en restant un modle mathmatique du comportement (Tron et Margaliot, 2004). Nous prsenterons l'criture des rgles oues dans la section 3 sur le langage pour nous concentrer maintenant sur le traitement eectu par le systme d'infrence oue sur les entres et sorties du composant. Le composant une proprit

extraite d'un

FuzzyBehavior est reprsent gure 2.5 page 74. Ses entres, que ce soit Percept ou le degr d'activation a d'un tat interne, sont
73

behavioRis

Chapitre 2 

behavioRis

des valeurs numriques. Ces valeurs sont converties en valeurs oues La seconde tape est l'valuation des un coecient d'activation Pour l'objet

p et a

sous forme

de singleton ou (voir annexe A) : c'est la premire tape de l'activit du composant.

rgles oues

Ri

qui concluent, chacune avec

Ri ,

sur un ensemble de variables oues de sorties

variables oues de sorties sont nalement traduites en rponse sous forme de

Command

Command .

v .

Ces

reprsentant la variable

v1 ,

la valeur associe

v1

rsulte de la

dfuzzycation de cette variable oue (suivant la loi de dfuzzycation du contrleur ou, qui peut tre congure). Son degr de pertinence des degrs d'activation des rgles qui concluent sur rgles concluant sur

v1 , J {R1 , , Rn },

alors

v1 : 1 =

1 correspond la moyenne si J reprsente cet ensemble de


Rj jJ card(J) .

Si l'architecture ne fournit pas d'organisation des composants de comportement, nous verrons que l'utilisation de systme d'infrence oue permet de structurer hirarchiquement certains ensembles de rgles.

BEHAVIOR #i
perception

R1 p R2

R 1 R 2 v1 c1 = 1 , v1 , 1

state

Rn

R n

v2

c2 = 2 , v2 , 2

Figure 2.5  Entres et sorties du module comportemental ou. Les perceptions externes (sorties des composants Perception) et internes (sorties des composants InternalState ) sont fuzzyes sous forme de singleton ; le degr d'activation Ri de chaque rgle oue Ri est valu ainsi que leurs valeurs oues de sorties ; ces sorties v sont dfuzzyes et associes la moyenne des degrs d'activation de l'ensemble des rgles concernes par cette sortie.

1.5 Le modle biomcanique


Nous appelons ici

modle biomcanique

toutes les fonctions de contrle sur la ralisa-

tion des actions de l'animat dans l'environnement. Nous avons vu que les comportements ont pour rle de spcier des consignes d'actions. Le rle du modle biomcanique est alors de prendre en compte ces consignes pour eectuer l'action. Dans notre cas, c'est un abus de langage de parler de modle biomcanique, qui dnit gnralement un modle de mcanique physique appliqu au vivant, car les actions peuvent tre des changements interne l'animat. Mais dans le sens large sont sous-entendus ici tous les processus physiques visant la modication de l'tat gnral de l'animat. Il ne s'agit pas dans notre cas de dnir des modles physiques ralistes, mais de dcrire comment une consigne d'action est rpercute sur l'animat ou l'environnement.

74

Ludovic Coquelle

Architecture fonctionnelle

1.5.1 Contrles indpendants par votes


Comportement et contrle : exemple du dplacement
Dans (Brogan et Hodgins, 1997), trois exemples d'objets dynamiques (dans le sens mcanique du terme) illustrent les dirences de comportement rsultantes des modles physiques utiliss. Ces exemples sont des modles de points pesants (exercice classique de mcanique), de robots unijambistes (qui illustre l'importance de l'eecteur avec ici un contrle contextuel d la liaison mcanique soljambe), et de cyclistes (qui illustre des contraintes de dplacement fortes). Il est dicile de faire la part des choses entre contrle, comportement et modle physique. L'architecture des steering behaviors (Reynolds, 1999) se dcompose en trois niveaux pour direncier les problmes. Le premier, de la slection d'action (avec des notions de buts, de planication). Le second,

action selection, rsoud le problme steering, introduit la dtermination de chemin. Et le dernier, locomotion, rsoud le modle mcanique d'un point de vue animation. La dirence est donc propose entre modlisation du phnomne physique, qui utilise un modle discret de dplacement, et la modlisation des comportements, qui envoie une consigne (possiblement continue) sous forme d'acclration. Direncier le calcul du comportement souhait (calcul de la consigne) et son application dans l'environnement revient direncier ce qui est crdible d'un point de vue comportemental de ce qui est physiquement possible dans le monde simul. La sparation des dirents calculs de comportement et du contrle nal permet galement de ne pas xer d'organisation (p. ex. hirarchique) des comportements, qui est souvent trs dicile obtenir pour reter toute situation possible de raction.

behavioRis

reprend cette dif-

frentiation mais n'introduit pas de contrainte en ce qui concerne la forme de la consigne. L'tape de contrle dans de proprit).

behavioRis

est gnrale pour toute action de l'animat : que ce

soit son dplacement ou un autre changement d'tat (p. ex. un changement de couleur,

Systme de votes
Les deux problmes principaux rsoudre sont la prise en compte des direntes consignes issues des comportements (sous forme ici de de dplacement du point pesant). La combinaison des consignes est elle traite de manire gnrale par un systme de vote similaire l'architecture composant de contrle

Command )

et la ralisation de

cette consigne. La ralisation reprsente un modle physique spcique (p. ex. le modle

damn

(Rosenblatt, 1997) dj cite. Ce systme de

vote, reprsent gure 2.6 page 76 avec l'algorithme, procde comme suit :

Controller

(i)

chaque

assure la mise jour d'un ensemble de proprits ;

(ii)

pour chacune de ces proprits composant de comportement degr de pertinence

de cette valeur ;

Behavior peut mettre une valeur souhaite v associe un (iii) enn, le Controller calcule une combinaison Behavior
voterait pour une consigne avec une

il ouvre une session de vote au cour de laquelle chaque

des dirents rsultats et applique les eets. La condition de seuil de pertinence pour

le vote permet d'carter les cas o seul un

pertinence ngligeable. Notamment pour le composant

FuzzyBehavior ,

mme si aucune

rgle n'est susamment active aprs l'infrence oue (cas classique en contrle lorsqu'une variable de sortie n'est pas dnie pour tout le domaine des entres), la dfuzzycation donnera une valeur qui sera nglige d son degr de pertinence trs petit.

behavioRis

75

Chapitre 2 

behavioRis

vior

L'avantage de ce systme de vote est de ne pas xer les sorties des composants

Beha-

: ils ne votent que pour les consignes qui les concernent et au moment de la session

de vote. Les rgles comportementales qui les constituent peuvent alors tre incompltes dans le sens o elles ne recouvrent pas tout le domaine possible des valeurs de leurs entres (ainsi, mme si une rgle peut conclure sur une valeur, elle ne doit pas le faire chaque instant).

> c11 = 1 , v11 , 11

Behavior #1

>

1 c21 = 1 , v21 , 21
>

Selector

V1

Actuator

p1

Controller #1

Behavior #2 c22 = 2 , v22 , 22


c23 = 3 , v23 , 23
>

2 c32 = 2 , v32 , 32
> >

Selector

V2 Actuator Vn

p2 pn

Behavior #3 c3i = i , v3i , 3i

Controller #2

P list-of-all-managed-properties C list-of-all-commands foreach i in P Vi , i 0, 0 foreach , v, in C if = i and > then Vi , i sel(Vi , i , v, ) act(i , Vi , i )

 Slection d'action par systme de vote. Les consignes des dirents composants sont regroupes par proprit . Le composant Controller concern par une proprit i lance un vote, auquel rpondent les consignes concernes cji par une valeur vji associe un degr de pertinence ji , puis une combinaison Vi des rsultats est faite pour l'envoyer aux eecteurs de cette proprit 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 deux fonctions externes qui sont sel pour caractriser la slection des consignes et act pour eectuer la mise jour de la proprit.
Figure 2.6

Behavior

Actions continues et actions atomiques


La construction des consignes

Command

passs dans le processus de vote induit que,

pour les proprits ou les variables internes de l'animat, la valeur fournie l'tage de contrle est utilise comme commande continue. Ces consignes sont utilises par chaque

Controller

qui simule le phnomne continu par discrtisation (p. ex. une commande

d'acclration aboutira un petit incrment de vitesse). Il est galement possible de prdterminer une action complexe, comme prendre un

76

Ludovic Coquelle

Architecture fonctionnelle

objet, qui ncessite d'eectuer plusieurs tapes de ralisation. C'est ce qui est nomm ici une

action atomique

et modlise par un composant

l'action prendre quelque chose qui est modlise par un composant un

Action. C'est le cas par exemple de Action spcialis.

Une action atomique est initie par les consignes de comportement, et si elle est lue par

Controller , elle est excute entirement. Le rle des rgles de comportement est alors

de spcier une valeur d'activation de l'action atomique, et l'tage de contrle dclenche l'action partir d'un certain seuil (vot).

1.5.2 Le composant Controller


L'activit d'un

Controller

consiste, pour chacune des proprits qu'il manipule,

dclencher le vote, calculer la rsultante, et appliquer ses eets. La session de vote est un mcanisme gnral ; les deux autres tapes sont assures par les sous-composants

Selector

et

Actuator .

Selector
Un

Selector

est congur par la liste des proprits qu'il doit combiner. Il prend en

entres la liste de toutes les consignes de tous les des valeurs de chaque proprit.

Behavior . En sortie, il retourne la liste Selec-

tor

En pratique, l'implmentation utilise un systme d'abonnement qui permet au de connatre les

Behavior

susceptibles de voter (pour ne pas avoir manipuler toutes

les consignes possibles). Deux types d'implmentation sont proposs, qui rpondent aux modles classiques de fusion et de slection. Soit

l'ensemble des triplets

Command c = , v ,
Vi

, et

arg max

la fonction qui retourne l'lment pour lequel son argument est maximum. Pour

chaque proprit la formule :

i ,

le sous-composant

Fusion

retourne la valeur combine

suivant

fusion :

v
cC=i > cC=i >
valeur :

Vi =

De mme, le sous-composant

Selection retourne la
Vi = v
tel que

slection :

arg max
cC=i >

( )

Actuator
Comme dit prcdemment, l'application des commandes est spcique au modle physique dsir. Plusieurs sous-composants sont proposs :

InternalState . AngularPosition calcule un dplacement en fonction des trois proprits roll, pitch, yaw
et du temps l'instant

AngularPosition, LinearSpeed ,

T,

et de son paramtrage

r , p , y

qui reprsente des vitesses de rotation

de l'animat. C'est une loi en position qui est utilise pour placer l'animat orient en

r, p, y t en orientation r +min(roll r, r T ),p+min(pitchp, p T ),y +min(yaw y, y T ) l'instant t + T . LinearSpeed calcule un dplacement en fonction des trois proprits vx , vy , vz et du temps T coul depuis sa dernire activation (des proprits non spcies sont considres nulles). Il prend en paramtres trois acclrations x , y , z (par dfaut trs
77

behavioRis

Chapitre 2 

behavioRis

grandes) ainsi que trois vitesses maximales qui limitent les entres ces seuils. C'est une loi en vitesse qui est alors utilise. Pour un animat la position avec les entres de commande

x, y, z l'instant t, et Cx , Cy , z , l'eet de cet Actuator consiste : C vx (t + T ) = vx (t) + min(vx (t) Cx , x T ) (1) mettre jour ses vitesses linaires vy (t + T ) = vy (t) + min(vy (t) Cy , y T ) vz (t + T ) = vz (t) + min(vz (t) Cz , z T ) x + vx (t + T ) T (2) le positionner aux coordonnes y + vy (t + T ) T au temps t + T . z + vz (t + T ) T
L'ordre d'excution des commande qui lui convient. Un

Actuator

devient alors important prendre en compte dans

la modlisation. Cependant l'avantage est que l'utilisateur est libre d'utiliser la lois de

Actuator InternalState est galement implment pour changer la valeur d'un tat

interne. Il aecte simplement la valeur d'entre l'tat concern. De la mme manire, on peut imaginer une vitesse de changement d'tat prendre en compte.

Constraint
Un dernier point concerne des contraintes de l'environnement prendre en compte pour eectuer des changements d'tats. Ces contraintes ne font pas partie du modle physique. Par exemple, un poisson est soumis dans l'eau au dplacement du milieu. Le rle de ces contraintes est donc d'ajouter des actions (dplacer notre poisson), ou de supprimer des actions que l'animat veut eectuer (mme si le poisson dcide de nager vers le bas, ce n'est pas son modle de nage qui spcie qu'il ne pourra pas aller plus bas que le fond !). Deux applications de contraintes ont t mis en uvre : le dplacement d l'environnement

Flow

(comme l'exemple du poisson), et une condition d'intersection

de trajectoire avec un objet solide

NoIntersect.

1.6 Bilan des composants de l'architecture


Pour rsumer, dans notre architecture d'agents, un animat est un objet dni par :  une localisation (position et orientation) qui dnit son repre local,  une forme gomtrique,  un ensemble de proprits (variables non types sous forme d'espressions arithmtiques),  et un ensemble de composants. Quatre types de composant ont t dnis, ainsi que plusieurs de leurs spcialisations. Ces composants sont eux-mmes constitus de sous-composants qui dnissent leur excution. Un sous-composant commun est

Trigger

(spcialis en

Clock

et

OnRequest ) ;

il est

responsable du dclenchement de l'activit du composant qui le contient. Nous rsumons brivement les quatre types de composant associs leurs sous-composants (en rappelant les spcialisations

Perception :

entre parenthses ).

dcrit un rsultat du processus complexe de la perception. Son principe de

fonctionnement est de calculer tous les dtecteurs puis d'appliquer successivement les dirents ltres dnis par ses sous-composants :

Detector : Filter :

meter, Environment ).

extrait un ensemble d'objets de l'environnement (

FieldOfView, Alti-

modie l'ensemble d'objets dtects (

SpatialIndex, LocalVector, CartToSLudovic Coquelle

78

Modle d'excution

InternalState :

pherical ).
abstrait les variables intermdiaires utilises dans les modles. Ces va-

riables et leurs interactions sont modliss sous forme de graphe d'inuence. Deux

fcm : bpn :
Behavior :

spcialisations sont proposes pour ce composant : dcrit un graphe dont les valeurs des nuds sont moins importantes que

leur inuences relatives (permet de dcrire des notions abstraites). permet de dcrire l'volution temporelle des variables sous forme de Rseau

de Petri. dcrit les rgles comportementales stimulirponses. Les perceptions et va-

groupes par

Pattern utilisent les stimuli pour dduire des consignes (sous-composant Command ). Une consigne est une valeur dsire v pour une proprit et associe

riables intermdiaires sont la base des stimuli. Les rgles (sous-composant

Rule ) re-

un coecient de pertinence

FuzzyBehavior :
les rgles.

de cette valeur.

spcialisation qui permet d'utiliser l'infrence oue pour dcrire

Controller :

Selector ) pour eectuer le changement rel de proprit (sous-composants Actuator ) en passant pralablement par une tape de vrication (sous-composants Constraint ). Selector : calcule une combinaison des direntes consignes (Fusion, Selection ).
est de collecter les consignes concernes par son action (sous-composants

simule le modle biomcanique de l'animat. Le principe de ce composant

Actuator :
sique (

Constraint :
Flow ).

AngularPosition, LinearSpeed ).

calcule l'application d'une valeur de proprit suivant un modle phy-

vrie la plage de valeur d'une nouvelle proprit (

Environment-

Modle d'excution
La description de l'architecture d'animat passe par la description de ses composants.

Ces composants dnissent les possiblits de l'animat, que ce soient ses comportements ou ses interactions avec l'environnement (perception et action). C'est maintenant le modle d'excution que nous dcrivons, qui met en uvre toutes les activits de chaque composant pour donner une activit globale l'animat. Le simulateur

behavioRis est construit sur la base du systme ARVi (Harrouet et al, oRis (Harrouet et al., 2002)

2006). Cet atelier de ralit virtuelle propose un systme de rendu ecace ainsi qu'une architecture d'excution reprenant les hypothses du langage pour la construction des systmes multi-agents.

2.1 Asynchronisme par ignorance


Nous avons dcrit les activits des composants comme des processus de calcul. Ces processus peuvent tre ris par le

sma

comme objet

Ces objets sont excuts par l'chancier (l'objet

Activity (cf gure 2.7 page 80). Scheduler ). Le fonctionnement repose

sur une horloge : l'chancier adopte une politique de simulation du temps (lie ou non au temps rel) partir de laquelle il dtermine une horloge logique qui gnre une suite d'vnements (les

tops

d'horloge) ; pour chacun de ces vnements les activits ries

sont classes dans un ordre alatoire puis tour tour excutes. Par dfaut, la politique

behavioRis

79

Chapitre 2 

behavioRis

Figure 2.7

 Diagramme de classes simpli de

ARVi

de gestion du temps est dite en temps virtuel, c'est--dire que l'chancier dclenche un nouvel vnement

top d'horloge

ds que toutes les activits ont t excutes. A

contrario, en temps rel, un nouveau

top d'horloge

n'est lanc que si la dure relle

prcise entre deux vnements est coule. Le temps virtuel permet de simuler au plus vite mais les chelles temporelles du modle sont respectes car chaque vnement porte l'information du temps. Le temps rel permet lui de simuler au plus raliste car les dures de simulation correspondent aux dures relles prcises dans le modle (tant que les ressources matrielles de traitement sont susantes). Les activits de l'animat sont responsables des processus suivant : perception, valuation de la dynamique de l'tat interne, valuation des rgles de comportement, et contrle. L'activit globale d'un animat est caractrise par le espce, qui peut prendre deux valeurs direntes. Le mode dit synchrone confre chaque animat une et une seule rication de processus (

mode d'excution

de son

Activity ). Celui-ci est alors une sorte de processus matre et commande le calcul des

processus de chaque composant dans l'ordre cit ci-dessus. Cette solution permet de xer

dcisionaction )
de processus (

l'ordre d'valuation des composants dans le modle (souvent suivant le cycle

perception

tout en gardant un ordre alatoire entre l'excution des activits des

dirents animats. Le mode dit asynchrone (par dfaut) confre lui chaque animat autant de rication et continue d'un animat en cycles d'activits lmentaires indpendantes est une hypothse de la modlisation oriente agent. Comme chacune de ces activits lmentaires est souvent dpendante des rsultats des autres (perceptions dpendantes des actions, tats internes dpendants des actions, actions dpendantes des perceptions et tats internes), introduire un ordre est une hypothse supplmentaire que l'on n'a pas ncessairement envie de poser (Tisseau, 2001). La dirence entre les modes synchrone et asynchrone se retrouve surtout dans l'expressivit de modlisation des dclenchements rguliers (les sous-composant type

Activity ) que l'animat possde de composants. Discrtiser l'activit globale

Clock ).

Trigger

de

En mode synchrone, le temps indiqu dans le modle devient un temps

maximum entre deux appels (une valeur du temps coul depuis le dernier appel est toujours disponible pour le processus de calcul). En eet, si une seule activit responsable de l'excution de deux composants dont les

Trigger

Activity

est

spcient une priode

dirente, la plus petite priode sera choisie pour les deux. Le mode asynchrone lui assure que le traitement s'eectuera rgulirement avec la priode spcie par chaque

Trigger .

80

Ludovic Coquelle

Modle d'excution

2.2 Implmentation : espce

vs.

animat
uml
de la gure 2.8 page

Pour tenir compte d'une certaine exibilit d'utilisation, l'implmentation de la simulation spare la description du comportement de son excution. Une vue simplie de l'implmentation est donne par le diagramme de classes 82. La sparation est concrtise par la classe comportement et la classe

Species qui implmente la description du Animat qui implmente son excution. Le concept est rapprocher de celui de moule d'agent dans Mobidyc (Houssin et al., 2002). Mais ici, les objets Animat sont des objets plus lgers que leur description (lger dans le sens yweight des design patterns (Gamma et al., 1995)) et les objets Species jouent alors le rle de factory. Cependant le problme des liens tardifs se retrouve : si un composant agit avec
une perception, les notions manipules dans la description sont symboliques et doivent tre concrtiss par des liens forts pour l'excution. Notamment pour les rgles comportementales qui gnrent le plus de liens, la cration d'un animat n'est pas un problme trivial. Trois niveaux d'abstraction sont utiliss pour dcrire les tapes de la spcication du comportement jusqu' son excution : 1. Une rgle en dehors de tout contexte (dnie au sein d'un composant le nom de cette perception est utilis) ; 2. Cette mme rgle, utilise dans la description d'une espce, amne rsoudre un

Behavior
,
seul

isol) est uniquement symbolique (si un symbole rfrence une perception

ries ).

premier niveau d'abstraction : elle relie alors les composants de l'espce (les

facto-

3. Enn, un animat de cette espce permet enn aux lments de la rgle de rfrencer les valeurs relles de l'animat (non plus les composants mais les valeurs manipules par les senseurs et actuateurs). Si la direntiation entre espce et animat facilite la manipulation du modle, l'implmentation est plus complexe, ce qui est prendre en compte pour l'extension de l'architecture : la spcialisation d'un composant ncessite l'criture d'une classe pour l'espce (

factory ) et d'une classe pour l'animat (instance ).

2.3 Utilisation du simulateur


Les animats ainsi crs sont simuls par un systme de

rv

pour crer le rendu. La

premire tape d'utilisation du simulateur est donc de dnir les espces, et nous verrons dans la partie suivre un langage ddi cette tche. Ensuite, il faut dcrire la simulation proprement dite (les conditions exprimentales). A cette n, le simulateur charge un scnario sous forme de chier

xml qui dnit une scne de simulation. Nous

ne dtaillerons pas ici son format mais expliquons son rle ; un exemple est donn en annexe E page 145. Ce scnario contient d'abord les conditions initiales de l'environnement en prcisant ses proprits. Ensuite les objets son placs dans cet environnement en spciant leur type et leur position (de tels objets peuvent tre des obstacles ou un sol). Les animats peuvent galement tre positionns de la mme manire dans ce chier de scnario, en prcisant leurs espces et leurs proprits. Enn, le chier de scnario peut dcrire des points de vue de l'environnement en positionant des objets camra qui dnissent l'angle de vue, la profondeur de champ,

etc

AnimatCreator
behavioRis

Pour faciliter la description des conditions environnementales, un objet spcique a t implment pour crer dynamiquement des animats. Cet objet

81

Chapitre 2 

behavioRis

Figure 2.8  Diagramme de classes simpli de l'implmentation de l'architecture behavioRis . La gure fait apparatre trois domaines : le moteur d'excution du sma, la description de comportement travers la notion d'espce, et l'excution de ce comportement par l'objet animat. En bleu sont reprsentes les classes qui spcialisent les notions fortes de l'architecture.

est positionn dans l'environnement comme tout autre objet de la simulation. Une loi de distribution spatiale et temporelle lui est attache (en paramtre) pour dcrire la cration d'animat au cours de la simulation. Il est ainsi plus facile de simuler un objet mobile dans un environnement o une rpartition spatiale d'animat est connue dans son entourage. Chaque camra fournit un point de vue (enregistrable) de la scne. Ces points de vue aident comprendre et rgler le modle. Des interfaces rudimentaires permettent de dmarrer, visualiser et stopper la simulation (

cf

gure 2.9 page 83). Il est galement

possible d'acher des informations comme les vecteurs de dplacement ou de commande des comportements (pour comprendre ce que fait un animat par rapport aux commandes qu'il labore). Une interface pour visualiser le modle de composants d'un animat est galement disponible : apparat alors l'espce, la liste des perceptions, les variables internes et les comportements avec la liste des rgles. Un dernier aspect pratique du simulateur (indispensable son utilisation) est l'ou-

82

Ludovic Coquelle

Modle d'excution

Figure 2.9  Exemple de simulation avec behavioRis . La simulation consiste en un ensemble de fourmis dans un environnement o se trouvent plusieurs objets couvains inactifs ; les fourmis se dplacent de manire alatoire et peuvent prendre et poser des couvains (une fourmi dplace au maximum un couvain la fois) ; aprs un certain temps, les couvains se trouvent tous regroups. La fentre de visualisation de la simulation est en fond d'cran (en blanc en bas de l'image). La fentre principale du simulateur est en haut gauche : elle permet de lancer un chier de simulation (ici scenario.xml) et de contrler le simulateur (le temps est constament ach). La fentre en haut droite est une interface d'une fourmi (slectionne pendant la simulation) : le premier lment prcise l'espce (Ant), puis la seule variable interne utilise (bea), puis les perceptions (egg ), puis les deux comportements (Wander et Collect). Des exemples sont disponibles sur http://www.enib.fr/~coquelle/En/video.html.

til d'extraction de donnes au cours de la simulation. Un soin particulier a t port an de pouvoir spcier au cours d'une simulation les donnes enregistrer en vue d'un traitement ultrieur. Un mcanisme de Le principe est d'utiliser des agents un ensemble de agent

description active a t implment comme bibliode la simulation possdant chacun une

thque du simulateur et se paramtre dans le chier de scnario de chaque simulation.

recorders

activit priodique pour enregistrer des donnes ; chaque

descriptors

o chaque

descriptor

recorder

possde galement

dnote une information concernant un

agent de la simulation ainsi qu'une condition d'observation ; chaque activation d'un

recorder,

chacun de ses

descriptors

est activ pour fournir un vecteur d'informa-

tion dat et enregistr dans un chier de donne. La spcication d'un

descriptor

repose

behavioRis

83

Chapitre 2 

behavioRis

sur une nomenclature des donnes de la simulation. Ainsi il est possible de dcrire une donne particulire d'un animat (p. ex. la proprit de vitesse de la deuxime fourmi

Ant.2::xSpeed),

mais il est aussi possible de dcrire cette mme donne pour tous les

animats d'une mme espce (p. ex. pour toutes les fourmis d'une description d'une espce, un nouveau Nous avons dit qu'un

descriptor sera dynamiquement cr sur l'ins-

Ant::xSpeed).

Dans le cas

tanciation d'un animat de cette espce, et il sera dtruit si l'animat est lui-mme dtruit.

descriptor

spcie galement les conditions d'activation : un cas

d'utilisation est par exemple de n'enregistrer les positions des animats seulement dans une zone gomtrique d'observation. C'est le chier de scnario de chaque simulation qui spcie ces rgles d'extraction de donnes de la simulation.

Langage de description
La description de l'architecture nous a permis de cerner l'excution d'une simulation

comportementale base sur des concepts issus de l'thologie. Mais revenons maintenant l'objectif principal : simuler les donnes des thogrammes en proposant un outil de modlisation (permettant la simulation). Pour cela,

behavioRis

propose un langage comme

interface entre l'thogramme et l'architecture de simulation.

3.1 Modlisation dclarative d'une espce


Le but du langage est d'abstraire l'aspect programmation imprative, rserve l'informaticien expert de simulation et des systmes de

rv, pour fournir au modlisateur un

langage adapt aux modles. La base de la simulation reste bien entendu l'architecture d'animat, et le langage permet de manipuler la description de cette architecture. Comme introduit dans la section 2.2, la description de l'architecture passe par la description de l'espce plutt que la description de l'individu. Ceci permet de facilement crer un ou plusieurs individus au cours du mme scnario, et facilite l'utilisation de la simulation. D'un point de vue modlisation, dcrire le comportement d'une espce apporte la possiblit d'introduire des donnes sur la population (p. ex. une distribution statistique de la taille des individus) et donc des variabilits inter-individuelles. Cela introduit galement la notion (consciente ou non) d'appartenance un groupe pour chaque individu, ainsi un individu peut ragir diremment pour interagir avec des individus de telle ou telle espce. Notons que la notion d'espce peut tre dvie de son sens pour dsigner tout groupe d'individus de mme comportement. Le langage prsent maintenant,

bbdl (behavioRis ' Behavior Description Language),


4

est un langage dclaratif. Il prsente la possibilit de dcrire les composants dnissant une espce, ainsi que ses proprits. Sa syntaxe , spcie en annexe F, est une transcription directe de l'architecture. Comme la grammaire des exemples.

bnf

n'est pas un outil adapt

l'apprentissage d'un langage, et que sa syntaxe est simple, nous le prsentons travers

Comme il est strictement dclaratif, une syntaxe quivalente xml pourrait tre propose. Dans notre travail, nous gardons un langage ad hoc qui facilite la lecture sans avoir besoin d'interface graphique utilisateur pour notre prototype d'implmentation de l'interprteur.

84

Ludovic Coquelle

Langage de description

Quelques lments de syntaxe


Le premier exemple (

cf

code 2.1) prsente une dnition presque complte d'une es-

pce d'animat ; il ne manque que les rgles comportementales, les lignes 18 33, spcies dans la suite. Avant de dtailler ce code, prcisons que l'indentation ne fait pas partie de la syntaxe et que la numrotation des lignes ne fait pas partie du code. Les sauts de ligne font eux partie de la syntaxe. Les mots-clefs du langage sont en dnomination de type spcique est en

sns sri(tion.

italique et les labels des composants sont en fontes


S.I.).

gras alors que la

Plus directement li au langage, il est noter que toutes les dimensions

non prcises utilisent les units du systme international ( 1:

Species ppooenimt: Shape Vrml(ptha4rmlGirdFvrml4) hefult 3: Property length a gussnd@HFIPD HFHSA 4: Property weight a lengthQ B PHH 5: Property spwpeed a sGR 6: Property sppleepeed a 4tringle@IFRDIFTDIFVA4 7: InternalState FCM() : 8: Trigger Clock(IFH) Concept alive is_active 1.00 9: 10: alive inuences alive with_factor 1.00 11: rest : alive inuences stress with_factor -0.20 12: scare : afraid inuences stress with_factor 0.60 End 13: 14: Perception dnger: 15: Trigger Clock(HFS) 16: Detector FieldOfView(distaIPD naI) 17: End 18: Behavior Fuzzy() voidne:
2:

End Controller displement: 35: Trigger Clock(HFP) 36: Selector Fusion(xpeedDpithDyw) 37: Actuator AngularPosition(pithpeedasGPD ywpeedaPBspwpeed) 38: Actuator LinearSpeed(mxpeedaPBlength) 39: End 40: End
33: 34:
Code 2.1

. . .

. . .

 Premier exemple de dnition d'une espce en bbdl.

ligne 1

La spcication de l'espce

SpFooAnimat

utilise une notation commune beau-

coup d'lments du langage : un mot-clef d'ouverture, ventuellement un type (ici vide), ventuellement un nom (ici deux-points et du mot-clef

ligne 2

End (ligne 40).

ppooenimt), et une dnition entoure du signe

Une forme gomtrique spcie une reprsentation

3d. Elle est donne ici par une


85

behavioRis

Chapitre 2 

behavioRis

spcialisation capable d'intgrer des donnes statiques au format

vrml. Un nom lui

est associe pour pouvoir ventuellement la manipuler. D'autre forme peuvent tre dclare de la mme manire ; par dfaut, la premire dclare est utilise. Chaque forme gomtrique est suppose tre contenue dans une bote englobante (oriente par le systme de coordonnes local l'animat : plus grand ct mesure proprits

oriented bounding box )


si elles existent.

dont le

ligne 3, 4, 5 et 6
La proprit

XShapeScale, YShapeScale, ZShapeScale


core properties )

1m

de long. Elle est mise automatiquement l'chelle des

Les proprits se dnissent par des quations utilisant les notations sont dnies implicitement pour

standards. Certaines proprits (

tout animat comme sa position et son orientation.

length

est un exemple de variabilit inter-indi-

1 0 1.4 1.6

(x)

viduelle et prcise une distribution gaussiene des longueurs. La ligne 6 dnit une valeur oue par une fonction d'appartenance triangulaire symtrique.

1.8

ligne 7 13
Map (

fcm) pour raliser un composant InternalState . Ligne 8, le Trigger utilise la notation de dclaration sans dnition. Cet InternalState dcrit trois variables internes : alive, stress et afraid, alive tant initialis la valeur 1. Egalement trois liens
d'inuences pondrs sont spcis entre ces tats. Seuls les deux derniers liens sont nomms par les labels

Un graphe d'tat interne est utilis ici sous forme de Fuzzy Cognitive sous-composant

rest et scare. ligne 14 17 La description d'un composant Perception, nomm danger, dcoule de ses sous-composants (aucun sous-composant Filter n'est utilis ici). Pour cette espce, tout objet de l'environnement sera vu par la perception danger : la seule description d'un danger est li au Detector paramtr ici comme le premier objet situ moins
de

12m.
. . . voir en section suivante . . . Dclaration des sous-composants dnissant le

ligne 18 33 ligne 34 39

placement. Il utilise un systme de fusion sur ses deux Actuator (aucun Constraint n'est spci).

Controller

nomm ici

d-

trois entres, et calcule ensuite

3.2 Rgles comportementales


Bien que l'architecture ait t prsente avec un composant

Behavior gnral, suppora t implment dans ce

tant uniquement des rgles de causalit entre perceptions, tats internes et commandes, nous utilisons dans la suite la spcialisation par un systme d'infrence oue. Si l'criture des rgles reste gnrique, seul le composant

FuzzyBehavior

travail, car il fournit lui seul une rponse nos objectifs de dpart.

3.2.1 Manipuler des donnes imprcises


Avant d'aller plus en dtails dans la syntaxe du langage avec l'criture des rgles, nous prsentons ici le fonctionnement du composant oue dans

FuzzyBehavior

et plus gnralement de la

logique oue pour dcrire des rgles de causalit. Cette utilisation de systme d'infrence

behavioRis

a fait le sujet d'une prsentation la confrence Logique Floue

et Application (Coquelle et al., 2004).

86

Ludovic Coquelle

Langage de description

Nous avons vu que les rgles oues se dcrivent de manire similaire aux rgles de causalit d'un thogramme, avec des causes et des consquences exprimes explicitement de manire dclarative. De plus, la logique oue gnralise des rgles implicites et permet d'exprimer l'imprcision des donnes qualitatives (ou simplement de donnes oues comme une distance inter-individuelle ou un niveau de stress). L'exemple de simulation de vols d'oiseaux (Bajec et al., 2005) a t rapidement voqu en partie 2.3. Il se base sur le modle de

boids

avec des rgles oues. Le simulateur rsultant est un systme

spcique pour le modle, mais permet de tester des hypothses sur les donnes et les rgles. La notion de framework pour l'tude de modle d'animaux utilisant la logique oue est nonce mais pas dtaille. En conclusion, les auteurs dfendent qu'avec ce type de simulation utilisant la logique oue ethologists would gain a tool for testing the existing or forming new hypotheses about 'why' and 'how' animals behave the way they do. La raison en est que les modles thologiques se traduisent plus facilement sous forme de rgles oues que sous forme de formules mathmatiques. C'est galement le point de vue dfendu par Tron et Margaliot (2004) qui proposent la logique oue comme un cadre formel pour la modlisation de comportements. Rappelons que le principe de calcul de l'infrence oue est expos en section 2.3 de l'annexe A. Ce qu'il reste prciser, ce sont les donnes manipules par les rgles oues. Zadeh (1999) expose les avantages de manipuler les perceptions par des par des

nombres

mots

plutt que

pour exprimer les imprcisions des connaissances exprimes sous forme

linguistique. Dans (Emami et al., 2000a,b), c'est la manire de construire un systme de contrle ou qui est abord. Mais ce qui nous intresse en premier lieu ici, c'est de prciser quelles donnes de l'environnement doivent tre accessibles au systme d'infrence oue, sachant que l'architecture xe le cadre des objets

Percept

et

InternalState .

C'est la

syntaxe du langage qui prcise comment les rgles peuvent manipuler les perceptions (internes et externes) pour en dduire des commandes en raction cet tat.

3.2.2 La syntaxe des rgles


Continuons l'exemple prcdent pour dnir les rgles comportementales ; le composant

Behavior
forme

utilis est dni par le code 2.2.

ligne 18

 si stimuli alors par un Trigger dclar ligne 19. Ce type de Behavior implmente un systme d'infrence oue. Un paramtrage par
dfaut est donn ce systme, mais les oprateurs de calcul ou peuvent tre prciss en paramtres du type avec une de ces valeurs (la valeur par dfaut est liste en premire) :

Le rle du composant

Behavior est de dcrire les rgles de causalit rponses. Comme tout composant il est activ

sous la

Fuzzy. Les cinq oprateurs suivant sont paramtrables


minimum
and prend sa valeur dans

L'oprateur de conjonction L'oprateur de disjonction


drastic sum duct, drastic product,
et

product, bounded pro-

or prend sa valeur dans

maximum, bounded sum,

L'oprateur d'implication imply prend sa valeur dans Larsen, Mamdani L'oprateur de conjonction de rgles as_also prend sa valeur dans bounL'oprateur de dfuzzycation
mum, mean of maxima
behavioRis

ded sum, maximum

defuzz prend sa valeur dans

integral, maxi87

Chapitre 2 

behavioRis

Behavior Fuzzy() voidne: Trigger Clock(HFS) 20: Linguistic : 21: mllhist is 4downrmp@SDIPA4 22: peedevoid is speciesValue(sppleepeed) 23: orried is 4tringle@HFSDIFHDIFPA4 is 4uprmp@HFPD HFTA4 24: ni 25: End 26: Pattern main: 27: if dngerFdistne is mllhist then stteFfrid is orried end 28: if stteFstress is ni then 29: yw is oppositeAngle(dngerFyw) 30: and xpeed is peedevoid 31: end 32: End 33: End
18: 19:
Code 2.2

 Exemple de rgles comportementales en

bbdl

Un exemple de paramtrage est

ligne 20 25

Fuzzy(and="minimum", defuzz="maximum").

Nous avons dj dcrit un stimulus comme la comparaison de la valeur

d'une proprit ou d'un tat interne par rapport un seuil. Ces seuils sont spcifs dans la partie

Linguistic

qui prcise une valeur pour chaque identiant utilis.

Cette valeur est directe ou indirecte. Dans le cas direct, la valeur est une chane de caractres, qui dans le cas du composant spcialis pour l'infrence oue reprsente une valeur oue sous la forme d'une fonction linaire par morceaux dnie par intervalles contigs (les notations sont prcises en annexe A). Dans le cas d'une variable indirecte, elle prend la valeur d'une proprit de l'animat qui sera aect le composant. Ainsi dans le cas de la ligne 22, la valeur de la proprit

spFleeSpeed.

Encore une fois, dans le cas du

SpeedAvoid prend la valeur FuzzyBehavior , cette

valeur sera transforme en valeur oue. rcrire.

Cette distinction entre valeur directe et

indirecte permet d'tablir des rgles utilisables pour direntes espces sans les

ligne 26 32
Behavior

On voit apparatre les rgles de comportement regroupes dans un sous-

composant

deux rgles. Toutes les rgles de chaque

Pattern. Un seul Pattern est utilis ici, il est nomm main et il contient Pattern dclar dans le composant FuzzyPercept

sont ajoutes au systme d'infrence oue.

Les stimuli utilisent la notation pointe pour dsigner les entres : reprsente la valeur de la proprit distance associe au posant la

danger.distance

danger. De notation pointe utilise avec state.


nomm

Perception

de sortie du com-

mme l'accs aux tats internes se fait par

Les rponses sont dnies classiquement dans les conclusions de rgles. Par convention, une rponse sur un tat utilise aussi une notation pointe sur tions de calcul ont t introduites dans le langage (un exemple est donn ligne 29

state. Des fonc-

avec un calcul d'angle oppos, et la liste se retrouve dans la grammaire de l'annexe F).

88

Ludovic Coquelle

Langage de description

A Exprimer un stimulus
L'expressivit des rgles doit satisfaire la description de tous les stimuli qui peuvent activer une rponse. Pour les stimuli internes, l'accs une valeur fuzzie d'un tat par la notation pointe est satisfaisant. Par contre, les stimuli externes sont plus complexes manipuler car ils s'appuient ici sur la notion de

Percept

qui regroupe un certain nombre d'objets de la simulation.

De plus il est ncessaire de prciser la proprit manipuler comme une valeur oue. Pour cela, nous introduisons une notation supplmentaire pour dsigner une perception. L'exemple prcdent reste valide grce aux valeurs implicites par dfaut, mais la spcication complte d'une proprit d'une perception passe par la syntaxe suivante :

enumerator(perceptionLabel.enumSelector).selector enumerator
Cette fonction reprsente une mthode de slection dans l'ensemble d'objets regroups par le par dfaut est

rations suivantes : {

first, last, min, max, minabs, maxabs, mean first.

Percept perceptionLabel. Elle est choisie parmi l'ensemble des op-

}. L'opration

enumSelector

Ce premier slecteur dtermine sur quelle proprit l'opration

enumerator

est calcule. Il prend donc sa valeur parmi l'ensemble des proprits des objets. Par dfaut, la proprit

distance

est considre.

selector

Enn, ce second slecteur extrait la valeur de la proprit indique partir du

rsultat de l'opration

enumerator.

Par exemple, si une perception

predators

retourne l'ensemble de tous les animats consi-

drs comme des dangers potentiels, on peut spci la position latrale angulaire du prdateur le plus proche par la syntaxe suivante :

min(predators.distance).yaw.

Un

exemple de rgle complte est donn par le code 2.3 qui modlise le comportement de suivi du barycentre d'un ensemble d'individus sur une trajectoire plane.

Pattern follow-others: if max(everyodyFdistne) is pr then 3: xpeed is peedevoid 4: and yw is mean(everyodyFyw) 5: end 6: End
1: 2:
Code 2.3

 Exemple de stimulus complexe : en supposant que everybody soit une perception qui dtecte tous les animats, cette rgle spcie que l'animat en question se rapproche de leur centre de gravit quand il est trop loin.

Remarques propos des repres spatiaux



Pour tablir des rgles et des distances, il faut garder l'esprit que les objets de l'environnement sont localiss par leur centre gomtrique. Pour certains objets gomtrie complexe, il pourra tre ncessaire de les dcomposer en plusieurs parties.

Dans les rgles, les coordonnes sont exprimes dans le repre local de l'animat (car les connaissances biologiques sont exprimes dans ce repre). La notation des fonctions

behavioRis

89

Chapitre 2 

behavioRis

de calcul (comme illustr ligne 29 du code 2.2) permet des transformations de repre pour notamment pass dans le repre global.

B Exprimer une rponse


L'expression des rponses est un problme plus trivial car les

Command

ne sont que

des associations de valeur relle un label de proprit. Le langage permet un accs direct ces labels, et la dfuzzycation donne une valeur relle partir des variables oues. Si cette forme convient la description de contrle en continu, il ne faut pas oublier les actions atomiques qui correspondent une squence d'actions ininterruptible et prprogramme. Par exemple, l'action de prendre quelque chose peut tre modlise comme une action atomique par l'action spcialise paramtre boolen celui-ci). 1:

AttachTo

qui, quand elle est dclenche sur

un objet, attache sa forme gomtrique celle de l'animat possdant l'action (quand le

bistable

est vrai (par dfaut), attacher un objet dj attach dtache

Species
. . .

pytherpoo:
. . .

2: 3:

Action AttachTo(istlea4true4) tke Behavior Fuzzy() kleptomni:


. . . . . .

Pattern main: 5: if somethingFdistne is glose then 6: performFtke@somethingA is yne and xpeed is unningpeed 7: 8: end 9: End 10: End 11: Controller rsh: 12: Trigger Clock(IFH) 13: Selector Selection(tke) 14: Actuator ActionProcess(lela4tke4DtresholdaHFS) 15: End 16: End
4:
Code 2.4

 Exemple de dnition d'action atomique

Le code 2.4 donne un exemple de dclaration (ligne 2) et d'utilisation d'une action atomique. L'utilisation dans les rgle oues se base sur la notation pointe avec le mot-clef

perform

et dans l'exemple, le niveau d'activation de l'action est mis

One

qui reprsente

en ou l'unit par un triangle.

tionProcess
paramtre.

Cette valeur d'activation est rcupre par le

Controller

et le sous-composant

Ac-

dclenchera l'action si son niveau d'activation dpasse le seuil donn en

90

Ludovic Coquelle

Langage de description

Remarque sur la spcication 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 rgle manipule l'action

perform.take(somethingelse),

Controller ,

l'action pourrait tre dclenche deux fois par le

une fois sur chaque objet

something

et

somethingelse.

C Evaluation et hirarchie de rgles oues


if I is A then O is B end, O sera d'autant plus proche de B que I sera proche de A. L'valuation de la prmisse I is A vient alors pondrer
( annexe A). Simplement, pour une rgle la conclusion par son degr de vrit. Dans un systme d'infrence classique, toutes les rgles sont values suivant ce mme principe. La notion de dernires.

cf

L'valuation des rgles oues met en uvre les principes classiques du contrle ou

Pattern

va nous permettre

ici de structurer hirarchiquement l'valuation des rgles, pour faciliter la lisibilit de ces Un exemple est illustr par le code 2.5 page 92. Le principe de calcul est le suivant.

FuzzyBehavior , les Pattern ont un label unique. Il ont galement un Pattern dclar directement dans le composant FuzzyBehavior est de niveau 0 ; un Pattern F ils dclar a l'intrieur de la dnition d'un Pattern P arent de niveau n est de niveau n + 1. A chaque Pattern est aecte une variable oue A reprsentant son activit (elle est dsigne par la notation pointe pattern.label ). Cette activit est initialise avec la valeur oue 1 pour les Pattern de niveau 0 et 0 pour les Pattern de niveau suprieur (elle reste toujours borne entre 0 et 1). Cette activit du Pattern est utilise dans l'valuation des lment qu'il contient : (1) le degr de vrit
Dans un composant niveau dans la hirarchie : un des prmisses des rgles qu'il contient strictement est multipli par degr d'activation des est initialise

Pattern

A 0

ainsi que

(2)

le

(forcment de niveau infrieur).

Dans l'exemple, la rgle ligne 3 appartient au

Pattern main

de niveau

(dont l'activit sa

1).

Sa conclusion ligne 4 dpend uniquement du degr de vrit de sa

prmisse (comme pour un contrle ou classique). Par contre pour le

Pattern flee,

conclusion sur la vitesse (ligne 8) dpend du degr de vrit de sa prmisse (ici c'est une rgle sans condition donc toujours compltement vraie) multipli par le degr d'activation du

 

Un

Pattern flee calcul prcdement. Pattern de niveau n ne peut conclure que sur des degrs d'activation des Pattern
n
et qu'il contient (directement ou non).

de degr suprieur rarchie.

L'valuation des rgles du systme d'infrence oue se retrouve ordonne par la hiCette hirarchie dynamique permet d'crire plus facilement les rgles de comporte-

Pattern). Elle reprend ainsi la mthode thologique qui consiste hirarchiser les comportements car dcrire entirement un irm semble parment puisqu'elle xe un contexte (le La rgle ligne 3 active un sous-comportement et peut tre considre comme dclencheur de ce sous-comportement. Le

fois impossible. De plus elle fait apparatre les notions de stimuli dclencheur et directeur.

Pattern flee

au contraire utilise des stimuli pour contr-

ler une raction : ses entres peuvent alors tre considres comme stimuli directeur de l'action. Les valeurs oues des degrs d'activation des description encore une fois de manire imprcise.

Pattern permet de manipuler cette

Si la hirarchie des rgles oues apporte une structure xe l'intrieur d'un comportement, les tats internes peuvent galement jouer ce rle. Il sut pour cela de

behavioRis

91

Chapitre 2 

behavioRis

mettre des stimuli concernant ces tats dans les conditions d'application de comportement. Cette utilisation n'impose pas de contrainte de hirarchie et ne se limite pas aux sous-comportements. Cependant elle est moins facile mettre en uvre. Nous en verrons des exemples dans la partie prsentant les applications. 1:

Behavior Fuzzy() :
. . . . . .

Pattern main: 3: if somethingFdistne is glose then 4: ptternFpvii is etive 5: and performFtke@somethingA is yne 6: end 7: Pattern flee: 8: xpeed is unningpeed 9: yw is randomize(HFHDsGR) 10: End 11: End 12: End
2:
Code 2.5

 Hirarchie de rgles oues

Bilan
Le chapitre 1 a conclu sur les dirents aspects de la simulation de comportement

animal, qui mlent les problmes d'excution et de description de ces comportements. Dans le chapitre prsent, nous avons prsent une solution, la fois d'architecture et de langage, pour expliciter les modles comportementaux thologiques au sein d'une simulation. Le but tout au long du dveloppement de cette architecture a t de construire les lments qui permettent l'expression des rgles comportementales.

Ecrire des rgles pour les simuler


(

eoa

Ces rgles pour les animats forment une interface entre des vnements observables et

ioa

confondus) dus la situation de l'animat dans son environnement, et des

consquences (

ioc

et

eoc

condondus) sur sa situation et sur l'environnement (

cf

-

gure 1.1 page 16). Par situation sont dsigns aussi bien la localisation physique qu'un tat global de l'animat. En vue de simuler des comportements individuels, nous nous sommes intresss aux modles thologiques correspondant une chelle d'observation de plusieurs individus en interaction dans leur environnement. Le processus adopt en thologie, en respectant le canon de

Morgan,

est le mcanimse des stimulirponses.

Les rgles de comportement manipulent donc ces stimuli, externes et internes, ainsi que les rponses, sur les mcanismes internes ou externes galement. L'architecture de simulation doit alors fournir un mcanisme d'expression des rgles comportementales et son modle d'excution, ainsi qu'une manire de dcrire les stimuli et rponses correspondant un environnement excutable.

92

Ludovic Coquelle

Bilan

Une architecture d'excution


Avant de dcrire les rgles, nous avons modlis les concepts manipuls (stimulus et rponse) en utilisant une architecture base de composants.  Un stimulus a t dni comme une valeur spcique d'un rsultat de perception (pour ce qui est des observables) ou comme une valeur d'une variable intermdiaire abstraite introduite dans le modle. A partir de cette hypothse, deux composants sont construits pour modliser la perception et les variables internes. Le composant

Perception

utilise des fonctions de slection et de ltrage pour sa dnition ;

cependant il ne modlise pas un processus rel de perception mais une abstraction qui dnote le rsultat de cette perception. Sur le mme principe, un composant

InternalState

permet de modliser un ensemble de variables internes, sous forme

de graphes d'inuences, sans chercher reproduire leurs origines physiologiques. L'criture des rgles permet ainsi de comparer une valeur, issue d'une perception ou d'un tat interne, par rapport un seuil pour construire un stimulus.  Un rponse a t dnie comme une nouvelle valeur aecter une proprit ou un tat (cette valeur tant dtermine par l'interface en raction aux stimuli). Un composant

Controller

est alors responsable de la prise en compte de cette

valeur calcule pour mettre jour l'tat de l'animat. Par exemple, si cette valeur concerne un dplacement, le composant comportementales. L'excution du modle a t prsente paralllement la description des composants de l'architecture, car elle est intrinsque leurs dnitions puisque les composants dcrivent des processus temporels. Dans un environnement constitu d'objets, le rsultat d'une perception a t dni par un ensemble de slection d'objets dans l'environnement et de ltrage par rapport leurs proprits ; ce sont ces proprits qui servent la dnition des stimuli. Les variables internes quant elles sont mises jour par le calcul du processus d'inuence spcique au composant utilis (nous revenons sur les spcialisations et

Controller a la responsabilit de reproduire

le modle biomcanique de l'animat en fonction de la rponse prvue par les rgles

bpn

ci-aprs). Les composants

Behavior ,

fcm

qui dcrivent les rgles comportementales,

utilisent un systme de vote similaire celui de

damn (Rosenblatt, 1995) ; ces votes per-

mettent de spcier plusieurs rgles agissant sur des rponses concernant les mmes proprits tout en gardant l'indpendance des rgles et des comportements ; un mcanisme est introduit pour permettre la hirarchisation des rgles sans qu'il soit indispensable au processus de fonctionnement de l'architecture (la hirarchisation des comportements, bien que souvent adopte dans les modlisations, n'est pas indispensable pour un modle comportemental). Enn, le composant politique est donne par le sous-composant et d'

Constraint

Actuator

Controller joue le rle d'arbitre de vote (dont la Selector ), et un systme gnral base de

permet de dcrire une ralisation de l'action de manire g-

nrale sur les bases de briques d'actions dnies. Ces actions dnotent aussi bien des contrles continus (comme le dplacement) que des processus atomiques (squence d'actions instantane et ininterruptible). Les actions atomiques peuvent servir modliser des

fap

(Fixed Action Pattern, comme par exemple le camlon qui droule sa langue pour

modliser des pattern d'action plus exible (pour estomper la xit et la strotypie des fap, et ceci an de prendre en compte les variabilits, ces squences d'actions deviennent des Modal Action Patterns, plus adquats la modlisation individu-centre).

attrapper une proie) ; la manire de dcrire une action atomique permet cependant de

behavioRis

93

Chapitre 2 

behavioRis

Enn, l'activit globale d'un animat repose sur les activits individuelles de ses composants. Sans hypothse 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'excuter des comportements partir des briques identies (perception, tat interne, rgles comportementales, et contrle) pour le dnir. Elle intgre galement des notions pratiques d'outillage de simulation pour manipuler et tester les modles, comme la sparation entre espce et individu, ou encore avec un systme d'observation du modle en cours d'excution.

Un langage de description
Si l'architecture reprend des concepts manipuls en thologie, le travail fournir entre l'criture d'un thogramme et la ralisation d'une simulation confond les domaines de modlisation et de programmation. Il nous a donc sembl important de construire un langage de modlisation, pour abstraire la programmation imprative ncessaire la simulation, et pour intgrer le plus facilement les donnes comportementales issues de l'thogramme. Ces donnes comportementales s'expriment nous l'avons dit sous forme de rgles causeconsquence, et l'architecture a t conue pour modliser les donnes manipules. Cependant, ces rgles transcrites de manire linguistique manipulent des donnes imprcises (p. ex. avec des expressions comme assez proche), et souvent de manire incomplte, c'est--dire qui ne couvre pas tout le domaine des possibilits (p. ex. le comportement quand un ennemi est proche est dcrit, de mme quand il est loin, mais le comportement pendant la transition entre proche et loin n'est pas spci). Pour rpondre ce type de modle (rgles dclaratives, donnes imprcises, domaines de description imcomplets), les contrleurs par logique oue sont adapts, et nous avons alors propos d'une part un composant utilisant l'infrence oue pour l'excution des rgles comportementales (

FuzzyBehavior ),

et d'autre part un langage dclaratif ddi l'ar-

chitecture pour dcrire un animat (une espce). Pour les rgles, ce langage permet dans un premier temps de dnir uniformment les stimuli qu'ils soient internes ou externes en comparant les valeurs de proprits d'objets perus et de variables internes des seuils dclenchant dnies par des valeurs oues ; ensuite le systme d'infrence permet de conclure sur des rponses, qui, aprs dfuzzycation, sont passes par le systme de vote aux composants de contrle.

Utilisation du simulateur
behavioRis
permet de modliser des comportements d'animat dans un univers

3d

continu. Les rponses agissent sur des valeurs contrles en continu ainsi que sur des actions atomiques. Il est adapt une description de comportements individuels ractifs observs l'chelle du groupe d'individus. La cible de cette modlisation est l'ensemble des comportements de premier ordre. Si des squences d'actions peuvent dcouler du processus ractif (grce l'tat interne ou aux rgles hirarchises), elles ne sont pas au centre d'un processus de planication de l'architecture (qui ne relverait pas d'une modlisation thologique universelle). De mme, les actes de communication ne sont pas modliss en tant qu'acte de langage. Les processus naturels d'change entre deux systmes se dcomposent en deux groupes : change d'information et change d'nergie. En quelque sorte, la modlisation faite dans

behavioRis

ne prend en compte que les

changes d'nergie. Une communication ne serait alors modlisable qu'indirectement et

94

Ludovic Coquelle

Bilan

par l'intermdiaire d'un mdium de l'environnement : si un animat cre une information (p. ex. un dpot d'une phromone), 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 modlisations ractives, les comportements de premier ordre sont souvent susants, et introduisent moins d'hypothses sur le fonctionnement interne. C'est pourquoi nous nous sommes limit ce cas. Le chapitre suivant prsente ainsi deux utilisations de ce systme de simulation pour modliser des comportements de poissons.

behavioRis

95

Chapitre 2 

behavioRis

96

Ludovic Coquelle

Chapitre 3 Application : simulations de comportements de poissons


our simuler des comportements d'animaux partir d'une description thologique, dont les tenants et aboutissants ont t prsents dans le chapitre 1, nous avons introduit une architecture d'animat ainsi qu'un langage de description associ prsent au chapitre 2. Durant sa phase d'implmentation, ce langage a t test sur de petits exemples comme un dplacement au hasard, une recherche de cible travers un environnement encombr, une simulation de boids ou encore la simulation de fourmis qui regroupent leurs couvains. Dans ce chapitre, nous prsentons deux applications des problmes rels. Ces applications portent sur la simulation de comportements de poissons et surtout sur leurs dplacements dans un environnement trois dimensions. Les connaissances actuelles sur l'activit des poissons leurs confrent un comportement trs ractif, c'est pourquoi l'architecture behavioRis est bien adapte pour traiter ce type de problme. La premire application prsente modlise des comportements dans un environnement trs simple. Nous travaillons ici sur des modles de comportement tablis que nous cherchons reproduire. Nous montrons travers une exprimentation comment obtenir une validation qualitative de notre modle. La seconde application prsente une simulation dans un environnement plus riche et montre les possibilits d'extension de l'architecture. Nous prsenterons ici comment direntes hypothses de comportement peuvent tre modlises et intgres dans une simulation.

behavioRis

97

Chapitre 3  Application : simulations de comportements de poissons

La campagne

vital
vital
1

La premire application prsente se base sur le projet

men par

ifremer.

Celui-ci avait pour but d'prouver l'utilit des observations visuelles obtenues par robot sous-marin pour l'estimation de l'abondance des animaux marins dans un contexte de pcherie durable.

1.1 Description du problme


La premire tape du projet faisait intervenir un

rov

(Re-

mote Operating Vehicle) pour lmer les direntes espces d'eau profonde et analyser statistiquement leurs densits (Trenkel et al., 2003). Ces observations directes ont mis en vidence des comportements d'vitement du

rov

de la part de certaines espces de

poissons. Compte tenu des conditions d'observation assez diciles (champ de vue restreint de la camra, lumire articielle qui peut inuencer le comportement, bruit du avoir une inuence sur l'estimation d'abondance. C'est pourquoi nous avons entrepris de simuler les comportements de certaines de ces espces pour dterminer leurs trajectoires de fuite. Avec cette simulation, nous esprons corriger les estimations d'abondance en apportant des informations manquantes propos des individus non-observables. Ceci est un problme classique des sciences exprimentales : estimer l'inuence de l'observateur sur l'observ. La dmarche que nous avons suivie a commenc bien entendu par une modlisation des comportements partir des descriptions qu'en ont fait les biologistes participant au projet

rov), ces comportements d'vitement peuvent

vital.

Nous leur avons demand de choisir quelques espces prsentant des

comportements bien direncis. Une fois ces modles mis au point, nous avons propos un test de reconnaissance des espces partir de leur modle simul. Ce test sert de validation qualitative de la simulation et nous permet d'utiliser les modles pour simuler l'exprience.

A Prsentation de l'exprience
L'ide est donc de reconstruire un environnement virtuel correspondant aux conditions d'observation. Cet environnement est principalement constitu d'un fond marin plat et du

rov.

Le

rov

est un objet de la simulation qui se dplace sur le fond viIl est simul comme un animat d'espce

tesse constante (1.5

m/s).

comportement que d'avancer (bien que constant (0.07 + 0.01 sin(t)

behavioRis

rov

, qui n'a d'autre

n'y soit pas ddi, le systme permet

d'exprimer certains comportements de systmes articiels). Le courant marin, presque

m/s) et perpendiculaire la trajectoire du rov, est modlis

comme une proprit de l'environnement. Plusieurs espces de poissons sont modlises. La simulation consiste alors peupler l'environnement par une distribution de densit connue pour chaque espce simule et reproduire le dplacement du les dplacements des poissons animats. Tous ces dplacements sont enregistrs et pourront tre analyss pour mesurer la dirence entre la population rellement simule et celle qui serait estime d'aprs un comptage visuel. Mais avant, pour mettre en place les modles, nous avons besoin de

rov pour observer

La campagne vital mene par ifremer: http://www.ifremer.fr/vital

98

Ludovic Coquelle

La campagne vital

(a) vue il de dieu

(b) vue du sous-marin

 Copie d'cran de la simulation du projet vital. Le fond est plat, seule la texture donne un eet de relief. Deux angles de vues dirents sont illustrs : (a) la vue externe, avec le rov se dplaant de la droite vers la gauche (les bulles irralistes qui sortent du sous-marin ne servent qu' visualiser le dplacement de celui-ci) ; (b) la vue de la camra, qui reproduit la vue de la camra relle.
Figure 3.1

crer un rendu de la scne qui permet de visualiser les dplacements en et permet de voir le

3d.

Ce rendu,

illustr gure 3.1 page 99, peut tre fait sous plusieurs angles de vue. Le premier est global

rov

de manire externe, ainsi que les trajectoires d'vitement des

poissons proches. Mais si cela permet de comprendre ce qui se passe dans la simulation, il est dicile de le comparer aux observations. D'o la mise en place du second point de vue qui correspond la prise de vue de la camra xe sur le

rov. Cette camra simule

reprend les caractristiques visuelles de la vraie camra (son orientation, son champ de vision) et simule galement la vision sous-marine (dcalage chromatique, baisse de luminosit et diusion). Ce rendu est indispensable pour comparer la simulation aux images rellement connues.

B Des donnes de comportements


La premire tape de modlisation est d'analyser les thogrammes pour construire les dirents comportements. Du fait des conditions trs diciles d'observation, une des principales dicults de cette exprience a t la collecte de ces donnes comportementales (chaque individu n'est observ que pendant quelques secondes). Ces donnes d'observations ont t analyses par Trenkel et al. (2002). Pour la simulation, cinq espces ont t modlises. Leurs thogrammes sont prsents dans le tableau 3.1 page 100. Nous noterons valeurs de

E)

spX

(avec

prenant successivement les

ces cinq espces. Une analyse pralable la modlisation met en

vidence des indicateurs transversaux aux cinq espces. Le but est de pouvoir tablir un modle gnral que l'on utilisera comme base de modle pour chaque espce. Pour chaque espce, le comportement est dcrit en deux partie : un comportement dit normal (hors condition de stimulation) et un comportement en raction au

rov. Nous reprenons cette

double description pour transcrire chaque thogramme de manire ordonne : le tableau 3.2 page 101 prsente le comportement normal et le tableau 3.3 page 101 prsente le comportement d'vitement (pour dcrire un vitement, il est ncessaire d'identier le

behavioRis

99

Chapitre 3  Application : simulations de comportements de poissons

dbut de la raction, sa n et bien sur le mouvement associ). Nous pouvons ds lors tablir un modle de poisson dont les comportements nage-libre et raction--unobstacle seront des composantes.

 Rsums des thogrammes des espces simules. Seules les caractristiques utilises sont retranscrites ici.
Tableau 3.1

Alepocephalidae

ou Cassigni ou Mulet noir (Baird's smooth-head). Avec une longueur moyenne de 0.65 m, ce poisson drive dans le courant, sans orientation prcise, une hauteur variant de 0 50 m. Il ragit tard l'approche du rov (1 m) et sort du champ de la camra en nageant vers le bas et dans une direction horizontale alatoire. Coryphaenoides rupestris ou Grenadier de roche (Roundnose grenadier). Sa longueur moyenne est de 0.5 m. Il se tient stationaire moins d'un mtre du fond, dans une orientation quelconque. Quand le rov approche (la distance de raction varie de 3 10 m), il nage dans la direction oppose et vers le bas (d'un angle de 30 jusqu' une hauteur d'environ 30 cm) ; cette raction perdure tant que le rov le suit. Hoplostethus atlanticus ou Empereur ou Hoplostthe rouge (Orange roughy). Avec 0.45 m de long, il reste dans une hauteur d'eau d'environ 1.5 fois la longueur de son corps, stationaire, face au courant. Entre 3 et 5 m du rov, il ragit 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 ragit. Lepidion eques . Proche du fond et face au courant, il reste face au courant. Sa longueur avoisine 0.2 m. La plupart des individus ne ragit pas au passage du rov. Seuls 10% ragissent une distance de 2m, et nage au fond contre le courant ( 2 m/s) jusqu' quitter le champ de vue de la camra. Scyliorhinidae (quelle que soit l'espce de cette famille). De longueur moyenne 0.6 m, il a t observ moins de 0.5 m du fond. En activit normale, il nage activement une vitesse de 0.5 1 m/s en changeant de direction indpendamment du courant. Quand il peroit le rov ( partir d'une distance de 10 m), il nage plus rapidement (de 1 2 m/s), soit en gardant la mme direction, soit en zigzag ; il quitte alors assez rapidement le champ de vue de la camra.
Les photos des espces H. atlanticus, Alepocephalidae et C. rupestris sont extraites du site VITAL (http://www.ifremer.fr/vital/fiche_esp.html) ; la photo de l'espce Lepidion eques est extraite du site Plonger dans les abysses (http://www.ifremer.fr/poseng) ; celle de l'espce Scyliorhinidae est extraite du site FishBase (http://www.fishbase.org).

100

Ludovic Coquelle

La campagne vital

Tableau 3.2

 Rsum des thogrammes : caratristiques biomtriques et activit normale

Espce

Longueur
0.45 m

Distance du fond
0.70 m

spA
Hoplostethus atlanticus

Orientation dans le courant


fait face

Comportement

stationnaire

spB

0.6m 0.11 m

moins de

0.5 m 1m

indpendant

nage de

0.5

1 m/s

en

Scyliorhinidae

spC

changeant de direction moins de indpendant stationnaire

Coryphaenoides rupestris

spD spE

0.2 m 0.65 m

proche du fond

fait face

stationnaire

Lepidion eques

de

50 m

indpendant

drive

Alepocephalidae

Tableau 3.3

 Rsum des thogrammes : raction au rov

Espce

spA
Hoplostethus atlanticus

Distance au rov
entre

Intensit (ou dure)


perdure tant que le suit

Comportement (trajectoire)
nage d'abord rapidement puis

rov le

et

5m

spB

rov

ralentit ;

devant

le

10m

quitte le champ de vue

nage plus vite (1 en zigzag

2 m)

Scyliorhinidae

dans la mme direction ou

spC
Coryphaenoides rupestris

entre

la raction ne s'arrte pas ; le

et

10 m

rov

nage en direction oppose au

peut le suivre

rov et vers le bas d'un


30
jusqu'

angle de

30 cm

spD
Lepidion eques

de hauteur d'eau

2 m
sans tion)

(90% rac-

quitte le champ de vue

nage (

2 m/s)

proche du

fond et contre le courant

spE
Alepocephalidae

tard (1m)

quitte le champ de vue

nage brusquement vers le bas dans une direction horizontale quelconque

behavioRis

101

Chapitre 3  Application : simulations de comportements de poissons

1.2 Modlisation d'un poisson


vioRis .
Prsentons maintenant la construction de ce modle de poisson avec l'outil

beha-

Le but de cette section est de complter progressivement le code 3.1 page 102.

Nous prsentons un modle gnral de poisson qui servira de base pour crer un modle spcique chaque espce. Nous ne nous attardons ni sur la spcication de la forme gomtrique ni sur celle des proprits qui seront spciques chaque espce. 1:

Species pqenerlpish: 2: Shape Vrml(ptha4rmlGpishGommonFvrml4) Property length a gussnd@HFIPD HFHSA 3: 4: Property hpele a length 5: Property sppeed a sGR
6:

End

. . .

. . .

Code 3.1

vital bbdl

: modle d'une espce

1.2.1 Dplacement
Pour ce type de simulation, le modle mcanique de mouvement peut tre trs simple. En eet, la plupart des informations disponibles sur les mouvements des poissons sont des descriptions de trajectoires par la vitesse et la direction. Donc pour faciliter la transcription des thogrammes dans notre langage, nous dcidons d'utiliser un contrleur de mouvement bas sur ces notions de vitesse et direction. Contrairement aux mthodes habituelles (Reynolds, 1999), une modlisation de la dynamique du mouvement n'est pas ncessaire ici car notre but est de reproduire une trajectoire et non de contrler un objet mobile auto-propuls. Cette dynamique peut tre intgre dans

behavioRis

mais ncessiterait de traduire les rgles de comportement

en rgles de commande de contrle. Pour simplier la transcription des donnes biologiques disponibles (sans introduire de modle physique), nous dcidons de ne pas prendre en compte les caractristiques d'acclration du poisson. A notre chelle de travail, elles n'apporteraient pas beaucoup d'information sur le comportement. composant Comme nous l'avons dj prsent, cette modlisation est traduite en utilisant un

Controller , muni d'un sous-composant Selector qui fait la fusion des vitesses et des orientations en entre, et de deux sous-composants Actuator , un pour la position
angulaire et un pour la vitesse linaire. Nous obtenons ainsi un modle cintique simple qui mixte des entres en position et en vitesse. A cela, pour modliser la possibilit de se laisser driver dans le courant, il faut ajouter le respect des rgles mcaniques dues ce courant en ajoutant une contrainte spcique. La transcription en

bbdl

en

dcoule directement et est illustre par le code 3.2 page 103 : six proprits sont votes, puis utilises comme commandes de dplacement par les composants composant

Constraint

Actuator ,

et un

assure la loi de drive dans le courant.

102

Ludovic Coquelle

La campagne vital

Controller displement: Trigger Clock(HFP) 3: Selector Fusion(xpeedDypeedDzpeedDrollDpithDyw) 4: Actuator AngularPosition(rollasppeedDpithasppeedD ywasppeed) 5: Actuator LinearSpeed(mxpeedasppeed) 6: Constraint EnvironmentFlow(xa4urrent4D ya4urrent4D za4urrent4) 7: End
1: 2:
Code 3.2

vital bbdl

: modle de dplacement

1.2.2 Perceptions
Le second ensemble d'hypothses aprs la modlisation biomcanique concerne les capacits de perception du poisson. Dans ce problme, les perceptions sont trs limites : la densit tant trs faible, nous n'introduisons pas d'interaction entre les individus. Nous verrons un tel exemple dans l'application suivante. Ici, nous supposons que chaque individu est capable de percevoir trois informations : le courant, le sol et le 1. La perception du

rov.

courant est ncessaire si l'on veut crire des rgles de comporte-

ment d'alignement dans le courant, ou simplement de stationarit (rappelons qu'il s'agit d'espces vivant trs prs du fond). C'est l'environnement qui porte la proprit de courant marin. Donc la perception du courant passe par la perception de l'environnement, et est modlis par un sous-composant

Detector

spcialis (voir

code 3.3 page 104 lignes 1 9).Ce composant spcialis dtecte l'objet environnement, et permet donc l'accs ses proprits parmi lesquelles et

currentZ.

currentX, currentY

Ces proprits sont ventuellement localises (elles peuvent dpendre

de la position de l'objet qui peroit) et c'est le rle du dtecteur de les valuer pour la position de l'individu. Le sous-composant

Filter LocalVector

ligne 4 permet lui

de transformer les coordonnes du courant du repre global au repre de l'individu. A partir de ces coordonnes cartsiennes exprimes dans le repre local, le souscomposant

Filter CartToSpherical

(lignes 5 8) ajoute des proprits ctives

l'environnement qui ne sont autres que l'expression du courant en coordonnes sphriques locales (x, y, z dsignent les coordonnes cartsiennes transformer, et

d, yaw, pitch

le nom des nouvelles proprits ajoutes).

2. Plus simplement, la dtection de 13). La proprit

l'altitude (distance au sol ou au premier objet


Altimeter
(lignes 10

situ sous le poisson) est ralise par un dtecteur spcialis

distance

de cette perception reprsente l'altitude du poisson.

3. Enn, nous supposons que les poissons sont capables de percevoir le

pelons que le modle de perception ne dcrit pas les processus physiologiques de perception mais leur rsultat suppos. Ici, nous supposons que, quel que soit le sens utilis (l'oue, la vue, les lignes latrales sensibles la pression), un poisson peroit toujours le

rov

. Rap-

rov.

Ceci est dcrit par les lignes 14 17.

1.2.3 Comportements
Le modle de comportement est videment dirent pour chaque espce. Cependant on retrouve des caractristiques communes et des critures qui se ressemblent. Nous

behavioRis

103

Chapitre 3  Application : simulations de comportements de poissons

Perception env: Trigger Clock(IFH) 3: Detector Environment() 4: Filter LocalVector(xa4urrent4Dya4urrent4Dza4urrent4) 5: Filter CartToSpherical(
1: 2: 6: 7: 8: 9: )

da4urrentxorm4D ywa4urrentw4D pitha4urrentith4D xa4urrent4D ya4urrent4D za4urrent4

End 10: Perception lt: 11: Trigger Clock(IFH) 12: Detector Altimeter() 13: End 14: Perception rov: 15: Trigger Clock(HFS) 16: Detector FieldOfView(distasxpD speiesa4ov4) 17: End
Code 3.3

vital bbdl

: modle des perceptions

prsentons ici quelques points clefs dans l'criture des rgles par des

Pattern de compor-

tement voqus dans la description des thogrammes. Les paragraphes suivre donneront les clefs pour complter le code 3.4 page 104 suivant les espces modlises. 1: 2:

Behavior Fuzzy() enthi: Pattern freeEswiming: End Pattern End End


. . . . . . . . .

3: 4:

voidEostle:
. . .

5: 6:

Code 3.4

vital bbdl

: modle des comportements

A Comportement de nage-libre
Dirents types de nage ont t voqus pour dcrire l'activit normale d'un poisson (pour les cinq espces considres). Nous prsentons ici une manire de les dcrire, sans considrer l'aspect de dclenchement par les stimuli, qui sera spcique chaque espce.

Drive dans le courant


ypeed
104

Driver dans le courant ne ncessite aucune action ; c'est le

modle biomcanique de dplacement qui gre cette drive. L'activit de ce comportement consiste alors adopter un vitesse nulle, ce qui s'crit :

is xull
Ludovic Coquelle

La campagne vital

Stationnaire

Garder une position stationnaire par rapport au fond marin oblige le

poisson nager contre le courant une vitesse exactement oppose celui-ci. Voici une manire de dcrire ce comportement par des rgles (on suppose ici que le courant est seulement horizontal, mais l'extension un courant vertical est triviale) :

xpeed ypeed

is opposite(envFurrent) is opposite(envFurrent)
y
locale) ! En fait, les poissons

Cependant, ce comportement rete assez dicilement la ralit : il est dicile d'imaginer un poisson nageant sur le ct (direction stationnaires sont galement orients dans le sens oppos du courant (la tte face au courant). Une autre manire d'crire cette stationnarit oriente utilise galement deux rgles mais aussi la caractrisation en coordonnes sphriques du courant :

Nage active

xpeed is envFurrentxorm yw is oppositeAngle(envFurrentw)


Ce dernier type de nage est le plus intuitif : le poisson avance en changeant

de direction rgulirement. Comme nous n'avons aucune description sur la manire de choisir une direction l'chelle individuelle, nous choisissons ici d'utiliser une orientation alatoire. Si les deux valeurs

SwimmingSpeed

et

SwimmingAngle

d-

nissent la manire normale d'avancer (respectivement la vitesse linaire habituelle et l'angle de direction horizontale souvent nul), on peut dnir un comportement de nage active par :

xpeed is wimmingpeed yw is randomize(wimmingengleD {degToRad(RH)})

(i) la notation d'valuation arithmtique entre accolades qui s'effectue dans l'espace des proprits de l'individu et (ii) la fonction randomize(X, v) qui dcale la fonction d'appartenance de X d'une valeur choisie alatoirement dans l'intervalle [v, v] (cette dnition est valable pour les valeurs oues comme pour
On voit apparatre les valeurs relles). On dnit ainsi un poisson qui avance vitesse constante mais qui change en permanence de direction. La frquence de ces changements n'est pas dnie ici : elle dpend du dclencheur aect au comportement qui contient la rgle et aussi au dclencheur du contrleur de mouvements.

B Comportement de raction--un-obstacle
Le comportement de fuite par rapport au

rov

ne se dcrit pas de manire gnrale

pour toutes les espces. Nous donnons ici un exemple pour introduire la perception du

rov

dans l'criture des rgles qui ncessitent maintenant l'expression des stimuli. En

eet, la distance du

rov

peut tre vue comme un stimulus dclencheur quand elle passe

sous un certain seuil de sentiment de scurit, alors que sa position peut tre vue comme un stimulus directeur partir duquel la direction de fuite est choisie.

if rovFdistne is mllhist then xpeed is evoidpeed and yw is oppositeAngle(rovFyw) and pith is globalPitch(evoidithengle) end
behavioRis

105

Chapitre 3  Application : simulations de comportements de poissons

rov s'approche une distance SmallDist, provoque une fuite en avant la vitesse de AvoidSpeed, dans une orientation horizontale oppose au rov, et avec un angle de fuite vers le bas de AvoidPitchAngle. Comme toutes les notions goCette rgle, active lorsque le mtriques sont exprimes dans le repre local l'individu (pour faciliter la modlisation individu centre), la fonction

globalPitch

a t introduite pour considrer son argument

comme crit dans le repre global. Nous supposons que le poisson dispose de capteurs proprioceptifs de position lui permettant d'adopter un tel comportement.

1.2.4 Etats internes


Les thogrammes ne semblent pas faire rfrence directement des variables internes. Cependant il semble intressant de modliser une transition d'tat entre le comportement de nage libre et de raction un obstacle. Cet modlisation de la transition est particulirement adapte l'espce Hoplostethus atlanticus, o le comportement est clairement dirent l'approche progressive du gement d'tat semble mme inuencer directement sa couleur. L'tat interne va donc ici servir modliser des comportements dpendants du contexte en modlisant les relations entre les entres des stimuli.

rov et au cours de la raction. Ce chan-

fcm : modliser des inuences imprcises


L'ide est de modliser un variable interne

afraid

pour prter au poisson un tat

perturb ou d'alerte : quand cet tat est actif le poisson ragit. Le code de cet tat interne est prsent gure 3.2 page 107. Passer par un tat interne permet d'introduire naturellement une dynamique d'volution de cet tat. La premire inuence que nous ajoutons (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 nouvelle activation externe, son niveau d'activation doit ensuite diminuer progressivement (la peur diminue). Ensuite, nous introduisons deux autres tats : pos vers

afraid, et alive

idle

reprsente l'tat op-

modlise une sorte d'nergie de l'individu retrouver un ensemble

d'tats de calme. Ainsi, avec deux inuences supplmentaires, une ngative de

idle

(ligne 7) et une positive de

alive

vers

idle

afraid

(ligne 5), on assure que la peur inhibe

l'tat de calme mais que cet tat de calme est r-amorc dans un contexte normal. Le dernier lien de de l'tat

alive

vers

alive

(ligne 4) modlise ici une nergie constante (nous suppo-

sons que le modle est utilis sur une chelle de temps susament courte). L'utilisation

alive

permet de modliser une sorte d'homostasie sur l'ensemble des tats.

La gure 3.2 page 107 montre l'volution des valeurs de la

fcm. Si les courbes montre

une volution relative des tats, le tableau de donne conrme que les valeurs prises par les niveaux d'activation ne sont pas intuitives (d la normalisation). C'est pourquoi, si cette dynamique doit tre maitrise, notamment d'un point de vue temporel, nous utilisons un deuxime type de graphe d'tats internes.

bpn : manipuler des inuences dans le temps


Un exemple de manipulation du temps comme stimulus peut tre expos pour l'espce

Scyliorhinidae. L'thogramme prcise que sa fuite est en zigzag. Comme aucune prcision n'est donne sur les causes de changement de direction, une manire de simuler cette nage est d'utiliser une constante de temps avant de changer de direction. L'ide est d'utiliser

106

Ludovic Coquelle

La campagne vital

InternalState FCM() : 2: Trigger Clock(IFH) 3: Concept alive is_active 1.00 4: alive inuences alive with_factor 1.0 5: alive inuences idle with_factor 0.3 6: afraid inuences afraid with_factor 0.3 7: afraid inuences idle with_factor -0.8 8: End
1:

alive 0.986 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985 0.985

idle 0.588 0.582 0.581 0.581 0.581 -0.870 -0.630 -0.406 -0.222 -0.077 0.036 0.128 0.201 0.261 0.310 0.350 0.384 0.412 0.436 0.456 0.473 0.488 0.500 0.511 0.520

afraid 0 0 0 0 0 0.703 0.548 0.446 0.371 0.314 0.268 0.230 0.198 0.172 0.149 0.130 0.113 0.098 0.086 0.075 0.065 0.057 0.050 0.044 0.038

 Evolution d'une fcm aliveidleafraid. En haut gauche gure le code bbdl de la fcm. A droite, les valeurs successives prises par les tats : aucune volution pendant les cinq premiers cycles, seul le calcul de normalisation entre en compte, mais au temps t = 5 l'tat afraid est mis 1. L'volution qui s'en suit est reprsente par les courbes en bas gauche : la valeur d'activation de l'tat afraid passe brutalement 0.7 (0.7 correspond la valeur 1 aprs normalisation) puis diminue progressivement, tandis que l'tat idle suit une courbe oppose avec des variations plus grandes car il est reli l'tat alive qui tend inuencer vers l'tat de repos.
Figure 3.2

une rgle qui donne au poisson la direction oppose au

rov, laquelle tantt on ajoute la

valeur d'un angle x pendant un certain temps (le zig), tantt on retranche la valeur

bpn trs simple, avec deux tats swimLeft et swimRight et leurs tats complmentaires leftEnd et rightEnd, comme illustr code 3.5 page 108. Le rle des rgles est alors d'activer l'tat swimRight lorsque leftEnd est susamment actif et vice versa. L'intrt du bpn est de
dtecter la n d'un zig et la n d'un zag. Pour cela nous proposons un tat connatre exactement le temps d'activation d'un tat, et donc ici l'amplitude du zigzag.

de cet angle x pendant un certain temps (le zag). En termes de stimuli, il faut

1.3 Validation qualitative


La validation de tels modles individu-centrs reste dicile. Les donnes de sortie de la simulation sont, hormis les tats du modle lui-mme, les trajectoires de dplacement. Hors les trajectoires relles ne sont pas connues quantitativement mais seulement par les

behavioRis

107

Chapitre 3  Application : simulations de comportements de poissons

InternalState BPN() : 2: Trigger Clock(IFH) 3: swimLeft inuences leftEnd with_factor 1.0 4: swimRightnuences rightEnd with_factor 1.0 i 5: End
1:
Code 3.5

vital bbdl

: modle de

bpn

descriptions d'experts de ces espces. C'est pourquoi nous avons mis en place un test de reconnaissance de comportement.

1.3.1 Le protocole
L'objectif est d'estimer le ralisme du comportement reproduit par simulation. Comme les thogrammes ne prcisent pas de catgorisation des dirents comportements possibles (ils donnent une description gnrale du comportement global de l'espce), le principe du test utilise la reconnaissance inverse : reconnatre l'espce partir du comportement observ.

Le test
Pour chacune des cinq espces, nous avons enregistr une vido d'une dure d'une minute. Chacune de ces vidos met en scne le mme scnario :  l'environnement est constitu d'une zone rectangulaire susamment grande pour viter les eets de bord ;  le

rov

avance vitesse constante sur un petit trajet central la zone simule ;

 le courant marin est faible, presque constant et perpendiculaire la direction du

rov ;

 une seule espce est prsente dans chaque vido avec :  la mme densit et distribution de population,  la mme reprsentation gomtrique qui indique seulement l'orientation du poisson (forme, couleur et taille),  le mme type de nage (la nage n'est pas simule, seulement le dplacement). Dans chaque vido, la seule information pour reconnatre une espce est donc sa trajectoire. Ces cinq vidos ont t prsentes sous les noms

spA,spB ,

...

spE

des

experts qui doivent leurs associer une espce reconnue partir des comportements.

Les experts
vital
Les experts qui ont pass ce test de reconnaissance avaient particip la campagne (plus d'un an auparavant). Ils sont donc familier du champ de vision restreint et

de l'analyse de comportement. Leur connaissance du champ de vue de la camra relle aide situer les trajectoires gomtriques

3d de la simulation et percevoir les distances.

Ils connaissent galement les espces qui vivent dans ces eaux profondes. Quatre experts ont rpondu ce test, mais seulement trois ont pu voir les cinq squences vidos (l'un d'entre eux n'en a vu que quatre).

108

Ludovic Coquelle

La campagne vital

Tableau 3.4

 Rponses possibles au test de reconnaissance

Vido Espce simule


spA spB
Hoplostethus atlanticus Scyliorhinidae

Autre bonnes rponses


Apristurus spp. Galeus murinus Squalidae Centroscymnus coelolepis Deania calcea Caelorinchus labiatus Trachyrincus murrayi Moridae Mora moro Small macrourid A. bairdii Notacanthidae Notacanthus spp. Polyacanthonotus spp.

Rponses approches

spC spD

Coryphaenoides rupestris Lepidion eques

Chimaeridae Chimaera monstrosa Trachyscorpia cristulata echinata B. dubius

spE

Alepocephalidae

Les rponses possibles


Le protocole de test impose aux experts de rpondre soit par le nom de l'espce reconnue, soit rien. Comme dans une famille de poisson le comportement ne change pas signicativement, toute espce de la bonne famille a t considre comme une bonne rponse (p. ex. centroscyllium la place de squalidae). De plus nous avons cr des groupes d'espces qui exhibent les mmes comportements. Pour chaque squence vido, le tableau 3.4 page 109 prsente les rponses attendues pour chaque espce. La deuxime colonne indique les autres espces classies comme ayant le mme comportement et donc considres comme bonne rponse. La dernire colonne indique quant elle des espces qui exhibent un comportement ressemblant dans certaines conditions. Les rponses approches pour l'espce d'individus qui ragissent au

spD

(Lepidion eques) sont des espces qui (Coryphaenoides rupestris), chimae-

restent presque poses au fond alors que Lepidion eques est juste au dessus avec peu

rov. Pour l'espce spC rov

ridae est vu comme une rponse approche car elle tend rester stationnaire la mme hauteur dans l'eau (Trenkel et al., 2002). Mais quand elle est perturbe par le chimaeridae ne tente pas de nager devant le

rov,

la

ni de fuir vers le bas. Une autre source

d'erreur dans la reconnaissance est que l'espce Hoplostethus atlanticus est rfrence dives to bottom when disturbed (Trenkel et al., 2002) alors que ce comportement n'a t observ que deux fois dans la campagne rpondre Hoplostethus atlanticus pour perturbs avant d'entrer dans le champ de vue du

spE ,

vital pour des individus probablement dj rov. Ceci peut mener les testeurs
surtout que nous n'avons pas modlis ce

comportement (de fuite verticale, dirente de celui de que nous n'avons pas pralablement prcises.

spE ) pour spA qui est le vrai mo-

dle de Hoplostethus atlanticus. Enn, certaines rponses peuvent rvler des similarits

behavioRis

109

Chapitre 3  Application : simulations de comportements de poissons

Tableau 3.5  Rponses des experts. Les bonnes rponses sont marques par le signe + + + et les rponses approches sont marques par le signe . L'expert not e0 est celui avec qui nous avons cr le modle. L'expert e3 n'a pas donn de rponse pour l'espce spD cause d'un problme technique avec l'enregistrement.

spA
H. atlanticus

spB
Scyliorhinidae

spC
C. rupestris

spD
Lepidion eques

spE
Alepocephalidae

+++

+++

+++

+++
Bathypterois

+++

e0 e1 e2 e3 e4 Synaphobranchidae Scyliorhinidae Squalidae / large morid ? Synaphobranchus Apristurus


+++

Moridae / Small macrourid C.Rupestris


+++

Alepocephalus
+++

Bathypterois

Synaphobranchus Macrouridae Chimaerids

Alepocephalus
+++

Notacanthidae Moridae H. atlanticus on bottom

Chimaera Alepocephalus
+++

1.3.2 Les rsultats


Rponses
Le premier retour obtenu sur la simulation a t obtenu lors de sa conception. En eet, l'expert qui a initialement crit les thogrammes des espces simules a reconnu les comportements qu'ils dcrivaient depuis notre modlisation. C'est un premier rsultat dans le sens ou le simulateur permet au moins de reproduire ce qu'en attend l'expert thmaticien qui fournit les donnes au modlisateur de la simulation. Dans la suite des conceptions, cet expert thmaticien a pris galement part la modlisation en modiant les rgles de comportement crites en

bbdl.

Cet expert avec qui nous avons cr la simulation a pass avec succs le test de reconnaissance pour les cinq espces, dans les conditions du protocole mais avec l'avantage de connatre l'ensemble des cinq espces reconnatre ainsi que les comportements pertinents. Nammoins cette russite montre un certain degr de faisabilit du test. Les rsultats du test pour les autres experts

e1

e4

sont prsents par le tableau

3.5 page 110. Rappelons que le test exige de reconnatre une espce seulement par son dplacement : la forme, la couleur, le type de nage, et mme la taille sont identiques pour tous les individus des tests.

Estimation de la validit des rsultats


Vu le petit nombre de rponses, une analyse statistique n'aurait pas de sens. Mais au moins, nous pouvons comparer ces rponses des rsultats obtenus alatoirement. Dans les conditions idales (la connaissance des experts est susante pour reconnatre les poissons depuis leurs trajectoires et la simulation transcrit exactement cette trajectoire) les rponses du test donneraient une mesure de l'information ncessaire aux experts apporte par les squences vidos. Dans les conditions relles du test, nous ne pouvons que comparer les rponses de ce test des rponses alatoires.

110

Ludovic Coquelle

La campagne vital

Pour un enregistrement, si les

experts choisissent alatoirement une rponse parmi

t bonnes rponses (t i) 1 1 Pit = Cit .( N )t .(1 N )it (sans prendre en compte les rponses approches ou quivalentes). Avec N = 30 espces possibles et i = 4 experts, pour un nombre de bonnes rponses prenant successivement les valeurs t = 0, 1, 2, 3, 4, les probabilits associes t 2 valent Pi = 87.31%, 12.04%, 0.62%, 0.01%, 0.0001% et P3 = 0.32%. La probabilit 0 1 1 2 3 globale d'avoir les rsultats du tableau 3.5 page 110 est donc trs faible (P4 P4 P4 P3 P4 = 9 ). Ceci reste une probabilit mais donne un indicateur sur la pertinence probable 5.10 N
espces possibles, la probabilit d'avoir exactement est de des simulations.

Analyse des rsultats


spA
Deux des experts ont rpondu Synaphobranchus ou Synaphobranchidae ; aucun n'a reconnu Hoplostethus atlanticus. Cet espce n'a pas t vue un grand nombre de fois durant la campagne alors que Synaphobranchus kaupii tait l'espce la plus abondante sur toutes les vidos du submersible ; ceci peut inuencer la rponse des experts. De la manire dont

spA

est simule, le comportement commun avec

Synaphobranchus est la stationnarit prs du fond. Ce qui n'est pas raliste pour un Synaphobranchus c'est la longue distante parcourue pour fuir le

rov. Un point qui

peut expliquer la non reconnaissance est la forte proportion de Synaphobranchus qui 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 taient rarement vus se dplaant vite sur des longues distances. Cependant, comme les S. kaupii nagent souvent, la confusion peut venir d'un problme d'chelle qui n'a pas permis aux experts de raliser que les petits poissons ne peuvent entrer et sortir rapidement du champ de vision.

spC

Un seul expert a reconnu Coryphaenoides rupestris. La rponse Notacanthidae approche cette espce car il reste stationnaire, haut dans l'eau, et ragit au Cependant, ils ne nagent pas devant le

rov pour garder une distance de scurit.

rov.

spD

Aucun expert n'a reconnu Lepidion eques, ce qui suggre qu'il manque quelque chose la simulation. En fait, la squence vido montrait quelques individus fuyant le

rov.

La proportion relle de Lepidion eques ragissants est tellement faible que

certains experts ne l'ont peut tre jamais remarqu. De plus, la fuite du Lepidion eques est plus souvent un changement de position qu'une sortie du champ de vision qui tait simule, et ceci peut expliquer la confusion avec le Hoplostethus atlanticus. Une autre dirence entre ces deux dernires espces est que pour Lepidion eques, tous les individus sont orients dans la mme direction (face au courant) alors que Hoplostethus atlanticus est prs du fond et orient dans une direction quelconque. Mais ceci n'a peut tre pas t vu par les experts car sur les squences les individus taient souvent isols et les orientations ont t dduites des analyses des comportements par rapport au courant. Deux experts ont rpondu Bathyperois dubius, qui est aussi une espce oriente dans le courant et qui la plupart du temps ne ragit pas (sauf une petite proportion qui tente de s'chapper).

spE

Trois experts sur quatre ont reconnu Alepocephalidae grce certainement une raction tardive mais forte. Le quatrime proposait Chimaerids qui reste haut dans la colonne d'eau comme le Alepocephalidae et a t vu ragir quelques fois fortement. Cependant le comportement des chimaerids est plus vari que celui des

behavioRis

111

Chapitre 3  Application : simulations de comportements de poissons

Alepocephalidae. La large gamme de comportements dans le rpertoire du Hoplostethus atlanticus peut tre une raison de faible reconnaissance car les experts peuvent garder en mmoire un comportement qui n'apparat pas dans la squence. A moindre chelle, cela peut tre appliqu aussi au Coryphaenoides rupestris, mais il n'est pas facile de justier que les experts n'aient pas reconnu le Scyliorhinidae alors que le comportement de nage active des requins semblait signicatif. Une explication peut tre que les requins sont souvent solitaires et que les simuler avec une densit plus leve peut compliquer la reconnaissance. Au contraire, Alepocephalidae a t bien reconnu grce une drive naturelle passive suivie d'une raction assez forte petite distance du

rov.

Ceci peut suggrer

que des vidos plus longues, avec plus d'individus ou plus de variation dans le comportement, sont ncessaires pour des espces plus large rpertoire comportemental, alors que nous avons simul le comportement le plus frquent. En fait, nous avons choisi de ne pas reproduire de comportement anecdotique (rare mais typique), comme celui d'un Hoplostethus atlanticus qui fuit le

rov

vers le bas jusqu' rentrer en collision avec le fond !

Des espces direntes comme Lepidion eques et Bathypterois dubius sont devenues trs similaires avec la modlisation (distance du fond, type de fuite, orientation) et les conditions adoptes pour la simulation. Ces deux espces sont poses au fond, stationnaires, faces au courant, et une faible proportion fuit le Bathypterois dubius ont pu lui associer ce comportement plutt qu'au Lepidion eques. En conclusion, les rsultats montrent que des experts peuvent reconnatre une espce partir de courtes squences vidos (une minute) ; l'entranement peut certainement amliorer les rsultats car les experts n'avaient pas vu les vraies vidos depuis au moins un an. Dans l'ensemble, les espces plus strotypes ont t mieux reconnues : le sens commun veut qu'un animal qui exhibent des comportements trs varis ne soit pas reconnu. La prochaine tape de ce travail sera d'utiliser ces modles pour calculer le nombre de poissons non observables par le d'abondances.

rov. Des densits locales plus fortes de

rov.

Ceci permettra alors de corriger les estimations

premecs-II
Avec cette seconde application, nous restons dans la modlisation de comportements

de poissons, mais dans un environnement totalement dirent. Le but ici est de comprendre le comportement dans le cadre de la pche au chalut. Rappelons qu'un chalut est une grande poche de let en forme d'entonnoir, maintenue ouverte horizontalement par des panneaux et verticalement par des otteurs disposs sur la lvre suprieure, et tracte par un chalutier, comme illustre gure 3.3 page 113. La partie antrieure s'appelle l'embouchure. Dans sa partie postrieure, un chalut est constitu d'une rallonge et de la poche. La rallonge est une grande partie cylindrique de transit entre l'embouchure et la poche, permettant notamment d'viter le phnomne de refoulement. La poche est la dernire partie, ferme, du chalut, et servant retenir les prises.

112

Ludovic Coquelle

premecs-II

chalutier

panneaux flotteurs embouchure

poche rallonge

Figure 3.3  Illustration d'un chalut de pche plagique. Les ordres de grandeur de la taille d'un tel chalut sont de quelques dizaines de mtres de large et de haut pour l'embouchure et d'une centaine de mtres pour la profondeur. Nos cas d'tudes concernent la pche de l'glen (Melanogrammus aeglenus ou haddock ), avec des prises avoisinant plusieurs centaines de kilogrammes (le nombre de poissons nageant dans la poche est aussi de l'ordre de la centaine).

2.1 Description
Contexte et objectif du projet
premecs-II (PRedictive ModEl of Cod-end Selectivity) dont le but est d'tudier la slectivit de la poche. Ce projet pilot par ifremer est issu d'une collaboration entre les laboratoires difres (Danish Institute for Fisheries Research, Danemark), frs (Fisheries Research Services, Royaume-Uni), ifremer (France), ismar (Instituto di Scienze Marine, Italie) et li (Laboratoire d'Ingnierie
Le contexte de cette application est le projet
2 2

Informatique, France). La slectivit est la proprit, pour un engin de pche, de capturer une espce plutt qu'une autre (slectivit interspcique) ou de ne retenir, pour une espce dtermine, que les individus au dessus d'une certaine taille (slectivit intraspcique). Parmi les poissons qui rentrent dans le chalut, certains sortiront avant que celui-ci ne soit remont sur le navire. Si l'application tributions spatiales horizontale et verticale), celle-ci concerne l'tude de la l'tude globale de la Le projet

vital prcdente concernait l'tude de la disponibilit (disvulnrabilit


dont la connaissance est ncessaire la gestion des

(comportement d'approche et slectivit de l'engin de pche). Toutes deux contribuent

capturabilit

ressources halieutiques.

premecs

s'intresse donc modliser la slectivit de la poche. Pour cela

il est important de modliser la forme du let, et donc de la prise, ainsi que les compor-

Site du projet premecs-II: http://www.ifremer.fr/premecs

behavioRis

113

Chapitre 3  Application : simulations de comportements de poissons

tements des poissons. C'est un problme la fois mcanique, pour modliser le chalut ou l'coulement, et la fois biologique, pour modliser les comportements qui peuvent inuencer la slectivit.

Problmatique
Les problmes de vulnrabilit, pour tout le chalut de l'embouchure la poche (et sur un chalut de fond), sont exposs dans (Main et Sangster, 1981). Cette tude par observation directe donne une vue gnrale des dirents mcanismes intervenant entre chalut et poissons dans le processus de pche. Les problmes mcaniques interviennent plusieurs niveaux : la traction du navire, la rsistance de l'eau, et sa structure maille donnent sa forme au let, et l'coulement induit inuence la nage des poissons. Ce processus est trs dynamique, et mme l'tat de mer peut inuencer la slectivit de la poche (O'Neill et al., 2003) : en donnant un mouvement rapide au bateau, transmise au let par un mouvement de va-et-vient, la poche prend des formes rebondissantes qui changent les tensions dans le maillage, et donc l'ouverture des mailles, et donc les possibilits d'chappement ! D'un point de vue biomcanique, les capacits de nage des poissons font galement parties des processus inuenant la slectivit (He, 1993) et ce modle dpend lui-mme fortement de l'environnement, par exemple de la temprature (zbilgin et Wardle, 2002). Les comportements des poissons en raction aux dirents lments sont nombreux et varient pour chaque espce (Wardle, 1993). La slectivit, de la poche ou du chalut en entier, dpend donc de nombreux paramtres, et son tude peut faire intervenir des modles de natures direntes. La caractristique spatiale du problme a men des

ibm pour l'tude de l'inuence du comportement.

Modlisation comportementale
Par exemple, le logiciel

PRESEMO,

dvelopp par le

difta

(Danish Institute for

Fisheries Technology and Aquaculture), repose sur un modle stochastique qui permet d'estimer le facteur de slectivit d'un chalut de fond. Il prend en compte la morphologie des poissons sous forme de distributions des paramtres biomtriques et des valeurs statistiques retant leur activit : temps moyen mis par un poisson pour atteindre la poche du chalut, temps moyen avant puisement, avant la premire tentative d'chappement, entre deux tentatives . . . L'inuence de la forme de la prise peut tre tudie avec ce type d'outils (Herrmann, 2005). Un autre modle utilise la thorie du chaos pour modliser les prises de dcisions des poissons par rapport aux stimuli (Kim et Wardle, 2005). Cette approche est dirente car elle fait intervenir des comportements individuels. Elle se base sur le modle prcdent (Kim et Wardle, 2003) qui prend en compte deux types de comportements, une rponse visuelle ou une rponse erratique, mais ajoute comme le proposait (Walsh et Godo, 2003) une prise en compte de caractristiques individuelles ainsi que de comportements relatifs (la densit de poissons devient alors signicative dans leurs comportements). Cependant, ces modles ont vocation prdire la slectivit. Dans une autre optique, nous cherchons modliser avec

behavioRis

les comportements dans la poche de chalut

pour pouvoir tester des hypothses comportementales (qui pourraient tre intgres ensuite dans les autres modles qui fournissent dj les outils adapts d'analyse statistique).

114

Ludovic Coquelle

premecs-II

2.2 Modlisation
Pour cette simulation, le chalut est un objet de l'environnement d'importance dterminante. En eet, la slectivit est directement lie aux chappements des poissons. C'est le maillage du chalut qui dtermine la possibilit de ces chappements ; cette contrainte mcanique s'ajoute les comportements des poissons qui gnrent des tentatives d'chappement. La modlisation doit donc prendre en compte un modle prcis du chalut et de son maillage. Ensuite, l'analyse de comportement montre des ractions des poissons devant la prise (nous rappelons que la prise est la masse de poissons capturs qui ne nagent plus mais sont entasss au fond de la poche) ; la prise ncessite alors d'tre modlise, notamment sa forme gomtrique. Rappelons galement avant d'entrer dans les dtails que les comportements suivant les espces sont mal connus. Cela est d principalement aux dicults d'exprimentation des observations.

behavioRis

va permettre de tester des hypothses comme la nage

en banc, l'attirance pour certaines rgions dans la poche, ou simplement l'eet de l'coulement. Pour le modle de poisson, nous reprenons le modle prcdemment tabli dans l'application prcdente (pour ce qui est du modle biomcanique) ; nous allons voir comment l'adapter son nouvel environnement.

2.2.1 Le chalut
A Modle mcanique
Le modle de chalut utilis a t dvelopp dans le cadre du projet un modle statique qui utilise la

mef

premecs.

C'est

(Mthode des Elements Finis) pour calculer la

gomtrie du let d'aprs le maillage (dimension et topologie des mailles), le poids de la prise, et l'assemblage des direntes parties de let composant le chalut (Priour, 1999). Un exemple de poche est donn gure 3.4 page 115.

Figure 3.4

 Modle de poche de chalut par mef

Le principe de ce modle est de remplacer le maillage rel du chalut par un maillage

behavioRis

115

Chapitre 3  Application : simulations de comportements de poissons

abstrait triangulaire, et d'appliquer les forces physiques pour calculer la forme gomtrique

3d

obtenue. Nous notons une

maille

pour le let rel, et un

lment

pour une

maille abstraite du modle. Cette dirence est faite car, suivant la nesse de la triangulation utilise, un lment peut reprsenter une maille relle, une partie de maille ou encore un ensemble de mailles. Le rsultat du calcul du modle dnit pour chaque lment ses coordonnes mais aussi l'ouverture de mailles relles, ncessaire pour dterminer si un poisson est physiquement apte est illustre par la gure 3.5 page 116.
3

traverser la maille. Cette ouverture de maille

B A v O u

C
 Modle du chalut : mailles de let et maille abstraite. Le maillage rel du chalut est dessin en vert (exemple ici de maille losange). Un lment de la triangulation est reprsent par le triangle ABC . A l'intrieur de chaque lment, l'ouverture de maille relle est dnie par le couple de vecteurs ( , ). u v
Figure 3.5

Le modle brivement prsent est un modle global pour le chalut entier ; nous n'en utiliserons que la partie concernant la poche, mais le procd est gnral. Suivant l'chelle (temporelle) de simulation, un modle statique de chalut est susant. Si on veut simuler la dformation du chalut, il faudra prvoir un modle dynamique (qui peut tre obtenu rapidement par recalcul du modle statique prcdent car celui-ci est une bonne approximation de la situation dynamique). Avec ce type de modle dynamique pour le chalut, l'inuence de l'augmentation de la prise sur les possibilits d'chappement pourrait tre introduite (quand la prise change de poids ou de forme, les ouvertures des mailles relles ne sont plus les mmes). De mme, il serait intressant de tester l'inuence de l'tat de mer qui dforme dynamiquement la forme du chalut. Aucun modle d'coulement n'a t introduit car aucun modle n'est disponible ce jour. Cependant nous utiliserons pour la simulation un courant global dni par des quations temporelles sur les trois axes pour simuler une certaine dynamique des conditions environnementales. Pour modliser cette poche dans

behavioRis ,

nous utilisons directement le maillage

abstrait comme approximation de la forme gomtrique. Une maille de chalut dans

havioRis

be-

correspond alors un lment triangulaire associ une ouverture de maille.

Cette approximation n'est pas abusive puisque l'on peut paramtrer le modle mcanique pour qu'un lment ne recouvre pas plus de surface qu'une maille relle. Une premire solution pour modliser le chalut dans

behavioRis

est de crer un objet de la simulation

Un exemple de modle de calcul de possibilit pour un poisson de traverser une maille est donn par Herrmann (2005) ; parmi les paramtres, on trouve les caractristiques biomtriques du poisson mais aussi les dformations possibles du let suivant la matire et le poids de la prise.

116

Ludovic Coquelle

premecs-II

pour chaque maille de la poche. Cette mthode est facile mettre en uvre mais peu ecace pour le calcul du rendu et de la simulation (un nombre lev d'objets pause les problmes de perception). La seconde solution, que nous avons choisie, est d'utiliser la triangulation interne aux primitives de reprsentation un seul objet situ en un point !

3d

d'un objet. Se pose alors le

problme de la perception, car la poche se voit reprsente dans l'environnement comme

B Perception
Un poisson doit percevoir les direntes mailles, mme si la poche est modlise par un seul objet. Pour cela, nous utilisons la possibilit sous

behavioRis

d'indexer leur

triangulation 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 rpondre au problme de perception, mais en introduisant des hypothses fortes. Le comportement mal connu nous oblige introduire de telles hypothses. La premire 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 est modlis travers un

Filter

spcialis (

cf

code 3.6 page 117 lignes 1 5) qui remplace

la liste d'objets perus par leurs rponses l'indexation spatiale (ici, les

50

plus proches

Trawl

voisins de l'individu, c'est--dire les

50

mailles les plus proches du poisson). Un objet

doit donc tre capable de rpondre une requte d'indexation spatiale, ce qu'il

fait en rpondant une liste d'objets de type

Mesh

qui possdent les proprits d'ouver-

ture de maille (synthtise sous forme d'une proprit moyenne des normes des vecteurs d'ouverture).

size

que l'on a choisie comme la

La seconde hypothse de perception suppose que le poisson est conscient de son orientation dans l'espace, c'est--dire que les perceptions peuvent porter une smantique d'orientation comme au dessus. Ceci est modlis par le mme

Filter

(voir les lignes 6

10) , mais avec une requte spatiale sur une bote centre sur le poisson (ici la bote a une largeur quivalente la demie longueur du poisson dans les deux direction une taille de 1:

et

y,

et

3m

en

z,

ce qui correspond la perception des mailles au dessus de lui).

Perception nnEmeshes: Trigger Clock(IFH) Detector FieldOfView(distasxpD speiesa4rwl4) 3: 4: Filter SpatialIndex(querya4xx4D naSH) 5: End 6: Perception upEmeshes: 7: Trigger Clock(IFH) 8: Detector FieldOfView(distasxpD speiesa4rwl4) 9: Filter SpatialIndex(querya4rnge4D naSHD xalengthGPD yalengthD zaQ) 10: End
2:
Code 3.6

premecs bbdl

: modle de perception des mailles

behavioRis

117

Chapitre 3  Application : simulations de comportements de poissons

2.2.2 La prise
La prise (l'ensemble de poissons qui ne nagent plus et sont entasss au fond du let) ncessite galement d'tre modlise, car les poissons pris au pige dans la rallonge semblent driver puis nager devant la prise (et donc la percevoir). Le modle de prise utilis est celui associ au modle de chalut. Elle est dnie comme le volume compris entre le fond du let et la surface imaginaire d'une ellipsode, dont le modle nous donne les centres, les rayons et une ligne de front derrire laquelle cette dnition est valide. La ligne de front est dessine d'un trait rouge vertical sur la gure 3.4 page 115 : la prise commence droite de cette ligne et est comprise entre le let et les points marqus d'une croix rouge. La prise, dans l'environnement

behavioRis , est un objet complexe au mme titre que

la poche et pourrait utiliser la mme modlisation (un objet triangul index). Cependant, la solution adopte hrite d'une version antrieure du framework dans laquelle ces objets indexs n'existaient pas. Nanmoins elle exhibe la possibilit d'extension du framework. En fait, la prise est actuellement reprsente par un objet de l'environnement, dont la forme gomtrique est dnie extrieurement de manire quelconque (pour la reprsentation, nous avons cr un solide correspondant la description ellipsodefond-de-chalut). Les objets tant tous situs, il est toujours possible pour les poissons de dtecter le centre de notre objet prise quelle que soit sa forme par un dtecteur solution consiste en la cration d'un composant forme les proprits de position spatiale d'un objet

Filter spcialis pour la prise qui transCatch par celle du point de la prise le

FieldOfView .

Ensuite, la

plus proche de l'animat qui peroit. Encore une fois, nous introduisons l'hypothse que les poissons sont capables de percevoir le point de la prise le plus proche d'eux mme. Le code 3.7 page 118 prsente ce modle. L'algorithme utilis pour le calcul du point le plus proche d'un ellipsode est repris de (Eberly, 2001).

Perception th: Trigger Clock(IFH) Detector FieldOfView(distaHFSD speiesa4gth4) 3: 4: Filter CatchNearestPoint() 5: End
1: 2:
Code 3.7

premecs bbdl

: modle de perception de la prise

2.2.3 Comportements des poissons


Comme nous l'avons dj mentionn, la modlisation de poisson reprend le modle de l'application prcdente (pour le modle biomcanique), auquel on ajoute les caractristiques de perception du chalut et de la prise. Il faut maintenant modliser les rgles comportementales associes cet environnement et ces nouveaux lments. Pour cette modlisation, aucun thogramme complet n'a t pralablement tabli. Au contraire, nous nous servons de

behavioRis

pour construire un comportement trs mal connu : le

simulateur permet de tester des hypothses de comportement. La dmarche suivie a t

118

Ludovic Coquelle

premecs-II

d'analyser des squences vidos d'observation en mer , d'en extraire quelques caractristiques de comportement avec un expert, de les transcrire en simulation et de proposer le rsultat au mme expert. Les comportements tests ici sont ceux des

aiglens.

A Nage dans le chalut


Le premier comportement qui nous a intresss est celui de la nage dans le chalut. En eet, avant de nir dans la prise, la plupart des poissons semblent nager en suivant le chalut, de l'embouchure en passant par la rallonge pour nir dans la poche. Chaque espce possde une sorte de chemin privilgi de l'embouchure la poche : certains poissons restent dans le haut du chalut, d'autres vers le bas. Des points xes (relativement au dplacement d'eau) semblent servir de repre momentanment des poissons : par exemple l'entre du chalut, certains nagent en gardant une distance constante par rapport une partie du let (les premires mailles), puis se laisse rattraper (drivent progressivement vers le fond du chalut). Dans la poche cependant, le comportement consiste essentiellement viter le let et la prise (le comportement de nage en haut ou en bas suivant les espces persiste nanmoins). Le comportement de se tenir une distance d'un objet rfrence (nager sa vitesse) a t test en introduisant dans le chalut des cibles articielles que le poisson peroit et tente de suivre. La modlisation est simple puisqu'il sut d'introduire dans le chalut des objets cibles, que les poissons puissent percevoir la cible la plus proche (avec un dtecteur de type

FieldOfView

dans une perception nomme

target),

et de ragir avec une rgle

comportementale qui consiste ajuster sa vitesse et son orientation celle de la cible :

if trgetFdistne is pollowle then xpeed is trgetFxpeed and orienttionith is trgetForienttionith and orienttionw is trgetForienttionw end
Cette voie a t assez vite abandonne car ces points-xes ne semblent pas exister dans la poche (trop peu d'informations sont diponibles pour en construire un modle raliste). 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'vitement du let a t modlis de manire trs directe : quand un poisson peroit une maille trop proche de lui, il prend la direction oppose (raction partir de la perception

meshes ).

nn-

Fuir la prise ncessite des rgles un peu plus compliques : non seulement le

poisson l'vite mais en plus il acclre sa nage quand il la peroit trop prs derrrire lui. Pour tester si la prise est derrire, on doit tester l'angle de position latral avec deux cas possibles : proche de

ou proche de

Quant au comportement de nage dans le

haut de la poche (ou dans le bas), nous avons dit qu'il ncessite de faire l'hypothse que le poisson peroit son orientation globale dans l'espace (il connait la verticale terrestre via les otolithes). A partir de cette hypothse, il peut percevoir le let au dessus de lui (perception

up-meshes )

et ragir en fonction. Tout ceci est illustr par l'extrait de code

3.8 page 120.

Les enregistrements, provenant du frs (Fisheries Research Services, http://www.marlab.ac.uk/) anciennement MarLab (Marine Laboratory), ont t tudis en collaboration avec cet tablissement.

behavioRis

119

Chapitre 3  Application : simulations de comportements de poissons

Pattern avoid-meshes: if nnEmeshesFdistne is ooxerwesh then 3: pith is oppositeAngle(nnEmeshesFpith) 4: and yw is oppositeAngle(nnEmeshesFyw) 5: end 6: End 7: Pattern avoid-catch: 8: if thFyw is fkwrd then xpeed is evoidingpeed end 9: if thFyw is fkwrdv then xpeed is evoidingpeed end 10: if thFyw is snprontyf then 11: xpeed is evoidingpeed 12: and pith is oppositeAngle(thFpith) 13: and yw is oppositeAngle(thFyw) 14: end 15: End 16: Pattern go-to-top: 17: if upEmeshesFdistne is poopr then pith is globalPitch(pith) end 18: End
1: 2:

Code 3.8

premecs bbdl

: vitement des objets de l'environnement

B Nage en banc
Le comportement de nage en banc semble trs prsent l'intrieur du chalut, contrairement l'application prcdente o la densit de poisson ne permet pas de regroupement (et les observations ne mettent en vidence aucune raction entre individus). Par contre dans la poche, la formation spatiale peut avoir de l'inuence sur les possibilits d'chappement des individus, et donc sur la slectivit. La nage en banc a souvent t tudie par rapport l'chappement vis--vis d'un prdateur. Zheng et al. (2005) proposent un

ibm dans lequel ils mettent en vidence des ractions innes expliquant certaines conguration de fuite. Dans la poche du chalut, c'est notamment parce que le banc est ballott par le courant (avec l'inuence des pulsations dues au mouvement de la poche) que sa conguration peut tre importante. La modlisation adopte reprend bien entendu le principe des

2.3 page 30.

behavioRis

boids expos en section

se prte naturellement ce type de modle, comme on peut le

lire code 3.9 page 121. En changeant quelques prmisses ou conclusions de rgles, il est ais de tester l'inuence des modles de stimuli (p. ex. ragir en fonction de l'individu le plus proche, d'une distance moyenne, d'une distance maximum) ainsi que des rponses adoptes (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 prsentent

Bajec et al. (2005).

C Tentative d'chappement
Les comportements dcrits susent simuler des dplacements de poissons dans la poche du chalut. Le ballottement du banc semble raliste et provoque une dynamique

120

Ludovic Coquelle

premecs-II

Behavior Fuzzy() oids: Linguistic : 3: ooxer is 4downrmp@HFID HFPA4 4: xer is 4trpeze@HFID HFPD HFSD HFTA4 5: oopr is 4uprmp@HFSD HFTA4 6: End 7: Pattern attraction: 8: if min(neighoursFdistne) is oopr then 9: orienttionw is mean(neighoursFyw) 10: and orienttionith is mean(neighoursFpith) 11: end 12: End 13: Pattern repulsion: 14: if min(neighoursFdistne) is ooxer then 15: orienttionw is oppositeAngle(min(neighoursFdistne)Fyw) 16: and orienttionith is oppositeAngle(min(neighoursFdistne)Fpith) 17: end 18: End 19: Pattern alignment: 20: if mean(neighoursFdistne) is xer then 21: orienttionw is globalYaw(mean(neighoursForienttionw)) 22: and orienttionith is globalPitch(mean(neighoursForienttionith)) 23: end 24: End 25: End
1: 2:
Code 3.9

premecs bbdl

: nage en banc (boids)

de mouvement semblable aux observations. Il reste cependant modliser les tentatives d'chappement. C'est le point le plus dlicat du modle, car les observations et les connaissances actuelles ne susent pas dcrire les stimuli qui provoquent chez un poisson une envie de s'chapper. Les vidos montrent des tentatives : un poisson quitte soudainement sa position dans le banc, se dirige vers un endroit du let et tente de passer au travers. Les observations permettent de penser que ce sont les individus plutt sur la priphrie du banc qui tentent de s'chapper, et parmi ceux-ci, ce sont les plus haut placs dans la poche (il tente de s'chapper par la partie suprieure de la poche). Pour modliser les tentatives d'chappement, plusieurs hypothses peuvent tre poses. La premire 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 susamment ouverte. La deuxime hypothse est qu'ils ressentent la vitesse relative de l'eau, et ainsi prfrent tenter de s'chapper quand le courant les pousse (le courant change alternativement de faible fort pour chaque pulsation de la poche). Une dernire hypothse est de prendre en compte un tat de fatigue gnrale de l'individu. D'un point de vue technique (ou simulation), la tentative d'chappement a t modlise comme une action atomique. En fait, le dplacement du poisson vers le let est modlis par un contrle continu (au mme titre que la nage dans le chalut) mais l'chappement en lui-mme est atomique : quand il est dclench par ses stimuli (distance et

behavioRis

121

Chapitre 3  Application : simulations de comportements de poissons

Figure 3.6  Simulation d'un banc de poissons (50 individus) nageant devant la prise dans la poche de chalut. La poche est en bleu transparent (ni les lments ni les mailles ne sont apparents ici). La prise est en vert transparent (on voit apparatre les deux surfaces qui la dnissent : le fond du chalut l'extrme droite, et la surface d'un ellipsode). L'excution s'eectue en temps rel pour la simulation d'une centaine d'individus, sachant qu'un individu ncessite le calcul de 6 activits qui sont (1) la perception du voisinage avec une frquence de 2Hz, (2) la perception des mailles et de la prise avec une frquence de 5Hz, (3) un comportement de nage libre avec une frquence de 5Hz, (4) un comportement d'vitement des mailles avec une frquence de 5Hz, (5) un comportement de boids avec une frquence de 5Hz, et nalement (6) un contrle de dplacement avec une frquence de 5Hz.

ouverture de la maille cicle), il provoque l'arrt de toute activit de l'animat, et le positionne un endroit prcis de l'environnement (derrire le chalut). Ce type de modlisation a uniquement pour but de pouvoir compter le nombre de poissons chapps. La rgle s'crit simplement sous la forme :

if

then end

nnEmeshesFdistne is ispehist and nnEmeshesFsize is ypen performFespe@nnEmeshesA

is yne
rendu raliste
5

La simulation des comportements dcrits donnent un en concurrence.

. Il est intressant

de pouvoir les simuler individuellement, mais aussi de voir leur interactions quand ils sont Pour aller plus loin dans la modlisation de ce processus, plusieurs perspectives sont envisages. D'abord une perspective de validation, qualitative auprs d'experts du comportement dans un premier temps, puis quantitative par mesure de slectivit compares sur un parcours de pche rel et simul. Ensuite, pour augmenter le modle, l'intervention d'une variable interne modlisant la fatigue physique semble tre un paramtre dans l'organisation des comportements. Outre le fait d'intgrer d'autres modles mcaniques de prise, de ot et de chalut dynamique, la simulation peut aussi s'tendre pour traiter le mme problme de slectivit mais adapt au chalut complet. L'tude des comportements vis--vis d'un chalut semble galement un point important du processus de capturabilit (avant l'entre des poissons dans le chalut), qui pourrait tre trait comme une extension

Quelques enregistrement vidos de simulations sont disponibles au tlchargement l'adresse suivante: http://www.enib.fr/~coquelle/En/video_premecs.html

122

Ludovic Coquelle

Bilan

de notre modlisation.

Bilan
Les deux exemples prsents ont montr l'utilisabilit de

behavioRis ,

que ce soit la

plateforme de simulation ou le langage de description de comportement ractif. La premire application est une simulation des comportements de poissons de fond en raction au passage d'un de leurs comportements ont t formattes en deux parties, l'une pour le comportement dit normal et l'autre rserve la raction face au

rov. Cinq espces sont modlises : les descriptions linguistiques rov. Pour chaque partie, les stimuli

sont mis en vidence et le comportement est dcrit brivement. Cette organisation de leurs thogrammes a permis de crer facilement les modles dans le langage puis de les simuler dans un environnement

3d

behavioRis ,

simple. A partir de ces simulations, nous

nous sommes attachs dcrire un protocole de test de reconnaissance en aveugle : des experts des poissons de fond devaient reconnatre les espces en fonction de leurs trajectoires de dplacement (les autres informations comme la taille, le type de nage ou la densit de population ont t volontairement exclues des donnes simules). Malgr le petit nombre de jeux d'exprience, les taux de reconnaissance (38.2% de bonnes rponses en moyenne, avec un maximum

75% pour l'espce la mieux reconnue et un minimum de

0%

pour une espce jamais reconnue) apportent quelques lments pour une validation La deuxime application prsente une utilisation un peu dirente de

qualitative.

behavioRis . Elle

consiste simuler des comportements individuels et collectifs de poissons l'intrieur de la poche d'un chalut de pche. L'environnement simuler est plus complexe, puisque le chalut doit tre modlis (avec une ouverture dtermine pour chaque maille) ainsi que la prise (les poissons attraps qui restent inertes au fond du let). De plus, les conditions environnementales physiques sont extrmement changeantes, notamment cause des perturbations hydraudynamiques. A cette dynamique de l'environnement s'ajoutent les dplacements actifs des poissons diciles identier. Les comportements dans le chalut sont donc mal connus car l'observation y est extrmement dlicate (peu d'clairage, forte turbidit, environnement conn et trs dynamique).

behavioRis

a t utilis ici pour

tester des hypothses de comportement (nage dans le chalut, nage en banc, tentatives d'chappement). Le langage a permis de dvelopper ces hypothses comportementales sparment pour construire ensuite un modle global. L'excution de ce modle s'eectue en temps rel pour la simulation d'une centaine d'individus, ce qui permet de mettre au point les comportements par rapport ceux observs sur les enregistrements vidos. Dans les deux applications, nous avons exprim puis modlis des comportements ractifs. Les rgles comportementales utilisent des termes proches de ces descriptions. Dans la premire application,

behavioRis

a montr son utilit pour reproduire des com-

portements connus ; dans la seconde, il a servi d'outil pour construire un modle de comportement. Ces deux types d'application illustrent son utilisabilit dans un travail de modlisation comportementale base sur la dnition d'animat dcrite par les thologistes.

behavioRis

123

Chapitre 3  Application : simulations de comportements de poissons

124

Ludovic Coquelle

Conclusions et perspectives

Bilan
Rappel de l'objectif initial
Le sujet de recherche abord au cours de cette thse concerne la simulation de comportements ractifs inns d'animaux dans leur environnement. La problmatique dans laquelle nous nous sommes placs est celle de l'tude des comportements d'entits autonomes en interaction dans un univers virtuel qui relve du contexte des modles individucentrs (

ibm).

La modlisation qui nous a intresse est celle de l'thologie qui aborde la description du comportement animal d'un point de vue externe l'individu. Notre ambition tait de fournir un outil pour simuler des thogrammes, ce qui sous-entend un modle d'excution de la simulation ainsi qu'une mthode pour construire une simulation sur la base d'une description linguistique de comportement.

Rsum de la proposition
Le premier chapitre a prsent des problmatiques qui se recoupent fortement : d'une part la dnition de modle comportemental a t traite du point de vue des sciences naturelles (de la psychologie au behaviourisme), et d'autre part ce mme objet de modlisation a t prsent sous le point de vue des sciences articielles (incluant les modles physiques ou simuls). Ceci nous a permis de cerner le niveau d'observation (et de description) choisi pour un modle d'animal : l'animat en temps qu'interface entre vnements dclenchants (

eoa, ioa)

et leurs consquences (

ioc, eoc).

Nous nous sommes alors in-

tresss aux concepts-clefs de l'thologie qui dnit des rgles causales de comportement partir d'lments observables. C'est cette approche base de rgles que nous avons situe par rapport deux aspects de la problmatique de simulation de comportements : la construction et l'excution du modle, supporte par l'architecture d'agents ractifs. Pour dnir un modle simulable, cette architecture doit prciser une manire d'abstraire les donnes d'entre du mcanisme comportemental ainsi que ses sorties associes son excution dans l'environnement. Or la structure d'excution intrinsque chaque architecture inuence la modlisation, et donc la manipulation de la simulation en temps qu'outils d'tude du comportement. Plusieurs axes ont t retenus pour spcier une architecture qui satifasse l'expression d'une modlisation thologique simulable :  Les dclencheurs des rgles comportementales sont les stimuli, issus des perceptions et de l'tat interne de l'individu. L'architecture doit fournir l'abstraction des donnes de l'environnement simul pour construire ces stimuli, et donc orir une formalisation des perceptions, avec leurs smantiques, et de certaines volutions de

behavioRis

125

Conclusions et perspectives

variables intermdiaires.  Pour permettre plusieurs types de modlisation, l'organisation des dirents comportements ne doit pas tre une contrainte du modle d'excution qui ne doit pas introduire de nouvelles hypothses dans le modle thologique reproduit.  Enn, la simulation doit permettre une transcription des descriptions linguistiques imprcises et partielles de comportements. Elle doit donc proposer un modle numrique et continu, en exhibant une interface d'utilisation en tant qu'outil d'tude du comportement par exprimentation. Le deuxime chapitre dcrit notre proposition d'un outil de description de comportements pour la simulation. Le niveau de modlisation adopt a conduit diviser le comportement global en plusieurs lments pour pouvoir les spcier sparment. Mme si l'intrt du modlisateur est centr sur les rgles comportementales, la simulation suppose une ralisation des ractions comportementales : les entres de l'animat (ses perceptions et son tat interne) sont les sources des stimuli qui engendrent des rponses dont la ralisation est supporte par un modle biomcanique.

behavioRis

prsente alors

une architecture base de composants pour dcrire chacun des quatre aspects du modle : les perceptions, l'tat interne, les rgles comportementales et la partie contrle. Le comportement global est la consquence de l'xcution de ces divers composants dans un ordre alatoire chaque cycle. Un soin tout particulier a t apport la ralisation d'un composant de rgles comportementales utilisant la logique oue. Cette dernire permet en eet de traduire des donnes linguistiques imprcises de manire simple, et l'infrence oue s'adapte particulirement l'expression des rgles comportementales des modles thologiques. Enn, le troisime chapitre vient appuyer notre proposition en l'illustrant par des applications concrtes de notre outil. Ce sont toutes les deux des simulations de dplacements de poissons (dans un environnement en

3d).

La premire modlise des com-

portements de cinq espces de poissons de fond ragissant au passage d'un reproduire des comportements observs

rov

dans

leur environnement proche. Cette application illustre l'utilisation du simulateur pour

in situ dans de bonnes conditions. Un test de reMinsky


(Minsky, 1965, cit dans le chapitre

connaissance des espces par leur comportement simul a t soumis des experts de ces poissons et les rsultats montrent que l'information comportementale est bien traduite par le simulateur. Dans la dmarche de

1), la simulation  de l'objet modle A  du comportement des poissons observs  objet A  permet aux thologues d'utiliser ce modle A pour tudier les mmes poissons

dans des conditions direntes : dans le cadre du projet, il est question d'utiliser le

simulateur pour tudier l'inuence du

rov

sur l'estimation de population. La seconde

application prsente elle une utilisation dans un environnement complexe, et illustre l'extensibilit de l'architecture. Les poissons sont cette fois l'intrieur d'une poche de chalut. Les conditions d'observations sont ici trs diciles, et les observations rsultantes sont fugaces et parcellaires. Parmi les comportements ont t modliss la nage dans le chalut, les tentatives d'chappement et la nage en banc avec le modle des en des dplacements relatifs par rapport au chalut, contextes.

boids.

Dans

cet environnement trs dynamique, o les comportements actifs des poissons rsultent

behavioRis

est utilis pour tester

des hypothses en observant par simulation les dirents comportements sous dirents

126

Ludovic Coquelle

Perspectives
La ralisation de ce travail de thse a ouvert dirents axes de rexion et ore plusieurs perspectives quant la simulation de comportements ractifs d'animaux selon une approche thologique. Nous les citons dans l'ordre de leur rapprochement vis--vis de la solution que nous avons propose.

Amliorations directes
sques de l'outil son utilisabilit),

behavioRis .

Dans cette catgorie, nous regroupons les volutions intrinOutres des considrations d'ingnierie (comme l'adpeut tre tendu d'un point de vue fonctionnel. Le

jonction d'une interface graphique au langage qui augmenterait considrablement

behavioRis

langage base de composants, adapt une description suivant le paradigme objet, pourrait intgrer une smantique d'hritage qui permettrait par exemple de reprendre les classications suivant les familles et espces par hritage de comportements. Un soin particulier est apport dans notre proposition la description des causes comportementales et de leurs rponses plutt qu' l'expression de la ralisation de l'action. Un point dicile de l'architecture, charnire entre le modle et son excution, est la description du modle biomcanique ; une approche fonctionnelle ractive (FRP), comme utilise en robotique, semble tre un axe de recherche adapt cette description (Boidin et Julliard, 2005).

Renforcer le rapprochement entre modlisation et simulation

Si

behavioRis

se

veut tre une passerelle entre l'thogramme et la simulation, aucun eort n'a t entrepris visant l'automatisation (mme partielle) de cette dmarche. Direntes approches peuvent tre envisages en ce sens. La premire imagine pourrait tre constitue d'un assistant de modlisation (incorporant une sorte de guide mthodologique) qui aurait dirents rles comme par exemple dtecter l'imcompltude d'un modle (p. ex. vrier que toutes les proprits en conclusion de rgles comportementales dbouchent sur au moins un composant de contrle) ou soulever des incohrences de modlisation (p. ex. des rgles qui ne peuvent jamais tre actives). Cette approche doit tre en partie dynamique ( la modlisation et l'excution), et peut aborder dirents niveaux d'automatisation allant du signalement d'un problme la proposition d'une rsolution. Une approche dirente serait d'accompagner activement l'expert pour l'aider formaliser des comportements (Semp et al., 2005).

Extensions

L'excution de modles complexes bas comportement peut galement ti-

rer prot des mthodes d'apprentissage (Zaera et al., 1996). Il est question ici des algorithmes d'optimisation et non du processus naturel d'apprentissage. Intgrer ce type d'approche dans l'architecture permettrait d'ajuster automatiquement les rgles comportementales (p. ex. pour paramtrer les valeurs oues utilises dans la dnition des stimuli avec un apprentissage volutionniste). Mais remarquons que ce processus va l'encontre de la dmarche qui nous a conduits laborer l'architecture, puisqu'il s'agit ici de ne pas excuter une description des comportements mais au contraire de seulement cadrer cette spcication pour apprendre des rgles (ou leur paramtrage) ; cependant, en prenant garde que l'apprentissage conserve l'intelligibilit des rgles initiales, il serait intressant de le considrer comme une aide la modlisation, avec une mthode qui consisterait en des cycles de modlisation alterns apprentissagespcication.

behavioRis

127

Conclusions et perspectives

En s'cartant encore de notre proposition, tout en restant bien entendu dans le sujet d'tude, il serait galement intressant de voir comment construire une couche cognitive associe l'architecture ractive pour modliser des comportements bass sur des infrences logiques. Il peut tre envisag de construire un module comportemental (un composant

Behavior

spcique) intgrant une construction de repr-

sentations symboliques et leurs traitements logiques.

128

Ludovic Coquelle

Annexe A Logique oue pour le contrle


Ce chapitre a pour vocation de prsenter les bases lmentaires de la logique oue et son application au contrle. De plus amples explications peuvent tre trouves dans (Bouchon-Meunier et Marsala, 2003). La logique oue est ne d'un besoin de reprsentation des connaissances intermdiaires entre les approches numriques et symboliques. Elle a t introduite par

Zadeh en 1965.

La logique oue est un sur-ensemble de la logique conventionnelle (boolenne) qui a t tendue pour introduire la notion de vrit partielle, avec un degr de vrit variant de compltement vrai compltement faux.

La notion d'ensemble ou


Pour dnir cette logique,

Zadeh

a propos le concept de sous-ensemble ou (Za-

deh, 1965), qui admet l'ide qu'un lment peut appartenir partiellement plusieurs ensembles.

Denition
Soit de

un ensemble dans l'univers du discours

peut tre dni soit par extension

U . Un sous-ensemble conventionnel C C = {x1 , x2 , , xn }, soit par intension l'aide

de sa fonction caractristique (ou fonction d'appartenance)

C : E {0, 1} C (x) = 1, x C 0, x C / F
se dnit par une fonction d'appar-

En gnralisant cette dnition, un ensemble ou tenance continue

F : E [0, 1]. e

De plus,

sera dit normalis si

maxxE (F (x)) = 1. e

Interprtation et exemple
Pour un lment

de

exemple, l'ensemble ou qui reprsente le concept Loin sur l'univers du discours de toutes les distances possibles

E , F (x) e R+

reprsente le

degr d'appartenance

de

F.

Par

peut tre dni par sa fonction d'appartenance

reprsente par la gure 1. Cette gure introduit galement les notations souvent utilises pour les fonctions d'appartenance dnies par morceaux sur des intervalles contigs.

Far g

behavioRis

129

Annexe A  Logique floue pour le contrle

membership degree

1 Near = down_ramp(2, 4) CloseTo6 = triangle(5, 6, 7) Approx8 = trapezoid(6, 8, 9, 14) Far = up_ramp(10, 14) 0 2 4 5 6 7 8 9 10
tels que

14

distance

Pour

x1 , x2 , x3 , x4

x1 < x2 < x3 < x4 , on a si x < x1 1, x2 x , si x1 x < x2 down_ramp(x1 , x2 )(x) = x2 x1 0, si x x2 si x < x1 0, xx1 , si x1 x < x2 up_ramp(x1 , x2 )(x) = x2 x1 1, si x x2 si x < x1 0, xx1 , si x1 x < x2 x2 x1 triangle(x1 , x2 , x3 )(x) = x x x33x2 , si x2 x < x3 0, si x x3 si x < x1 0, xx1 x x , si x1 x < x2 2 1 1, si x2 x < x3 trapezoid(x1 , x2 , x3 , x4 )(x) = x4 x x4 x3 , si x3 x < x4 0, si x x4
lments de

Figure A.1

 Exemples de fonctions d'appartenance caractrisant un ensemble ou.

Oprations entre ensembles


Les oprations sur les sous-ensembles ous tendent celles de la thorie des ensembles classiques. Pour deux ensembles ous

et

dnis sur

E,

les oprations de base sont :

L'intersection
et notes

A B,
)

dnie par un oprateur de

norme triangulaire (appeles t-normes

x E, AB (x) = e e min
est la plus

A (x), B (x) min A (x), B (x) e e e e

t-normes. L'union A B , dnie par un oprateur de co-norme triangulaire (appeles t-co-normes


des et notes

optimiste

) x E, AB (x) = A (x), B (x) max A (x), B (x) e e e e e e

max

est la plus

Le complment
.

AC ,

pessimiste

des

t-co-normes.

dni par la fonction d'appartenance :

x E, AC (x) = 1 A (x) e e

130

Ludovic Coquelle

La logique floue

Munie de ces trois oprations, la thorie des ensembles ous satisfait les mmes proprits que la thorie classique des ensembles, exceptes la non-contradiction (A A tiers exclu (A

= )

et le

AC

= E ).

La logique oue
La logique oue manipule des propositions oues, de la forme V est

2.1 Proposition oue lmentaire


D, o V
est une variable et

est une valeur oue de cette variable. En thorie des ensembles classiques,

la valeur de vrit d'une proposition

est quivalente la notion d'appartenance un

ensemble. Les ensembles classiques sont dans ce cas le support une logique bi-value (vrai ou faux), alors que les ensembles oues correspondent une logique continue value dans l'intervalle distance

[0, 1].

P la proposition D est Loin. Si la distance d0 est un lment de R+ , le degr de vrit de P est g (d0 ). Mais si la distance D est un ensemble ou, not alors D , la valeur de vrit Loin T de la proposition P correspond alors la valeur de similarit entre les deux ensembles D et Loin, traduit par D est similaire ` Loin. a La similarit, ou valeur de vrit de P , s'value comme le plus haut degr d'appartePour continuer l'exemple prcdent avec la notion de distance, posons

nance des objets communs aux deux ensembles, soit :

P : D est similaire ` Loin a T (P ) = supxR+ DLoin (x) e

2.2 Combinaison de propositions oues


Ces propositions logiques peuvent tre relies avec des oprateurs de composition, comme la conjonction ( signiant signiant la

et ), la disjonction ( signiant ou ) ou la ngation ( ngation ). Les dnitions de ces oprateurs en logique oue sont supportes
Zadeh). Soient P1 , P2 deux propositions,
leur degr de vrit respectifs.

par celles des relations entre ensembles ous. Nous ne prsentons ici que certains oprateurs utiliss couramment (issus des travaux de et

T (P1 ), T (P2 )

La conjonction oue (et) PP1 P2 = P1 P2 est dnie par une t-norme : minimum T (P1 P2 ) = min (T (P1 ), T (P2 )) produit algbrique T (P1 P2 ) = T (P1 ).T (P2 ) La disjonction oue (ou) PP1 P2 = P1 P2 est dnie par une t-co-norme maximum T (P1 P2 ) = max (T (P1 ), T (P2 )) somme algbrique T (P1 P2 ) = T (P1 ) + T (P2 ) T (P1 ).T (P2 ) La ngation ou PP1 est dnie par
T (PP1 ) = 1 T (P1 )

2.3 L'infrence oue


L'infrence consiste interprter une rgle logique est

de la forme si

est

alors

C ,

que l'on crit

V C.
131

behavioRis

Annexe A  Logique floue pour le contrle

En logique oue, le

modus ponens gnralis


R

(mthode de raisonnement utilise en

contrle) consiste appliquer une rgle O est

en prsence d'une observation

qui ne lui

convient qu'imparfaitement. Par exemple pour l'observation I est

, la conclusion

 sera d'autant plus proche de O est

C

que

et

seront similaires. De

manire plus formelle, l'application d'une rgle oue est une composition de propositions oues par un oprateur d'implication not le

modus ponens

L'valuation d'une rgle

R:V C

par

a pour valeur de vrit :

R (i, o) = (V (i), C (o))


de

Kleene-Dienes
:

Il existe plusieurs dnitions de l'oprateur d'implication. Par exemple, l'implication gnralise l'quivalence classique entre les propositions

v c

et

v c

(KleeneDienes) : R R [0, 1] (i, o) = max(1 v (i), c (o)) C


si

tre gal

modus ponens classique, c'est--dire que C doit V. En contrle, l'oprateur peut tre une pseudo-implication (qui respecte les caracest choisi de manire respecter le

est gal

tristiques de l'implication mais ne satisfait pas entirement la dnition). L'oprateur de

Mamdani

crte la conclusion en fonction de la valeur de vrit de la prmisse, et se

dnit simplement par l'oprateur par l'oprateur produit.

min. L'oprateur de Larsen crase cette conclusion

Le contrle en logique oue


Zadeh proposa l'ide de formuler des algorithmes de contrle en utilisant des rgles IFTHEN et l'infrence oue (Zadeh, 1973). Un contrleur ou est alors un

logiques  de sortie.

ensemble de rgles qui, partir de variables d'entre, infrent sur les valeurs de variables

Principe
La premire tape du contrle pour un systme rel est d'encoder les entres sous la forme de variables oues. En simulation, il n'y a pas d'incertitude sur les valeurs, et souvent l'encodage d'une variable relle en un singleton ou est susant et simplie les calculs. Une valeur caractristique

x0 R

est alors encode par le singleton dni par sa fonction

x0 : R [0, 1] x0 (x) =
Ensuite, il faut choisir les oprateurs ( Par exemple, la mthode de

0, si x = x0 1, sinon

et, ou) qui permettent de composer les propomin


pour l'impli-

sitions oues, ainsi que l'oprateur d'implication, pour paramtrer le calcul d'infrence.

Mamdani

consiste choisir l'oprateur

cation et la conjonction. Ainsi, pour une rgle

ALORS

est

C ,

que l'on peut noter

R de la forme SI X est A ET Y est A B C , la fonction caractristique de

l'ensemble solution est dnie par :

R (z) = (AB (x, y), C (z)) = min(AB (x, y), C (z)) = min(min(A (x), B (y)), C (z))
132 Ludovic Coquelle

Le contrle en logique floue

Par la mthode de

Larsen,

on obtient :

R (z) = min(A (x), B (y)) C (z)


L'tape suivante du contrle passe par l'oprateur d'agrgation as also, qui combine le rsultat de plusieurs rgles oues qui concluent sur la mme variable mthodes prcdentes, le choix est port sur l'oprateur

Z.

Dans les

max. Z,
l'oprateur

un oprateur de dfuzzycation. Par exemple, pour dfuzzier

maximum extrait la valeur relle z pour laquelle e est la plus grande ; l'oprateur centre de l'aire Z (coa) extrait l'abscisse z telle que les surfaces dnies par e gauche et droite de z Z
aient la mme aire.

Enn, le contrleur extrait une valeur relle partir du rsultat de l'infrence oue par

Exemple
On suppose un systme de contrleur ou par la mthode de

Larsen : l'implication
D.
Les variables

est eectue par l'oprateur produit, la conjonction de proposition est galement calcule par un produit, et l'agrgation de rgles est faite par l'oprateur maximum. L'entre unique

de ce contrleur est encode par un singleton ou

linguistiques sont dnies par des fonctions linaires ( Soit un contrle dni en deux rgles :

cf

gure A.2 page 134).

R1 : if D is TooNear then V is Low R2 : if D is CorrectDist then V is Quick Le calcul d'implication donne :

V,R1 = TooNear (D).Low V,R2 = CorrectDist (D).Quick


L'oprateur d'agrgation combine ces rsultats, puis par dfuzzycation on obtient la commande relle :

V = max(V,R1 , V,R2 ) v = COA(V )

behavioRis

133

Annexe A  Logique floue pour le contrle

possibility 1.0

possibility

T ooN ear

CorrectDist

T ooF ar

1.0

Low

Quick

0.0 d

distance

0.0

VR1

VR2 = CorrectDist (d)Quick = T ooN ear (d)Low (VR1 , VR2 )

speed

V =
1.0

Figure A.2

 Un exemple simple d'infrence oue (mthode de Larsen)

134

0.0

R1 : D is T ooN ear V is Low R2 : D is CorrectDist V is Quick

speed

Ludovic Coquelle

Annexe B Indexation spatiale


Ce chapitre a pour but de prsenter l'indexation spatiale dans notre cadre d'utilisation (retrouver un objet concepts de bases.

3d

dans notre scne de simulation). Loin d'tre exhaustif sur les

solutions, il prsente les dirents problmes traits par cette indexation, et introduit les

Prsentation
Par indexation spatiale, nous dsignons ici l'ensemble des mthodes qui permettent

de stocker et de retrouver ecacement une donne par rapport ses coordonnes dans un espace multidimensionnel. Dans le cadre de notre application, cet espace est trois dimensions, mais notre discours se gnralise pour un nombre quelconque de dimensions. Nous nous intressons plus particulirement aux structures de donnes sous-jacentes. Ces structures sont utilises aussi bien pour les dans les moteurs de recherche.

sig

(Systme d'Information Gographique), l'in-

fographie, la visualisation de donnes scientiques ou l'indexation de documents comme

Objectifs de l'indexation spatiale


Le but de ces index et de rpondre ecacement des requtes spatiales. Celles-ci sont exprimes en fonction d'oprateurs topologiques ou de distances.

range query

est un exemple de requte topologique. En rponse cette requte, l'index

doit retrouver les objets contenus (quelque fois approximativement) dans la rgion concerne. Ce type de requte fait apparatre la manire dont les objets sont dnis : soit ce sont des points, soit ce sont des botes englobantes de l'objet rel, auquel cas les problmes de recouvrement apparaissent.

k-NN query

utilise un oprateur de distance. La rponse ce type de requte est

l'ensemble des

objets indexs les plus proches (

Nearest Neighbours )

d'un point

donn. C'est la notion de distance qui apparat cette fois, et cette distance sera importante dnir dans le cas de l'indexation des botes englobantes. Ces structures d'indexation sont souvent utilises pour le traitement de bases de donnes. Elles sont donc optimises pour l'accs rapide aux donnes en mme temps que le calcul des requtes spatiales. Elles se composent alors d'une mthode de stockage et d'algorithmes pour insrer, supprimer ou modier un objet.

behavioRis

135

Annexe B  Indexation spatiale

Mthodes d'indexation
Direntes solutions se sont proposes pour rpondre aux direntes contraintes (ob-

jets mobiles, dispersion dans l'espace) de chaque application. Par exemple, pour un ensemble d'objets indexer, si ces objets sont immobiles (la structure de donne est statique) et que la seule requte spatiale est une recherche de voisin, une triangulation de

Delaunay

est possible.

2.1 Indexer des objets mobiles !


Dans des cas moins restrictifs o l'ensemble des objets n'est pas xe, le problme se pose alors dans la mise jour de ces structures pour suivre le dplacement des objets. On parle alors

d'indexation spatio-temporelle.

Optimises pour l'accs aux donnes, les

index proposent souvent des algorithmes complexes pour modier un objet. Dans le cas d'objets mobiles, comme par exemple les bases de donnes des oprateurs de tlphonie mobile ou comme dans notre cadre d'objets qui se dplacent dans une scne en ncessaire pour les mettre jour. Jensen et altenis (2002) listent plusieurs solutions permettant d'amliorer le comportement de ces structures dynamiques. Nous les classons en trois catgories : 1.

3d,

le

temps gagn pour l'accs aux donnes peut devenir ngligeable par rapport au temps

Optimisation des accs mmoire.

Dans le cadre des bases de donnes spa-

tiales, c'est l'optimisation des accs au mdium de stockage qui est important (plus que le calcul des algorithmes). L'utilisation de techniques utilisant des tampons de mmoire, ou exploitant toute la mmoire disponible, permet d'amliorer le comportement dynamique d'un point de vue accs aux donnes. Ces mthodes sont particulirement destines aux index de grande taille. 2.

Techniques de prdiction. Ce type de technique visent limiter le nombre de


modications de la structure de l'index. Par exemple, une mthode un peu analogue au

dead-reckoning,

est d'approcher les dplacements des objets par des fonctions

(souvent polynmiales) pour prvoir leurs futurs emplacements, et organiser la structure pour que ce dplacement vienne la modier le moins possible. Dans le mme ordre d'ide, une autre approximation est de mmoriser des informations (calcules pour les requtes) et de les rutiliser pendant un certain temps (le temps d'expiration des informations est paramtrer). Ce type de technique convient dans le cadre de dplacements d'objets qui sont progressifs (pas de saut dans l'espace) et prvisibles (pas de mouvement alatoire), par exemple pour les tlphones mobiles o les oprateurs doivent en permanence savoir les localiser et trouver le routage par le point d'accs le plus proche (la notion de distance est fonction des bandes passantes). 3.

Smantique de l'application. Un dernier type de technique prend en compte des


smantiques particulires de l'application. Des contraintes de dplacement peuvent tre intgres dans les algorithmes d'accs aux structures de donnes (p. ex. des chemins obligatoires ou des zones interdites). Un autre moyen utilis est de prendre en compte une imprcision de localisation (Cheng et al., 2002).

136

Ludovic Coquelle

Mthodes d'indexation

2.2 Quelques solutions


Sans vouloir tre exhaustif sur les mthodes utlises, nous proposons de classer les direntes solutions d'indexation spatiales en trois familles. Nous ne donnerons pas ici une description complte des mthodes et algorithmes mais nous exposerons les principes de bases ainsi que quelques remarques sur leur utilisation.

2.2.1 Les techniques de hachage rgulier de l'espace


Le principe de ces techniques est de dcomposer l'espace en un dcoupage rgulier (en intervalles de mmes dimensions), et de stocker les objets par intervalle. Le hachage consiste alors en une fonction qui, partir d'une localisation dans l'espace, retourne toujours le mme identiant d'un intervalle. Si cet identiant d'intervalle est dni sur un ensemble ordonnable, il est alors possible de crer une indexation classique sur cet identiant. Par exemple, pour un espace deux dimensions

[0, 16][0, 16], la fonction de hachage

f (x, y) = x + 4 y

dcoupe l'espace en

16

ces intervalles par un arbre binaire classique (

B-Tree ), et pour retrouver un objet il sut

intervalles ; il est alors possible d'indexer

ensuite de le chercher dans l'intervalle dsign par sa position. Ce type de technique est utilise dans (Song et Roussopoulos, 2001), qui propose une architecture base de hachage pour les objets mobiles (en utilisant galement des dcoupages irrguliers de l'espace que nous exposons dans la partie suivante). Le choix de la fonction de hachage peut introduire des contraintes d'utilisation : la taille de l'espace est borne (pour chaque dimension) et la taille des intervalles est un paramtre de l'indexation. Les cots (en temps de calcul) sont constants pour l'accs et la mise jour des donnes ; par contre ils sont dpendants de la distribution de ces donnes. La fonction de hachage doit galement tre compatible avec des requtes ou

k-NN

range query

qui ncessitent l'accs aux intervalles connexes d'une position.


1

ARVi

(bibliothque utilise pour implmenter notre simulateur) propose un outil

d'indexation par

hachage extensible.
Grid3D
2

Par extensible, nous entendons qu'il n'existe pas

forcment de fonction de hachage donnant un identiant unique un intervalle, mais il existe un moyen de dsigner cet intervalle partir de la position (par procds d'indirections). Le service , simplement paramtr par la taille des intervalles (cube dans l'espace), propose un dcoupage rgulier mais dynamique de l'espace (sans contrainte de taille de l'espace indexer) pour indexer des positions (des points). Le principe, qui est d'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 plutt que sur les objets, certains

auteurs ne classient pas les mthodes de hachage rgulier de l'espace parmi les mthodes d'indexation.

2.2.2 Dcomposition dynamique et adaptative de l'espace


Nous regroupons dans cette section les mthodes utilisant des grilles (grille dans le sens de dcoupage de l'espace) de formes varies dont le but est d'obtenir une cardinalit borne du nombre d'objets indexs dans chaque intervalle (tesselation). De plus, une

ARVi: http://www.enib.fr/~harrouet L'implmentation est limite l'indexation de trois dimensions, mais le principe est gnralisable un nombre quelconque de dimensions.
2

behavioRis

137

Annexe B  Indexation spatiale


y

compos de n dimensions ordonDi . A chaque dimension Di est associ un triplet Ti = Li , i , i avec i R une valeur de dcalage, i R la largeur des intervalles dans cette dimension, et Li la liste ordonne des intervalles I . Chaque intervalle I contient soit le triplet Ti+1 de Soit un espace nes la dimension suivante, soit une liste de points indexs si

Rn

i = n

(la dernire dimension de l'espace

considr). Pour l'exemple ci-contre de dimension

2,

la re-

x Lx
x x

P = (x, y) procde comme suit : corx x x respond l'lment numro de la liste L ; x


cherche d'un point  l'intervalle d'indexation sur la dimension
x

 si le point est index, il est dans la liste des points de l'intervalle numro
y y y

de la liste

L . y

Figure B.1

 Service d'indexation spatiale par grille rgulire d'ARVi


(au contraire de rgulire) si des intervalles connexes peu quand elle est constitue d'une suite de grilles adaptatives,

telle grille est dite Une grille est

adaptative

remplis sont regroups.

multicouche

dont les dcoupages sont indpendant mais de moins en moins n (une manire de grer des botes 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

(une adaptation

Oct-Tree

indexe un espace

tridimensionnel). Le principe est de reprsenter un intervalle par un nud de l'arbre, et de dcouper un intervalle en quatre quadrants de mme taille chaque fois que cet intervalle contient un nombre maximum d'objets indexs (on construit alors quatre ls au nud de l'arbre). Le principe reste susamment simple pour manipuler des objets mobiles. Certaines variantes l'amliore grce des algorithmes de parcours d'arbres non linaires (Eppstein et al., 2005). Dans la mme famille, le rgulirement (

KD-Tree est une dcomposition d'un espace en 2 dimensions

sous forme d'arbre de recherche binaire. Le dcoupage d'un intervalle ne se fait plus

cf

gure B.2 page 139) : pour ajouter un point dans un intervalle, si la

cardinalit de ce dernier atteint la limite maximum xe, l'intervalle est coup en deux verticalement ou horizontalement (respectivement pour les profondeurs paire ou impaire dans l'arbre) par une droite passant par la moyenne respectivement des abscisses ou des ordonnes des points contenus dans l'intervalle. Ces structures sous forme d'arbre sont souvent linarisables (p. ex. aux donnes est plus rapide (temps logarithmique).

KDB-Tree )

sous

forme d'arbre quilibr : au prix d'une construction plus coteuse de la structure, l'accs

138

Ludovic Coquelle

Mthodes d'indexation

5 1

1 1 2 7 2 3 6 4 10 2 9 6 8 9 10 4 4 5 1 6 6 8 3 3 5 2 7 4

3 5

Figure B.2

 Construction d'un KD-Tree. Chaque intervalle contient au plus 2 points indexs, chaque nud contient deux ls (un ls est soit un intervalle soit un nud). Les points sont ajouts dans l'ordre croissant, et la construction des nuds de l'arbre est numrote galement sur l'espace par des tiquettes rectangulaires contenant le numro du nud.

2.2.3 Groupement d'objets par zones de recouvrement


Cette dernire famille de mthodes d'indexation ne dcoupe plus l'espace initial en intervalles connexes, mais dnit des botes englobantes de plusieurs objets. Ces structures sont sous forme d'arbres quilibrs qui permettent d'indexer des objets par leur bote englobante dans un espace de dimension quelconque. La premire version propose est nomme

R-Tree

(Guttman, 1984). Un exemple est donn gure B.3 page

140. Les feuilles de l'arbre contiennent les objets (leur bote englobante, note (quilibr). Les nuds suprieurs enregistrent galement le de ls de chaque nud. Ici, un nud possde au maximum performances d'accs aux donnes. Si la recherche d'un objet index dans un

mbr pour

Minimum Bounding Rectangle) ; elles sont toutes la mme profondeur dans l'arbre

mbr de tous ses ls. Comme


ls, et

pour les mthodes prcdentes, le critre de construction de l'arbre rside dans le nombre

M 2 au minimum

(sauf la racine). Ce paramtrage inuence la taille mmoire ncessaire mais aussi les

la feuille approprie, la modication de l'index (ajout ou suppression d'une niveau, le nud dont la

R-Tree est une descente rsursive rapide vers mbr) peut

devenir complexe. Pour insrer un objet, l'arbre est parcouru depuis la racine ; chaque

mbr est la moins tendue par l'ajout est choisi ; l'objet est ajout

au dernier nud feuille atteint. Cependant si la limite maximum est atteinte, le nud doit tre coup en deux : couper un nud ajoute un ls au nud suprieur qui peut alors tre coup, et ce rcursivement jusqu' la racine. Le mme type de procd est utilis pour la suppression. La mthode des ment des que plusieurs algorithmes (exhaustif, quadratique et linaire) pour dcouper un nud.

Guttman a propos les algorithmes d'ajout et de suppression, ainsi

R-Tree

a ensuite inspir des ranements. Les

R+-Tree

reprennent

le principe mais changent les algorithmes d'ajout et d'insertion pour limiter le recouvre-

mbr

des nuds non-feuilles. La version la plus complexe est celle des

R*-Tree

(Beckmann et al., 1990), qui non seulement tend rduire le recouvrement mais aussi le chevauchement partiel. Des versions structures

R-Tree

et

R*-Tree

SS-Tree

et

SR-Tree

modient respectivement les

pour utiliser des volumes englobants sphriques qui n-

behavioRis

139

Annexe B  Indexation spatiale

1 7 3 2 11 8

10

13

14

15

12

(a) Ordonnancement spatial des mbr

(b) Reprsentation de l'arbre

Figure B.3  Exemple d'une structure R-Tree indexant 9 mbr en 2d. Les nuds de l'arbre rfrencent au minimum 2 mbr et 3 au maximum. (b) Les mbr indexes sont numrotes de 7 15 (les feuilles de l'arbre) ; (a) en traits discontinus sont reprsentes les mbr construites pour l'indexation.

cessitent moins de place en mmoire (cependant ces volumes sont plus grands que les botes). Enn, nous citerons la version des

Lazy-Update-R-Tree

qui met en uvre ce

type d'indexation pour des objets mobiles (Kwon et al., 2002).

Conclusions pour nos utilisations


Les premires mthodes prsentes (dcomposition de l'espace par hachage ou adap-

tativement) ont pour vocation d'tre plus dynamiques (plus rapides pour les modications). Elles sont cependant moins faciles paramtrer pour une utilisation optimale. D'un point de vue utilisation de la mmoire, suivant les techniques le rapport peut changer (un

Quad-Tree

requiert plus de place qu'un

hachage simple). Les avantages des mthodes

R-Tree qui requiert plus de place qu'un par R-Tree sont qu'elles peuvent indexer

plus de deux dimensions, elles supportent une rpartition quelconque des donnes pour fournir un rsultat toujours optimal, et surtout, l'algorithme de recherche des voisins est trs ecace (Roussopoulos et Vincent, 1995). Dans les simulations des

3d avec des objets trs mobiles (p. ex. des poissons) l'utilisation R-Tree n'est pas ecace, mme si l'application utilise intensivement les recherches de

voisins. Dans ce cas, les indexations par dcomposition de l'espace peuvent tre utilises (l'ecacit de leur utilisation dpend de l'application). Par contre, les structures gomtriques complexes de l'environnement sont souvent statiques. Quand elles sont dcomposables en sous-parties, et si la recherche de souspartie est pertinente, alors une indexation par utilise dans l'application de

behavioRis

R-Tree

est tout fait approprie (elle est

qui modlise un chalut de pche pour lequel

l'accs aux direntes mailles les plus proches est utilis).

140

Ludovic Coquelle

Annexe C Fuzzy Cognitive Map


Ce chapitre prsente une dnition mathmatique des graphes d'inuence ous ( avec le calcul de leur volution itrative dcrite dans (Parenthon et al., 2001).

fcm)

1
rats (

Introduction
Les cartes cognitives sont issues des travaux des psychologues qui introduisirent ce

concept pour dcrire des comportements complexes de mmorisation topologique chez les

cognitive maps

(Tolman, 1948)). Elles furent ensuite formalises sous la forme de

graphes orients et utilises en thorie de la dcision applique au domaine conomique (Axelrod, 1976). Puis elles furent enn associes la logique oue pour devenir les cartes cognitives oues (FCM :

Fuzzy Cognitive Maps (Kosko, 1986)). L'utilisation de ces cartes a priori

fut mme envisage pour la modlisation globale d'un monde virtuel (Dickerson et Kosko, 1994). Nous proposons ici de dlocaliser les cartes cognitives oues au niveau de chaque individu. Nous n'avons pas conserv l'ide historique qu'une carte cognitive puisse reprsenter une topologie, comme dans le modle de connaissances SSH (

Semantic Hierarchy (Kuiper, 2000)) o elles sont de vritables cartes de l'environnement


que graphe d'inuence entre concepts smantiques.

Spatial

sensorimoteur d'un systme ; nous ne les utilisons que comme un outil formel, en tant

C 3

+1 1

La carte ci-contre est forme de 4 concepts et possde 7 arcs. Chaque concept Ci a un degr d'activation interne ai .

C 1
1 +2

C 4

+1

C 2
Figure C.1

a1 0 +2 1 1 a2 0 +1 , L = 0 1 a= 1 a3 0 0 0 0 0 +1 0 a4 Un zro dans la matrice des liens Lij = 0 dsigne l'absence d'arc du concept Ci vers le concept Cj et un lment non nul de la diagonale Lii = 0 correspond un arc du concept Ci sur lui-mme.

 Carte cognitive oue : 1er exemple.

2
Une

Dnition mathmatique
On dsigne par

des ensembles

carte

K l'un des anneaux Z ou R, par l'un des nombres 0 ou 1, par V l'un {0, 1}, {1, 0, 1} ou l'intervalle [, 1]. Soient n N , t0 N et R . + cognitive oue F est un sextuplet < C, A, L, A, fa , R > o :
141

behavioRis

Annexe C  Fuzzy Cognitive Map

1. C = {C1 , , Cn } est l'ensemble des concepts formant les nuds d'un graphe. 2. A C C est l'ensemble des arcs (Ci , Cj ) orients de Ci vers Cj . 3. L :
CC K est une fonction de C C vers K associant un poids Lij un (Ci , Cj ) Lij couple de concepts (Ci , Cj ), avec Lij = 0 si (Ci , Cj ) A, ou avec Lij gal au poids de / l'arc orient de Ci vers Cj si (Ci , Cj ) A. L(C C) = (Lij ) K nn est une matrice de Mn (K). C'est la matrice des liens de la carte F que, pour simplier, on notera L. VN est une fonction qui chaque concept Ci associe la suite de ses degrs ai d'activation telle que pour t N, ai (t) V soit son degr d'activation interne l'instant t. On notera a(t) = [(ai (t))i[[1,n]] ]T le vecteur des activations internes l'instant t. C Ci

4. A :

5. fa (Rn )N une suite de vecteurs d'activations externes tels que pour i [[1, n]] et t t0 , fai (t) soit l'activation externe du concept Ci l'instant t. 6. (R) est une relation de rcurrence 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 ) = 0 ai (t + 1) = gi fai (t),
j[[1,n]]

Lji aj (t)

(C.1)

o gi : R2 R est un oprateur de comparaison entre l'activation interne due au graphe d'inuences Lji aj (t) et l'activation externe fai (t) du concept Ci , par exemple : et o : R V est une fonction de R vers l'ensemble des degrs d'activation V normalisant les activations comme le montre la gure C.2. (a) En mode continu, V = [, 1], est la fonction sigmode (,a0 ,) centre en (a0 , 1 ), de pente 1+ en a0 et de li2 2 mites en respectivement 1 et :
R
a0

gi (x, y) = min(x, y) , ou max(x, y) , ou i x + i y , . . .

mode continu
k (1+)/2

(1)/2

(0,0.5,5)

(,a0 ,) :

[; 1] 1+ a 1 + e(aa0 )

mode binaire

(b) En mode binaire, n'a pas de rle :

V = {0, 1}

et

>0

(0,0.5,5)

:a
plus

0 1

(c) En mode

si (0,0.5,) (a) 0.5, i.e. : a 0.5 si (0,0.5,) (a) > 0.5, i.e. : a > 0.5 ternaire, V = {1, 0, 1} et
est grand, moins facilement

+1 0 1

mode ternaire

>0

les concepts sont indnis :

(1,0,5)

:a

1 0 1

si (1,0,) (a) < 0.5, i.e. : a < ln 3/ si |(1,0,) (a)| 0.5, i.e. : |a| ln 3/ si (1,0,) (a) > 0.5, i.e. : a > ln 3/

Figure C.2

 Fonctions de normalisation des cartes cognitives oues.

142

Ludovic Coquelle

Annexe D Rseaux de Petri


L'ambition de ce chapitre est de rappeler rapidement la dnition d'un

RdP (Rseau

de Petri) et quelques notions utilises dans ce document pour comprendre l'volution de ces rseaux. Ne seront pas abordes les notions sous-jacentes de la thorie des graphes et de l'algbre linaire, intervenant dans l'analyse des rseaux.

Introduction
Un

RdP est un graphe orient biparti altern de places (reprsentes

par des cercles) et transitions (reprsentes par des rectangles pleins). Chaque place possde un tat (un marquage), et l'volution du marquage des places est dnie par le tirage des transitions. 1962), un

C.A. Petri (Petri, RdP est adapt la reprsentation de l'volution d'un systme vnements discrets. Le calcul asynchrone des RdP en fait un modle
Introduit dans les annes 60 par le mathmaticien adapt aux applications rparties ou aux protocoles de communication. L'intrt des

RdP est que son formalisme s'attache dcrire la fois l'tat RdP
ordinaires, plusieurs extensions ont t proposes. Nous ne pr-

du processus modlis mais aussi les transitions entre les tats possibles. Inspir des senterons que celles partir desquelles nous avons construit notre proposition.

Dnition
Un   

RdP (ordinaire) est un quadruplet N = P, T, P re, P ost avec : P = {p1 , p2 , . . . , pn } un ensemble ni (non vide) de places, T = {t1 , t2 , . . . , tm } un ensemble ni (non vide) de transitions entre P re est l'application d'incidence avant telle que
P re : P T {0, 1} 1, s'il existe P re(p, t) = 0 sinon.
un arc orient de

places,

vers

P ost

est l'application d'incidence arrire telle que

P ost : P T {0, 1} 1, s'il existe P ost(p, t) = 0 sinon.

un arc orient de

vers

Un arc orient d'une place vers une transition (et vice versa) relie la place (respectivement transition) d'entre vers la transition (respectivement place) de sortie. Une

behavioRis

143

Annexe D  Rseaux de Petri

transition sans place d'entre est une transition sortie est une transition

puits.

source

et une transition sans place de

Marquage
Chaque place d'un Soit

RdP

peut contenir une ou plusieurs marques (ou jetons). ; la

conguration complte du rseau forme le

un

dimension place.

RdP n places {pi , i {0, n}}, le marquage de Q est un vecteur de n qui associe chaque place le nombre de jetons M (pi ) N prsents sur cette
tir de transition

marquage

et dnit l'tat du rseau :

Evolution temporelle ou
L'volution d'un

RdP

correspond l'volution de son marquage. Les jetons, qui

matrialisent l'tat du rseau un instant donn, peuvent passer d'une place l'autre par franchissement ou tir d'une transition. Une transition

est

toutes ses places d'entres pi (on note pi t) comportent au moins un nombre de jetons gal au nombre d'arcs orients vers t : pi t, M (Pi )

franchissable

ou

sensibilise

ou encore

valide

si

P re(pi , t).
Lorsque

est valide, le franchissement ou tir de la transition consiste

retirer le nombre ajouter une (dans un

RdP ordinaire, le franchissement d'une transition consiste retirer

P re(pi , t) de jetons marque P ost(pi , t) dans

des places d'entres

pi t

Mt = (1, 2, 1, 0)

de

toutes les places de sorties

t, et p i t

re

un jeton dans chacune des places en amont de la transition et ajouter un jeton dans chacune des places en aval de celle-ci, notant

cf

gure ci-contre). En
Mt+1 = (0, 1, 2, 1)

M l'tat du rseau succdant l'tat M , on obtient : pi P, M (pi ) = M (pi ) P re(pi , t) + P ost(pi , t)  Le rseau ne peut voluer que par franchissement d'une 

seule transition la fois,

transition choisie alatoirement parmi toutes celles qui sont valides cet instant. Le franchissement d'une transition est indivisible et de dure nulle.

Quelques extensions

RdP gnralis

Un

RdP

est dit

gnralis

si les arcs comportent une indication de

poids telle que

P re : P T N

(de mme avec

P ost).

Le franchissement d'une

transition valide, consiste enlever de chacune des places d'entre, un nombre de jetons gal au poids de l'arc qui relie la place la transition et ajouter un nombre de jetons gal au poids de l'arc qui relie la transition chacune des places de sortie. Un

RdP synchronis


RdP est dit synchronis

lorsque des vnements extrieurs sont

associs aux transitions : le franchissement d'une transition tiquete s'eectue si elle est valide et quand l'vnement se produit. Deux vnements externes ne peuvent pas se produire simultanment.

144

Ludovic Coquelle

Annexe E Exemple de dnition de scenario dans behavioRis


< ?xml version="1.0" ?> <Scenario> < !-- ==== Configuration ==== --> <Conguration> <Path>Data/SimpleExemple</Path> <Library name="animals"/> <Library name="environment"/> <Library name="descriptors"/> <BBDLFile name="spHaddock.bea"/> </Conguration> < !-- ==== 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

Annexe E  Exemple de dfinition 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

Annexe F Grammaire BNF du langage de

behavioRis

Dnition de la notation

bnf

suggtion de

bnf (originellement Backus Normal Form, renomme BackusNaur Form sur la D. Knuth) est le premier mtalangage formel de syntaxe pour exprimer

des grammaires sans contexte (Naur et al., 1960).

Principes et syntaxe
Le principe est de partir d'un symbole et d'utiliser des rgles de remplacement lexicographique. Le langage dni par une grammaire dsignerons par syntaxe symbol

bnf est l'ensemble de toutes les chanes bnf


pour parler de la

de caractres qui peuvent tre produites partir de ses rgles. Par abus de langage, nous

bnf

la grammaire d'un langage elle-mme (plutt que le langage per-

mettant de dcrire cette grammaire) et prciserons grammaire

bnf.

Les rgles sont appeles rgles de production et s'crive de la manire suivante :

::=

alternative1

alternative2 . . .

Une rgle de production signie que le symbole gauche du signe de mtasymbole, terminaux et non-terminaux.  Un mtasymbole est un symbole de la syntaxe et le symbole rgles de sa

::=

doit tre remplac

par un des symboles de l'alternative droite de ce signe. Une alternative est constitue

bnf : ::=

signie est dni par

spare deux alternatives. (terminal signie qu'il n'existe pas de rgle de production qui

 Les symboles terminaux sont les symboles manipuls par le langage dcrit par les

bnf

s'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 transforms par les rgles de production ( la n des processus de production, il n'existe plus de symbole de non-terminaux dans le rsultat). Ils seront nots

<symb>.

Extensions vers
Naur Form ( avec des

ebnf

Comme la syntaxe

bnf est largement utilise, direntes extensions (Extended Backus ebnf)) amliorent son expressivit (en facilit d'expression, pas en capacit) notations plus pratiques (qui trouvent leurs traductions dans la syntaxe bnf) :
147

behavioRis

Annexe F  Grammaire BNF du langage de

behavioRis

  

[. . .]

est utilis pour dnoter des symboles optionnel,

ie 0

ou

occurence de l'ex-

{. . .} dnote une fermeture, ie 0 ou plus occurence(s) de l'expression ; (. . . ) est utilis pour changer la prcdence des applications de rgles.

pression ;

2
de

Le langage de
behavioRis
:

behavioRis
ebnf du langage bbdl

Cette section prsente une version simplie de la spcication

 certaines rgles de syntaxe sont omises (la mise en page et les sauts de lignes sont laisss implicites pour donner une vue plus comprhensible de la grammaire) ;  certains lment non-terminaux ne sont pas explicits :  

<ident> : toute chane de caractres composes de lettres ou chires. <string> : toute chane de caractres encadre par des doubles guillemets simples
(syntaxe anglophone).

Le symbole de dpart est grammaire. species spElt

<species> ;

quelques

commentaires

sont insers dans la

Species <ident> : {<spElt>} End

::=

::= <shape> | <property> | <action> | <component> shape ::= Shape <type> <ident>

is a shape name ; currently implemented type is


<ident>

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
::= <type> [<ident>] <type> [<ident>] <type> [<ident>] <type> [<ident>]

component

| | |

Perception InternalState Behavior Controller


::=

: : : :

| {<compElt> | {<compElt> | {<compElt> |


{<compElt>

<perceptElt>} End <stateElt>} End <beaElt>} End <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

| |
148

Concept <ident> [is_active <number>] Spring <ident> Well <ident>


Ludovic Coquelle

Le langage de

behavioRis

| [<ident>

rst

:] <ident> inuence <ident> [with_factor <number>]


is the link's name ;
<number>

<ident>

is the link's strength

perceptElt

Detector <type>

::=

Filter <type>

currently implemented types are : - FieldOfView - Environment - Altimeter currently implemented types are : - LocalVector (3 inputs are converted in local coordinates) - CartToSpherical (3 cartesians inputs are converted in spherical coordinates)
::=

ctrlElt

Selector <type>

Actuator <type>

currently implemented types are : - Fusion (balanced mean) - Selection (maximum) 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) currently implemented types are : - EnvironmentFlow (add a displacement due to environment ow speed) - NoIntersect (restrict displacement to not intersect with an object)
::=

Constraint <type>

beaElt

Linguistic : {<lingElt>} End Pattern : {<patElt>} End


::= <ident>

lingElt

property

is speciesValue ( <ident> ) is <string>


<ident>

contains a fuzzy value description

| <ident>
patElt

<string>

describes a fuzzy value

::= 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

Annexe F  Grammaire BNF du langage de

behavioRis

implementation support actually only <ident> as argument | <selector> actionSymb ::= <actionSymbBase> | <actionSymbFun1> ( <actionSymb> ) | <actionSymbFun2> ( <actionSymb> , <number> ) actionSymbFun1 ::= opposite | oppositeAngle | globalRoll | globalPitch | globalYaw actionSymbFun2 ::=

perform . <ident> ( (<sensorSymb> | <lingSymb>) )

randomize

fuzzyfy | add
(<lingSymb>

randomize(X,v) shift the membership denition of X from value choosen in interval [v, v]
::= | <sensorSymb>)

actionSymbBase lingSymb

::= <ident> sensorSymb ::= state . <ident> | [self .] <selector> | <chooser> ( <ident>

default selector is
[

. <selector>] )
, default selector is
distance

| <ident>

default chooser is
::=

. <selector>]

distance

| <enumerator>
chooser

default selector is
::=

( <ident> ) [. <selector>]
distance

rst

min | max | absmax | absmin | rst | last mean


::=

enumerator selector

<ident>

actually implementation dier for core selectors : - x, y, z, dist, pitch, yaw - xSpeed, ySpeed, zSpeed - rollOr, pitchOr, yawOr

150

Ludovic Coquelle

Bibliographie
Agre, P. et Chapman, D. (1990). What are plans for ? 6(12) :1734.

Robotics and Autonomous Systems,

p. 39

Arkin, R. C. (1987). Motor schema based navigation for a mobile robot : An approach to programming by behavior. Dans 264271, Raleigh, NC. Arkin, R. C. (1998).

IEEE Conference Robotics and Automatics, pages


MIT Press.

p. 39

Behavior-based robotics.

p. 39

Arkin, R. C. et Balch, T. (1997). AuRA : principles and practice in review.

Experimental & Theorical Articial Intelligence, 9(2) :175189. p. 40 Structure of Decision.


Jersey.

Journal of

Axelrod, R. (1976).

Princeton University Press, Princeton, New

p. 141

Baerends, G. (1976). The functional organization of behaviour. 738.

Animal Behavior, 24 :726

p. 29

Bajec, I. L., Zimic, N., et Mraz, M. (2005). Simulating ocks on the wing : the fuzzy approach.

Journal of Theoretical Biology, 233(2) :199220. p. 33, 87, 120

Beckmann, N., Kriegel, H., Schneider, R., et Seeger, B. (1990). The R*-tree : an ecient and robust access method for points and rectangles. Dans 322331, Atlantic City, NJ.

SIGMOD Conference, pages

p. 139

Beer, R. D., Chiel, H. J., et Sterling, L. S. (1990). A biological perspective on autonomous agent design.

Robotics and Autonomous Systems, 6 :169186. p. 22

p. 44, 63, 68

Blumberg, B. M. (1997).

Old Tricks, New Dogs : Ethology and Interactive Creatures.


Apport, dans un cadre purement fonctionnel, d'une

PhD thesis, Massachussets Institute of Technology. Boidin, C. et Julliard, F. (2005). Actes du sminaire du LISyC.

mthodologie pour la spcication et l'implmentation de simulations orientes-agents.

p. 127

Bonarini, A., Invernizzi, G., Halva Labella, T., et Matteucci, M. (2003). An architecture to coordinate fuzzy behaviors to control an autonomous robot. 134 :101115.

Fuzzy Set and System, Articial

p. 47, 48

Booth, G. (1997).

Life, 3(3) :147163. p. 51

Gecko : A continuous 2-D world for ecological modeling.

Bouchon-Meunier, B. et Marsala, C. (2003).

Logique oue, principes, aide la dcision.

p. 129

Informatique et systmes d'information. Hermes.

behavioRis

151

Bibliographie

Bousquet, F., Bakam, I., Proton, H., et Le Page, C. (1998). resources and multi-agent systems.

CORMAS : Common-pool Lecture notes in Computer Science, 1416 :826837.


Harvard University

p. 9, 52

Bratman, M. E. (1987). Press.

Intentions, Plans and Practical Reason.

p. 35

Bridgeman, B. (1998). Simple conscious percepts require complex unconscious processing.

PSYCHE,

4(6) p. 61

http://psyche.cs.monash.edu.au/v4/psyche-4-06-bridgeman.html.
Briot, J.-P. et Demazeau, Y. (2001). Informatique et Systmes d'Information. Hermes Lavoisier.

Principes et architecture des systmes multi-agents.

p. 35

Brogan, D. C. et Hodgins, J. K. (1997). Group behaviors for systems with signicant dynamics.

Autonomous Robots, 4 :137153. p. 33, 75

Brooks, R. A. (1986). A robust layered control system for a mobile robot.

of Robotics and Automation, 2(1) :1423. p. 36, 38 of Experimental & Theorical Articial Intelligence,
35

IEEE Journal Journal

Bryson, J. (2000). Cross-paradigm analysis of autonomous agent architecture. 12(2) :165189.

p. 18, 22, 29,

Buche, C., Parenthon, M., et Tisseau, J. (2002). for autonomous agents. Dans

Simulation, GAME-ON 2002, pages 8993, London, United Kingdom. p. 69


alternative theory.

3rd International Conference on Intelligent Games and

Learning by imitation of behaviors

Cannon, W. (1927). The james-lange theory of emotion : A critical examination and an

American Journal of Psychology, 39 :106124. p. 28

Cheng, R., Kalashnikov, D. V., et Prabhakar, S. (2002). 136

Querying imprecise data in

moving object environments. Technical Report TR 02-020, Purdue University.

p.

Coquelle, L., Buche, C., et Chevaillier, P. (2004). Un langage base de logique oue pour la simulation de comportements individuels d'animaux. Dans

sur la Logique Floue et ses Applications (LFA'04),


Cpaduesditions.

Rencontres Francophones

pages 379386, Nantes, France.

p. 86

Coquelle, L. et Chevaillier, P. (2005). behavioris : une architecture d'agent et un langage pour la simulation de modles de comportements animaux. Dans

internationale Recherche, Innovation et Vision du Futur (RIVF),


Tho, Vietnam.

3ime Confrence

pages 3845, Can

p. 61

Coquillard, P. et Hill, D. R. (1997). Masson.

Modlisation et simulation d'cosystmes.


Gutenberg eBook

Ecologie.

p. 21, 34

Darwin, C. (1959).

http://www.literature.org/authors/darwin-charles/the-origin-of-species. p. 15

On the origin of species.

152

Ludovic Coquelle

Dean, J. (1998). 2(2) :6067.

Animats and what they can tell us. p. 20

Trends in Cognitive Sciences, Presence,

Dickerson, J. A. et Kosko, B. (1994). Virtual worlds as fuzzy cognitive maps. 3(2) :173189.

p. 69, 141

Dougall, W. (1926). An outline of abnormal psychology. 156 :16771685.

American Journal of Psychiatry,

p. 29

Drath, R. (1998). Hybrid object nets : an object oriented concept for modelling complex hybrid systems. Dans

Proceedings of the Hybrid Dynamical Systems, 3rd International Conference on Automation of Mixed Processes (ADPM'98), pages 437442. p. 70

Drogoul, A. et Ferber, J. (1994). Multi-agent simulation as a tool for modeling societies : Application to social dierentiation in ant colonies. Dans Castelfranchi, C. et Werner,

4th European Workshop on Modelling Autonomous Agents in a Multi-Agent World (MAAMAW'92), pages 323, Berlin, Heidelberg. Springer. p. 51
E., editors, Eberly, D. H. (2001). 118

Computer Graphics.

3D Game Engine Design : A Practical Approach to Real-Time


Interactive 3D Technology. The Morgan Kaufmann Series.

p.

Edmonds, B. et Bryson, J. J. (2004). The insuciency of formal design methods  the mas. Dans Third International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS'04), volume 2, pages 938945, New York City, New York, USA. necessity of an experimental approach - for the understanding and control of complex

p. 34

Emami, M. R., Goldenberg, A., et Turksen, I. (2000a). Systematic design and analysis of the fuzzy-logic control and application to robotics, part i : Modeling.

Autonomous Systems, 33 :6588. p. 87

Robotics and

Emami, M. R., Goldenberg, A., et Turksen, I. (2000b). Systematic design and analysis of the fuzzy-logic control and application to robotics, part ii : Control.

Autonomous Systems, 33 :89108. p. 87


based robotics in the 1930's. Dans

Robotics and

Endo, Y. et Arkin, R. C. (2001). Implementing tolman's schematic sowbug : Behavior-

International Conference of Robotics and Automation (ICRA), pages 477484, Seoul. p. 40 21st ACM Symposium Computational

Eppstein, D., Goodrich, M. T., et Sun, J. Z. (2005). The skip quadtree : A simple dynamic data structure for multidimensional data. Dans

Geometry, pages 296305, Pisa. p. 138


information systems. Dans

Faulkner, S. et Kolp, M. (2003). Towards an agent architectural description language for

Systems, ICEIS 2003, pages 5966, Angers, France. p. 35


Fron, P. et Misund, O. A. (1998). Press, Blackwell Science.

5th International Conference on Enterprise Information

Dynamics of pelagic sh distribution and behaviour : eects on sheries and stock assessment, chapter 4 - Schooling behaviour. Iowa State

p. 32

behavioRis

153

Bibliographie

Frezza-Buet, H. et Alexandre, F. (2002). From a biological to a computational model for the autonomous behavior of an animat. 48 Funge, J. D. (1998).

Information Sciences,

144(14) :143.

p.

Making Them Behave : Cognitive Models for Computer Animation.

p. 20, 54

PhD thesis, University of Toronto, Toronto, Canada.

Gamma, E., Helm, R., Johnson, R., et Vlissides, J. (1995).

of reusable object-oriented software.


Boston, MA.

Design patterns : elements

Addison-Wesley Longman Publishing Co., Inc.,

p. 81

Garca-Prez, L. et Garcia-Alegre, M. C. (2001). A simulation environment to test fuzzy

10th IEEE International Conference on Fuzzy Systems, pages 590593, Melbourne. p. 46


navigation strategies based on perceptions. Dans

Gardner, M. et Heyes, C. (1998). Splitting lumping and priming.

Science, 21(5) :695. p. 29

Brain and Behavioral

Giske, J., Huse, G., et Berntsen, J. (2001). Spatial modelling for marine resource management, with a focus on sh. Dans pages 405410.

Workshop on marine spatial modelling, volume 86,

p. 21

Green, D. G. et Sadedin, S. (2005). Interactions matter-complexity in landscapes and ecosystems.

paratre dans Ecological Complexity. p. 20

Grimm, V. (1999). Ten years of individual-based modelling in ecology : what have we learned and what could we learn in the future ? p. 22 Guillot, A. et Meyer, J.-A. (1998). Synthetic animals in synthetic worlds. Dans

Ecological Modeling, 115 :129148. Cyber

Worlds, pages 111123, Tokyo. Springer-Verlag. p. 15, 23

Gulys, L. et Kozsik, T. (1999). simulations. Dans

Sagadi, Estonia, pages 1728. p. 53

6th Fenno-Ugric Symposium on Software Technologyi (FUSST'99),


A computational model of action

The use of aspect-oriented programming in scientic

Gurney, K., Prescott, T., et Redgrave, P. (2001a). 84(6) :401410.

selection in the basal ganglia. I. A new functional anatomy.

Biological Cybernetics,

p. 48 A computational model of action

Gurney, K., Prescott, T., et Redgrave, P. (2001b).

selection in the basal ganglia. II. analysis and simulation of behaviour.

Cybernetics, 84(6) :411423. p. 48

Biological ACM

Guttman, A. (1984). R-trees : dynamic index structure for spatial searching. Dans

SIGMOD, pages 4757, Boston, MA. p. 63, 139

Guyomarc'h, J.-C. (1995). Harrouet, F. et al (2006). des Mines ( paratre).

Ethologie - Seconde dition.

p. 79

Abrgs. Masson.

p. 24

Le trait de la ralit virtuelle - 3e dition.

Presses de l'Ecole

154

Ludovic Coquelle

Harrouet, F., Tisseau, J., Reignier, P., et Chevaillier, P. (2002). oRis : un environnement de simulation interactive multi-agents. 79 He, P. (1993). Swimming speeds of marine sf in relation to shing gears. Dans

Revue des sciences et technologie de l'information, srie Technique et science informatiques (RSTITSI), 21(4) :499524. p. ICES

Symposium, volume 196, pages 183189. p. 114

Heleno, P. et dos Santos, P. (1998). Articial animals in virtual ecosystems.

Networks and ISDN Systems, 90(2021) :19231932. p. 20

Computer

Hendriks-Jansen, H. (1996).

Catching Ourselves in the Act : Situated Activity, Interactive Emergence, Evolution, and Human Thought. MA. Cambridge, MIT Press. p. 29
cod-ends. i - model development.

Herrmann, B. (2005). Eect of catch size and shape on the selectivity of diamond mesh

Fisheries Research, 71(1) :113. p. 114, 116

Hokkanen, J. (1999). Visual simulations, articial animals and virtual ecosystems.

Journal of Experimental Biology, 202 :34773484. p. 9, 15 Articial ethology.

p. 17, 20, 27, 29, 34

The

Holland, O. et McFarland, D. (2001).

OXFORD University Press.

Houssin, D., Bornhofen, S., Souissi, S., et Ginot, V. (2002). Entre programmation par composants et langages d'experts - rendre la modlisation individu-centre plus accessible l'utilisateur. 21(4) :525548.

p. 52, 81

Huse, G., Giske, J., et Gro Vea Salvanes, A. (2002).

II., chapter 11 Individual-based modelling.

Fish and Fisheries Handbook. Volume

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.

of Theoretical Biology, 156 :365385. p. 32


ture for synthetic creatures. Dans

Journal

Isla, D., C. Burke, R., Downie, M., et Blumberg, B. (2001). A layered brain architec-

IJCAI International Joint Conference on Articial Intelligence, Seattle, WA, pages 10511058. p. 44, 45, 66 IEEE Data Engineering Bulletin, 5(2) :3540. p. 136

Jensen, C. S. et altenis, S. (2002). Towards increasingly update ecient moving-object indexing.

Jonhson, R. et Foote, B. (1988). Designing reusable classes.

Programming, 1(2) :2235. p. 35

Journal of Object-Oriented Journal

Jonker, C. M. et Treur, J. (2001). Agent-based simulation of animal behaviour.

of Applied Intelligence, 15 :83115. p. 49

Kim, Y.-H. et Wardle, C. S. (2003). Optomotor response and erratic response : quantitative analysis of sh reaction to towed shing gears. 470.

Fisheries Research,

60(23) :455

p. 114

Kim, Y.-H. et Wardle, C. S. (2005). Basic modelling of sh behaviour in a towel trawl based on chaos in decision-making.

Fischeries Research, 73 :217229. p. 114

behavioRis

155

Bibliographie

Kosko, B. (1986). Dierential hebbian learning. Dans

AIP Conference proceedings,

p. 69, 141

vo-

lume 151, pages 277282. American institute of Physics. Kuiper, B. (2000). The spatial semantic hierarchy.

Articial Intelligence,

119 :191233.

p. 141

Kwon, D., Lee, S., et Lee, S. (2002). Indexing the current positions of moving objects using the lazy update r-tree. Dans

IEEE Third International Conference on Mobile Data Management, page 113, Singapore. p. 140 Articial Intelligence, 33 :164. p. 50

Laird, J. E., Newel, A., et Rosenbloom, P. S. (1987). Soar : An architecture for general intelligence.

Lashley, K. (1951).

Behavior, pages 112136. p. 29

The problem of serial order in behavior.

Cerebral Mechanisms in

Likhachev, M., Kaess, M., Kira, Z., et Arkin, R. C. (2002). Learning behavioral parameterization using spatio-temporal case-based reasoning. Dans

ICRA,

pages 12821289.

p. 40

Liu, H. et Lieberman, H. (2005). Metafor : visualizing stories as code. Dans USA.

tional Conference on Intelligent User Interfaces, pages 305307, San Diego, California,

p. 53 Modelling and simulation software to support

10th Interna-

Lorek, H. et Sonnenschein, M. (1999). individual-based ecological modelling. 34, 52 Lorenz, K. (1950).

Ecological Modeling,

115(2-3) :199216.

p.

Symp. Soc. exp. Biol., 4 :221268. p. 27, 28

The comparative method in studying innate behaviour patterns.

Ltzsch, M., Bach, J., Burkhard, H.-D., et Jngel, M. (2004). Designing agent behavior with the extensible agent behavior specication language xabsl. Dans Springer, t. a.,

7th International Worshop on RoboCup 2003 (Robot World Cup Soccer Games and Conferences), Lecture Notes in Articial intelligence, Padova, Italy. p. 53
editor, Maes, P. (1989). How to do the right thing.

Connection Science Journal, Special Issue on Hybrid Systems, 1(3) :291323. p. 36, 37, 40
by direct observations from a towed underwater vehicle. Technical Report 23, Scottish Fisheries Research.

Main, J. et Sangster, G. (1981). A study of the sh capture process in a bottom trawl

p. 114

Matari, M. J. (1998). Behavior-based robotics as a tool for synthesis of articial behaviors and analysis of natural behavior. p. 36 McFarland, D. (1999).

Trends in Cognitive Science,

2(3) :8287.

Edition.

Animal Behaviour - Psychobiology, ethology and evolution - Third

p. 24

Prentice Hall.

Meurisse, T. et Briot, J.-P. (2001). Une approche base de composants pour la conception d'agents.

Technique et science informatiques, 20(4) :567586. p. 34

156

Ludovic Coquelle

Meyer, J.-A., Guillot, A., Girard, B., Khamassi, M., Pirim, P., et Berthoz, A. (2005). The Psikharpax project : Towards building an articial rat.

Systems, 50(4) :211223. p. 22, 23

Robotics and Autonomous

Minsky, M. (1965). Matter, mind and models. Dans

International Federation of Information Processing Congress, volume 1, pages 4549. p. 14, 126 The Society of Mind.

NY :Simon and Schuster Inc.

Minsky, M. (1985).

p. 29 Springer,

Mller, J. P. (1996).

The Design of Intelligent Agents. A Layered Approach.


p. 36

lnai state-of-the-art survey edition.

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.

Mathematik, 2 :106136. p. 147


Newell, A. et Simon, H. (1963).

Numerische

Computers and Thought, pages 279293. p. 40

GPS : A program that simulates humen thoughts.

O'Neill, F., McKay, S., Ward, J., Strickland, A., Kynoch, R., et Zuur, A. (2003). selection.

An

investigation of the relationship between sea state induced vessel motion and cod-end

Fisheries Research, 60 :107130. p. 114


and

Ord, T. J., Martins, E. P., Thakur, Sidharth library databases.

Mane, K. K., et Brner, K. (2005).

Trends in animal behaviour research (19682002) : ethoinformatics and the mining of

Animal Behavior, 69(6) :13991413. p. 9

zbilgin, H. et Wardle, C. (2002). Eect of seasonal temperature changes on the escape behaviour of haddock, 58 :323331.

Melanogrammus aeglenus, from the codend. Fisheries Research,

p. 114

Parenthon, M., Buche, C., et Tisseau, J. (2002). Action learning for autonomous virtual actors. Dans

3rd International Symposium on Robotics and Automation, ISRA 2002,

p. 69

pages 549554, Toluca, Mexico.

Parenthon, M., Tisseau, J., Reignier, P., et Dory, F. (2001). Agents's perception and charactors in virtual world : Put fuzzy cognitives maps to work.

proceeding, pages 1118. p. 69, 141

Dans

VRIC 2001

Perlin, K. et Goldberg, A. (1996). Improv : a system for scripting interactive actors in

Proceedings of the 23rd annual conference on Computer graphics and interactive techniques, pages 205216, New York, NY, USA.
virtual worlds. Dans Press, A., editor,

p. 53

Petri, C. A. (1962). p. 143

Kommunikation mit Automaten.

PhD thesis, University of Bonn.

Pirjanian, P. (1999).

Behavior coordination mechanisms  state-of-the-art.

Technical

report, USC Robotics Research Laboratory, University of Southern California, Los Angeles, CA 90089-0781.

p. 37, 40, 41

behavioRis

157

Bibliographie

Pirjanian, P. et Matari, M. (1999). coordination. Dans

IEEE International Symposium on Computational Intelligence in Robotics & Automation (CIRA99), Monteray, CA. p. 46
elements. p. 115

A decision theoretic approach to fuzzy behavior

Priour, D. (1999). Calculation of net shapes by the nite element method with triangular

Communications in Numerical Methods in Engineering, 15(10) :755763.

Ramat, E. et Preux, P. (2003). "virtual laboratory environment" (VLE) : a software environment oriented agent and object for modeling and simulation of complex systems.

Simulation Modelling Practice and Theory, 11(1) :4555. p. 50 of Theoretical Biology, 234 :213225. p. 32
model.

Regula, T. C. et Viscido, S. (2005). Simulated evolution of selsh herd behavior.

Journal

Reuter, H. et Breckling, B. (1994). Self-organization of sh schools : an object-oriented

Ecological Modeling, 75/76 :147159. p. 32

Reynolds, C. (1999). Steering behaviors for autonomous characters. Dans Group, San Francisco.

Game Developers Conference (GDC), pages 763782, San Jose, California. Miller Freeman Game

p. 75, 102

Reynolds, C. W. (1987). Flocks, herds, and schools : A distributed behavioral model.

Computer Graphics, 21(4) :2534. p. 30, 31

Richard, N., Codognet, P., et Grumbach, A. (2003). Cratures virtuelles.

srie Technique et science informatiques (RSTITSI), 22(2) :221243. p. 36, 51

Vie articielle,

Ricordel, P.-M. et Demazeau, Y. (2001). From analysis to deployment : A multi-agent

platform survey. Dans Engineering Societies in the Agent World, First International Workshop, 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 rutilisation pour les systmes multi-agents. 21(4) :447471.

p. 34

Ropella, G. E., Railsback, S. F., et Jackson, S. K. (2002). Software engineering considerations for individual-based models.

Natural Resource Modeling, 15(1). p. 34 Information Sciences,


145(1-2) :6987.

Rosenblatt, J., Williams, S., et Durrant-Whyte, H. (2002). A behavior-based architecture for autonomous underwater exploration. p. 43 Rosenblatt, J. K. (1995). Dans 93 Rosenblatt, J. K. (1997). DAMN : A distributed architecture for mobile navigation.

Proc. of the AAAI Spring Symp. on Lessons Learned from Implememted Software Architectures for Physical Agents, volume 1, pages 167178, Stanford, CA. p. 42, DAMN : A Distributed Architecture for Mobile Navigation.

p. 75

PhD thesis, Robotics Institute, Carnegie Mellon University, Pittsburgh, PA.

Roussopoulos, Nick abd Kelley, S. et Vincent, F. (1995). Nearest neighbor queries. Dans

ACM-SIGMOD, pages 7179. p. 63, 140

158

Ludovic Coquelle

Saotti, A. (1997). Fuzzy logic in autonomous robotics : behavior coordination. Dans Suite 300, Silver Spring, MD 20910, USA. IEEE Computer Society Press.

Procs. of the 6th IEEE Int. Conf. on Fuzzy Systems, pages 573578, 1109 Spring Street,

p. 46

Scheer, M., Baveco, J., DeAngelis, D. L., Rose, K. A., et van Nes, E. H. (1995). Superindividuals a simple solution for modelling large populations on an individual basis.

Ecological Modeling, 80(2-3) :161170. p. 22


dication of action selection strategies.

Scheutz, M. et Andronache, V. (2002). Architectural mechanisms for the dynamic mo-

p. 50

Scheutz, M. et Andronache, V. (2004). Integrating theory and practice : The agent architecture framework apoc and its development environment ade. Dans volume 3, pages 10141021, New York City, New York, USA.

Third International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS'04),

p. 50

Semp, F., Nguyen-Duc, M., Boucher, A., et Drogoul, A. (2005). An articial maieutic approach for eliciting expert's knowledge in multi-agent simulation. Dans

Fourth International Joint Conference on Autonomous Agents and MultiAgent Systems (AAMAS) ( paratre), Utrecht (Netherlands). p. 127 Second International
pages 161172, London, UK.

Song, Z. et Roussopoulos, N. (2001). Hashing moving objects. Dans

Conference on Mobile Data Management (MDM'01),


Springer-Verlag.

p. 137 Describing space-time

Souissi, S., Seuront, L., Schmitt, F. G., et Ginot, V. (2005).

Nonlinear Analysis : Real World Applications, In Press, Corrected Proof, Available online 29 January 2005. p. 52
patterns in aquatic ecology using ibms and scaling and multi-scaling approaches.

Thomas, R. K. (2001a). Lloyd morgan's canon : A history of misrepresentation

http://eprints.yorku.ca/archive/00000017/00/MCWeb.htm. http://www.arches.uga.edu/~rkthomas/ClearThinking.htm.
Tinbergen, N. (1951). 25, 29 Tisseau, J. (2001).

p. 30

Thomas, R. K. (2001b). Thinking clearly about concepts in behavioral science p. 15, 16

The study of instinct.

Clarendon Press, Oxford, England.

p.

Ralit virtuelle : autonomie

p. 80

in virtuo.

Habilitation Diriger des

Recherches, Universit de Rennes I.

Tolman, E. C. (1948). Cognitive maps in rats and men. 208.

Psychological Review, 42(55) :189

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 :6582. 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

Bibliographie

continental slope of the bay of biscay : Visual observations and trawling. Dans

CM 2002/L :18. p. 99, 109

ICES

Trenkel, V. M., Mahvas, S., Lorance, P., et Masset, J. (2003).

Evaluation of visual

transects for estimating trawl eciency of deep-sea sh species. Dans

on sh behaviour in exploited ecosystems. p. 98


a fuzzy logic approach. Tu, X. (1996).

ICES Symposium

Tron, E. et Margaliot, M. (2004). Mathematical modeling of observed natural behavior :

Fuzzy Sets and Systems, 146(3) :437450. p. 73, 87

Articial Animals for Computer Animation : Biomechanics, Locomotion, Perception, and Behavior. PhD thesis, University of Toronto. p. 20
multi-robot control. 47

Tunstel, E., de Oliveira, M. A. A., et Berman, S. (2002). Fuzzy behavior hierarchies for

International Journal of Intelligent Systems,

17 :449470.

p.

Tyrrel, T. (1993).

Computational Mechanisms for Action Selection.

p. 37, 42

PhD thesis, Univer-

sity of Edinburg.

Viscido, S., Miller, M., et Wethey, D. S. (2002). The dilemma of the selsh herd : The search for a realistic movement rule.

Journal of Theoretical Biology,

217(2) :183194.

p. 32

von Holst, E. et Mittelstaedt, H. (1950). Das reaerenzprinzip. p. 28

Naturwiss, 37 :464476.

Walsh, S. J. et Godo, O. R. (2003). Letter to the editor - quantitative analysis of sh reaction to towed shing gears  what responses are important ? 63 :289292.

Fisheries Research,

p. 114

Wang, F. et McKenzie, R. (1998). Virtual Life in Virtual Environments. Technical Report ECS-CSG-44-98, Department of Computer Science, University of Edinburgh. 20 Wardle, C. (1993).

p. 9,

Behaviour of Teleost Fishes, 2nd edn., chapter 8. Fish behaviour and

p. 114

shing gear. Chapman & Hall.

Watts, J. (1998). Animats : computer-simulated animals in behavioral research.

of Animal Science, 76(10) :25962604. p. 18

Journal

Werner, F. E., Quinlan, J. A., Lough, G., et Lynch, D. R. (2001). 1990s. Dans 22 Wiener, N. (1948).

Spatialy-explicit

individual based modeling of marine populations : a review of the advances in the

Workshop on marine spatial modelling, volume 86, pages 411421. p. Cybernetics or Control and Communication in the Animal and the

p. 17 Dans Knowledge growth in an articial animal.

Machine.

Cambridge MIT Press, Wiley & Sons in NY.

Wilson, S. W. (1985).

Proceedings of the First International Conference on Genetic Algorithms and Their Applications.
Lawrence Erlbaum Assoc.

p. 14

160

Ludovic Coquelle

Wooldridge, M. et Ciancarini, P. (2000).

Agent-Oriented Software Engineering : The

State of the Art. Dans Ciancarini, P. et Wooldridge, M., editors,

on Agent-Oriented Software Engineering,


Berlin.

First Int. Workshop

volume 1957, pages 128. Springer-Verlag,

p. 35

Wooldridge, M. et Jennings, N. (1995). Intelligent agents : Theory and practice.

ledge Engineering Review, 10(2) :115152. p. 22

Know-

Zadeh, L. (1965). Fuzzy sets. Zadeh, L. (1973). processes.

Information and Control, 8 :338353. p. 129

IEEE Transactions on Systems, Man and Cybernetics SMC-3, pages 2844.

Outline of a new approach to the analysis of complex and decision

p. 132 From computing from numbers to computing with words  from

Zadeh, L. (1999).

IEEE Transactions on Circuits and Systems -I :Fundamental Theory and Applications, 45(1) :105119.
manipulation of measurements to manipulation of perceptions. 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 pattern (innate action) of individuals in sh schools generating ecient collective evasion from predation.

Journal of Theoretical Biology, 235(2) :153167. 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 articial life.

Semiotica, 134 (special issue)(1/4) :701746. p. 33

behavioRis

161

Bibliographie

162

Ludovic Coquelle

Simulation de comportements individuels instinctifs d'animaux dans leur environnement


De la description thologique l'excution de comportements ractifs

Cette thse s'inscrit dans le cadre de la modlisation de systmes complexes, et s'intresse la description de comportements animaux en vue de leur simulation dans un univers virtuel. La problmatique se trouve l'interface entre les modlisations biologiques et les systmes d'excution bass comportements. L'chelle de modlisation est celle de l'observation extrieure des individus dans leur environnement (les animats), base sur les modles individu-centrs de l'thologie. L'objectif tait de construire un outil qui permette de transcrire un thogramme en un modle excutable dans un environnement tri-dimensionnel continu. En thologie, le schma causal des comportements d'un animat le modlise comme une interface dont le rle est de dduire une rponse qui dnote une action en fonction des stimuli (Innate Releasing Mechanism). En simulation, ce type d'infrence causale stimulirponses doit s'adapter un modle d'excution, et plus prcisment au mcanisme de slection d'action (asm). Notre dmarche a t de construire une architecture modulaire qui permette de manipuler les concepts utiliss par les rgles comportementales et de les excuter. Notre proposition, le simulateur behavioRis , s'articule autour des deux problmatiques voques et propose d'une part une architecture d'excution base sur un systme multi-agents, et d'autre part un langage dclaratif de description du comportement. Quatre composants ont t identis et ris dans l'architecture. Un premier type de composant, Perception, permet de simuler les capacits perceptives de l'animat et dnote une perception associe sa smantique comportementale (ce n'est pas le processus physique de perception travers les sens qui est simul mais son rsultat smantique : on ne dcrit pas comment un prdateur est peru mais quels sont les prdateurs perceptibles). Le deuxime type de composant, InternalState , dnit sous forme de graphes d'inuences les variables intermdiaires utilises dans les modlisations thologiques. Ces deux types de composants sont utiliss par les composants Behavior comme base de construction des stimuli qui dclenchent les rgles. Les rponses de ces rgles sont ensuite utilises par un dernier type de composant, les composants Controller , qui reproduisent le modle biomcanique pour excuter l'action. Ce fonctionnement nous a permis de mettre en place un langage dclaratif qui spare le problme de description de comportement et la simulation. Pour traduire les descriptions linguistiques des rgles comportementales, nous utilisons la logique oue qui permet de manipuler les donnes imprcises et incompltes des descriptions comportementales. Cette proposition a t applique la simulation de comportements de poissons. Avec un premier projet qui consiste modliser les trajectoires d'vitement de poissons face un objet mobile passant dans leur environnement proche, nous avons mis en place un protocole de test de reconnaissance d'espce partir du comportement. Ce test en aveugle sert de validation qualitative de la pertinence de notre systme. Le second projet expose quant lui l'extensibilit du simulateur en prsentant une modlisation de comportement de poissons dans l'environnement complexe que forme un chalut de pche. Si la premire application illustre la modlisation d'un thogramme connu, la seconde utilise le simulateur comme laboratoire d'exprimentation de comportements et montre l'expressivit du langage.

Rsum

Mots-clefs

Animat, architecture ractive, langage de description de comportement, simulation multi-agents, infrence oue, thologie.
Ludovic Coquelle

Vous aimerez peut-être aussi