Simulations en ethologie


Retour à la page principale

Introduction :


Depuis ses débuts, l'informatique tente de créer des systèmes artificiels dotés de propriétés complexes, “intelligentes”, notamment la persistance, la résilience, l'autonomie, ou l'évolutivité. A l'inverse la nature sait faire tout cela depuis longtemps, et les chercheurs en biologie tentent de comprendre comment ces propriétés ont pu émerger. Ces domaines convergent ainsi dans un besoin commun de modéliser les systèmes naturels, selon un modèle suffisament complexe pour observer les comportements souhaités, mais suffisament simple à paramétrer et interprêter. Les systèmes multi-agents sont parfaitement adaptés pour définir un tel modèle. En effet représenter une entité biologique par un agent se fait de façon assez intuitive, et les propriétés des systèmes naturels émergent vraisemblablement des intéractions entre leurs composants de base : animaux, plantes, environnement.

Pour cette raison on cherche ici à les représenter dans le modèle orienté individus (Individual-Based Model). Il mène à une plus grande complexité de calcul, mais ses capacités de modélisation sont bien meilleures, notamment dans le cadre de l'éthologie.


L'éthologie est la “science dont l'objet est l'étude des comportements animaux dans leur milieu nature“. Dés la fin du XIXème siècles divers travaux ont posé quelques bases de l'éthologie, mais c'est avec Lorenz et Tinbergen qu'elle devient une science moderne.

En éthologie on souhaite répondre à l'une des questions suivantes (voir [4]) :


Les comportements observés dans la nature sont en effet d'une grande richesse et complexité. De nombreuses questions peuvent alors se poser. Comment donc font les troupeaux de gazelles pour s'éloigner de manière assez cohérente quand l'une d'elles détecte un lion? Comment font les oiseaux migrateurs pour d'une part se regrouper, et d'autre part pour éviter les collisions entre individus? Comment font les abeilles ou les fourmis pour “savoir” le rôle qu'elles ont à jouer à un moment donné? Mais également pourquoi telle ou telle espèce a t'elle disparu, ou a proliféré? Et comment prévoir les extinctions, et éventuellement les prévenir?


  1. Les SMA, outil pour prédire?


Le fait est qu'on ne sait pas a priori répondre à ces questions de façon précise. On aimerait bien disposer d'un outil permettant de déduire les causes et fonctions des comportements, et de prévoir les comportements à venir d'une population animale. Malheureusement dans la pratique pour le moment, quelques légères variations dans les propriétés de bases de quelques agents suffisent à perturber complètement le système. Les systèmes naturels sont chaotiques, et leur modèle à base d'agent l'est aussi à une échelle moindre. Ainsi les SMA n'offrent que de faibles opportunités de prédiction, pour des problèmes où quelques facteurs peu nombreux sont dominants.

On citera l'exemple de l'évolution des populations de cervidés dans les parcs nationaux, qui est relativement bien modélisée par le logiciel “Deer Management Simulator” (voir références)

D'autres travaux similaires ont été effectués pour de nombreuses espèces de mammifères, oiseaux ou poissons, avec plus ou moins de succés.


  1. Les SMA, outil pour tester?


En pratique les simulations de populations animales effectuées jusque là ont plus une utilité pour tester des hypothèses. Les éthologues formulent souvent des hypothèses diverses sur l'origine d'un comportement, et souhaitent disposer d'un moyen de vérifier l'influence de certains facteurs, la pertinence de certaines hypothèses, etc. Le modèle à base d'agents permet alors de constituer des systèmes artificiels aléatoires proches des systèmes naturels, et en testant sur ces systèmes on peut avoir une estimation raisonnable de la pertinence des hypothèses.

Par exemple la compétition entre espèces et entre individus d'une même espèce peut être modélisée par des équilibres de type Nash. Si deux espèces cohabitent dans un milieu, et que cette cohabitation est durable, nécessairement un équilibre a été trouvé. On peut approximer les équilibres possibles en créeant des ensembles d'agents représentants des individus des espèces présentes, avec un aléat, et en laissant les systèmes artificiels associés tourner. Les résultats obtenus sont souvent assez proches de ceux obtenus dans la nature. Cela permet ainsi de tester les conséquences de changements dans l'environnement (arrivée d'une nouvelle espèce, déforestation, etc), et d'en déduire quel facteur est le plus à même d'expliquer un phénomène observé.


Divers logiciels permettent de créer des écosystèmes et d'y placer des “animaux”-agents, tels Echo, Swarm, ou XRaptor. Des modules plus complexes basés sur ces logiciels ont été développés pour l'étude spécifique de certains milieux ou espèces.


  1. Etude de l'émergence de propriétés

On peut également vérifier si des agents avec des propriétés très simples engendrent tel ou tel comportement plus complexe, afin par exemple de formuler des hypothèses sur ce qu'il en est dans la nature, ou pour simuler de manière simplifiée un comportement dans le but d'en étudier un autre.

Le cas des “Boids” de Craig Raynolds en est un exemple simple, et un cas particulier de “Swarming” que l'on verra plus en détail.

Plus généralement l'éthologie a inspiré l'informatique pour chercher à engendrer des propriétés émergentes. Cette fois ci on ne cherche pas à représenter la nature, simplement à imiter ses principes de base pour résoudre des problèmes plus complexes.


  1. Perspectives de recherche, conclusion


Les SMA apportent actuellement une aide précieuse aux éthologues pour la compréhension de la nature. La plupart des travaux actuels consistent en des raffinemenents de modèles déja existants, ou des implémentations dédiées à l'étude d'un milieu ou d'une espèce en particulier.

Cependant quelques travaux plus théoriques s'intéressent à l'utilisation des méthodes développées pour l'éthologie dans le but de résoudre des problèmes complexes (voir [4]).

Le concept de “Swarming” notamment intéresse actuellement un certain nombre de chercheurs, et m'a paru parmi les plus prometteurs (voir notamment [2], [3]). Il permet à la fois d'expliquer des comportements observés dans la nature, et de rechercher d'une nouvelle manière des solutions à des problèmes d'ingénierie complexes.




Exemples de simulations liées à l'éthologie :


  1. Répartition des tâches dans une colonie d'abeilles

  2. Etude des comportements de “swarming”


Références :



[1] A. Dornhaus, F. Klügl, F. Puppe, J. Tautz (GWAL98)

Task Selection in Honeybees - Experiments Using Multi-Agent Simulation

[2] H. Van Dyke Parunak, Sven A. Brueckner (MSEAS04)

Engineering Swarming Systems

[3] H. Van Dyke Parunak

Making Swarming Happen (janvier 2003)

[4] A. Drogoul

Systèmes multi-agents situés (mars 2000)

[5] Reza Olfati-Saber

Flocking for Multi-Agent Dynamic Systems: Algorithms and Theory (juin 2004)

[6] R. Duboz, F. Amblard, E. Ramat, G. Deffuant, P. Preux

Individual-based model to enrich an aggregate model (mars 2003)

[7] R. Duboz

Intégration de modèles hétérogènes pour la modélisation et la simulation de systèmes complexes - Application à la modélisation multi-échelles en écologie marine (mars 2004)


http://www.red3d.com/cwr/

http://www.red3d.com/cwr/ibm.html

http://www.red3d.com/cwr/boids/



Echo : http://www.santafe.edu/projects/echo/echo.html

Swarm : http://www.swarm.org/wiki/Main_Page

Xraptor : http://www.informatik.uni-mainz.de/%7epolani/XRaptor/XRaptor.html

Ecobeaker : logiciel de simulation écologique à but scolaire : http://www.ecobeaker.com/

SeSAm : http://www.simsesam.de/


Forager : simulation de la recherche de nourriture : http://www.amberwaves.com/forager/forager.htm

Deer Management Simulator (simulation de cerfs développée pour les parcs nationaux) : http://lutra.tamu.edu/dms/dms.htm

Retour à la page principale