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
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.
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.
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
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
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
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.
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
Réalisation de simulations parallèles à grande échelle : Capacité à simuler des milliers d'agents via une approche de vectorisation de bout en bout
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
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
Implémentation de simulations continues non-épisodiques : Support des simulations à long terme sans réinitialisation de l'environnement et de l'état des agents
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
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
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
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.
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.