Andromeda
Note

Agent-Based Modeling (ABM)

Definition

Agent-Based Modeling (ABM) is a bottom-up simulation methodology that imitates the actions and interactions of autonomous individuals or entities (agents) to observe the sequence of events and emergent behaviors of the system as a whole.

Why It Matters

Many of the worlds most complex problems (pandemics, traffic, social movements) cannot be understood by looking at the whole. Agent-based modeling allows us to see how simple individual behaviors scale into complex global phenomena, providing a tool for more effective policy and system design.

Core Concepts

  • Autonomous Agents: Software entities that receive input from their environment and act independently to achieve specific goals.
# Basic structure of an Agent in ABM
class Agent:
    def __init__(self, position):
        self.position = position
        
    def step(self, environment):
        # Perception and action
        neighbors = environment.get_neighbors(self)
        self.move(neighbors)
  • Simple Rules: Complex global behaviors are generated through the application of relatively simple local rules (e.g., Reynolds’ Boids rules: Separation, Alignment, Cohesion).
  • Emergence: The primary characteristic of ABM, where patterns appear at the system level that were not explicitly preprogrammed into the individual agents.
  • Heterogeneity: Agents can have different characteristics, behaviors, and learning capacities.
  • Interaction: Agents respond to the actions of others or the environment, often in parallel.

Connected Concepts