Pergunta

Gostaria de saber que tipo de kits de ferramentas, linguagens, existem bibliotecas para modelagem baseada em agentes e quais são as vantagens / desvantagens de los?

Alguns exemplos do que eu estou pensando são Swarm , Repasto e MASS .

Foi útil?

Solução

Eu encontrei uma pesquisa a partir de Junho de 2009 que responder a sua pergunta:

Survey of Baseada em Agentes Modelagem e Ferramentas de Simulação

Au. R.J. Allan

Resumo
Agente de Modelação e simulação baseada é um computacionalmente exigindo técnica baseada na simulação de eventos discretos e tendo o seu origens em algoritmos genéticos. É uma técnica poderosa para simulação de sistemas complexos dinâmicos e observação do comportamento “emergente”. Os usos mais comuns da ABMS estão em simulação social e otimização problemas, tais como o fluxo de tráfego e as cadeias de fornecimento. Iremos investigar outros usos em ciência da computação e engenharia. ABMS tem sido adaptado para rodar em novas arquitecturas, tais como GPGPU (e.g. utilizando nVidia CUDA). Argonne National Laboratory tem um site em Exascale ABMS e ter executado modelos do IBM BlueGene com financiamento do SciDAC Programa. Pretendemos organizar um workshop sobre methodolgies ABMS e aplicações no verão de 2009. Palavras-chave modelagem baseada em agentes, Arqueologia

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

Outras dicas

Eu também recomendo NetLogo . É um ambiente IDE + + linguagem baseada no logotipo (que foi baseado em Lisp) a programação que permite construir modelos multi-agentes extremamente rápido. Eu descobri que eu posso reproduzir (simular) algoritmos de artigos de pesquisa em um par de horas, os algoritmos que teriam levado semanas para implementar com outras bibliotecas.

Você pode verificar alguns dos meus modelos em desta página.

Eu fui apresentado a Dramatis na OSCON 2008, é uma estrutura baseada Agent for Ruby e Python. O autor (Steven Parkes) tem algumas referências em seu blog e está trabalhando na execução de uma linguagem agnóstico Atores lista de discussão .

Este página na erights.org tem um grande conjunto de referências a, o que eu acho que são, os papéis centrais que introduzir e explorar o modelo passando Atores mensagem.

Do lado da modelagem, ter um olhar para Faml, uma linguagem de modelagem orientada a agente. Este é um papel muito acadêmico, mas pode ajudar dependendo de seus interesses: http://ieeexplore.ieee.org/xpl/freepre_abs_all.jsp?isnumber=4359463&arnumber=4967615

Eu sei que esta é uma discussão antiga, mas eu pensei que não iria prejudicar a acrescentar outras informações extra. Há uma grande novo site que é dedicado a baseada em agente de modelos . O site contém links para documentos, tutoriais, ferramentas, recursos e investigadores que trabalham em modelagem baseada em agentes em um número de campos.

Você também deve ter um olhar para Madkit e Turtlekit

discussão antiga, mas para ser completo, há também anylogic e pyabm que pode ser usado para ABMs.

Eu tenho modelos baseados em agentes experiência de programação em vários ambientes / idiomas. Minha opinião é que se você quiser implementar um modelo relativamente simples, use Netlogo. Também é possível usar Netlogo para modelos pesados, bem como (Eu tenho feito isso com sucesso), mas em algum momento a flexibilidade de uma linguagem de programação como Java / python / c ++ supera a conveniência dos métodos nativos disponíveis em Netlogo, especialmente quando o desempenho se torna um grande problema.

Repasto está se tornando um pouco inchado. Se você é um programador experiente, tudo que você realmente precisa para começar a construir um ABM é a capacidade de agendar eventos e desenhar números aleatórios. O resto (definindo agentes / ambientes e seus comportamentos) você pode criar em seu próprio país. Quando se trata de gerir os objetos em seu modelo, utilizar as estruturas de dados regulares que você está acostumado (arrays / hashes / árvores / etc.). Para este fim, eu estou desenvolvendo uma biblioteca Java muito leve chamado "ABMUtils" (no github) que implementa um programador e envolve um gerador de números aleatórios. Isso está no estágio inicial de desenvolvimento, mas espero que a carne coisas fora (mantendo-o simples) ao longo dos próximos meses.

Se você é um economista evolutiva você também pode verificar Laboratório de Desenvolvimento de simulação (LSD) .

PHP e Java desenvolvedores devem dar uma olhada KATO .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top