## Agent-based models

**dan mackinlay**

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

## 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:

- the Scholarpedia article on the topic
- Leigh Tesfatsion’s Agent-Based Computational Economics page

See original: Agent-based models