Académique Documents
Professionnel Documents
Culture Documents
Ludovic Coquelle
Thse
prsente devant
Rapporteurs
Soutenue le
1er
Examinateurs
Pierre Lionel Laurent Jacques
Vincent Dominique
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
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
. . . . . . . . . . . . . . . . . . . . . . . . . .
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
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
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
asm
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
behavioRis
49 50 50 51 52 52 53 53 55
sma sma
vs. excution .
. . . . . . . . . . . . . . . . . . . .
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
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
InternalState
Behavior
. . . . . . . . . . . . . . . . . . .
1.5
Controller
. . . . . . . . . . . . . . . . . .
Modle d'excution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vs. animat
Utilisation du simulateur . . . . . . . . . . . . . . . . . . . . . . . . Modlisation dclarative d'une espce Rgles comportementales 3.2.1 3.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Langage de description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vital
97
98 98
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modlisation d'un poisson . . . . . . . . . . . . . . . . . . . . . . . 102 . . . . . . . . . . . . . . . . . . . . . . . . . 102 . . . . . . . . . . . . . . . . . . . . . . . 103 . . . . . . . . . . . . . . . . . . . . . . . . 106 Perceptions . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Comportements Etats internes
Ludovic Coquelle
1.3
premecs-II
2.1 2.2 2.2.1 2.2.2 2.2.3
Description Modlisation
Le chalut
Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
125 129
. . . . . . . . . . . . . . . . . . . . . 131 . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
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
Les techniques de hachage rgulier de l'espace . . . . . . . 137 Dcomposition dynamique et adaptative de l'espace Groupement d'objets par zones de recouvrement . . . . . 139
. . . . . . . . . . . . . . . . . . . . . . . 140
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
Ludovic Coquelle
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
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
bpn .
Creature
. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entres et sorties du module comportemental ou . . . . . . . . . . . . . . Slection d'action par systme de vote Diagramme de classes simpli de Simulateur
ARVi
behavioRis
fcm
behavioRis
. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
ARVi
. . . . . . . . . . 138
. . . . . . . . . . . . . . . . . . 139 . . . . . . . . . . . . . . . . . . 140
. . . . . . . . . . . . . . . . . . . . . . 141 . . . . . . . . . . . 142
behavioRis
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) . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
Rsums des thogrammes des espces simules . . . . . . . . . . . . . . . 100 Rsum des thogrammes : caratristiques biomtriques et activit normale 101 Rsum des thogrammes : raction au
rov
. . . . . . . . . . . . . . . . . 101
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
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 (
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
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
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
li
Royaume-Uni),
2
ifremer
ismar
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
behavioRis
13
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-
modle,
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 (
Thins-
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
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
d'un animal.
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
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,
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
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,
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
stimulus, est une source d'nergie physique eg. la lumire, le son). C'est donc un facteur externe,
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
dbut de la rponse. Cette rponse se traduit par un changement nergtique : l'External Observable Consequent (
dpendante.
Selon
eoc) (eg.
variable
et
Thomas,
ioa
ioc.
de l'animal doit tre pris en compte dans l'explication d'un comportement et n'est pas
interface
ioc,
eoa
et
eoc,
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
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
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.
Tableau 1.1
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
La psychologie animale
(incluant la
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
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,
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
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,
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
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
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
Figure 1.2
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.
ia
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
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
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
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
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.
ALife
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)
(ii)
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'
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.
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),
ibm)
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
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
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.
Miquel
donne
behavioRis
21
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
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,
pement relativement rcent, est que la simulation peut tre trs coteuse en terme de
N2
, mme si
in ne
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
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
ibm
sma)
les auteurs donnent une dnition dite faible d'un agent comme un systme autonome, dot de capacit sociale (interactions
via
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
d'architecture d'agents
22
Ludovic Coquelle
Comportement et modlisation
Psikharpax
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.
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.
behavioRis
23
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
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
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 (
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
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
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
Ethosource
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.
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,
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).
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
a prsent un modle de
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
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 )
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
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.
homostasie
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
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.
l'observabilit
contrlabilit
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
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
Morgan
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.
ibm
boids
pour faire de l'animation (Reynolds, 1987). Son but est de dnir un com-
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
(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.
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).
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
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
boids,
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
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.
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.
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
ou seulement ceux visibles (sans obstruction visuelle mono- ou stro-scopique). Modliser la perception est la premire tape d'interprtation du modle.
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,
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.
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
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.
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.
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.
ibm
behavioRis
33
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
ibm
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
par un langage spcialis inspir des Architecture Description Language ( place une simulation d'
adl)
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
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.
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
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.
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
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
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-
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.
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.
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.
(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)
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
pouvoir garder une homognt par rapport aux buts et dcisions de plus haut
asm.
Les
sma
sont des
asm
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
behavioRis
subsumption
asm)
en couches hori-
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-
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'
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.
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
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.
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).
asm
AuRA
sch-
pour en extraire une commande reprsentative. L'objectif de cette approche est donc de
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
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
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
Rseaux d'activation
Les rseaux d'activation abordent le contrle de comportement avec une approche totalement distribue d'
asm
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
1963, cit par Pirjanian (1999)). Pour construire ces rseaux, un comportement
ci , ai , di , i
ci
l'ensemble des eets de l'activation du comportement est reprsent par les listes d'ajout
ai
et de retrait
di ;
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.
10%
et
le processus recommence jusqu' trouver un comportement le plus actif : ce type d'architecture est quali d'arbitrage choisi est rinitialis
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
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
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
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,
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.
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
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)
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
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 ).
asm
behavioRis
43
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
ment le comportement d'agent autonome dans un environnement de simulation premire version de l'thologie. Initialement,
Sensory system Object
Creature
(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-
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
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
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
gure 1.9 page 45. Prsente de manire plus abstraite (plus loigne du modle tho-
blackboard
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
blackboard
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.
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
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
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) :
B1
et
B2
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
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
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
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
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
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
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,
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
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.
cortex
asm
ganglion de la basethalamus
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
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
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)
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
top-down)
asm
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
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.
(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
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
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
de construction, qui propose une architecture d'agents pour la modlisation, mais dont
asm
reste concevoir.
InViWo
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
Gecko
ressources d'un point de vue cologique. Son but est de fournir un systme pour simuler
ibm
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
Lorenz
irm))
comme prsents
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.
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
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,
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).
wesp-tool
52
Ludovic Coquelle
wesp-dl
ibm
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.
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
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.
Improv
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 (
behavioRis
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
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 !
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
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
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.
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)
de stimulirponses doivent tre modliss par l'architecture d'agents pour permettre la simulation.
asm
behavioRis
55
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),
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),
rseaux d'activation
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
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
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
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
et
Z yaw Y pitch
P
:
, v
proprits de l'animat) et
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
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
3d
(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).
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 :
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)
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 :
et
Controller .
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
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.
http://mac-huwis.lboro.ac.uk/ASL/Projects/AgentBasedModelling/index.html
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
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.
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-NN (k
voisins indpen-
o(N 2 ).
En
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)
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
(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.
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
rv
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.
Perception
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
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
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-
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
pitch
pour l'ouverture
latrale, et un angle
yaw
Detector
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
FieldOfViewDetector
Percept.
Par exemple,
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
Filter ,
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
Le ltrage de l'ensemble d'objets dtects D construit l'ensemble des objets perus Percept.
360
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
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 :
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
OnRequest
Percept)
est
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
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
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.
de grandeurs numriques
label
(on notera
).
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
Sstress
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
entre tats (dans notre exemple, le stress inuence ngativement la fatigue). Ces rgles inuencent alors indirectement les comportements, notamment dans leur organisation.
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
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
l'instant
t i i
= gainki .valuek(t1)
: ajustement d au comportement : gain utilis par le comportement : valeur du comportement
k k
au temps
t i
au temps
t1
ture
Creature
cf
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
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
ai (t). Si et Sj
est not
fcm
La premire implmentation d'un composant
InternalState (un graphe) repose sur fcm, acronyme de Fuzzy Cognitive Map).
Si
pos-
fcm
Lij
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
fcm
stress
fatigue.
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
ous
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
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
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 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
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
intuitive, en construisant des hypothses d'inuences imprcises sur des concepts abstraits. Nous prsenterons un exemple dtaill dans le chapitre consacr aux applications (
cf
bpn
Si la solution base de
fcm
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,
bpn
sur ses dirents aspects en illustrant son volution dans le paragraphe suivant. Un
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
des arcs menant une transition est gale la somme des poids des arcs sortant de cette
bpn
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)
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 ).
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,
d'entre est suprieur ou gal au poids la transition) est ordonne alatoirement. Ensuite,
de poids
Lij
Lij
Pj
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
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.
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
dont le poids est toujours le poids maximum d'un nud du rseau, sert introduire de
l'nergie
gure 1.4 page 28) ; par exemple, une variable interne le poids est toujours reprsentant la
age
Lorenz
peur,
0,
est une
dcharge d'nergie ;
puits,
dont
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
20 Valeur du marquage 15 10 5 0 0 5 10 15 20
25
30
35
40
temporelles.
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
Pattern
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.
Behavior
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
la valeur souhaite et
L'activit du
Behavior ,
Trigger
mand ).
Com-
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
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
rgles oues
Ri
Ri ,
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 =
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.
modle biomcanique
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
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
frentiation mais n'introduit pas de contrainte en ce qui concerne la forme de la consigne. L'tape de contrle dans de proprit).
behavioRis
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
vote, reprsent gure 2.6 page 76 avec l'algorithme, procde comme suit :
Controller
(i)
chaque
(ii)
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
des dirents rsultats et applique les eets. La condition de seuil de pertinence pour
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).
Behavior #1
>
1 c21 = 1 , v21 , 21
>
Selector
V1
Actuator
p1
Controller #1
2 c32 = 2 , v32 , 32
> >
Selector
V2 Actuator Vn
p2 pn
Controller #2
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
Command
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
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).
Controller
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.
tor
Behavior
les consignes possibles). Deux types d'implmentation sont proposs, qui rpondent aux modles classiques de fusion et de slection. Soit
Command c = , v ,
Vi
, et
arg max
la fonction qui retourne l'lment pour lequel son argument est maximum. Pour
i ,
le sous-composant
Fusion
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
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
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
NoIntersect.
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 ).
fonctionnement est de calculer tous les dtecteurs puis d'appliquer successivement les dirents ltres dnis par ses sous-composants :
Detector : Filter :
meter, Environment ).
FieldOfView, Alti-
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
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
Rule ) re-
un coecient de pertinence
FuzzyBehavior :
les rgles.
de cette valeur.
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
Actuator :
sique (
Constraint :
Flow ).
AngularPosition, LinearSpeed ).
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.
sma
comme objet
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
sont classes dans un ordre alatoire puis tour tour excutes. Par dfaut, la politique
behavioRis
79
Chapitre 2
behavioRis
Figure 2.7
ARVi
de gestion du temps est dite en temps virtuel, c'est--dire que l'chancier dclenche un nouvel vnement
top d'horloge
top d'horloge
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 (
perception
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
Clock ).
Trigger
de
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
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
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
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 (
rv
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
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
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
recorders
descriptors
o chaque
descriptor
recorder
possde galement
recorder,
chacun de ses
descriptors
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
Ant::xSpeed).
Dans le cas
tanciation d'un animat de cette espce, et il sera dtruit si l'animat est lui-mme dtruit.
descriptor
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
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,
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
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
cf
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.
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
. . .
. . .
ligne 1
La spcication de l'espce
SpFooAnimat
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
behavioRis
Chapitre 2
behavioRis
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
dont le
ligne 3, 4, 5 et 6
La proprit
1m
Les proprits se dnissent par des quations utilisant les notations sont dnies implicitement pour
length
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-
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.
FuzzyBehavior
et plus gnralement de la
logique oue pour dcrire des rgles de causalit. Cette utilisation de systme d'infrence
behavioRis
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
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
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.
Behavior
forme
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
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
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
bbdl
ligne 20 25
Fuzzy(and="minimum", defuzz="maximum").
d'une proprit ou d'un tat interne par rapport un seuil. Ces seuils sont spcifs dans la partie
Linguistic
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.
indirecte permet d'tablir des rgles utilisables pour direntes espces sans les
ligne 26 32
Behavior
composant
Pattern. Un seul Pattern est utilis ici, il est nomm main et il contient Pattern dclar dans le composant FuzzyPercept
Les stimuli utilisent la notation pointe pour dsigner les entres : reprsente la valeur de la proprit distance associe au posant la
danger.distance
Perception
de sortie du com-
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
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
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 : {
}. L'opration
enumSelector
enumerator
est calcule. Il prend donc sa valeur parmi l'ensemble des proprits des objets. Par dfaut, la proprit
distance
est considre.
selector
rsultat de l'opration
enumerator.
predators
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.
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.
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
bistable
Species
. . .
pytherpoo:
. . .
2: 3:
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
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
One
qui reprsente
tionProcess
paramtre.
Controller
et le sous-composant
Ac-
90
Ludovic Coquelle
Langage de description
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 ,
something
et
somethingelse.
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
Pattern main
de niveau
(dont l'activit sa
1).
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).
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
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.
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
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.
eoa
Ces rgles pour les animats forment une interface entre des vnements observables et
ioa
consquences (
ioc
et
eoc
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,
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
Perception
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
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
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
bpn
Behavior ,
fcm
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
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 ),
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
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
behavioRis
97
La campagne
vital
vital
1
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.
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
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
vital.
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
m/s).
behavioRis
rov
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
98
Ludovic Coquelle
La campagne vital
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
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
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.
E)
spX
(avec
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
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
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
Espce
Longueur
0.45 m
Distance du fond
0.70 m
spA
Hoplostethus atlanticus
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
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
Espce
spA
Hoplostethus atlanticus
Distance au rov
entre
Comportement (trajectoire)
nage d'abord rapidement puis
rov le
et
5m
spB
rov
ralentit ;
devant
le
10m
2 m)
Scyliorhinidae
spC
Coryphaenoides rupestris
entre
et
10 m
rov
peut le suivre
angle de
30 cm
spD
Lepidion eques
de hauteur d'eau
2 m
sans tion)
(90% rac-
nage (
2 m/s)
proche du
spE
Alepocephalidae
tard (1m)
behavioRis
101
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
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
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
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.
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
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
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
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
distance
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.
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
Perception env: Trigger Clock(IFH) 3: Detector Environment() 4: Filter LocalVector(xa4urrent4Dya4urrent4Dza4urrent4) 5: Filter CartToSpherical(
1: 2: 6: 7: 8: 9: )
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
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:
3: 4:
voidEostle:
. . .
5: 6:
Code 3.4
vital bbdl
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.
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
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
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 :
(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
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
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
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
comme crit dans le repre global. Nous supposons que le poisson dispose de capteurs proprioceptifs de position lui permettant d'adopter un tel comportement.
afraid
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
d'tats de calme. Ainsi, avec deux inuences supplmentaires, une ngative de
idle
alive
vers
idle
afraid
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
sons que le modle est utilis sur une chelle de temps susament courte). L'utilisation
alive
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.
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
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
behavioRis
107
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
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
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 approches
spC spD
spE
Alepocephalidae
spD
restent presque poses au fond alors que Lepidion eques est juste au dessus avec peu
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
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.
dle de Hoplostethus atlanticus. Enn, certaines rponses peuvent rvler des similarits
behavioRis
109
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
+++
Alepocephalus
+++
Bathypterois
Alepocephalus
+++
Chimaera Alepocephalus
+++
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
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.
110
Ludovic Coquelle
La campagne vital
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.
spA
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
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.
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.
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
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.
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
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.
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
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
capturabilit
ressources halieutiques.
premecs
il est important de modliser la forme du let, et donc de la prise, ainsi que les compor-
behavioRis
113
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
Modlisation comportementale
Par exemple, le logiciel
PRESEMO,
dvelopp par le
difta
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
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
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
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
behavioRis
115
abstrait triangulaire, et d'appliquer les forces physiques pour calculer la forme gomtrique
3d
maille
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
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 ,
havioRis
be-
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
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
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
la liste d'objets perus par leurs rponses l'indexation spatiale (ici, les
50
plus proches
Trawl
50
doit donc tre capable de rpondre une requte d'indexation spatiale, ce qu'il
Mesh
ture de maille (synthtise sous forme d'une proprit moyenne des normes des vecteurs d'ouverture).
size
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
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,
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
behavioRis
117
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
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
behavioRis
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.
FieldOfView
target),
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
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 )
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
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
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
behavioRis
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
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
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
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
is yne
rendu raliste
5
. 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 ,
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
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
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
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
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).
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).
portements de cinq espces de poissons de fond ragissant au passage d'un reproduire des comportements observs
rov
dans
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
rov
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
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
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).
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
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
128
Ludovic Coquelle
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.
Zadeh
deh, 1965), qui admet l'ide qu'un lment peut appartenir partiellement plusieurs ensembles.
Denition
Soit de
C : E {0, 1} C (x) = 1, x C 0, x C / F
se dnit par une fonction d'appar-
F : E [0, 1]. e
De plus,
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
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
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
et
dnis sur
E,
L'intersection
et notes
A B,
)
x E, AB (x) = e e min
est la plus
optimiste
max
est la plus
Le complment
.
AC ,
pessimiste
des
t-co-normes.
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
est une valeur oue de cette variable. En thorie des ensembles classiques,
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
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 )
de la forme si
est
alors
C ,
V C.
131
behavioRis
En logique oue, le
qui ne lui
, la conclusion
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
R:V C
par
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
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
Mamdani
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
x0 : R [0, 1] x0 (x) =
Ensuite, il faut choisir les oprateurs ( Par exemple, la mthode de
0, si x = x0 1, sinon
sitions oues, ainsi que l'oprateur d'implication, pour paramtrer le calcul d'infrence.
Mamdani
ALORS
est
C ,
R (z) = (AB (x, y), C (z)) = min(AB (x, y), C (z)) = min(min(A (x), B (y)), C (z))
132 Ludovic Coquelle
Par la mthode de
Larsen,
on obtient :
Z.
Dans les
max. Z,
l'oprateur
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
linguistiques sont dnies par des fonctions linaires ( Soit un contrle dni en deux rgles :
cf
behavioRis
133
possibility 1.0
possibility
T ooN ear
CorrectDist
T ooF ar
1.0
Low
Quick
0.0 d
distance
0.0
VR1
speed
V =
1.0
Figure A.2
134
0.0
speed
Ludovic Coquelle
3d
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
range query
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
l'ensemble des
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
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.
d'indexation spatio-temporelle.
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
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.
dead-reckoning,
(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.
136
Ludovic Coquelle
Mthodes d'indexation
f (x, y) = x + 4 y
dcoupe l'espace en
16
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
ARVi
d'indexation par
hachage extensible.
Grid3D
2
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.
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
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
2,
la re-
x Lx
x 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
adaptative
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
(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 (
sous forme d'arbre de recherche binaire. Le dcoupage d'un intervalle ne se fait plus
cf
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.
R-Tree
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
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
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.
R-Tree
R+-Tree
reprennent
le principe mais changent les algorithmes d'ajout et d'insertion pour limiter le recouvre-
mbr
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
behavioRis
139
1 7 3 2 11 8
10
13
14
15
12
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
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
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
140
Ludovic Coquelle
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
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 :
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 (
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.
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
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
mode continu
k (1+)/2
(1)/2
(0,0.5,5)
(,a0 ,) :
[; 1] 1+ a 1 + e(aa0 )
mode binaire
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
(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
142
Ludovic Coquelle
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
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
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
transition sans place d'entre est une transition sortie est une transition
puits.
source
Marquage
Chaque place d'un Soit
RdP
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
Evolution temporelle ou
L'volution d'un
RdP
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
pi t
Mt = (1, 2, 1, 0)
de
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
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
P re : P T N
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
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
145
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
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
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
de caractres qui peuvent tre produites partir de ses rgles. Par abus de langage, nous
bnf
bnf.
::=
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
::=
par un des symboles de l'alternative droite de ce signe. Une alternative est constitue
bnf : ::=
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
behavioRis
[. . .]
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
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).
<species> ;
quelques
commentaires
::=
::= <shape> | <property> | <action> | <component> shape ::= Shape <type> <ident>
Vrml(path=<string>, shared=<bool>)
property
::=
is an arithmetic formula
action
::=
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
| | |
: : : :
compElt
Trigger <type>
currently implemented types are : - Clock(interval=<double>) (for periodic release) - OnRequest(interval=<double>) (release when some component request answer)
::=
stateElt
| |
148
Le langage de
behavioRis
| [<ident>
rst
<ident>
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
lingElt
property
| <ident>
patElt
<string>
::= 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
behavioRis
implementation support actually only <ident> as argument | <selector> actionSymb ::= <actionSymbBase> | <actionSymbFun1> ( <actionSymb> ) | <actionSymbFun2> ( <actionSymb> , <number> ) actionSymbFun1 ::= opposite | oppositeAngle | globalRoll | globalPitch | globalYaw actionSymbFun2 ::=
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
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.
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).
p. 39
Behavior-based robotics.
p. 39
Journal of
Axelrod, R. (1976).
p. 141
p. 29
Bajec, I. L., Zimic, N., et Mraz, M. (2005). Simulating ocks on the wing : the fuzzy approach.
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.
p. 139
Beer, R. D., Chiel, H. J., et Sterling, L. S. (1990). A biological perspective on autonomous agent design.
p. 44, 63, 68
Blumberg, B. M. (1997).
PhD thesis, Massachussets Institute of Technology. Boidin, C. et Julliard, F. (2005). Actes du sminaire du LISyC.
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.
p. 47, 48
Booth, G. (1997).
p. 129
behavioRis
151
Bibliographie
Bousquet, F., Bakam, I., Proton, H., et Le Page, C. (1998). resources and multi-agent systems.
p. 9, 52
p. 35
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.
p. 35
Brogan, D. C. et Hodgins, J. K. (1997). Group behaviors for systems with signicant dynamics.
of Robotics and Automation, 2(1) :1423. p. 36, 38 of Experimental & Theorical Articial Intelligence,
35
Buche, C., Parenthon, M., et Tisseau, J. (2002). for autonomous agents. Dans
p.
Coquelle, L., Buche, C., et Chevaillier, P. (2004). Un langage base de logique oue pour la simulation de comportements individuels d'animaux. Dans
Rencontres Francophones
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
3ime Confrence
p. 61
Ecologie.
p. 21, 34
Darwin, C. (1959).
http://www.literature.org/authors/darwin-charles/the-origin-of-species. p. 15
152
Ludovic Coquelle
Dickerson, J. A. et Kosko, B. (1994). Virtual worlds as fuzzy cognitive maps. 3(2) :173189.
p. 69, 141
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.
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.
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.
Robotics and
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
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.
p. 20, 54
p. 81
Giske, J., Huse, G., et Berntsen, J. (2001). Spatial modelling for marine resource management, with a focus on sh. Dans pages 405410.
p. 21
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
Biological Cybernetics,
Biological ACM
Guttman, A. (1984). R-trees : dynamic index structure for spatial searching. Dans
p. 79
Abrgs. Masson.
p. 24
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
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
The
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
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
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.
behavioRis
155
Bibliographie
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).
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
tional Conference on Intelligent User Interfaces, pages 305307, San Diego, California,
10th Interna-
Ecological Modeling,
115(2-3) :199216.
p.
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).
2(3) :8287.
Edition.
p. 24
Prentice Hall.
Meurisse, T. et Briot, J.-P. (2001). Une approche base de composants pour la conception d'agents.
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.
International Federation of Information Processing Congress, volume 1, pages 4549. p. 14, 126 The Society of Mind.
Minsky, M. (1985).
p. 29 Springer,
Mller, J. P. (1996).
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.
Numerische
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
zbilgin, H. et Wardle, C. (2002). Eect of seasonal temperature changes on the escape behaviour of haddock, 58 :323331.
p. 114
Parenthon, M., Buche, C., et Tisseau, J. (2002). Action learning for autonomous virtual actors. Dans
p. 69
Parenthon, M., Tisseau, J., Reignier, P., et Dory, F. (2001). Agents's perception and charactors in virtual world : Put fuzzy cognitives maps to work.
Dans
VRIC 2001
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
Pirjanian, P. (1999).
Technical
report, USC Robotics Research Laboratory, University of Southern California, Los Angeles, CA 90089-0781.
p. 37, 40, 41
behavioRis
157
Bibliographie
IEEE International Symposium on Computational Intelligence in Robotics & Automation (CIRA99), Monteray, CA. p. 46
elements. p. 115
Priour, D. (1999). Calculation of net shapes by the nite element method with triangular
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.
Journal
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
Vie articielle,
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.
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
Roussopoulos, Nick abd Kelley, S. et Vincent, F. (1995). Nearest neighbor queries. Dans
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.
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.
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.
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
p.
p. 80
in virtuo.
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.
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
ICES
Evaluation of visual
ICES Symposium
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
17 :449470.
p.
Tyrrel, T. (1993).
p. 37, 42
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.
217(2) :183194.
p. 32
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,
p. 114
Journal
Werner, F. E., Quinlan, J. A., Lough, G., et Lynch, D. R. (2001). 1990s. Dans 22 Wiener, N. (1948).
Spatialy-explicit
Workshop on marine spatial modelling, volume 86, pages 411421. p. Cybernetics or Control and Communication in the Animal and the
Machine.
Wilson, S. W. (1985).
Proceedings of the First International Conference on Genetic Algorithms and Their Applications.
Lawrence Erlbaum Assoc.
p. 14
160
Ludovic Coquelle
p. 35
Know-
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.
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.
behavioRis
161
Bibliographie
162
Ludovic Coquelle
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