Agent-based models

Printer-friendly version

…is a set of techniques or, more exactly, a particular emphasis on certain techniques, within the
field of simulating stuff.
An agent based simulation designed to approximate the behaviour of some
real-world system will tender to eschew partial differential equations or
fixed-point methods 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” modelling would be a more suggestive name.

Overfishing versus ghost whales

Examples

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

  • Roll your own using Nicky Case’s amazing Emoji protoype.
  • 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.
    That’s only one step away from calling all numerical quadrature
    “agent based modelling”, 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, and what agent-based ones can help with

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 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 CPU cycles 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 keeping agents 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 this because, in some sense, agent-based models are more
intuitive, and less abstract, than more mathematical abstractions, and they
might give more direct insight into what is happening in a particular situation
by letting non-specialists involved participate more directly in devising a
model of it.
This last option is called companion modelling and it certainly 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 righteous annoyance at having my
advice ignored by politics, 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.

Now, read:

See original: The Living Thing / Notebooks Agent-based models