Agent-based model
| Part of a series on |
| Multi-agent systems |
|---|
| Multi-agent simulation |
| Agent-oriented programming |
| Related |
An agent-based model (ABM) is a computational model for simulating the actions and interactions of an autonomous agent (both individual or collective entities such as organizations or groups) to understand the behavior of a system and what governs its outcomes. It combines elements of game theory, complex systems, emergence, computational sociology, multi-agent systems, and evolutionary programming. Monte Carlo methods are used to understand the stochasticity of these models. Particularly within ecology, an ABM is also called an individual-based model (IBM). A review of literature on individual-based models, agent-based models, and multiagent systems shows that ABMs are used in many scientific domains including biology, ecology, and social science. Agent-based modeling is related to, but distinct from, the concept of a multi-agent system .
An agent-based model is a type of microscale model that simulates the simultaneous operations and interactions of multiple agents in an attempt to re-create and predict the appearance of complex phenomena. The process is one of emergence, which some express as "the whole is greater than the sum of its parts". In other words, higher-level system properties emerge from the interactions of lower-level subsystems. Or, macro-scale state changes emerge from micro-scale agent behaviors. Or, simple behaviors (meaning rules followed by agents) generate complex behaviors (meaning state changes at the whole system level).
An individual agent is typically characterized as boundedly rational, presumed to be acting in what it perceives as its their own interests, such as reproduction, economic benefit, or social status, using heuristics or simple decision-making rules. An ABM agent may experience "learning", adaptation, and reproduction.
An agent-based model is usually composed of (1) numerous agents specified at various scales (typically referred to as agent-granularity), (2) decision-making heuristics, (3) learning rules or adaptive processes,(4) an interaction topology, and (5) an environment. An ABM is typically implemented as a computer simulation, either as custom software or using an ABM toolkit. This software can be then used to test how changes in individual behavior will affect the system's overall behavior.