Biomedical Engineering Reference
In-Depth Information
models.) States can also be extremely complicated, including, possibly, sophisti-
cated internal models of the agent's world.
Here is an example to make this concrete. In epidemiology, there is a classic
kind of model of the spread of a disease through a population called an "SIR"
model (128, §4). It has three classes of people—the susceptible, who have yet to
be exposed to the disease; the infected, who have it and can pass it on; and the
resistant or recovered, who have survived the disease and cannot be reinfected.
A traditional approach to an SIR model would have three variables, namely the
number of people in each of the three categories,
S
(
t
),
I
(
t
),
R
(
t
), and would have
some deterministic or stochastic dynamics in terms of those variables. For in-
stance, in a deterministic SIR model, one might have
¬
-
It
()
St
(
+
)
St
( )
=
a
St
( )
,
[36]
-
-
-
St
()
++
It
()
Rt
()
®
¯
St
()
¡
°
It
(
+
)
It
( )
=
a
b
cIt
( )
,
[37]
¡
°
St
()
++
It
()
Rt
()
¢
±
R
(
t
+ 1) -
R
(
t
) =
bI
(
t
),
[38]
which we could interpret by saying that (i) the probability of a susceptible per-
son being infected is proportional to the fraction of the population which is al-
ready infected, (ii) infected people get better at a rate
b
, and (iii) infected people
die at a rate
c
. (This is not a particularly
realistic
SIR model.) In a stochastic
model, we would treat the right-hand sides of [36]-[38] as the mean changes in
the three variables, with (say) Poisson-distributed fluctuations, taking care that,
e.g., the fluctuation in the a
I
/(
R
+
S
+
I
) term in [36] is the same as that in [37].
The thing to note is that, whether deterministic or stochastic, the whole model is
cast in terms of the aggregate quantities
S
,
I
and
R
, and those aggregate variables
are what we would represent computationally.
In an agent-based model of the same dynamics, we would represent
each
individual in the population as a distinct agent, which could be in one of three
states,
S
,
I
, and
R
. A simple interaction rule would be that at each time-step, each
agent selects another from the population entirely at random. If a susceptible
agent (i.e., one in state
S
) picks an infectious agent (i.e., one in state
I
), it be-
comes infected with probability
a
. Infectious agents die with probability
b
and
recover with probability
c
; recovered agents never change their state. So far, we
have merely reproduced the stochastic version of [36]-[38], while using many
more variables. The power of agent-based modeling only reveals itself when we
implement more interesting interaction rules. For instance, it would be easy to
assign each agent a position, and make two agents more likely to interact if they
are close. We could add visible symptoms that are imperfectly associated with