3 ms·
What other languages provide this kind of model output? It's very interesting.
by xrd 8y ago
What other languages provide this kind of model output? It's very interesting.
- nickmancol 8y agoI have used Mesa (python 3) in one of my master's classes. https://github.com/projectmesa/mesa https://github.com/projectmesa/mesa
- maxbond 8y agoThere's a similar language called StarLogo (http://www.slnova.org/ http://www.slnova.org/), but the latest iteration (StarLogo TNG https://education.mit.edu/portfolio_page/starlogo-tng/ https://education.mit.edu/portfolio_page/starlogo-tng/) is focused on education and accessibility, and is a graphical block style language. There's a JavaScript framework based on NetLogo called AgentScript (http://agentscript.org/ http://agentscript.org/). I've also seen people use Processing (https://processing.org/ https://processing.org/) for agent-based modeling. StarLogo and NetLogo were some of my first languages. Modeling real-world systems is an immensely powerful educational tool. It helps contextualize programming in a relatable way, and it helps you to learn about complexity and the way the world works at the same time.
- mcphage 8y agoTo add to your comment: StarLogo is talked about in the book "Turtles, Termites, and Traffic Jams", which is a great book talking about understanding decentralized phenomenon, and how we learn to understand them. But the language seems to have vastly diverged from what's used in the book, which is disappointing.
- falls-to-bits 8y agoThere are more and more these days. If you want Java/scala-based, the two biggest ones are: - MASON: https://cs.gmu.edu/~eclab/projects/mason/ https://cs.gmu.edu/~eclab/projects/mason/ - Repast: https://repast.github.io/index.html https://repast.github.io/index.html For Python, someone else has already mentioned Mesa: https://github.com/projectmesa/mesa/ https://github.com/projectmesa/mesa/ You can find some more lists at https://www.comses.net/ https://www.comses.net/ -- sadly https://en.wikipedia.org/wiki/Comparison_of_agent-based_modeling_software https://en.wikipedia.org/wiki/Comparison_of_agent-based_mode... looks fairly sparse / a little outdated (though I have only passing familiarity with most of those). Finally, I think a great technical source of theory about these models comes from Cosma Shalizi's notebook on ABM: http://bactra.org/notebooks/agent-based-modeling.html http://bactra.org/notebooks/agent-based-modeling.html He's one of the single best sources I've seen for describing systems for formally estimating ABMs. Netlogo is great for fast prototyping, but at least as of ...well a number of years ago now, there was a noticeable lack of scientific computing libraries. For example numerical optimization routines were extremely basic. I had to use a user-contributed package to solve a root finding problem. Honestly for this type of work I typically write my own from scratch in Python. Here's a great set of lectures and code from Blake LeBaron, "from sratch" in Python, for finance ABMs: http://people.brandeis.edu/~blebaron/classes/agentfin/ http://people.brandeis.edu/~blebaron/classes/agentfin/ ...and here's a nice from scratch Schelling model in Python: https://lectures.quantecon.org/py/schelling.html https://lectures.quantecon.org/py/schelling.html
- xrd 8y agoTerrific summary, thanks so much.
- gambler 8y agoThere is a GPU accelerated particle simulator from Yoshiki Oshima and a few other people. It can run in browsers. http://tinlizzie.org/~ohshima/shadama2/live2017/ http://tinlizzie.org/~ohshima/shadama2/live2017/ A bit tricky due to shader limitations, but very fast. You can use a million particles at a time. This is a product of HARC/VPRI cooperation, from what I understand.
- xtracto 8y agoYou can use the RePast Suite ( https://repast.github.io/ https://repast.github.io/ ). I used both of them about 10 years ago when I was in academia in a PostDoc. I taught Agent Based Modelling and Simulation to Social Sciences PhD Students. I also had the opportunity to work with Klaus Troitzsch ( https://en.wikipedia.org/wiki/Klaus_G._Troitzsch https://en.wikipedia.org/wiki/Klaus_G._Troitzsch). These kind of models yield really interesting results. But people have to be VERY careful on how to interpret their outcomes, as some people make the mistake to try to take them as direct forecasting. Also, they suffer very much from the garbage-in/garbage-out problem.