
Title:
abm 1 9 comparison

Description:

Today we're going to explore the
relationship of agent based modelling

to other methods that you might use to
explore complex systems.

I'm going to start by talking about ABM
versus equationbased modelling (EBM),

which is a phrase that's been around for
a while

to describe a set of techniques such as
analytical or gametheoretic modelling

in which you write first principle
equations

and then you see where those might take
you.

These are often compared because agent
based modelling in many ways

starts a lot with some of the same first
principles

but then goes in a different direction,

rather than looking for a closed form
solution

it tries to come up with computational
solutions to the problem at hand.

So why might you use agent based modelling
instead of equation based modelling?

Many equation based models make the
assumption of homogeneity 

in fact they have to in order to generate
the closed form solutions

that they're famous for.

So in many cases you have a system that's
dramatically affected by heterogeneity

and so using something like agent based
modelling

when it's not possible to generate a
closed form solution

for a heterogeneous system, might be a
good way to approach the problem.

Also, a lot of equation based models are
continuous and not discrete.

This leads to something called the nano
wolf problem.

The idea is that if you are modelling
something

that is essentially a discrete entity,
like a wolf for instance,

then if I have an equation based model
that allows the wolf population

to drop to onetenth of a wolf, or one
millionth of a wolf,

theoretically, under a lot of equation
based models, it could still rebound

and come back from that low level.

In reality, once the last wolf,

or more importantly, the last mating pair
of wolves die

there's no way for the population to
rebound at that point.

Which means that using a discrete solution
often provides you with a better answer.

Now it's not the case that all equation
based models are continuous

but it's just one of the reasons why ABM
provides you with a more natural ontology

to that space.

Many equation based models are written at
the aggregate level

rather than the individual level

which requires you have knowledge of the
overall patterns of behaviour of the system

rather than the individual entities
within the system.

It's often easier to get individual level
descriptions

rather than aggregate descriptions

and so as a result ABM often works better
in those contexts.

Related is the fact that the ontology of
an EBM is often at that same global level

whereas the ontology of an ABM is at the
individual level

making it easier to communicate the ABM
to someone else

since you're describing individual
behaviours.

Also, most EBMs will not provide you with
detail

about what a particular individual does
within the model.

ABMs allow you that drilldown detail,

which means in many cases you can go back
and figure out

exactly how important an individual is to
the complex system.

You can relate all those notions to the
fact that EBMs are kind of 'top down' 

starting with these big entities and then
modelling down lower and lower systems

whereas ABMs start with the premise of
understanding the local system

and then model upwards.

That being said, EBM does have several
advantages over ABM.

One of them is that they're usually more
generalisable

for the set of assumptions that are
assumed about the model.

On the other hand, those assumptions are
usually restrictive

for all the reasons we've previously
mentioned

and so therefore it's difficult to use
them in a lot of realworld situations.

In fact, we would argue that ABM should be
viewed as a complement to EBM,

in fact you can build ABMs that are essentially
instantiations of gametheoretic models

and then explore the ramifications beyond
the closedform solutions

that are very often obtained using EBMs.

Of course, EBM is not the only approach,

you can also do statistical modelling
which in many ways also uses equations

but it's done in a different way.

Here, the idea is that we take aggregate
patterns of behaviour about the world

and then infer a model relating the entities
of those aggregate patterns together

so you do a regression or something like
that.

And many times when you have a statistical
model

it's very hard to link it to first
principles or behavioural theory

that describe the way the agents take
action in that system.

And you need to have the right data to do
statistical modelling.

ABM can complement statistical modelling

by building from first principles to
generate statistical data

which you can then compare with
statistical data obtained from the real world.

Another approach you might want to use is
to conduct a series of lab experiments

such as behavioural economics experiments.

Lab experiments are often very useful
because they can actually generate theory,

you can set up a condition and then really
see whether a particular theory

seems to hold up within that space.

However lab experiments are often not as
powerful as they could be

because they're rarely scaled up to large
conditions like we see in the real world.

Instead, you're looking at maybe six or
seven individuals and how they interact,

or how they make decisions.

Agent based models can be created from
lab experiments

you essentially can use the rules that
you've inferred from the lab experiments

to construct your agent based model.

As a result you can explore what would
happen if everyone acted

the way my lab experiment says people
interact.

And then you can use that to generate new
hypotheses

about things you might see in the world
that you don't actually see in the lab,

construct a new lab experiment,

and see if you can uncover any evidence
for those new hypotheses.

You can also try to manipulate parameters
of the model

beyond what the lab experiments will
allow.

A lot of times you can't impose, say, a
hundred different conditions

on a lab individual, because of the fact
that they won't stand for that many tasks.

Agent based models don't care how many
conditions you impose on them.

So if you can create the behavioural
pattern of a lab experiment

you can then run it through as many
different instantiations as you need to.

Agent based modelling can compare
generative principles drawn from lab experiments,

so say we have two lab experiments that
provide you with different evidence

about the way the world works.

You can generate an agent based model
from each of them

and see which one matches up better with
the real world.

Finally, there are a lot of aggregate
computer modelling and simulation approaches

that you might use instead of agent
based modelling.

For instance, system dynamics modelling
is an approach which embraces

a system level approach to the entire
world

using stocks and flows to talk about the way
different parts of the world affect each other.

The problem is that most of these
approaches lack the individual level representation

and in fact one of the best things you can
possibly do

would be maybe combine some of these
system level approaches

with the individual level approach of
agent based modelling.