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 Marco de Modelado Basado en Agentes Basado en JAX
La búsqueda de alimento es una actividad universal realizada por organismos biológicos en entornos compartidos para mantener la homeostasis. Mediante el modelado computacional del comportamiento de búsqueda de alimento de múltiples agentes, es posible estudiar comportamientos emergentes individuales y colectivos de manera manejable. El modelado basado en agentes ha demostrado ser efectivo en la simulación de tales tareas, pero extender las simulaciones para acomodar grandes cantidades de agentes con dinámicas complejas sigue siendo desafiante. Este artículo presenta Foragax, un conjunto de herramientas universal, escalable y acelerado por hardware para modelado de búsqueda de alimento multiagente. Aprovechando la biblioteca JAX, el conjunto de herramientas puede simular el comportamiento de búsqueda de alimento de miles de agentes en un entorno común de manera vectorizada y diferenciable de extremo a extremo. El conjunto de herramientas proporciona herramientas de modelado de agentes para simular diversas tareas de búsqueda de alimento, incluyendo opciones para diseñar dinámicas de agentes espaciales y temporales personalizadas, estrategias de control, modelos de sensores y condiciones de límite. Además, el número de agentes puede aumentarse o disminuirse durante la simulación según reglas personalizadas. Aunque se aplica a la búsqueda de alimento, el conjunto de herramientas también puede utilizarse para modelar y simular una amplia gama de otros escenarios multiagente.
La búsqueda de alimento es uno de los problemas de optimización de comportamiento más antiguos y críticos que todos los organismos biológicos deben resolver para sobrevivir. Desde las bacterias más simples hasta los primates altamente socializados, el instinto de una búsqueda de alimento eficiente es omnipresente en todas las etapas de la evolución. La búsqueda de alimento en la naturaleza es inherentemente una actividad multiagente, ya que los organismos adyacentes comparten el mismo entorno de búsqueda de alimento.
Problemas de Escalabilidad: Los métodos tradicionales de modelado basado en agentes enfrentan cuellos de botella computacionales al tratar con grandes cantidades de agentes
Falta de Realismo Biológico: Las limitaciones en el número de agentes en simulaciones existentes resultan en inconsistencias con los comportamientos de búsqueda de alimento observados en la naturaleza
Complejidad Computacional: El estado de cada agente depende del comportamiento de todos los demás agentes, haciendo que la simulación sea extremadamente difícil a medida que aumenta el número de agentes
Los autores desean proporcionar a los modeladores de tareas de búsqueda de alimento la capacidad de simular simultáneamente grandes cantidades (miles) de agentes en un único entorno. Esta capacidad de simulación a gran escala es crucial para comprender comportamientos colectivos emergentes complejos y para cerrar la brecha entre la investigación teórica y las observaciones naturales.
Presentación del Marco Foragax: Un conjunto de herramientas universal, escalable y acelerado por hardware para modelado de búsqueda de alimento multiagente basado en JAX
Implementación de Simulación Paralela a Gran Escala: Capacidad de simular miles de agentes mediante métodos de vectorización de extremo a extremo
Provisión de Interfaz de Modelado Flexible: Soporte para dinámicas personalizadas espaciales y temporales, estrategias de control, modelos de sensores y condiciones de límite
Soporte para Gestión Dinámica de Agentes: Capacidad de aumentar o disminuir el número de agentes durante la simulación según reglas personalizadas
Implementación de Simulación Continua No Episódica: Soporte para simulaciones a largo plazo sin reiniciar el entorno y el estado de los agentes
Foragax se enfoca en simular el comportamiento de búsqueda de alimento de grandes cantidades de agentes en un entorno común mientras se mantiene la homeostasis. Las características de la tarea incluyen:
Entrada: Estado inicial de agentes, configuración del entorno, distribución de recursos
Salida: Trayectorias de comportamiento de agentes, patrones de comportamiento emergente colectivo
Restricciones: Limitación de recursos, interacciones entre agentes, condiciones de límite del entorno
Todos los agentes comparten la misma estructura de variables de estado, parámetros y política
Soporta operaciones de selección, ordenamiento, adición o eliminación de agentes
Mantiene la forma de la estructura de datos constante mediante relleno con ceros, preservando las características de JIT y vectorización automática de JAX
El valor de los recursos sigue dinámicas de Lotka-Volterra:
ṡn = ϵsn - αs²n - Σ w(xn, xm)
Donde:
ϵ y α son las tasas de crecimiento y decaimiento de recursos respectivamente
w(xn, xm) representa una función inversamente proporcional a la distancia entre la ubicación del n-ésimo recurso xn y la ubicación del m-ésimo agente xm
El artículo proporciona visualizaciones de 600 agentes (puntos azules) buscando alimento dispersos entre 600 recursos (puntos rojos), con flechas que indican la dirección de los agentes, demostrando las características de organización espacial del sistema.
El artículo cita literatura clave de múltiples disciplinas importantes, incluyendo:
Documentación técnica de la biblioteca JAX
Obras clásicas en teoría de búsqueda de alimento (Stephens & Krebs, 1986)
Marcos de modelado basado en agentes existentes (Agents.jl, Mesa)
Avances recientes en neuroevolución y aprendizaje por refuerzo
Evaluación General: Este es un artículo de alta calidad que, mediante la combinación de tecnología de computación de alto rendimiento moderna con modelado basado en agentes, resuelve un cuello de botella técnico importante en el campo. Aunque relativamente limitado en innovación teórica, su valor de ingeniería y practicidad lo convierten en una contribución importante a la investigación de sistemas multiagente.