ODD Protocol

MIS 643
Agent-Based Modeling
and Simulation
2016/2017 Fall
Chapter 3
The ODD Protocol
Outline
3.1 Introduction
3.2 What is ODD and Why Use It?
3.3 ODD Protocol
3.1 Introduction
• Formulating an ABM
• from heuristic part
– problem,ideas, data, hypothesis
• to first formal regorous representation
• In terms of: words, diagrams, equations
• model structure
•
–
Purposes of Model Formulation
• think explicitly all parts of the model
– decisions designing it
• Communicate the model
• Basis of implementation
– complete and explicit
• Publishing results
– complete accurate description
Describing ABMs
• What characteristics
• How to describe – concisely & clearly
• In equation-based modeling
– equations & parameter values
– in statistical models: t, F statistics, p-values,
accuricy measures,
Describing ABMs (cont.)
• In ABMs
– complex
– no treditional notation
• need standards – ODD
– not only describe but thining abut the
model
Learning Objectives
• Overview and details elements of ODD
• Introduction to design concepts element
3.2 What is ODD and Why Use It?
• in literature many ABMs are incomplete
• impossible to
– reimplement
– replicate the results – key to science
• Describing ABMs
– easy to understand & yet to be complete
• Strandardization:
– what information, in what order
• In ecology and social science
3.3 The ODD Protocol
•
•
•
•
•
•
Originaly for decribing ABMs or IBMs
Useful for formulating ABMs as well.
What kind of thinks should be in AMB?
What bahavior agents should have?
What outputs are needed_
A way of think and describe about ABMs
The ODD Protocol (cont.)
• ODD: Owverview, Design concepts and
Details.
– Seven elements
• Overview - three elements
– what the model is about & how it is designed
• Design concepts - one element
– esential characteristics
• Details – three elements
– description of the model complete
ODD Elements
• Overview:1
– 1 - Purpose
– 2 - Entities, state variables and satates
– 3 - Process overview and scheduling
• 4 - Design Concepts
• Details:
– 5 - Initialization
– 6 - Input data
– 7 - Submodels
Design Concepts
•
•
•
•
•
•
•
•
•
•
•
Basic principles
Emergence
Adaptation
Objectives
Learning
Prediction
Sensing
Interraction
Stochasticity
Collectives
Observation
Purpose
• Clear and concise statement of the
question or problem addresed by the
model
– What system we are modeling_
– What we are trying to learn?
Entities, State Variable, and
Scales
• What are its entities
– The kind of thinks represented in the model
• What variables are used to characterize
them
Entities in ABMs
• One or more types of agents
• The environment in which agents live and
interract
– Local units or patches
– Global environment that effect all agents
State Variables
• State variables: how the model specify
their state at any time
• An agent’s state – properties or attributes
– Size, age, saving, opinion, memory
• Some state variables constant
– Gender location of immobile agents
– Varies among agents but stay constant
through out the life of the agent
State Variables (cont.)
• Behavioral strategy:
– Searching behavior
– Bidding behavior
– Learning
• not include deduced or calculated ones
• Space : grids networks
– usually discrete – patches
• within patches are ignored
Global Variables
• Global envionment: variables change over
time usually not in space
– Temperature, tax rate, prices
• Usually not affected by agents
• Exogenuous,
• Provideded as data input or coming from
submodels
Scales
• Temporal & spatial scales
• Temporal Scale:
– How time is represented
– How long a time is simulated
• the temporal extend
– How the passage of time is simuated
• Most ABMs – discrete time
– day, week, month, ...
– temporal resolution or time step size,
Temporal Scale
• processes and changes happening shoter
then a time step are
– summerized and
– represened by how they make state variables
jump from one time step to the next
• E.g.: Stock market
– daily time v.s. intradaily
Temporal Scale (cont.)
• Temporal extent: typical length of a
simulation
– how much time # of time steps
– outputs
– system level phenomena v.s.
– temporal resolution – agent level
Spacial Scale
• if spacially explicit
– total size or extent of space
– grid size resolution
• key behaviors, interactions,
• spatial relations within a giid cell
– are ignored only
– only spatial effects among cells
• E.g.: urban dynamics – single household
– grid or patch
– what happends within a house - ignored
Process Overview and
Scheduleing
• Structure v.s. Dynamics
• Processes that change the state variables
of model entities
• Describes the behavior or dynamics of
model entities
– What are model entities are doing?
– What behaviors they execure as time proceeds?
– What updatres and change heppens in environment?
Process Overview and
Scheduleing (cont.)
• Write succinct description of each process
– with a name
– E.g.: selling, buying, biding, influensing
Observer Processes
• not linked to model entities
• Modeler – creator of the model
– Observe and record
• What the model entities do
• Why and when they do it
• Display model’s status on a graphical
display
• Write statistical summaries to output files
Model’s Schedule
• The order in which processes are executed
• An ABMs schedule
– concise and complete outline of the model
• Action: model’s scedule is a sequence of
actions
Model’s Schedule - Actions
• Specifies
– What model entities executes
– What processes
– in What order
• E.g.: in NetLogo
ask turtles [move]
• Some ABMs - simple
• For many ABMs schedule is complicated
– Use a pseudocode
Design Concepts
• How a model implements a set of basic
concepts
• standardized way of thinking important
and unique characteristics of ABMs
– E.g.: What outcomes emerge from what
characteristics of agents and their
environment
– E.g.: What adaptive decision agents make
• Questions like check lists
Design Concepts (cont.)
•
•
•
•
•
•
•
•
•
•
•
Basic principles
Emergence
Adaptation
Objectives
Learning
Sensing
Prediction
Interraction
Stochasticity
Collectives
Observation
Initialization
• describe model world at the begining of
simulation
# of agents, their charateristics
environmental variables
• Somethimes: model results depends on
initial conditions
• Not depends on inigtial conditions
– Comming from distributions
– Run the model until memory of the initial state is
forgoten the effect of initial valus disapear
Input Data
• Environmental variables
– usually change over time
– policy variables
• price promotions advertising expenditures
– pysical systems
• temperature
• not parameters
• they may change over time as well
• read in from data files as the model
executes (not initial inuts)
Submodels
• deiteld description o prosseses
• submodels – model of one process
• in ABM often indepenent of each other
– designed and tested seperately
• listed in processes – now full detail
Submodels (cont.)
• describe:
• agorithms rules or pseudocode or
equations
• but also
– why we formulate the submodel
– what literature is is based on
– assumptions
– where to get parameter values
– how to test or calibrate the model