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 Framework di Modellazione Basato su Agenti Costruito su JAX
La ricerca di cibo è un'attività universale degli organismi biologici per mantenere l'omeostasi in ambienti condivisi. Attraverso la modellazione computazionale del comportamento di ricerca di cibo multi-agente, è possibile studiare i comportamenti emergenti individuali e collettivi in modo gestibile. La modellazione basata su agenti si è dimostrata efficace nella simulazione di tali compiti, tuttavia l'estensione delle simulazioni per accogliere un gran numero di agenti con dinamiche complesse rimane una sfida. Questo articolo propone Foragax, un toolkit universale, scalabile e accelerato da hardware per la ricerca di cibo multi-agente. Sfruttando la libreria JAX, il toolkit può simulare il comportamento di ricerca di cibo di migliaia di agenti in un ambiente comune in modo vettorizzato end-to-end e differenziabile. Il toolkit fornisce strumenti di modellazione basata su agenti per simulare vari compiti di ricerca di cibo, incluse opzioni per progettare dinamiche di agenti spaziali e temporali personalizzate, strategie di controllo, modelli di sensori e condizioni al contorno. Inoltre, il numero di agenti può essere aumentato o diminuito durante la simulazione secondo regole personalizzate. Sebbene applicato alla ricerca di cibo, il toolkit può essere utilizzato anche per modellare e simulare un'ampia gamma di altri scenari multi-agente.
La ricerca di cibo è uno dei problemi di ottimizzazione comportamentale più antichi e critici che tutti gli organismi biologici devono risolvere per sopravvivere. Dall'istinto dei batteri più semplici ai primati altamente socializzati, l'istinto di una ricerca di cibo efficiente è universale in tutte le fasi dell'evoluzione. La ricerca di cibo in natura è intrinsecamente un'attività multi-agente, poiché gli organismi adiacenti condividono lo stesso ambiente di ricerca di cibo.
Problemi di Scalabilità: I metodi tradizionali di modellazione basata su agenti affrontano colli di bottiglia computazionali nel gestire un gran numero di agenti
Insufficiente Realismo Biologico: Le limitazioni nel numero di agenti nelle simulazioni esistenti causano incoerenze con i comportamenti di ricerca di cibo osservati in natura
Complessità Computazionale: Lo stato di ogni agente dipende dal comportamento di tutti gli altri agenti; con l'aumento del numero di agenti, la simulazione diventa estremamente difficile
Gli autori desiderano fornire ai modellatori di compiti di ricerca di cibo la capacità di simulare contemporaneamente un gran numero (migliaia) di agenti in un singolo ambiente. Questa capacità di simulazione su larga scala è cruciale per comprendere l'emergenza di comportamenti collettivi complessi e per colmare il divario tra la ricerca teorica e le osservazioni naturali.
Propone il Framework Foragax: Un toolkit universale, scalabile e accelerato da hardware per la modellazione della ricerca di cibo multi-agente basato su JAX
Implementa Simulazioni Parallele su Larga Scala: Capace di simulare migliaia di agenti attraverso un approccio di vettorizzazione end-to-end
Fornisce un'Interfaccia di Modellazione Flessibile: Supporta dinamiche spaziali e temporali personalizzate, strategie di controllo, modelli di sensori e condizioni al contorno
Supporta la Gestione Dinamica degli Agenti: Il numero di agenti può essere aumentato o diminuito durante la simulazione secondo regole personalizzate
Implementa Simulazioni Continue Non-Episodiche: Supporta simulazioni a lungo termine senza reimpostare lo stato dell'ambiente e degli agenti
Foragax si concentra sulla simulazione del comportamento di ricerca di cibo di un gran numero di agenti in un ambiente comune, mantenendo l'omeostasi. Le caratteristiche del compito includono:
Input: Stato iniziale degli agenti, configurazione dell'ambiente, distribuzione delle risorse
Output: Traiettorie comportamentali degli agenti, modelli di comportamento emergente collettivo
Vincoli: Limitatezza delle risorse, interazioni tra agenti, condizioni al contorno dell'ambiente
Tutti gli agenti condividono la stessa struttura di variabili di stato, parametri e strategia
Supporta operazioni di selezione, ordinamento, aggiunta o eliminazione di agenti
Mantiene la forma della struttura dati costante attraverso il riempimento con zeri, preservando le proprietà di JIT e vettorizzazione automatica di JAX
L'articolo fornisce una visualizzazione di 600 agenti (punti blu) che foraggiano dispersi tra 600 risorse (punti rossi), con frecce che indicano la direzione dell'agente, mostrando le caratteristiche di organizzazione spaziale del sistema.
Limitazioni di Pre-allocazione: Richiede la conoscenza preventiva della dimensione massima della struttura dati
Consumo di Memoria: La strategia di riempimento con zeri può portare a un'efficienza di utilizzo della memoria non ottimale
Portata dell'Algoritmo: Attualmente supporta principalmente algoritmi di neuroevoluzione; il supporto per l'apprendimento per rinforzo deve essere migliorato
Validazione Insufficiente: Mancanza di confronti quantitativi con il comportamento reale di ricerca di cibo biologico
L'articolo cita numerosi riferimenti chiave da molteplici settori, inclusi:
Documentazione tecnica della libreria JAX
Opere classiche sulla teoria della ricerca di cibo (Stephens & Krebs, 1986)
Framework di modellazione basata su agenti esistenti (Agents.jl, Mesa)
Progressi recenti nella neuroevoluzione e nell'apprendimento per rinforzo
Valutazione Complessiva: Questo è un articolo di alta qualità che, combinando la moderna tecnologia di calcolo ad alte prestazioni con la modellazione basata su agenti, risolve un importante collo di bottiglia tecnico in questo settore. Sebbene relativamente limitato nell'innovazione teorica, il suo valore ingegneristico e la praticità lo rendono un contributo importante alla ricerca su sistemi multi-agente.