2. What is ABM?
• Easiest way to describe it is to demo building one
• Agent Based Modeling is a modeling technique
• Made up of autonomous decision making entities
called agents
• A collection of interacting agents make up a
system
• When we run the system we should see emergent
properties. Things that happen because of the
interactions between agents.
Simple agent rules, can result in different sorts of
complex and interesting behavior in the system.
3. Lets build a simple ABM
1. The Environment
Field
Grass
Mud
4. Creating a simple
ecosystem
2. Agents
Agent. An agent is an autonomous, dynamic rule-based entity within a defined environment.
Predator Agents
Prey Agents
5. Creating a simple
ecosystem
3. Create Rules
Environment Rules
• Grass turns to mud if eaten
• Grass grows back after certain amount of time
Predator Rules
• Will chase prey?
• Need to eat prey for energy
• Can reproduce
• With no energy the agent will die
Prey Rules
• Needs grass for energy
• Can Reproduce if near other prey
• Walk around
• With no energy the agent will die
7. Construct Virtual
World
World develops
through agent
interaction
Virtual world events
driven by agent
interactions.
(Emergent Behavior)
Creation Stages
Go Back and edit the
Virtual World
8. Predator – Prey game
“This model simulates a predator-prey relationship. The
population consists of wolf packs (predators) and
sheep herds (prey), some controlled by students via
HubNet clients and some androids controlled by the
computer. The wolves gain energy from consuming
sheep, and the sheep gain energy from consuming
grass (a primary producer). The model allows students
to examine simple population dynamics like those
modeled through the Lotka-Volterra equations in a
participatory way.”
Models can be participatory
9. Other Models
• SKIN Model (Simulating Knowledge Dynamics in
Innovation Networks)
o http://cress.soc.surrey.ac.uk/SKIN/
o Agents are firms, universities, consumers, suppliers
o Agents have to produce an initiative product to survive
• Supply chain modeling
o http://www.sciencedirect.com/science/article/pii/S0925527308002016
o http://egon.cheme.cmu.edu/ewocp/docs/GonzaloEWO-GG-11Dec.pdf
• Consumer decision making
o http://ccl.northwestern.edu/netlogo/models/community/customerBehavi
or -based on customer questionnaires
10. Key Points to ABM
• Captures Emergent Phenomena
As the components of a system interact with each
other, and influence each other through these
interactions, the system as a whole exhibits emergent
behavior (Roetzheim)
• Flexibility
Can easily be adapted to new constraints – new rules,
agents, changes to environment. Agile?
• Lots of ABM software available
11. Personal Opinion
• ABM has is good at different things depending on
what you are trying to model:
o Explanatory models
o Exploratory models
o Predictive purposes
12. ABM Platforms
• Netlogo (very easy, designed to be like Logo)
• Repast Symphony ( Java , Eclipse based )
• Repast HPC ( C++ based for cluster/super
computer simulations )
13. Useful sites
• Netlogo: https://ccl.northwestern.edu/netlogo/
• Journal of Artificial Societies and Social Simulation:
http://jasss.soc.surrey.ac.uk/
• Modeling Commons http://modelingcommons.org/