2025-11-22T09:37:22.788326

Foragax: An Agent-Based Modelling Framework Based on JAX

Chaturvedi, El-Gazzar, van Gerven
Foraging for resources is a ubiquitous activity conducted by living organisms in a shared environment to maintain their homeostasis. Modelling multi-agent foraging in-silico allows us to study both individual and collective emergent behaviour in a tractable manner. Agent-based modelling has proven to be effective in simulating such tasks, though scaling the simulations to accommodate large numbers of agents with complex dynamics remains challenging. In this work, we present Foragax, a general-purpose, scalable, hardware-accelerated, multi-agent foraging toolkit. Leveraging the JAX library, our toolkit can simulate thousands of agents foraging in a common environment, in an end-to-end vectorized and differentiable manner. The toolkit provides agent-based modelling tools to model various foraging tasks, including options to design custom spatial and temporal agent dynamics, control policies, sensor models, and boundary conditions. Further, the number of agents during such simulations can be increased or decreased based on custom rules. While applied to foraging, the toolkit can also be used to model and simulate a wide range of other multi-agent scenarios.
academic

Foragax : Un Cadre de Modélisation Multi-Agents Basé sur JAX

Informations Fondamentales

  • ID de l'article : 2409.06345
  • Titre : Foragax: An Agent-Based Modelling Framework Based on JAX
  • Auteurs : Siddharth Chaturvedi, Ahmed El-Gazzar, Marcel van Gerven (Université Radboud)
  • Classification : cs.MA (Systèmes Multi-Agents)
  • Date de publication : Septembre 2024 (prépublication arXiv)
  • Lien de l'article : https://arxiv.org/abs/2409.06345
  • Dépôt de code : https://github.com/i-m-iron-man/Foragax.git

Résumé

La recherche de nourriture est une activité universelle que les organismes biologiques entreprennent dans un environnement partagé pour maintenir l'homéostasie. La modélisation informatique du comportement de recherche de nourriture multi-agents permet d'étudier les comportements émergents individuels et collectifs de manière traitable. La modélisation multi-agents s'est avérée efficace pour simuler de telles tâches, mais l'extension des simulations pour accommoder un grand nombre d'agents présentant des dynamiques complexes reste un défi. Cet article propose Foragax, une boîte à outils générale, extensible et accélérée par matériel pour la modélisation multi-agents de la recherche de nourriture. En exploitant la bibliothèque JAX, la boîte à outils peut simuler le comportement de recherche de nourriture de milliers d'agents dans un environnement commun de manière vectorisée et différentiable de bout en bout. La boîte à outils fournit des outils de modélisation multi-agents pour simuler diverses tâches de recherche de nourriture, y compris des options pour concevoir des dynamiques d'agents spatiales et temporelles personnalisées, des stratégies de contrôle, des modèles de capteurs et des conditions aux limites. De plus, le nombre d'agents peut être augmenté ou diminué pendant la simulation selon des règles personnalisées. Bien qu'appliquée à la recherche de nourriture, la boîte à outils peut également être utilisée pour modéliser et simuler un large éventail d'autres scénarios multi-agents.

Contexte et Motivation de la Recherche

Définition du Problème

La recherche de nourriture est l'un des plus anciens et des plus critiques problèmes d'optimisation comportementale que tous les organismes biologiques doivent résoudre pour survivre. Des bactéries les plus simples aux primates hautement socialisés, l'instinct d'une recherche de nourriture efficace est omniprésent à tous les stades de l'évolution. La recherche de nourriture dans la nature est intrinsèquement une activité multi-agents, car les organismes adjacents partagent le même environnement de recherche de nourriture.

Limitations des Approches Existantes

  1. Problèmes d'extensibilité : Les méthodes traditionnelles de modélisation multi-agents font face à des goulots d'étranglement informatiques lors du traitement d'un grand nombre d'agents
  2. Réalisme biologique insuffisant : La limitation du nombre d'agents dans les simulations existantes entraîne des incohérences avec les comportements de recherche de nourriture observés dans la nature
  3. Complexité informatique : L'état de chaque agent dépend du comportement de tous les autres agents, ce qui rend la simulation extrêmement difficile à mesure que le nombre d'agents augmente

Motivation de la Recherche

Les auteurs souhaitent fournir aux modélisateurs de tâches de recherche de nourriture la capacité de simuler simultanément un grand nombre (des milliers) d'agents dans un seul environnement. Cette capacité de simulation à grande échelle est cruciale pour comprendre l'émergence de comportements collectifs complexes et pour réduire l'écart entre la recherche théorique et les observations naturelles.

Contributions Principales

  1. Proposition du cadre Foragax : Une boîte à outils générale, extensible et accélérée par matériel basée sur JAX pour la modélisation multi-agents de la recherche de nourriture
  2. Réalisation de simulations parallèles à grande échelle : Capacité à simuler des milliers d'agents via une approche de vectorisation de bout en bout
  3. Fourniture d'une interface de modélisation flexible : Support des dynamiques spatiales et temporelles personnalisées, des stratégies de contrôle, des modèles de capteurs et des conditions aux limites
  4. Support de la gestion dynamique des agents : Possibilité d'augmenter ou de diminuer le nombre d'agents pendant la simulation selon des règles personnalisées
  5. Implémentation de simulations continues non-épisodiques : Support des simulations à long terme sans réinitialisation de l'environnement et de l'état des agents

Détails de la Méthode

Définition de la Tâche

Foragax se concentre sur la simulation du comportement de recherche de nourriture d'un grand nombre d'agents dans un environnement commun tout en maintenant l'homéostasie. Les caractéristiques de la tâche incluent :

  • Entrées : État initial des agents, configuration de l'environnement, distribution des ressources
  • Sorties : Trajectoires comportementales des agents, modèles de comportement émergent collectif
  • Contraintes : Limitation des ressources, interactions entre agents, conditions aux limites de l'environnement

Architecture du Cadre

Foragax est basé sur une conception de classes à cinq niveaux d'abstraction principaux :

1. Policy (Stratégie)

  • Représentée par un ensemble de variables d'état et de paramètres
  • Utilisée pour générer le comportement des agents dans l'environnement
  • Support de multiples modèles : modèle Wilson-Cowan, réseaux de neurones récurrents, perceptrons multicouches
  • Peut être modélisée comme déterministe ou stochastique

2. Agent (Agent)

  • Représenté par un ensemble de variables d'état et de paramètres
  • Support des dynamiques temporelles et spatiales personnalisées
  • Maintien d'un indice unique et d'un état actif (1 pour actif, 0 pour inactif)
  • Les dynamiques peuvent être manipulées par sa stratégie

3. Agent-set (Ensemble d'Agents)

  • Représentation collective des agents
  • Tous les agents partagent la même structure de variables d'état, de paramètres et de stratégie
  • Support des opérations de sélection, tri, ajout ou suppression d'agents
  • Maintien de la forme de la structure de données via le remplissage par zéros, préservant les caractéristiques de JIT et de vectorisation automatique de JAX

4. Learning Algorithms (Algorithmes d'Apprentissage)

  • Fourniture d'un ensemble d'algorithmes pour affiner les paramètres de stratégie et d'agents
  • Implémentation actuelle basée sur des méthodes d'évolution neuronale sans gradient
  • Expansion prévue vers des méthodes d'apprentissage par renforcement basées sur le gradient

5. Tasks (Tâches)

  • Permettent la conception d'environnements de recherche de nourriture avec des conditions aux limites et des placements de murs personnalisés
  • Détection de collision basée sur l'algorithme de lancer de rayons

Points d'Innovation Technique

1. Optimisation du Backend JAX

  • Exploitation de la compilation juste-à-temps (JIT) et de la vectorisation automatique (AV) de JAX
  • Réalisation du calcul vectorisé et différentiable de bout en bout
  • Support de l'accélération matérielle (GPU/TPU)

2. Stratégie de Remplissage par Zéros

  • Pré-allocation de structures de données de taille maximale
  • Utilisation du remplissage par zéros pour maintenir une forme constante
  • Préservation des caractéristiques d'optimisation de JAX dans les opérations d'ensemble d'agents

3. Simulation Continue Non-Épisodique

  • Pas de réinitialisation de l'environnement et de l'état des agents
  • Support des fluctuations de la taille de la population
  • Promotion de l'émergence de comportements adaptatifs en boucle ouverte

Configuration Expérimentale

Configuration des Expériences

  • Nombre d'agents : 1000 agents
  • Taille du réseau de neurones : Modèle de population neuronale basé sur le taux avec 50 neurones par agent
  • Nombre de ressources : 300 patchs de ressources
  • Nombre d'étapes de simulation : 1 million d'étapes
  • Plateforme informatique : Ordinateur en grappe

Modèles de Dynamique

Dynamique des Ressources

La valeur des ressources suit la dynamique de Lotka-Volterra :

ṡn = ϵsn - αs²n - Σ w(xn, xm)

Où :

  • ϵ et α sont respectivement les taux de croissance et de décroissance des ressources
  • w(xn, xm) représente une fonction inversement proportionnelle à la distance entre la localisation de la nième ressource xn et la localisation du mième agent xm

Modèle de Mouvement des Agents

La position et la vitesse des agents utilisent un modèle d'intégrateur double :

q̇m = [0 1; 0 0]qm + [0; 1]um

Où :

  • qm = xm, ẋmᵀ est le vecteur d'état de l'agent
  • um ∈ ℝ est l'entrée d'accélération
  • L'accélération est déterminée par la moyenne des lectures linéaires d'un réseau de neurones récurrents de 50 neurones

Résultats Expérimentaux

Résultats Principaux

  • Efficacité informatique : La simulation de 1000 agents, 300 ressources et 1 million d'étapes est complétée en 40 minutes
  • Vérification de l'extensibilité : Démonstration réussie du comportement de recherche de nourriture de 600 agents dans 600 ressources
  • Stabilité du système : La distribution spatiale des agents et des ressources reste raisonnable tout au long de la simulation

Performance

Les résultats expérimentaux démontrent que Foragax peut :

  1. Traiter efficacement les simulations multi-agents à grande échelle
  2. Maintenir les exigences de performance en temps réel
  3. Générer des modèles de comportement de recherche de nourriture biologiquement plausibles

Résultats de Visualisation

L'article fournit une visualisation de 600 agents (points bleus) se nourrissant de manière dispersée parmi 600 ressources (points rouges), les flèches indiquant la direction des agents, démontrant les caractéristiques d'organisation spatiale du système.

Travaux Connexes

Cadres de Modélisation Multi-Agents

  • Agents.jl : Logiciel de modélisation multi-agents hautement performant et riche en fonctionnalités
  • Mesa : Cadre de modélisation multi-agents en Python
  • Les cadres existants présentent des goulots d'étranglement de performance dans les simulations à grande échelle

Recherche en Théorie de la Recherche de Nourriture

  • Études du comportement de recherche de nourriture des bactéries simples aux primates complexes
  • Développement de la théorie de la recherche de nourriture optimale
  • Recherche sur l'impact des réserves d'énergie interne sur la réactivité aux récompenses

Applications des Systèmes Multi-Agents

  • Modélisation de la propagation des maladies
  • Simulation du comportement des essaims
  • Problèmes d'optimisation de l'ordonnancement

Conclusion et Discussion

Conclusions Principales

  1. Foragax réalise avec succès une simulation efficace du comportement de recherche de nourriture multi-agents à grande échelle
  2. Le backend JAX améliore considérablement les performances informatiques et l'extensibilité
  3. Le cadre fournit une flexibilité suffisante pour modéliser diverses scénarios de recherche de nourriture
  4. La simulation continue non-épisodique peut révéler des comportements émergents intéressants

Limitations

  1. Limitations de pré-allocation : Nécessité de connaître à l'avance la taille maximale des structures de données
  2. Consommation de mémoire : La stratégie de remplissage par zéros peut entraîner une utilisation inefficace de la mémoire
  3. Portée algorithmique : Support principal des algorithmes d'évolution neuronale, support de l'apprentissage par renforcement à améliorer
  4. Validation insuffisante : Manque de comparaisons quantitatives avec le comportement réel de recherche de nourriture biologique

Directions Futures

  1. Extension vers les algorithmes d'apprentissage par renforcement basés sur le gradient
  2. Amélioration de l'efficacité d'utilisation de la mémoire
  3. Augmentation de la validation du réalisme biologique
  4. Développement d'outils d'analyse plus riches

Évaluation Approfondie

Avantages

  1. Innovation technique forte : Introduction des capacités de calcul haute performance de JAX dans le domaine de la modélisation multi-agents
  2. Valeur pratique élevée : Résolution d'un goulot d'étranglement clé dans la simulation multi-agents à grande échelle
  3. Conception rationnelle : Architecture d'abstraction à cinq niveaux claire, facile à étendre et utiliser
  4. Performance exceptionnelle : Amélioration significative des performances tout en maintenant la fonctionnalité

Insuffisances

  1. Validation expérimentale limitée : Démonstration principalement de la faisabilité technique, manque d'analyse comportementale approfondie
  2. Validation biologique insuffisante : Absence de comparaison quantitative avec le comportement réel de recherche de nourriture
  3. Contribution théorique limitée : Principalement une implémentation d'ingénierie, innovation théorique relativement faible
  4. Documentation insuffisamment détaillée : Certains détails techniques ne sont pas suffisamment décrits

Impact

  1. Contribution au domaine : Fourniture d'un outil informatique puissant pour la recherche en systèmes multi-agents
  2. Valeur pratique : Capacité à soutenir des recherches écologiques et comportementales plus vastes et plus complexes
  3. Reproductibilité : Le code open-source améliore la reproductibilité et l'extensibilité de la recherche
  4. Applications interdisciplinaires : Bien que concentré sur la recherche de nourriture, extensible à d'autres scénarios multi-agents

Scénarios d'Application

  1. Recherche écologique : Modélisation du comportement de recherche de nourriture animal à grande échelle
  2. Biologie évolutive : Étude de la dynamique de l'évolution des populations
  3. Intelligence artificielle : Test des algorithmes d'apprentissage par renforcement multi-agents
  4. Systèmes complexes : Recherche sur les phénomènes de comportement émergent et d'auto-organisation
  5. Sciences sociales : Modélisation de la dynamique sociale à grande échelle

Références

L'article cite plusieurs références clés dans les domaines pertinents, notamment :

  • Documentation technique de la bibliothèque JAX
  • Ouvrages classiques en théorie de la recherche de nourriture (Stephens & Krebs, 1986)
  • Cadres de modélisation multi-agents existants (Agents.jl, Mesa)
  • Progrès récents en évolution neuronale et apprentissage par renforcement

Évaluation Globale : Ceci est un article de haute qualité qui, en combinant la technologie informatique haute performance moderne avec la modélisation multi-agents, résout un goulot d'étranglement technique important dans ce domaine. Bien que relativement limité en innovation théorique, sa valeur d'ingénierie et son utilité pratique en font une contribution importante à la recherche en systèmes multi-agents.