Agent-based modeling resources [closed]

2019-03-08 21:29发布

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.

10条回答
霸刀☆藐视天下
2楼-- · 2019-03-08 22:09
闹够了就滚
3楼-- · 2019-03-08 22:10

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

查看更多
SAY GOODBYE
4楼-- · 2019-03-08 22:10

you should also have a look at Madkit and Turtlekit

查看更多
女痞
5楼-- · 2019-03-08 22:15

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.

查看更多
孤傲高冷的网名
6楼-- · 2019-03-08 22:19

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.

查看更多
时光不老,我们不散
7楼-- · 2019-03-08 22:22

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.

查看更多
登录 后发表回答