The Living Thing

Agent based models

Is a set of techniques or, more exactly, a particular emphasis within the field of simulation. An agent based simulation is about breaking down a large system into the component chunks that make it up - so 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” modelling might be a more suggestive and marginally more amusing name.

Examples

The legions of science are busy paving this road. Here are some flagstones.

  • Nobel Laureate, Thomas Schelling’s 1969 Racial segregation model based on checkers pieces
  • Finite Element Models for simulating the behaviour of materials (e.g. at CSIRO or the National Crash Analysis Centre, these get called “agent based models”, and although accurate as far as it goes, it’s getting a little weird. Only one step away from calling all quadrature “agent based models”, and then where do our funding applications go?
  • As a kind of primordial ancestor, the classic Ising spin glass model
  • A hypermodern 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.

Problems of modelling

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 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, and these problems are made worse with every extension of the model.

Typically agent based models come out poorly here because they have vastly more parameters to fit and no more data points to fit them too than anyone else. In economics, for example, there are a lot more parameters to an economy full of different agents with unique behavioural heuristics than there are to a static equilibrium made up of uniformly rational actors, at least at first blush.

However, these days we have a more CPU cycles, and more sophisticated algorithms to fit models, and more data than ever before. We can use these to, perhaps, discard some of our old parameters by deriving them from new ones. Or we can fit different components of our model using different data sets.

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.

Now, read:

See also: Behavioural economics.


blog comments powered by Disqus