Modélisation multi-agents de systèmes naturels
Réflexions générales et application en biologie marine
E. RAMAT(1), P. PREUX(1), L. SEURONT(2) et Y. LAGADEUC(2)
(1) Laboratoire dInformatique du Littoral (LIL) B.P. 719 62228 Calais Cedex France
e-mail : {ramat,preux}@lil.univ-littoral.fr
|
(2) Station marine de Wimereux - URA CNRS 1363 28 avenue Foch BP 80 62930 Wimereux France
e-mail : {seuront,lagadeuc}@loalit.univ-littoral.fr |
Résumé
Dans le cadre dun travail de recherche pluridisciplinaire, nous proposons une modélisation multi-agents dun écosystème. Nous discutons daspects méthodologiques pour passer dun modèle à base de bilans à une modélisation multi-agents. Nous justifions lutilisation dune modélisation multi-agents pour létude du comportement dun organisme vivant ce quun modèle analytique ne peut rendre compte dune manière pertinente. Nous présentons également une plate-forme que nous avons développés dans un souci de généricité afin de la réutiliser dans dautres projets en cours.
Mots-clés
SMA, modélisation décosystèmes, biologie marine, laboratoire virtuel
L'objet de nos travaux est la modélisation et la simulation de systèmes naturels à l'aide de systèmes multi-agents [4]. Ce travail est pluridisciplinaire : l'informaticien apporte sa connaissance de l'informatique, développe des travaux nouveaux pour répondre à des questions que se posent des chercheurs d'une autre discipline, une discipline des sciences naturelles dans notre cas. Notre travail repose sur un dialogue constant entre les disciplines.
Le choix des SMA pour l'étude de ce type de systèmes n'est pas un choix académique : c'est un choix de raison. En effet, notre objectif n'est pas, comme cela est généralement le but dans l'utilisation de l'informatique, de calculer une fonction ; l'objectif est d'étudier la dynamique d'un système. La modélisation consiste à transcrire un système dans un certain langage pour pouvoir l'étudier plus aisément (des équations différentielles, par exemple). Cependant, nous pensons qu'il est beaucoup plus judicieux, parce qu'il se prête mieux à l'expression d'objets complexes, d'utiliser des agents dont le comportement est décrit algorithmiquement. Aussi, la modélisation multi-agents répond t-elle à nos attentes. Notons bien que nous ne cherchons pas à " rendre tout agent ", même s'il est intéressant de voir jusqu'où les SMA peuvent se substituer aux équations [7,10]. Si, dans le système que nous étudions, certaines parties de la dynamique sont parfaitement décrites par des équations que l'on sait résoudre, nous les utilisons.
D'un point de vue plus global, notre objectif est la réalisation de laboratoires virtuels [6]. Nous entendons par là un logiciel dans lequel un système est décrit et la dynamique simulée. Les paramètres définissant le système sont modifiés dynamiquement et des capteurs placés à tout endroit du système permettent la collecte de mesures. Le but est de pouvoir tester des hypothèses en faisant jouer des scénarii et d'observer et mesurer l'évolution du système. Cela permet également la visualisation des phénomènes émergeants que l'on ne peut pas imaginer/prévoir a priori. Cette visualisation aide à la compréhension du système et de sa dynamique.
D'une manière générale, les modèles rencontrés dans les sciences du type biologie, géologie, ... décrivent des flux de manière analytique. En modélisation MA, il faut décrire le comportement individuel des agents et leurs interactions. C'est un changement complet de perspective. Dans une modélisation multi-agents, les bilans sont émergeants : ce sont des résultats, et non plus des données. Généralement, le chercheur a un modèle de type bilans et une intuition concernant le comportement à un niveau plus fin et seul l'aspect bilan est utilisé effectivement, du fait qu'il soit analytique. En renversant complètement le point de vue à l'aide d'une modélisation MA en mettant en avant le comportement individuel, nous mettons en question la cohérence des deux niveaux de " compréhension " du système : normalement, la simulation des comportements individuels doit naturellement déboucher sur l'observation des bilans censés décrire la dynamique du système (voire infra).
La validation du modèle est basée sur une comparaison entre les observations et la dynamique de la simulation. Après modélisation du comportement des agents et de leurs interactions, on paramètre le système et on simule des situations expérimentales connues. En fonction du décalage entre l'observation et la simulation, on cale le modèle.
Une fois calé, on extrapole en faisant jouer des scénarii nouveaux en supposant que le comportement du simulateur demeure fidèle à la réalité.
Du point de vue de la mise en place d'un modèle multi-agents, la modélisation est intuitivement assez facile à réaliser en comparaison avec une modélisation analytique ; elle ne demande pas une aptitude pour les mathématiques et leurs applications ; elle évite les problèmes liés à la résolution effective d'un système d'équations différentielles.
Comme on l'a déjà souligné plus haut, elle permet de simuler les lois comportementales observées et d'en vérifier leur cohérence par rapport aux modèles de bilans classiques. On renverse donc la perspective entre les données et les résultats.
L'approche permet d'intégrer des modèles du comportement de plusieurs types d'agents dans une même simulation et de tester la cohérence de ces modèles entre eux. Cette possibilité est très originale et permet de se rendre compte des incohérences entre des modèles décrivant des processus différents et interagissants.
L'aspect visualisation de la dynamique du système est également fondamentale à nos yeux. Par essence, une émergence ne peut être prédite ; il est donc important de disposer d'un outil permettant de la voir, donc de mieux comprendre le système étudié.
Dans le reste de cet article, nous décrivons la modélisation que nous avons mise en place dans le cadre d'une collaboration informatique/biologie marine. Nous utilisons une modélisation multi-agents pour tester une hypothèse proposée par les biologistes sur la modélisation du milieu marin et sa pertinence pour rendre compte du comportement du zoo-plancton. Les agents représentant les organismes zoo-planctoniques sont des agents situés, réactifs, et percevant leur environnement. Ainsi, le modèle de leur environnement et de leur voisinage n'est pas fourni aux agents ; au contraire, les agents le construisent à chaque instant via leurs " sens ". C'est pour nous très important de modéliser la perception des agents sous cette forme " réaliste ". La perception de lagent peut varier en fonction de son état physiologique et de son environnement ; sa situation (spatiale, dans lespace des états physiologiques ) intervient dans la perception quil a de son milieu. Notons également que le fait que les agents soient réactifs n'impliquent pas qu'ils n'ont pas une certaine forme de mémoire. Le comportement passé d'un agent rétro-agît sur son comportement à venir ; le comportement d'un agent à un instant est donc influencé par son histoire, qui lui est, par nature, individuelle.
Après avoir décrit le problème et le système biologique, nous présentons la modélisation qui a été réalisée. Nous montrons les résultats obtenus qui viennent confirmer les hypothèses des biologistes. Ce travail remet en cause une bonne partie des modélisations réalisées à ce jour dans ce domaine, ce qu'une approche de type analytique n'a pas permis de réaliser. Enfin, nous discutons des suites et perspectives de ce travail.
Lobjectif de ce travail est didentifier les règles comportementales du copépode (cf. Figure 1) et les influences de lenvironnement sur son comportement : lhypothèse est que le copépode a un comportement actif de recherche de nourriture (phytoplanctons). Pour cela, nous nous proposons de croiser lobservation sur le vivant, les résultats des modèles analytiques et la modélisation par agents. La distribution du phyto-plancton est fortement hétérogène dans le milieu. Les résultats actuels [1] montrent que cette hétérogénéité influe sur le bilan énergétique du copépode. En mesurant la quantité dazote absorbée lors de la nutrition, les observations montrent que le rendement du comportement du copépode (énergie dépensée/énergie ingérée) varie en fonction du type de distribution de la nourriture [1,3]. Par exemple, un milieu perturbé, propice aux échanges, favorise le taux de rencontre du copépode avec les particules de phyto-plancton et donc augmente son rendement. Il reste maintenant à montrer linfluence du comportement du copépode dans de telles situations. Létude de ce comportement est incompatible avec une approche analytique, comme nous allons le voir. Aussi, nous étudions une approche SMA [4].
A lheure actuelle, le copépode (cf. Figure 1), petit organisme marin appartenant à la famille des zoo-planctons, est représenté par des modèles de type " boîte noire " (cf. Figure 2) ou analytiques (cf. Figure 3). Ces modèles cherchent à décrire chaque processus intervenant dans la vie de lorganisme en identifiant des flux dentrée, des flux de sortie et une fonction de transfert.
Figure
1. Copépode Centropages hamatus
Attardons nous sur le processus dingestion des proies dans le cas
du phytoplancton (cf. Figure 2). Le copépode capture une proie (une particule de
phytoplancton). Après un temps de manipulation, celle-ci est stockée dans lestomac
et entre dans le processus de digestion. Lestomac transforme son contenu soit en
énergie utilisable (proies assimilées) que lon exprime en azote, ou en déchets
(pelotes fécales). Cette transformation est continue : à chaque Dt,
une quantité Dq transite (cette quantité est proportionnelle
à la quantité stockée dans lestomac). Lénergie utilisable
est soit consommée (métabolisme, digestion ou
nage) soit stockée (pour la production dufs chez les femelles, par exemple).
Quant aux déchets, ils sont éjectés.
Figure 2. Modèle en boîte du processus dingestion
Il existe des modèles analytiques qui ont pour ambition de représenter, au mieux, les processus biologiques qui régissent les copépodes. [1] propose un modèle (cf. Figure 3) synthétisant les différents modèles développés jusquà présent. Il résume, à laide de cinq équations différentielles interdépendantes, lactivité de capture et de digestion.
|
|
|
|
|
Figure 3. Modèle analytique du processus dingestion
X1 |
Nombre de proies dans lestomac |
|
X2 |
Nombre de proies assimilées |
|
X3 |
Nombre de pelotes fécales |
|
X4 |
Nombre de pelotes fécales évacuées |
|
X5 |
Energie dépensée exprimée en azote |
|
I |
Taux dingestion |
|
A |
Taux dassimilation |
|
F |
Taux de formation de pelotes fécales |
|
C |
Energie dépensée par unité de temps |
|
Ca |
Pourcentage de proies assimilées par rapport aux proies capturées |
|
Tg |
Temps de transit (dépendant du nombre de proies dans lestomac) |
|
MN |
Masse en azote du copépode |
|
G |
Nombre de pelotes fécales évacuées par unité de temps |
|
Cst |
Energie dépensée pour le métabolisme par unité de temps |
|
Csda |
Energie dépensée pour lingestion par unité de temps |
|
Csw |
Energie dépensée pour le déplacement par unité de temps (nage + saut) |
Table 1. Définition des variables et constantes du modèle analytique de la Figure 3
Prenons, à titre dillustration, léquation (1) qui décrit mathématique la variation du nombre de proies dans lestomac de lanimal (X1). Cette variable dépend de trois autres variables :
Les deux dernières variables modélisent, a priori de manière correcte, la digestion. En revanche, la variable I est censée décrire le processus de capture du copépode en fonction de sa satiété et de lenvironnement. A aucun moment, les équations mathématiques ne font mention du comportement du copépode. Pour sen convaincre, développons un peu ce qui se cache sous I.
![]()
I est directement liée à la capacité de rencontre du copépode. Dans le modèle analytique proposé, cette capacité de rencontre est fonction de quatre paramètres :
Ce modèle rend bien compte du processus de capture mis à part, de notre point de vue, la contribution du comportement. En effet, si lon peut mettre en équation le fait que lactivité de nutrition du copépode est fonction de la densité des proies, du niveau de turbulence du milieu, du mode de prédation et de la quantité de nourriture dans lestomac, il est, en revanche, délicat de résumer le comportement par une relation qui fait seulement intervenir le rayon de perception, la taille des proies et la vitesse de nage du copépode relativement à celle de ses proies.
Le système étudié est composé dune masse deau (qui représente le milieu des autres agents) dans laquelle sont immergés des " patches " de phytoplanctons et des copépodes. Chacun des agents est situé et possède ses propriétés parmi lesquelles son comportement. Les patches de phytoplanctons ont une certaine dimension et sont soumis aux courants et à la turbulence. Le copépode possède différentes caractéristiques (sa masse en azote, le volume de son estomac, sa vitesse de nage ). Son comportement, objet de létude pour le biologiste, est défini par un réseau de Pétri pour permettre la description de comportements sophistiqués avec un outil standard et simple. On se place dans une perspective dagent réactif (cf. Figure 4) : létat interne de lagent et les stimuli auxquels il est sujet à un certain instant entraînent (de manière non nécessairement déterministe) un certain comportement et un nouvel état interne.
Figure 4. Agent réactif
Il existe une multitude doutils de modélisation plus ou moins généralistes (Swarm [13], Manta [12] ). Dans la majorité des cas, ce sont des plates-formes soit adaptées à un ou à une famille de problèmes, soit génériques. A notre connaissance, la généricité entraîne, dans tous les cas, une dépendance vis à vis dun environnement informatique ou dun langage de développement mais surtout ces plates-formes sont à base de primitives réutilisables et il faut donc écrire du code ! Toutes ces raisons nous ont poussés à concevoir un nouvel outil de modélisation et de simulation dagents réactifs, perceptifs et situés.
Nous utilisons un langage objet (Java) dans lequel nous retrouvons tous les concepts du paradigme objet ainsi quune arborescence de classes avancées (thread, stream ). Cette hiérarchisation des classes nous a permis de définir nos classes dagents (cf. Figure 5). Dans un premier temps, ces classes dagents ont été accessibles par un langage avec lequel on peut décrire une catégorie dagents par lintermédiaire de leur comportement, de leurs propriétés et de leurs moyens de communication. Un second langage rend possible la description de lenvironnement. Lensemble compose une plate-forme où lon peut décrire les agents, les créer et les activer.
A lheure actuelle, les deux langages sont encapsulés dans une interface graphique écrite en Java (donc portable et accessible sur Internet) et accompagnés doutils de définition de lenvironnement, de représentation des déplacements dagents situés et de tracé des variations des propriétés des agents.
Les familles dagents
Notre approche repose sur quatre familles dagents (cf. Figure 5). Les agents spatiaux sont les briques de base pour la construction de lenvironnement en les juxtaposant et en les connectant. Selon le mode de connexion, il est possible de définir des environnements toriques ou bornés. Comme nous le verrons par la suite, linterconnexion des agents spatiaux entre eux est aussi à la base des canaux de communication entre agents situés et spatiaux.
Figure 5. Hiérarchie des familles dagents dans notre
simulateur
Les agents situés constituent la deuxième grande famille. Un agent situé se trouve en relation avec un et un seul agent spatial. Cette relation permet de définir sa position dans lespace. On distingue deux sous-familles : les agents dynamiques et les agents statiques. La différence fondamentale réside dans le fait que les agents dynamiques ont la faculté de se déplacer par leur propre initiative. En revanche, les agents statiques sont fixes ou peuvent être déplacés par dautres agents.
Les agents globaux, comme leur nom lindique, sont des entités communes à lensemble des autres agents. Tous les agents peuvent y faire référence.
Les états internes
Malgré leurs différences conceptuelles, tous les agents sont construits autour de lidée dagent réactif. Les états internes précisent des valeurs telles que masse en azote, volume de lestomac, vitesse de nage, fréquence des sauts... , c'est-à-dire toute valeur caractéristique de l'agent susceptible d'intervenir dans son comportement. Ces valeurs sont strictement privées à l'agent et donc, lui seul, en fonction de ce qu'il perçoit et de son comportement, modifie ces valeurs. On peut imaginer, par exemple, qu'après l'absorption d'une cellule de phyto-plancton par un copépode, celui-ci augmente sa masse en azote d'une certaine quantité (une fois assimilée).
La dynamique
La dynamique, directement liée au comportement que l'on cherche à tester, fait appel aux réseaux de Pétri (cf. Figure 6). Celui-ci a pour objectif de modéliser les changements d'état. On retrouve dans cet outil mathématique les notions d'état (stable) ou de place et de transition. A un état (ou place) est associé un ensemble d'actions (déplacement, mise à jour de l'état interne, envoi de message...) réalisées lors de l'activation de cet état. Létat est activé à chaque réception de jetons. Une transition, quant à elle, marque le passage d'un état stable à un autre. Ce passage s'effectue si le nombre de jetons nécessaires est atteint dans les places amonts, si la condition associée à la transition est valide et après une durée de temporisation déterministe ou stochastique. En d'autres termes, pour qu'il y ait changement d'état, il faut que les conditions de franchissement de la transition soient validées et, après une certaine attente, le nouvel état stable est activé.
Figure 6. Réseau de Pétri temporisé modifié
Lintroduction de durée de temporisation rend les modèles dépendant de la variable temps, si nécessaire. En effet, lexécution des réseaux de Pétri temporisés construit dynamiquement un échéancier.
Nous avons introduit une deuxième technique pour la définition de la dynamique : lintroduction dynamique de classes Java. Ces classes permettent de décrire en Java un comportement. Cette option a lavantage daugmenter sensiblement la vitesse dexécution des simulations.
La perception
Par analogie avec les
entités biologiques, tout agent est doué de sens plus ou moins développés. Dans notre
modèle, un agent possède plusieurs sens et chacun d'eux est défini par trois
paramètres : le type d'agents perçus, le secteur (selon l'orientation de l'agent)
et la distance jusqu'à laquelle ces agents sont perçus. Par ce biais, on peut tester
différents scénarii selon les perceptions possibles du copépode (par exemple,
perception des cellules de phytoplancton situées dans un secteur de 90 degrés et à une
distance inférieure à 1mm [2] cf. Figure 7). De plus, un agent peut ne percevoir
quune partie des caractéristiques dun autre agent. On précise dans ce cas
les caractéristiques perçues. Un agent peut aussi disposer de plusieurs sens. Cest
lors dactions que lagent précisera le sens utilisé.
Figure 7. Distance de vision = 1 et secteur = 2
Les sens sont aussi,
dans cette approche, à la base du réseau de connaissances des agents. Dynamiquement,
lagent construit son voisinage en fonction de sa position dans lespace et de
ses sens.
Figure 8. Exemple de réseau de connaissance par voisinage
A titre dexemple (cf. Figure 8), considérons les agents " croix ". Ils perçoivent totalement leurs congénères et les agents spatiaux comme indiqué sur la Figure 8. Les cases grises représentent les agent spatiaux perçus (section de 90° et distance de 2). En revanche, les agents " croix " ne perçoivent pas les agents " rond ". Il en résulte que lagent situé au centre de la grille ne perçoit quun seul agent (lagent " croix " de la première ligne) et lensemble des agents spatiaux grisés.
Indirectement, les sens définissent aussi les possibilités de déplacement des agents dynamiques. Si lenvironnement se compose de différents types dagents spatiaux, lun de ces agents peut ne pas être perçu par un agent dynamique. Prenons lexemple dun labyrinthe, il est composé de couloirs et de murs. Les agents qui se déplacent dans ce labyrinthe ne peuvent pas se positionner sur les murs. On interdit donc la perception des murs par les agents mobiles. Lors dune action de déplacement, lagent va construire lensemble des futures positions possibles en fonction de ses perceptions et choisir parmi elles.
Les messages
La quatrième caractéristique concerne les communications entre agents. Les agents ont la possibilité d'envoyer des messages aux seuls agents quils perçoivent. Ces messages se présentent sous la forme d'un vocabulaire que les agents peuvent émettre (ou non) et entendre (ou non) selon leur type. La réception d'un message par un agent le conduit à effectuer une ou plusieurs actions. Le mécanisme denvoi de messages est le seul moyen pour un agent de modifier les caractéristiques dun autre agent (à condition que celui-ci laccepte). Lenvoi dun message est considéré comme une action au même titre quun déplacement. A titre dexemple, la place n°3 de la Figure 9 contient un exemple denvoi de message (send,toSpatialAgentWhereIsIt(Init)). Ce message est envoyé à lagent spatial où lagent expéditeur se situe ; il se nomme Init et ne possède pas de paramètres. Lorsque le message est reçu par lagent spatial, destinataire du message, celui-ci effectuera les actions associées au message.
Nous sommes partis de lhypothèse que le copépode adopte deux comportements distincts : une nage orientée à la recherche de nourriture et des sauts aléatoires. Ces comportements ont une influence directe sur le processus dingestion des cellule de phytoplancton. Nous allons donc nous intéresser exclusivement à ce processus et laisser de côté la partie digestion qui, néanmoins, nest pas à négliger pour obtenir un modèle complet.
Généralités
Le système se compose de trois entités : la masse deau, les cellules de phytoplancton et les copépodes. Dans un premier temps, nous ne considérons quun seul copépode à la fois. La masse deau constitue lenvironnement (ou le milieu) dans lequel évolue les autres entités. La taille du copépode (1 mm) sert de longueur de base pour la discrétisation de ce milieu. Le milieu est considéré, pour linstant, en deux dimensions et découpé en parcelles d1 mm2. Chaque parcelle est pris en charge par un agent spatial. Les cellules de phytoplancton sont très nombreuses (de 10 cellules par litre à 108 cellules par litre soit au maximum 104 cellules par parcelle). Il nest donc pas raisonnable de modéliser chaque cellule par un agent. La solution retenue consiste à définir, au niveau des agents spatiaux, une propriété " Nombre de cellules ". On délègue la gestion de la nourriture aux agents spatiaux cest-à-dire à lenvironnement. Quant au copépode, il est représenté par un agent dynamique dont on va décrire la dynamique dans la partie suivante.
Le pas de temps de la simulation est noté u. t. Celui-ci est fixé par la durée correspondant au temps nécessaire à la plus petite action, cest-à-dire la manipulation dune cellule de phytoplancton par le copépode soit 1/20 s.
Le réseau de Petri modélisant la dynamique de déplacement du copépode (cf. Figure 9) se divise en quatre parties :
Intéressons-nous à la phase active de capture de nourriture. A lexception des sauts aléatoires (place n°3), le copépode nage et parcourt une parcelle toutes les 20 u. t. Lorsquil a atteint ce délai, il change de parcelle (place n°6). Ce changement est fonction de la stratégie que lon teste. Dans le cas de la Figure 9, la parcelle disposant de plus de nourriture aura plus de chance dêtre choisie ce qui se traduit par linstruction move,toSpatialAgent(groundView,true,random(currentQuantity). Cette instruction fait partie de lensemble des actions disponibles et permet le déplacement dun agent dynamique vers un des agents spatiaux perçu par un sens, ici groundView, et sélectionné par tirage aléatoire proportionnel à la valeur dune variable (currentQuantity, dans notre cas).
Figure 9. Dynamique de déplacement
Localement, le copépode capture les cellules de phytoplancton. Sil na pas encore tout consommé, on vérifie sil a " envie " de manger (place n°7). En effet, nous avons vu que le copépode diminue la quantité de nourriture quil absorbe en fonction de son niveau de satiété, lui-même directement lié, pour linstant, au nombre de cellules de phytoplancton présentes dans lestomac. La fonction de satiété est la suivante :

où VproieX1 présente le volume des proies non digérées et Vestomac le volume de lestomac du copépode.
Si le tirage aléatoire de la place n°7 est favorable alors il capture la cellule sinon cette cellule disparaît de son champ de vision.
Réflexions et extensions.
Ce premier modèle est une traduction algorithmique du modèle analytique. On y retrouve des valeurs moyennes issues de bilans et des processus aléatoires, tel que celui de la satiété. La même remarque est valable pour la partie digestion. Le seul élément nouveau est la prise en compte du comportement au niveau de la nage. Il faut néanmoins souligné que la construction des agents est nettement plus simple et fait intervenir un nombre réduit de paramètres par rapport au modèle analytique.
Nous nous intéressons maintenant à décomposer les processus " énigmatiques ", tels que les sauts aléatoires ou la vitesse de nage constante. Il est évident que derrière ces actions se cachent des règles de décision ou des processus plus complexes. Par exemple, lobservation montre que la vitesse de nage nest pas constante et que ces variations sont dues à des interactions avec lenvironnement. Il reste, aux biologistes, à les définir ou à les imaginer.
Dautre part, si on sintéresse à la règle de décision de la capture ou non dune cellule de phytoplancton, on peut se demander si des éléments comme létat physiologique du copépode ne rendre pas en ligne de compte. Par exemple, une femelle, porteuse dufs, a des besoins en nourriture plus important quun mâle. Il paraît aussi évident dun copépode seul ne vit pas de la même façon quune colonie de copépodes.
Nous avons défini deux types de copépode en fonction de leur stratégie de nage : aléatoire ou orientée. Lenvironnement se compose dune grille 2D de 2500 parcelles carrées (50x50). Chaque parcelle est un agent spatial et est connectée à ces 8 voisines. Les cellules de phytoplancton sont réparties soit par patches (cf. Figure 10 tâches grises) soit uniformément. Dans les deux cas, la densité globale est identique (1 cellule par parcelle). Pour les patches, différentes densités sont utilisées (représentées par des niveaux de gris différents).
A laide des variables définies au niveau des agents Copépode, on mesure à chaque pas de la simulation : lénergie, exprimée en pg dazote, contenue dans lestomac (gutEnergy), lénergie utilisable (energy), le nombre de cellules de phytoplancton capturées (cellNumber) et quatre variables du modèle analytique (X3, X4, Tg et Ca).

Figure 10. Trajectoire du copépode (nage aléatoire)
Nous disposons dun outil de visualisation de trajectoire. Il permet de tracer le chemin parcouru par un agent situé durant la simulation. En superposant la trajectoire du copépode étudié et la distribution des cellules de phytoplancton, on montre que dans le cas dune distribution des cellules de phytoplancton par patch, la stratégie de la nage orientée est plus efficace. La Figure 11 est là pour en témoigner.
Figure 11. Trajectoire du copépode (nage orientée)

Figure 12. Quantité de nourriture (en pg dazote) dans lestomac du copépode en fonction du temps
Si on superpose les courbes représentant la quantité de nourriture dans lestomac du copépode en fonction du temps et selon la distribution des cellules de phytoplancton et la stratégie de nage, il apparaît très rapidement que la nage orientée est favorable à lalimentation du copépode du point de vue énergétique.
Si le copépode est plongé dans un champ homogène, la stratégie de nage na aucune influence sur lalimentation puisquil trouvera de la nourriture dans toutes les directions en même quantité. En revanche, dans un champ hétérogène, la stratégie aléatoire conduit le copépode à tomber par hasard sur un patch de cellules de phytoplancton et surtout den sortir sans chercher à en profiter. Donc cette stratégie est moins efficace.
En conclusion, on retrouve les principaux résultats énoncés dans [1] pour une configuration de champ uniforme et de nage aléatoire. Il reste à effectuer des comparaisons avec des résultats dexpériences in vivo mais qui restent pour linstant difficile à réaliser. Les seuls points de comparaison possible concerne laspect des trajectoires selon la densité de nourriture (cf. [3]).
Nous avons présenté la démarche et les premiers résultats dun travail reposant sur une collaboration informatique/biologie qui a pour objectif détudier le comportement dun organisme zoo-planctonique, le copépode. Nos résultats sur un champ de phytoplanctons hétérogène sont les premiers obtenus. Ils montrent clairement la différence par rapport au champ uniforme, qui aura des conséquences importantes sur le comportement, donc sur la dynamique de lécosystème marin. En effet, si le phytoplancton est distribué de manière hétérogène, le copépode a un comportement qui tend à les concentrer dans des zones où le phytoplancton se trouve. Le copépode étant lui-même la nourriture de certains poissons, ceux-ci auraient à leur tour une répartition différente dans les eaux
Ce travail réalisé, de nombreuses voies de poursuite sont possibles. Tout d'abord, le passage à un système 3D est envisagé. Ce passage du 2D au 3D ne devrait pas remettre en cause les conclusions de ce travail au niveau biologie. Par contre, pour l'informaticien, le passage à la troisième dimension soulève des problèmes en terme de charge de calcul. Ce problème lié au nombre d'objets et au nombre d'interactions à simuler est plus général que celui du passage au 3D ; c'est un problème que l'on rencontre partout, dès que le système est un peu compliqué. Nous travaillons actuellement sur l'agrégation d'agents pour faire face à ce problème.
Les temps de calcul sont également dus au fait que la plate-forme a été développée en Java pour permettre, notamment, une compatibilité avec Internet. Par ailleurs, le développement d'une application à l'aide d'agents " propres " peut entraîner des surcharges de traitements.
Ce travail conceptuel et cette plate-forme sont actuellement en cours de réutilisation dans le cadre d'une collaboration avec un laboratoire de géologie où l'aspect laboratoire virtuel séduit également beaucoup les chercheurs.
Lutilisation dun modèle multi-agents nous semble être indispensable pour autoriser létude fine dun comportement, ce quun modèle analytique ne nous aurait pas permis.
Au niveau méthodologique de modélisation, nous avons dû étudier le passage dun modèle reposant sur des bilans à un modèle orienté individu ; nous retrouvons le même type de changement de paradigme dans notre travail avec des géologues. Les variables habituellement manipulées dans les modèles dans ces sciences sont en effet collectives, émergeantes de lactivité des individus. Nous pensons que lapproche multi-agents oblige à se concentrer sur les " vraies " questions. Dans le travail décrit ici, le comportement en moyenne dun copépode na aucun sens : le copépode na jamais ce fameux comportement moyen, et ce lissage masque les véritables comportements, altérant finalement létude du système en se concentrant sur de faux problèmes et en ignorant les bonnes questions.