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 Framework di Modellazione Basato su Agenti Costruito su JAX

Informazioni Fondamentali

  • ID Articolo: 2409.06345
  • Titolo: Foragax: An Agent-Based Modelling Framework Based on JAX
  • Autori: Siddharth Chaturvedi, Ahmed El-Gazzar, Marcel van Gerven (Radboud University)
  • Classificazione: cs.MA (Sistemi Multi-Agente)
  • Data di Pubblicazione: Settembre 2024 (preprint arXiv)
  • Link Articolo: https://arxiv.org/abs/2409.06345
  • Repository Codice: https://github.com/i-m-iron-man/Foragax.git

Riassunto

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.

Contesto di Ricerca e Motivazione

Definizione del Problema

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.

Limitazioni degli Approcci Esistenti

  1. Problemi di Scalabilità: I metodi tradizionali di modellazione basata su agenti affrontano colli di bottiglia computazionali nel gestire un gran numero di agenti
  2. Insufficiente Realismo Biologico: Le limitazioni nel numero di agenti nelle simulazioni esistenti causano incoerenze con i comportamenti di ricerca di cibo osservati in natura
  3. 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

Motivazione della Ricerca

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.

Contributi Principali

  1. Propone il Framework Foragax: Un toolkit universale, scalabile e accelerato da hardware per la modellazione della ricerca di cibo multi-agente basato su JAX
  2. Implementa Simulazioni Parallele su Larga Scala: Capace di simulare migliaia di agenti attraverso un approccio di vettorizzazione end-to-end
  3. Fornisce un'Interfaccia di Modellazione Flessibile: Supporta dinamiche spaziali e temporali personalizzate, strategie di controllo, modelli di sensori e condizioni al contorno
  4. Supporta la Gestione Dinamica degli Agenti: Il numero di agenti può essere aumentato o diminuito durante la simulazione secondo regole personalizzate
  5. Implementa Simulazioni Continue Non-Episodiche: Supporta simulazioni a lungo termine senza reimpostare lo stato dell'ambiente e degli agenti

Spiegazione Dettagliata del Metodo

Definizione del Compito

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

Architettura del Framework

Foragax è basato su un design di classi con cinque livelli di astrazione principali:

1. Policy (Strategia)

  • Rappresentata da un insieme di variabili di stato e parametri
  • Utilizzata per generare il comportamento degli agenti nell'ambiente
  • Supporta molteplici modelli: modello Wilson-Cowan, reti neurali ricorrenti, percettroni multistrato
  • Può essere modellata come deterministica o stocastica

2. Agent (Agente)

  • Rappresentato da un insieme di variabili di stato e parametri
  • Supporta dinamiche temporali e spaziali personalizzate
  • Mantiene un indice univoco e uno stato di attività (1 per attivo, 0 per inattivo)
  • Le dinamiche possono essere controllate dalla sua strategia

3. Agent-set (Insieme di Agenti)

  • Rappresentazione collettiva degli agenti
  • 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

4. Learning Algorithms (Algoritmi di Apprendimento)

  • Fornisce un insieme di algoritmi per l'ottimizzazione dei parametri di strategia e agenti
  • L'implementazione attuale si basa su metodi di neuroevoluzione senza gradiente
  • Pianificazione di estensione a metodi di apprendimento per rinforzo basati su gradiente

5. Tasks (Compiti)

  • Consente la progettazione di ambienti di ricerca di cibo con condizioni al contorno e posizionamento di muri personalizzati
  • Utilizza algoritmi di ray casting per il rilevamento delle collisioni

Punti di Innovazione Tecnica

1. Ottimizzazione del Backend JAX

  • Sfrutta la compilazione just-in-time (JIT) e la vettorizzazione automatica (AV) di JAX
  • Implementa calcolo vettorizzato end-to-end e differenziabile
  • Supporta accelerazione hardware (GPU/TPU)

2. Strategia di Riempimento con Zeri

  • Attraverso la pre-allocazione di strutture dati di dimensione massima
  • Utilizza il riempimento con zeri per mantenere una forma costante
  • Preserva le proprietà di ottimizzazione di JAX nelle operazioni su insiemi di agenti

3. Simulazione Continua Non-Episodica

  • Non reimposta lo stato dell'ambiente e degli agenti
  • Supporta fluttuazioni della dimensione della popolazione
  • Promuove l'emergenza di comportamenti adattativi aperti

Configurazione Sperimentale

Configurazione degli Esperimenti

  • Numero di Agenti: 1000 agenti
  • Dimensione della Rete Neurale: Modello di popolazione neurale basato su velocità con 50 neuroni per agente
  • Numero di Risorse: 300 patch di risorse
  • Passi di Simulazione: 1 milione di passi
  • Piattaforma Computazionale: Computer cluster

Modello Dinamico

Dinamica delle Risorse

Il valore delle risorse segue la dinamica di Lotka-Volterra:

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

Dove:

  • ϵ e α sono rispettivamente i tassi di crescita e decadimento delle risorse
  • w(xn, xm) rappresenta una funzione inversamente proporzionale alla distanza tra la posizione della risorsa n (xn) e la posizione dell'agente m (xm)

Modello di Movimento dell'Agente

La posizione e la velocità dell'agente utilizzano un modello di doppio integratore:

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

Dove:

  • qm = xm, ẋmᵀ è il vettore di stato dell'agente
  • um ∈ ℝ è l'input di accelerazione
  • L'accelerazione è determinata dalla media dei valori letti linearmente da una rete neurale ricorrente di 50 neuroni

Risultati Sperimentali

Risultati Principali

  • Efficienza Computazionale: La simulazione di 1000 agenti, 300 risorse e 1 milione di passi è completata in 40 minuti
  • Verifica della Scalabilità: Dimostrazione riuscita del comportamento di ricerca di cibo di 600 agenti in 600 risorse
  • Stabilità del Sistema: La distribuzione spaziale di agenti e risorse rimane ragionevole durante la simulazione

Prestazioni

I risultati sperimentali dimostrano che Foragax è in grado di:

  1. Gestire efficientemente simulazioni multi-agente su larga scala
  2. Mantenere i requisiti di prestazioni in tempo reale
  3. Generare modelli di comportamento di ricerca di cibo biologicamente plausibili

Risultati di Visualizzazione

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.

Lavori Correlati

Framework di Modellazione Basata su Agenti

  • Agents.jl: Software di modellazione basata su agenti ad alte prestazioni e ricco di funzionalità
  • Mesa: Framework di modellazione basata su agenti in Python
  • I framework esistenti presentano colli di bottiglia di prestazioni nelle simulazioni su larga scala

Ricerca sulla Teoria della Ricerca di Cibo

  • Ricerca sul comportamento di ricerca di cibo da batteri semplici a primati complessi
  • Sviluppo della teoria della ricerca di cibo ottimale
  • Ricerca sull'influenza delle riserve energetiche interne sulla reattività ai premi

Applicazioni di Sistemi Multi-Agente

  • Modellazione della diffusione di malattie
  • Simulazione del comportamento di gruppo
  • Problemi di ottimizzazione della programmazione

Conclusioni e Discussione

Conclusioni Principali

  1. Foragax implementa con successo la simulazione efficiente del comportamento di ricerca di cibo multi-agente su larga scala
  2. Il backend JAX migliora significativamente le prestazioni computazionali e la scalabilità
  3. Il framework fornisce una flessibilità sufficiente per modellare vari scenari di ricerca di cibo
  4. La simulazione continua non-episodica può rivelare interessanti comportamenti emergenti

Limitazioni

  1. Limitazioni di Pre-allocazione: Richiede la conoscenza preventiva della dimensione massima della struttura dati
  2. Consumo di Memoria: La strategia di riempimento con zeri può portare a un'efficienza di utilizzo della memoria non ottimale
  3. Portata dell'Algoritmo: Attualmente supporta principalmente algoritmi di neuroevoluzione; il supporto per l'apprendimento per rinforzo deve essere migliorato
  4. Validazione Insufficiente: Mancanza di confronti quantitativi con il comportamento reale di ricerca di cibo biologico

Direzioni Future

  1. Estensione a algoritmi di apprendimento per rinforzo basati su gradiente
  2. Miglioramento dell'efficienza di utilizzo della memoria
  3. Aumento della validazione del realismo biologico
  4. Sviluppo di strumenti di analisi più ricchi

Valutazione Approfondita

Punti di Forza

  1. Forte Innovazione Tecnica: Introduce le capacità di calcolo ad alte prestazioni di JAX nel campo della modellazione basata su agenti
  2. Elevato Valore Pratico: Risolve il collo di bottiglia critico della simulazione di agenti su larga scala
  3. Design Razionale: L'architettura a cinque livelli di astrazione è chiara, facile da estendere e utilizzare
  4. Prestazioni Eccellenti: Raggiunge miglioramenti significativi delle prestazioni mantenendo la funzionalità

Insufficienze

  1. Validazione Sperimentale Limitata: Mostra principalmente la fattibilità tecnica, mancano analisi comportamentali approfondite
  2. Validazione Biologica Insufficiente: Nessun confronto quantitativo con il comportamento reale di ricerca di cibo
  3. Contributo Teorico Limitato: Principalmente implementazione ingegneristica, innovazione teorica relativamente limitata
  4. Documentazione Non Sufficientemente Dettagliata: Alcuni dettagli tecnici non sono descritti in modo sufficientemente completo

Impatto

  1. Contributo al Settore: Fornisce uno strumento computazionale potente per la ricerca su sistemi multi-agente
  2. Valore Pratico: Può supportare ricerche ecologiche e comportamentali su scala più ampia e più complesse
  3. Riproducibilità: Il codice open source migliora la riproducibilità e l'estensibilità della ricerca
  4. Applicazioni Interdisciplinari: Sebbene focalizzato sulla ricerca di cibo, è estensibile ad altri scenari multi-agente

Scenari Applicabili

  1. Ricerca Ecologica: Modellazione del comportamento di ricerca di cibo animale su larga scala
  2. Biologia Evolutiva: Ricerca sulla dinamica dell'evoluzione di gruppo
  3. Intelligenza Artificiale: Test di algoritmi di apprendimento per rinforzo multi-agente
  4. Sistemi Complessi: Ricerca su fenomeni di comportamento emergente e auto-organizzazione
  5. Scienze Sociali: Modellazione della dinamica sociale su larga scala

Bibliografia

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.