Describing and Formulating ABMs: The ODD Protocol

March 24, 2023

Class Announcements

  • Please “read” Chapter 4: Implementing a First Agent-Based Model

The ODD Protocol

“ODD” = “Overview, Design concepts, and Details”

Why ODD?

  • Useful for describing ABMs (model protocol; standardization)
  • Useful for understanding ABMs (multiple model representations)
  • Useful for replicating ABMs (model reproducibility)
  • Useful for formulating ABMs (modeling roadmap; guides thinking)

The ODD Protocol

“ODD” = “Overview, Design concepts, and Details”

Learning Objectives

  • Be able to name the benefits of using a “Materials and Methods” protocol (e.g. ODD) for reporting and organizing the steps of agent-based model design and analysis.
    • Describing
    • Understanding
    • Replicating
    • Formulating

DURF

Learning Objectives

  • Develop a firm understanding of the “Overview” and “Details” elements of ODD.

Learning Objectives

  • Develop an introductory understanding of the “Design concepts” element of ODD.

Learning Objectives

  • Understand, from its ODD description, the model we will program and use in chapters 4 and 5.

The ODD Protocol: Running Example (Chap. 4 & 5)

Virtual Corridors of Butterflies

The ODD Protocol

ODD: Overview

The ODD Protocol

ODD: Overview -> Purpose

  • What is the system we are modeling?
  • What do we want the model to tell us about the system?
  • What is the question we are trying to answer or the problem we are trying to solve?

The ODD Protocol

Purpose: Explore questions about virtual corridors. Under what conditions do the interactions of butterfly hilltopping behavior and landscape topography lead to the emergence of virtual corridors? How does this variability in the butterflies’ tendency to move uphill affect the emergence of virtual corridors?

Question: What are the explanatory variables and processes and what is the system output we are interested in?

The ODD Protocol

ODD: Overview -> Entities, state variables, and scales

  • Object types (can be multiple categories for each):
    • Agents (“individuals”)
    • Patches (space/local environment)
    • Global environment

The ODD Protocol

ODD: Overview -> Entities, state variables, and scales

  • State variables (how you classify objects):
    • Agents -> Attributes and behavior
    • Patches -> Attributes and behavior (e.g. coordinates)
    • Global spatial environment -> Time-dependent variables
  • Variables vary across time or space
  • Parameters DO NOT vary in time or space

The ODD Protocol

ODD: Overview -> Entities, state variables, and scales

  • Time and space scales:
    • Temporal/spatial extent: Usually determined by system-level phenomena of interest
    • Temporal/spatial resolution: Usually determined by agent/patch-level phenomena of importance
      • Discrete or continuous

The ODD Protocol

Entities, state variables, and scales

  • Entities
    • Agents: Butterflies
    • Patches: Land
  • State variables
    • Butterflies: Patch coordinates (discrete)
    • Patches: Elevation
  • Scales
    • Space: 150 x 150 grid; each grid is 25 x 25 \(m^2\)
    • Time: 1000 time steps; 1 step=time to move 1 patch

The ODD Protocol

ODD: Overview -> Process Overview and Scheduling

  • Processes describe behavior or dynamics of model entities (and observer measures).
  • Dynamics = change of state variables.
    • What are model entities doing (actions/behavior)?
    • How does the environment change?
  • Overview description (submodels)

The ODD Protocol

ODD: Overview -> Process Overview and Scheduling

  • Observer measures: Quantify and record measure of system state.
    • Display system state in graphs.
    • Measure system state with statistical summaries.
  • Model interpretation and learning intimately tied to how you observe system!!!
  • Observer measures are to models as data are to experiments.

The ODD Protocol

Process Overview and Scheduling There is only one process in the model: movement of the butterflies. On each time step, each butterfly moves once. The order in which the butterflies execute this action is unimportant because there are no interactions among the butterflies.

The ODD Protocol

ODD: Design concepts

  • These are important aspects that must be addressed when creating agent-based models.
  • These concepts are specific to agent-based models. Other types of models would have different design concepts.
  • Take a look at Chapter 3

The ODD Protocol

ODD: Details

  • Initialization: Specify initial conditions for all state variables of all entities.
  • Input data: Time-dependent external forces that effect the system (e.g. weather).
  • Submodels: Details of submodels specified in the process overview. Will include equations, logical rules, and algorithms.