Agent-Based Systems Simulation Lab

A simulation project for modeling interacting agents, testing scenario assumptions, and explaining system behavior through reproducible experiments.

Impact

Built models where local agent rules produce measurable system behavior.

Impact

Compared scenarios through repeatable simulation runs.

Impact

Explained emergent outcomes with charts, parameters, and sensitivity notes.

Deliverables

  • Simulation model
  • Scenario experiment set
  • Results interpretation

Technical Overview

Systems such as epidemiological spread, evacuation, markets, and biological populations cannot always be understood from aggregate formulas alone. The project needed models where individual rules, constraints, and randomness could be inspected directly.

Architecture

flowchart LR initialize_agents[Initialize agents] --> local_rules[Apply local rules] local_rules --> interactions[Move and interact] interactions --> metrics[Collect metrics] metrics --> clock_check{More ticks} clock_check -->|yes| local_rules clock_check -->|no| scenario_compare[Compare scenarios]

Model

It+1=It+βStItγItI_{t+1} = I_t + \beta S_t I_t - \gamma I_t

as an aggregate comparison point; the agent model implements infection and recovery at the individual level rather than only through compartment counts.

Implementation Sketch

to go
  ask agents [
    move
    interact-with-neighbors
    update-state
  ]
  collect-metrics
  tick
end

Engineering Approach

  • Define agents, state variables, environment constraints, and update rules.
  • Run parameter sweeps to test whether outcomes are stable or highly sensitive.
  • Separate model behavior from real-world claims by documenting assumptions and calibration limits.

Results

  • Built agent-based simulations in NetLogo and Python for outbreak dynamics, movement, competition, and social behavior.
  • Used repeated runs to distinguish stable patterns from random artifacts.
  • Documented parameter effects so the model could be adjusted without rewriting the core rules.

What This Demonstrates

  • Simulation projects need explicit assumptions because model realism is never automatic.
  • Sensitivity analysis is often more informative than a single run.
  • Good visual output helps validate whether the model is behaving as intended.