Pregunta

Me gustaría saber qué tipo de kits de herramientas, idiomas, bibliotecas existen para el modelado basado en agentes y cuáles son sus ventajas y desventajas.

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

¿Fue útil?

Solución

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

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

Au. R.J. Allan

  

Resumen
  El modelado y la simulación basados ??en agentes son computacionalmente   Técnica exigente basada en la simulación de eventos discretos y que tiene su   orígenes en algoritmos genéticos. Es una técnica poderosa para   simulando sistemas complejos dinámicos y observando & # 8220; emergente & # 8221; comportamiento.   Los usos más comunes de ABMS están en la simulación social y la optimización   Problemas, como el flujo de tráfico y las cadenas de suministro. Investigaremos   Otros usos en la ciencia computacional y la ingeniería. ABMS ha sido   adaptado para ejecutarse en arquitecturas novedosas como GPGPU (por ejemplo, nVidia usando   CUDA). El Laboratorio Nacional de Argonne tiene un sitio web sobre Exascale ABMS   y he ejecutado modelos en IBM BlueGene con fondos de SciDAC   Programa. Planeamos organizar un taller sobre metodologías ABMS y   aplicaciones en el verano de 2009. Modelado basado en agentes de palabras clave,   Arqueología

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

Otros consejos

También recomiendo NetLogo . Es un lenguaje de programación IDE + para el entorno + basado en el logotipo (que se basó en Lisp) que le permite crear modelos multiagente extremadamente rápido. Descubrí 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.

Me presentaron 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 gestión de un idioma lista de discusión de actores .

Esta página en erights.org tiene un gran conjunto de referencias sobre qué Creo que son los documentos principales que presentan y exploran el modelo de aprobación de mensajes de actores.

También hay un enlace bastante bueno en wikipedia:

http://en.wikipedia.org/wiki/Comparison_of_agent-based_modeling_software

En el lado del modelado, eche un vistazo a FAML, un lenguaje de modelado orientado a agentes. Este es un trabajo bastante académico, pero puede ayudar dependiendo de sus intereses: http://ieeexplore.ieee.org/xpl/freepre_abs_all.jsp?isnumber=4359463&arnumber=4967615

Sé que este es un hilo viejo, pero pensé que no estaría de más agregar información adicional. Existe un excelente nuevo sitio web dedicado al modelado basado en agentes . El sitio contiene enlaces a documentos, tutoriales, herramientas, recursos e investigadores que trabajan en modelos basados ??en agentes en varios campos.

también debe echar un vistazo a Madkit and Turtlekit

Tema anterior, pero para completar también hay Anylogic y pyabm que se puede usar para ABMs.

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 pesados ??(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á hinchando un poco. Si usted es un programador experimentado, todo lo que realmente necesita para comenzar a construir un ABM es la capacidad de programar eventos y dibujar números aleatorios. El resto (agentes / entornos de definición y sus comportamientos) puede crear por su cuenta. Cuando se trata de administrar los objetos en su modelo, use las estructuras de datos regulares a las que está acostumbrado (matrices / hashes / árboles / etc.). Para este fin, estoy desarrollando una biblioteca de Java muy ligera llamada "quot; ABMUtils" (en github) que implementa un programador y envuelve un generador de números aleatorios. Esto está en la etapa inicial de desarrollo, pero espero concretar las cosas (manteniéndolo simple) en los próximos meses.

Si usted es un economista evolucionista, también puede consultar Laboratorio para el Desarrollo de Simulación (LSD) .

Los desarrolladores de PHP y Java deben consultar KATO .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top