Live data from Hacker News

NetLogo – A multi-agent programmable modeling environment

ccl.northwestern.edu

11–20 of 35 posts

Re: NetLogo – A multi-agent programmable modeling environment

#11
I worked with a grad student in college who was building models in NetLogo for modeling drug overdoses. It was pretty janky and slow.

They had to run the model millions of times so I had to build NetLogo on our HPC cluster running Rocks OS and write some magic config in slurm to run it and it took for ever because about 1/3 of the jobs would fail because they ran out of ram and would need to be run again.

I’m not sure how much of it was the grad students fault or NetLogos fault but either way, the experience was quite painful

Re: NetLogo – A multi-agent programmable modeling environment

#13
post #6

> NetLogo is a multi-agent programmable modeling environment. What does that even mean? That description fits nearly every commonly used programming language and runtime.

Most programming languages don't use the multi-agent paradigm. It's a different way of thinking about problems, in which you describe how each type of agent should interact with others, and then you let them run and play out the scenario.

It's true that you can implement multi-agent programming in other languages, but it's very natural and clear in NetLogo.

PS: I did my PhD in the group that produces NetLogo, and continue to be blown away from the language and what you can do with it, even though I don't use it on a daily basis any more.

Re: NetLogo – A multi-agent programmable modeling environment

#14
post #4
post #2

What other languages provide this kind of model output? It's very interesting.

There's a similar language called StarLogo ( http://www.slnova.org/ ), but the latest iteration (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/ ). I've also seen people use Processing ( https://processing.org/ ) for agen…

To 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.

Re: NetLogo – A multi-agent programmable modeling environment

#15
post #5

Oh, well beyond "very interesting". This type of modeling can yield results that are otherwise intractable. It is one of the primary reasons Thomas Schelling received a Nobel prize in economics. It should be in the toolkit of every applied mathematician or computer scientist.

[deleted]

Re: NetLogo – A multi-agent programmable modeling environment

#17
post #11

I worked with a grad student in college who was building models in NetLogo for modeling drug overdoses. It was pretty janky and slow. They had to run the model millions of times so I had to build NetLogo on our HPC cluster running Rocks OS and write some magic config in slurm to run it and it took for ever because about 1/3 of the jobs would fail because they ran out of ram and would need to be run again. I’m not sur…

As for the performance aspect, these kinds of simulations (typically using fixed time steps and with per-agent decision-making) are a natural fit for many-core devices. We recently did a survey on that subject [1]. There is a lot of work being done along these lines right now.

Some groups are also trying to target sequential, parallel and, say, GPU execution from the same model specification language, which could actually help with the usability of running such simulations in practice.

[1] https://arxiv.org/abs/1807.01014

Re: NetLogo – A multi-agent programmable modeling environment

#18
post #11

I worked with a grad student in college who was building models in NetLogo for modeling drug overdoses. It was pretty janky and slow. They had to run the model millions of times so I had to build NetLogo on our HPC cluster running Rocks OS and write some magic config in slurm to run it and it took for ever because about 1/3 of the jobs would fail because they ran out of ram and would need to be run again. I’m not sur…

I did a couple projects in undergrad using it. I had to implement my own trig functions from scratch! I think they had sin and cos and that was it? It’s a really a neat little environment for throwing together a proof of concept quickly, not a system in which to do computationally intensive work.

Re: NetLogo – A multi-agent programmable modeling environment

#19
post #2

What other languages provide this kind of model output? It's very interesting.

There 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/ - Repast: https://repast.github.io/index.html For Python, someone else has already mentioned Mesa: https://github.com/projectmesa/mesa/ You can find some more lists at https://www.comses.net/ -- sadly https://en.wikipedia.org/wiki/Comparison_of_agent-based_mode... looks fairly…

Terrific summary, thanks so much.

Re: NetLogo – A multi-agent programmable modeling environment

#20
I used NetLogo and a example file that I modified to demonstrate to non-techie designers why the doors they were proposing for a theater were too few and too narrow. The scrambling arrows representing people colliding and changing directions and the traffic made it very apparent. Simply telling them code requires X and you have Y wasn't as poignant. We wound up using NetLogo for other types of presentations.
Post reply on HN