modeling toolkit agent-based-modeling multi-agent

modeling - Recursos de modelado basados ​​en agente



toolkit agent-based-modeling (10)

Me gustaría saber qué tipo de kits de herramientas, idiomas, bibliotecas existen para el modelado basado en agentes y cuáles son los pros / contras de ellos.

Algunos ejemplos de lo que estoy pensando son Swarm , Repast y MASS .


Me presentaron a Dramatis en OSCON 2008, es un marco basado en agentes para Ruby y Python. El autor (Steven Parkes) tiene algunas referencias en su blog y está trabajando en la ejecución de una lista de discusión de Actores agnóstica del idioma.

Esta página en erights.org tiene un gran conjunto de referencias, que creo que son, los documentos centrales que presentan y exploran el modelo de aprobación de mensajes de Actores.


También recomiendo NetLogo . Es un lenguaje de programación IDE + environment + basado en el logotipo (que se basó en Lisp) que le permite crear modelos multi-agente extremadamente rápido. He descubierto que puedo reproducir (simular) algoritmos de artículos de investigación en un par de horas, algoritmos que habrían tardado semanas en implementarse con otras bibliotecas.

Puede consultar algunos de mis modelos en esta página.



Los desarrolladores de PHP y Java deberían echarle un vistazo a KATO .



Sé que este es un hilo viejo, pero pensé que no estaría de más agregar algo de información extra. Hay un gran sitio web nuevo dedicado a modelado basado en agentes . El sitio contiene enlaces a documentos, tutoriales, herramientas, recursos e investigadores que trabajan en modelos basados ​​en agentes en una serie de campos.




Encontré una encuesta de junio de 2009 que responde a su pregunta:

Encuesta de herramientas de simulación y modelado basadas en agentes

Au. RJ Allan

Abstracto
La modelación basada en agentes y la simulación es una técnica exigente desde el punto de vista computacional basada en la simulación de eventos discretos y que tiene su origen en algoritmos genéticos. Es una técnica poderosa para simular sistemas complejos dinámicos y observar el comportamiento "emergente". Los usos más comunes de ABMS están en la simulación social y problemas de optimización, como el flujo de tráfico y las cadenas de suministro. Investigaremos otros usos en ciencia computacional e ingeniería. ABMS ha sido adaptado para ejecutarse en arquitecturas novedosas como GPGPU (por ejemplo, nVidia usando CUDA). Argonne National Laboratory tiene un sitio web en Exascale ABMS y ha ejecutado modelos en IBM BlueGene con fondos del Programa SciDAC. Planeamos organizar un taller sobre metodologías y aplicaciones de ABMS en el verano de 2009. Palabras clave modelización basada en agentes, Arqueología

http://epubs.cclrc.ac.uk/bitstream/3637/ABMS.pdf


Hilo viejo, pero para completar, también hay Anylogic y pyabm que se pueden usar para ABM.

Tengo experiencia en la programación de modelos basados ​​en agentes en varios entornos / idiomas. Mi opinión es que si desea implementar un modelo relativamente simple, use Netlogo. También es posible usar Netlogo para modelos de servicio pesado (lo he hecho con éxito), pero en algún momento la flexibilidad de un lenguaje de programación como java / python / c ++ supera la conveniencia de los métodos nativos disponibles en Netlogo, especialmente cuando el rendimiento se convierte en un problema importante.

Repast se está volviendo un poco hinchado. Si usted es un programador experimentado, todo lo que necesita para comenzar a construir un ABM es la capacidad de programar eventos y dibujar números aleatorios. El resto (definición de agentes / entornos y sus comportamientos) puede crear por su cuenta. Cuando se trata de administrar los objetos en su modelo, use las estructuras de datos normales a las que está acostumbrado (arrays / hashes / trees / etc.). Con este fin, estoy desarrollando una biblioteca Java muy ligera llamada "ABMUtils" (en github) que implementa un programador y envuelve un generador de números aleatorios. Esto se encuentra en la etapa inicial de desarrollo, pero espero completar las cosas (manteniéndolo simple) en los próximos meses.