1
00:00:09,303 --> 00:00:13,361
Today we're going to explore the
relationship of agent based modelling
2
00:00:13,361 --> 00:00:18,208
to other methods that you might use to
explore complex systems.
3
00:00:18,208 --> 00:00:24,424
I'm going to start by talking about ABM
versus equation-based modelling (EBM),
4
00:00:24,424 --> 00:00:27,551
which is a phrase that's been around for
a while
5
00:00:27,551 --> 00:00:34,105
to describe a set of techniques such as
analytical or game-theoretic modelling
6
00:00:34,105 --> 00:00:38,621
in which you write first principle
equations
7
00:00:38,621 --> 00:00:42,819
and then you see where those might take
you.
8
00:00:42,819 --> 00:00:47,754
These are often compared because agent
based modelling in many ways
9
00:00:47,754 --> 00:00:51,780
starts a lot with some of the same first
principles
10
00:00:51,780 --> 00:00:54,729
but then goes in a different direction,
11
00:00:54,729 --> 00:00:57,032
rather than looking for a closed form
solution
12
00:00:57,032 --> 00:01:01,790
it tries to come up with computational
solutions to the problem at hand.
13
00:01:01,790 --> 00:01:06,139
So why might you use agent based modelling
instead of equation based modelling?
14
00:01:06,139 --> 00:01:09,710
Many equation based models make the
assumption of homogeneity -
15
00:01:09,710 --> 00:01:12,907
in fact they have to in order to generate
the closed form solutions
16
00:01:12,907 --> 00:01:14,065
that they're famous for.
17
00:01:14,065 --> 00:01:19,326
So in many cases you have a system that's
dramatically affected by heterogeneity
18
00:01:19,326 --> 00:01:22,033
and so using something like agent based
modelling
19
00:01:22,033 --> 00:01:25,291
when it's not possible to generate a
closed form solution
20
00:01:25,291 --> 00:01:29,804
for a heterogeneous system, might be a
good way to approach the problem.
21
00:01:29,804 --> 00:01:35,464
Also, a lot of equation based models are
continuous and not discrete.
22
00:01:35,464 --> 00:01:39,368
This leads to something called the nano-
wolf problem.
23
00:01:39,368 --> 00:01:43,302
The idea is that if you are modelling
something
24
00:01:43,302 --> 00:01:47,578
that is essentially a discrete entity,
like a wolf for instance,
25
00:01:47,578 --> 00:01:54,012
then if I have an equation based model
that allows the wolf population
26
00:01:54,012 --> 00:01:57,949
to drop to one-tenth of a wolf, or one
millionth of a wolf,
27
00:01:57,949 --> 00:02:02,078
theoretically, under a lot of equation
based models, it could still rebound
28
00:02:02,078 --> 00:02:04,974
and come back from that low level.
29
00:02:04,974 --> 00:02:07,725
In reality, once the last wolf,
30
00:02:07,725 --> 00:02:11,575
or more importantly, the last mating pair
of wolves die
31
00:02:11,575 --> 00:02:15,969
there's no way for the population to
rebound at that point.
32
00:02:15,969 --> 00:02:22,027
Which means that using a discrete solution
often provides you with a better answer.
33
00:02:22,027 --> 00:02:26,384
Now it's not the case that all equation
based models are continuous
34
00:02:26,384 --> 00:02:30,307
but it's just one of the reasons why ABM
provides you with a more natural ontology
35
00:02:30,307 --> 00:02:32,903
to that space.
36
00:02:32,903 --> 00:02:35,991
Many equation based models are written at
the aggregate level
37
00:02:35,991 --> 00:02:38,377
rather than the individual level
38
00:02:38,377 --> 00:02:42,350
which requires you have knowledge of the
overall patterns of behaviour of the system
39
00:02:42,350 --> 00:02:47,059
rather than the individual entities
within the system.
40
00:02:47,059 --> 00:02:50,994
It's often easier to get individual level
descriptions
41
00:02:50,994 --> 00:02:52,755
rather than aggregate descriptions
42
00:02:52,755 --> 00:02:56,506
and so as a result ABM often works better
in those contexts.
43
00:02:56,506 --> 00:03:02,354
Related is the fact that the ontology of
an EBM is often at that same global level
44
00:03:02,354 --> 00:03:06,391
whereas the ontology of an ABM is at the
individual level
45
00:03:06,391 --> 00:03:10,327
making it easier to communicate the ABM
to someone else
46
00:03:10,327 --> 00:03:14,111
since you're describing individual
behaviours.
47
00:03:14,111 --> 00:03:17,116
Also, most EBMs will not provide you with
detail
48
00:03:17,116 --> 00:03:19,989
about what a particular individual does
within the model.
49
00:03:19,989 --> 00:03:23,664
ABMs allow you that drill-down detail,
50
00:03:23,664 --> 00:03:27,038
which means in many cases you can go back
and figure out
51
00:03:27,038 --> 00:03:31,167
exactly how important an individual is to
the complex system.
52
00:03:31,167 --> 00:03:36,863
You can relate all those notions to the
fact that EBMs are kind of 'top down' -
53
00:03:36,863 --> 00:03:41,293
starting with these big entities and then
modelling down lower and lower systems
54
00:03:41,293 --> 00:03:45,445
whereas ABMs start with the premise of
understanding the local system
55
00:03:45,445 --> 00:03:48,648
and then model upwards.
56
00:03:48,648 --> 00:03:53,012
That being said, EBM does have several
advantages over ABM.
57
00:03:53,012 --> 00:03:55,842
One of them is that they're usually more
generalisable
58
00:03:55,842 --> 00:04:01,098
for the set of assumptions that are
assumed about the model.
59
00:04:01,098 --> 00:04:04,391
On the other hand, those assumptions are
usually restrictive
60
00:04:04,391 --> 00:04:06,562
for all the reasons we've previously
mentioned
61
00:04:06,562 --> 00:04:11,894
and so therefore it's difficult to use
them in a lot of real-world situations.
62
00:04:11,894 --> 00:04:18,351
In fact, we would argue that ABM should be
viewed as a complement to EBM,
63
00:04:18,351 --> 00:04:24,555
in fact you can build ABMs that are essentially
instantiations of game-theoretic models
64
00:04:24,555 --> 00:04:28,645
and then explore the ramifications beyond
the closed-form solutions
65
00:04:28,645 --> 00:04:33,815
that are very often obtained using EBMs.
66
00:04:33,815 --> 00:04:38,460
Of course, EBM is not the only approach,
67
00:04:38,460 --> 00:04:42,823
you can also do statistical modelling
which in many ways also uses equations
68
00:04:42,823 --> 00:04:44,723
but it's done in a different way.
69
00:04:44,723 --> 00:04:48,352
Here, the idea is that we take aggregate
patterns of behaviour about the world
70
00:04:48,352 --> 00:04:53,288
and then infer a model relating the entities
of those aggregate patterns together
71
00:04:53,288 --> 00:04:56,390
so you do a regression or something like
that.
72
00:04:56,390 --> 00:04:59,564
And many times when you have a statistical
model
73
00:04:59,564 --> 00:05:04,135
it's very hard to link it to first
principles or behavioural theory
74
00:05:04,135 --> 00:05:08,685
that describe the way the agents take
action in that system.
75
00:05:08,685 --> 00:05:11,866
And you need to have the right data to do
statistical modelling.
76
00:05:11,866 --> 00:05:15,033
ABM can complement statistical modelling
77
00:05:15,033 --> 00:05:20,635
by building from first principles to
generate statistical data
78
00:05:20,635 --> 00:05:27,315
which you can then compare with
statistical data obtained from the real world.
79
00:05:27,315 --> 00:05:31,675
Another approach you might want to use is
to conduct a series of lab experiments
80
00:05:31,675 --> 00:05:34,982
such as behavioural economics experiments.
81
00:05:34,982 --> 00:05:38,944
Lab experiments are often very useful
because they can actually generate theory,
82
00:05:38,944 --> 00:05:44,187
you can set up a condition and then really
see whether a particular theory
83
00:05:44,187 --> 00:05:46,588
seems to hold up within that space.
84
00:05:46,588 --> 00:05:54,693
However lab experiments are often not as
powerful as they could be
85
00:05:54,693 --> 00:05:59,088
because they're rarely scaled up to large
conditions like we see in the real world.
86
00:05:59,088 --> 00:06:02,879
Instead, you're looking at maybe six or
seven individuals and how they interact,
87
00:06:02,879 --> 00:06:05,725
or how they make decisions.
88
00:06:05,725 --> 00:06:08,583
Agent based models can be created from
lab experiments
89
00:06:08,583 --> 00:06:12,298
you essentially can use the rules that
you've inferred from the lab experiments
90
00:06:12,298 --> 00:06:14,450
to construct your agent based model.
91
00:06:14,450 --> 00:06:17,943
As a result you can explore what would
happen if everyone acted
92
00:06:17,943 --> 00:06:21,422
the way my lab experiment says people
interact.
93
00:06:21,422 --> 00:06:24,220
And then you can use that to generate new
hypotheses
94
00:06:24,220 --> 00:06:27,973
about things you might see in the world
that you don't actually see in the lab,
95
00:06:27,973 --> 00:06:29,946
construct a new lab experiment,
96
00:06:29,946 --> 00:06:34,091
and see if you can uncover any evidence
for those new hypotheses.
97
00:06:34,091 --> 00:06:37,965
You can also try to manipulate parameters
of the model
98
00:06:37,965 --> 00:06:41,399
beyond what the lab experiments will
allow.
99
00:06:41,399 --> 00:06:44,684
A lot of times you can't impose, say, a
hundred different conditions
100
00:06:44,684 --> 00:06:50,719
on a lab individual, because of the fact
that they won't stand for that many tasks.
101
00:06:50,719 --> 00:06:53,423
Agent based models don't care how many
conditions you impose on them.
102
00:06:53,423 --> 00:06:56,981
So if you can create the behavioural
pattern of a lab experiment
103
00:06:56,981 --> 00:07:01,328
you can then run it through as many
different instantiations as you need to.
104
00:07:01,328 --> 00:07:05,698
Agent based modelling can compare
generative principles drawn from lab experiments,
105
00:07:05,698 --> 00:07:09,313
so say we have two lab experiments that
provide you with different evidence
106
00:07:09,313 --> 00:07:10,981
about the way the world works.
107
00:07:10,981 --> 00:07:13,593
You can generate an agent based model
from each of them
108
00:07:13,593 --> 00:07:17,707
and see which one matches up better with
the real world.
109
00:07:17,707 --> 00:07:21,692
Finally, there are a lot of aggregate
computer modelling and simulation approaches
110
00:07:21,692 --> 00:07:24,636
that you might use instead of agent
based modelling.
111
00:07:24,636 --> 00:07:28,978
For instance, system dynamics modelling
is an approach which embraces
112
00:07:28,978 --> 00:07:31,799
a system level approach to the entire
world
113
00:07:31,799 --> 00:07:37,386
using stocks and flows to talk about the way
different parts of the world affect each other.
114
00:07:37,386 --> 00:07:43,469
The problem is that most of these
approaches lack the individual level representation
115
00:07:43,469 --> 00:07:46,617
and in fact one of the best things you can
possibly do
116
00:07:46,617 --> 00:07:49,057
would be maybe combine some of these
system level approaches
117
00:07:49,057 --> 00:07:52,492
with the individual level approach of
agent based modelling.