Introduction to
Agent-Based Modelling
Historical Background
• Agent-based modelling is a comparably young
modelling technique.
• Were inspired by Cellular Automata (Von
Neumann, Ulam, etc)
• Thomas Schelling‘s Model of Segregation (1971)
is broadly denoted as the first agent-based model
Model segregation behaviour between individuals
with different races in US in the 1970s
Historical Background
• Agent-based modelling is a comparably young
modelling technique.
• Were inspired by Cellular Automata (Von
Neumann, Ulam, etc)
• Thomas Schelling‘s Model of Segregation (1971)
is broadly denoted as the first agent-based model
Historical Background
• Agent-based modelling is a comparably young
modelling technique.
• Were inspired by Cellular Automata (Von
Neumann, Ulam, etc)
• Thomas Schelling‘s Model of Segregation (1971)
is broadly denoted as the first agent-based model
A Small but Powerful Difference…
CA Model
Each cell is assigned a colour
(= a person if colour is not white)
A Small but Powerful Difference…
agent
Agent Based
Model (ABM)
Each agent (= person) is
assigned a colour
(blue or red) and a cell
A Small but Powerful Difference…
In principle both representations make sense for this
application. Yet Schelling used the second concept to
describe the model for its benefits.
CA Model ABM
for C in Cellspace: for A in AgentList:
if C is not white: get cell and color of A
N(C) = neighbourhood of C find neighboured agents N(A)
do update rules with C w.r. to N(C) do some actions with A w.r. to N(A)
Update Cellspace Update AgentList
Pseudocode representation of a time step in Schelling‘s model.
A Small but Powerful Difference…
In principle both representations make sense for this
application. Yet Schelling used the second concept to
describe the model for its benefits. It is easier to explain the
model as it is a more
It could be some natural description!
We do not have to „grayscales“ in between if
use a dicrete time- we want to
step!
ABM
We could distinguish
between male and female
agents (persons)
for A in AgentList:
get cell and color of A
find neighboured agents N(A)
We could include
We do not have to do some actions with A w.r. to N(A) more realistic
use a cell-space Update AgentList distributions
We could add some
We could introduce immigrants
death of agents
Agent
Why Agent?
Agent
Latin: „agere“ (to act)
What is an Agent? (1)
• Agent – lat. agere (act)
• There is no unique definition. The word is very
broadly used.
[Agent-based modelling is...]
„Rather a general concept“
(Winter Simulation Conference 2005 & 2006)
What is an Agent? (2)
With respect to Winter Simulation Conference (2005 &
2006) an agent has to...
... be uniquely identifiable
... cohabitate an environment with other agents,
and has to be able to communicate with them.
... be able to act targeted.
... be autonomous and independent.
... be able to change its behaviour.
What is an Agent? (2)
With respect to Winter Simulation Conference (2005 &
2006) an agent has to...
... be uniquely identifiable
... cohabitate an environment with other agents,
and has to be able to communicate with them.
... be able to act targeted.
... be autonomous and independent.
... be able to change its behaviour.
Optional properties (Wintersimulation Conference 2015)
What is an Agent? (3)
Agent
What is an Agent? (3)
Act Targeted
Agent
Target
What is an Agent? (3)
Act Targeted
Agent
Target
Cohabitate an environment
with other agents
Agent
Agent
Agent
Agent
Agent
Agent
What is an Agent? (3)
Uniquely Identifiable
Agent
Agent
Agent
Agent
Agent
Agent
What is an Agent? (3)
Uniquely Identifiable
Agent
Agent
Agent
Agent
Agent
Agent
What is an Agent? (3)
Can interact and
communicate
Agent
Agent
Agent
Agent
Agent
Agent
What is an Agent? (3)
Can change its behaviour
individually.
Agent
Agent
Agent
Agent
Agent
Agent
What is an Agent? (3)
Can change its behaviour
individually.
Agent
Agent
Agent
Agent
Agent
Agent
Short Summary
• Agent-Based modelling is a bottom up modelling
approach using a big number of individual system
components (agents).
• The components act independently (following given
rules)
• As it requires a lot of processing resources ABM is a
very young science with high potential.
Properties of Agent-Based Models
a. Representation of „emergent phenomena“
b. Flexibility
(Bonabeau, 2002)
c. Natural description of the system
Properties of Agent-Based Models
a. Representation of „emergent phenomena“
b. Flexibility
(Bonabeau, 2002)
c. Natural description of the system
Representation of „Emergent
Phenomena“
Simple rules for individual agents
Complex dynamics of the whole system
group dynamics / swarm intelligence
Representation of „Emergent
Phenomena“
Simple rules
Representation of „Emergent
Phenomena“
Can lead to complex
behaviour
Example: Fish or bird flocks
[Link]
Boids Flock Model
Each agent tends towards
the centre of its neighbours
Keep a distance that is
neither too far nor too small
Swim in the same direction
as your neighbours
Wilensky, U. (1998). NetLogo Flocking model. [Link] Center for Connected Learning and
Computer-Based Modeling, Northwestern University, Evanston, IL.
Properties of Agent-Based Models
a. Representation of „emergent phenomena“
b. Flexibility
(Bonabeau, 2002)
c. Natural description of the system
Flexibility
• Change of details is very easy compared to other
(especially macroscopic) modelling approaches.
• Different parameterisation of single agents does not
require changes within the system structure.
• Change or addition of (meta) rules for single agents
does not influence the system structure as well (as
long as they remain compatible with the system).
Example: Emergency exit strategy
Example: Emergency exit strategy
Agent-Based Macroscopic
Model approach
Example: Emergency exit strategy
Macroscopic
approach
Agent-Based
Model
(Navier Stokes
PDE Based Model)
Example: Emergency exit strategy
Agent-Based Macroscopic
Model approach
Example: Emergency exit strategy
Agent-Based
Model
Example: Emergency exit strategy
Agent-Based Macroscopic
Model approach
Example: Emergency exit strategy
Agent-Based
Model
Properties of Agent-Based Models
a. Representation of „emergent phenomena“
b. Flexibility
(Bonabeau, 2002)
c. Natural description of the system
Natural description of the System
• Components of the system look like in
reality
• Parameters can be seen like data or
properties of individuals in reality
• No mathematical background knowledge is
required in order to understand the
modelling approach
Natural description of the System
Communi-
Properties: cating with:
Female, Colleague to the left,
41 years, Target: Colleague to the right,
1.72 m, Survive Lecturer,
71kg, until Lunch ...
Non Smoker,
...
Current State:
Current Position: Learning,
Wiedner Healthy,
Hauptstraße 8-10 Agent Hungry,
Ground Floor Tired
...
Example: GEPOC (Generic
Population Concept)
• Population model of Austria
• Simulation of Austria‘s population from 1999 to make prognosis until
2050
Each agent has a
certain coordinate,
dies, emigrates,
immigrates and
reproduces
Example: GEPOC (Generic
Population Concept)
• Population model of Austria
• Simulation of Austria‘s population from 1999 to make prognosis until
2050
Each agent has a VALIDATION?
certain coordinate,
dies, emigrates,
immigrates and
reproduces
Example: GEPOC (Generic
Population Concept)
VALIDATION PROCESS:
• Project for two years.
• Parametrisation and Validation data for time <2016 from Statistics
Austria
• Parametrisation and Validation for time >=2016 matched with
Statistics Austria Prognosis tool
Example: GEPOC Flu
• Simulation of 2014 Flu
• Contact driven disease spread
Each agent has
certain number of
contacts each time-
step
[Link]
Example: GEPOC Flu
• Simulation of 2014 Flu
• Contact driven disease spread
Each agent has
VALIDATION?
certain number of
contacts each time-
step
[Link]
Example: GEPOC Flu
HOW ABOUT
VALIDATION?
THIS model is absolute rubbish and has hardly
anything to do with reality!
Beware of wrong ideas!
Interpretation of Agent-Based
Model Results
Basically two classes of
agent-based models can ABMs for quantitative
be observed investigation
• Usually interested in
ABMs for qualitative temporal behaviour
investigation of aggregate
• Usually interested in numbers
(temporal behaviour) of • Usually used for
patterns some kind of
• Usually used for resource planning
foundamental scientific
research
Interpretation of Agent-Based
Model Results
Basically two classes of
agent-based models can ABMs for quantitative
be observed investigation
• Rather simple agent
interactions
ABMs for qualitative
• A lot of data
investigation
involved for model
• (On purpose) very
parametrisation and
abstract
validation
• Usually very complex
• Usually less famous
model behaviour
• Hardly any parameters
identified with real data
Interpretation of Agent-Based
Model Results : Examples
ABMs for quantitative
ABMs for qualitative investigation
investigation
GEPOC
Schelling‘s Segregation Model
Interpretation of Agent-Based
Model Results : Examples
WRONG
INTERPRETATION
„Schelling‘s model
predicts: In a few years
only immigrants in Wien
Hietzing!“
Interpretation of Agent-Based
Model Results : Examples
CORRECT
INTERPRETATION
„If we do not take care on
our migration policy human
homophobia might lead to
spatially visible ghettoism
as seen above in Austria as
well!“
Interpretation of Agent-Based
Model Results : Examples
WRONG
INTERPRETATION
„GEPOC predicts:
In two years there
will be a 50 year
old immigrant in
Leibnitz“
Hi guys, i‘m
In general: Never pick only one Mike
agent from an ABM!
Interpretation of Agent-Based
Model Results : Examples
CORRECT „GEPOC
INTERPRETATION predicts: Austrian
population is
assumed to grow
to x.x Mio people
until 2030.“
Summary: Agent-Based Models
Agent-based models are good in…
• … analysis and discovery of complex group dynamic
behaviour. This must not necessarily be a good thing
as emergent behaviour may occur in models even if it
is not correct.
• … communitcating models to non-experts.
The modelling appoach is easy to understand,
picturesque and no mathematical background is
necessary.
Summary: Agent-Based Models
Agent-based models are good in…
• … analysis and discovery of complex group dynamic behaviour.
• … communitcating models to non-experts.
Agent-based modelling is problematic …
• … regards misinterpretation. If it looks like reality it
must not necessarily be a valid model for it.
• … regards the validation process. Validation of ABMs
is a difficult task due to complex model behaviour.
• … regards computer ressources. ABMs require high
performance CPUs and a lot of RAM.
Questions?