Agent-based modeling (ABM) is a computational simulation method that enables creating, analyzing, and experimenting with models where a group of homogenous and/or heterogeneous agents interact among each other and the surrounding environment, whether directly or indirectly. Agents are fully autonomous and individually assess their current state and make decisions according to their internal schemata (i.e., set of rules defining attributes and behaviors).

ABMs are built using a “group up” approach (agent-by-agent and interaction-by-interaction), and the full effects of the diversity in agents’ attributes and behaviors can be observed on the behavior of the system as a whole. Such rich system behavior includes emergent properties and self-organization (patterns, structures) not explicitly programmed into the ABM.

Agent-based modeling enables simulation of agent interactions among each other and a surrounding environment.