…comprise a particular emphasis within the broad field of simulating stuff. An agent based simulation designed to approximate the behaviour of some real-world system will tend to eschew partial differential equations or fixed-point proofs in favour of, say, breaking down a large system into the component chunks that make it up. If we were looking at a simulation of an economy, an agent-based version might start from the individual humans buys and selling within that economy. Within that simulation we might be interested in working out, say, ‘given what we know about humans and can simulate, what does that tell us about markets’? “Bottom-up” modeling would be a more suggestive name.
Roll your own, code-free using Nicky Case’s Emoji protoype.
Howdy! 🌻 This (prototype) is a tool that lets you simulate systems of the world. In emoji.
My hope is that this can help people make more stuff like Parable of the Polygons, interactives that help people understand the complex systems of the world we live in. Also, emoji. In this simulation, you can edit EVERYTHING. Draw on the grid, modify the rules, even change these very words you’re reading! And at the end, you can save and share your creation. That’s the cool thing: there is no difference between playing & making, between reading & writing.
or Alex Komorske’s entrant, jkomoros/CASsim: Complex Adaptive Systems Simulator
CASsim stands for Complex Adaptive Systems simulator. This is a very basic harness and framework to make configurable, interactive agent based models and then generate animated screenshots of their results.
Nobel Laureate, Thomas Schelling’s 1969 Racial segregation model based on checkers pieces.
As a kind of primordial ancestor, the classic Ising spin glass model
A modern example — EpiCast simulates the entire population of the USA, or at least, a lot more detail about them for disease control than I would have suspected to be reasonable.
What are they for?
The problem, the basic problem of science, runs something like this— our current models of system \(X\) with parameter set \(P\) is good at approximating some of the observed behaviours of reality for some range of parameters \(p \subset P\), and that range can be fairly easy to find. However, our model does not seem to be able to produce observed behaviour \(b\) for any value of parameters. Let’s remove some of the simplifying assumptions in our model of \(X\) and make it a more complex model, \(X'\) with more parameters \(P'\), and more diverse behaviours. Now it can possibly produce behaviour \(b\) for some values of parameters \(p'\subset P'\). But we are no longer assured that we can find the set \(p'\) because of, e.g. loss of nice analytic forms for our model, or because of the curse of dimensionality.
Typically agent based models come out poorly here because they have vastly more parameters to fit and no more data points to fit them to than does anyone else. In macroeconomics, for example, there are a lot more parameters to an economy full of different agents with unique behavioural heuristics and methods of production and technologies etc, than there are when you assume an equilibrium can be reached by some kind of process of aggregating demand and supply functions. Although you can add more parameters to models based on either set of techniques, or devise hybrid models.
These days we have a lot of compute and a lot of data, at least of some sorts of data, and better fitting algorithms. We can use these to, perhaps, discard some of our simplifying assumptions by producing them as an emergent property of an underlying process, so we have the luxury, perhaps, of using agent modelss whose behaviour is harder to simplify, and running the model anyway.
Alternatively, even if we can’t ever hope to fit the model to real data, we can still run models that test out various possible sets of assumptions about behaviour in the hope of getting it at least qualitatively right, and congratulate ourselves that we have not only gotten insight, but preserved ourselves from the danger of mistaking our model of reality for reality itself.
Or we might like to do use agent based models because, in some sense, such models are more intuitive, than more mathematical abstractions. Moreover, in this case the intuitive models might give more direct insight into what is happening in a particular situation by letting non-specialists involved participate more directly. This collaborative option is called companion modelling and it dwells in the dangerous no-man’s-land between science, policy, and community engagement; I for one am terrified of that area. I’d much rather analyse a problem from the outside, be annoyed when no one takes my advice and glean the same sense of righteousness, with much less time and money spent.
Things to be interested in:
- Agent based models that include realistic constraints of agent attention and search strategies.
- Economic models that include not only innovation, but plausible representations of the size of innovation search space and the costs of exploring it. Not necessarily remotely possible.
- the Scholarpedia article on the ABMs
- Leigh Tesfatsion’s Agent-Based Computational Economics page
- Artem Kkaznatcheev, who is quite a good mathematician, decides that agent based models are awful but so are analytic ones.
CSIRO ABM used to be a thing.