modeling - Recursos de modelado basados en agente
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.
También hay un enlace bastante bueno en wikipedia:
http://en.wikipedia.org/wiki/Comparison_of_agent_based_modeling_software
Los desarrolladores de PHP y Java deberían echarle un vistazo a KATO .
En el lado de 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 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.
también deberías echar un vistazo a Madkit y Turtlekit
Si usted es un economista evolucionista, también puede consultar el Laboratorio de desarrollo de simulación (LSD) .
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
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.