Agent-based modeling resources [closed]

牧云@^-^@ 提交于 2019-12-31 08:39:10

问题


I would like to know what kind of toolkits, languages, libraries exist for agent-based modeling and what are the pros/cons of them?

Some examples of what I am thinking of are Swarm, Repast, and MASS.


回答1:


I found a survey from June 2009 that answer your question:

Survey of Agent Based Modelling and Simulation Tools

Au. R.J. Allan

Abstract
Agent Based Modelling and Simulation is a computationally demanding technique based on discrete event simulation and having its origins in genetic algorithms. It is a powerful technique for simulating dynamic complex systems and observing “emergent” behaviour. The most common uses of ABMS are in social simulation and optimisation problems, such as traffic flow and supply chains. We will investigate other uses in computational science and engineering. ABMS has been adapted to run on novel architectures such as GPGPU (e.g. nVidia using CUDA). Argonne National Laboratory have a Web site on Exascale ABMS and have run models on the IBM BlueGene with funding from the SciDAC Programme. We plan to organise a workshop on ABMS methodolgies and applications in summer of 2009. Keywords agent based modelling, Archaeology

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




回答2:


I also recommend NetLogo. It is an IDE+environment+programming language based on logo (which was based on Lisp) which lets you build multi-agent models extremely fast. I have found that I can reproduce (simulate) algorithms from research articles in a couple of hours, algorithms that would have taken weeks to implement with other libraries.

You can check some of my models at this page.




回答3:


I got introduced to Dramatis at OSCON 2008, it is an Agent based framework for Ruby and Python. The author (Steven Parkes) has some references in his blog and is working at running a language agnostic Actors discussion list.

This page at erights.org has a great set of references to, what I think are, the core papers that introduce and explore the Actors message passing model.




回答4:


There is also a pretty good link in wikipedia:

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




回答5:


On the modelling side, have a look at FAML, an agent-oriented modelling language. This is a pretty academic paper, but it may help depending on your interests: http://ieeexplore.ieee.org/xpl/freepre_abs_all.jsp?isnumber=4359463&arnumber=4967615




回答6:


I know this is an old thread, but I thought it would not hurt to add some extra info. There is a great new website which is dedicated to agent-based modeling. The site contains links to papers, tutorials, tools, resources, and researchers working on agent-based modeling in a number of fields.




回答7:


you should also have a look at Madkit and Turtlekit




回答8:


Old thread, but for completeness there is also Anylogic and pyabm which can be used for ABMs.

I have experience programming agent-based models in several environments / languages. My opinion is that if you want to implement a relatively simple model, use Netlogo. It's also possible to use Netlogo for heavy-duty models as well (I've done this successfully), but at some point the flexibility of a programming language like java/python/c++ outweighs the convenience of the native methods available in Netlogo, especially when performance becomes a major issue.

Repast is becoming a bit bloated. If you are an experienced programmer, all you really need to start building an ABM is the ability to schedule events and draw random numbers. The rest (defining agents / environments and their behaviors) you can craft on your own. When it comes to managing the objects in your model, use the regular data structures you're used to (arrays / hashes / trees / etc.). To this end, I'm developing a very lightweight Java library called "ABMUtils" (on github) that implements a scheduler and wraps a random number generator. This is in the early development stage but I expect to flesh things out (keeping it simple) over the coming months.




回答9:


If you are an evolutionary economist you can also check Laboratory for Simulation Development (LSD).




回答10:


PHP and Java developers should take a look at KATO.



来源:https://stackoverflow.com/questions/166661/agent-based-modeling-resources

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!