Agent-based models are dynamic simulation models that provide insight into complex geographic systems. Individuals are represented as agents that are encoded with goal-seeking objectives and decision-making behaviors to facilitate their movement through or changes to their surrounding environment. The collection of localized interactions amongst agents and their environment over time leads to emergent system-level spatial patterns. In this sense, agent-based models belong to a class of bottom-up simulation models that focus on how processes unfold over time in ways that produce interesting, and at times surprising, patterns that we observe in the real world.
- What is Agent-based Modeling?
- What Makes Agent-based Modeling Unique?
- How Does a Modeler Build an ABM?
- Evaluating ABMs and Their Output
- Challenges with ABMs
Simulation models are computer models that are programmed to emulate a specific process taking place over time.
Complex systems, in the context of agent-based models, are characterized by interacting individuals whose behaviors and actions collectively lead to the emergence of spatial patterns over time.
In the context of complex systems, a feedback is a mechanism that either amplifies (positive feedback) or dampens (negative feedback) the level of change taking place in a system.
Emergence describes the process of when a system outcome is a result of the interactions among individual system elements. Emergent patterns are difficult to predict and can often have surprising characteristics.
Agent-based models (ABMs) in the context of GIScience are dynamic models that simulate how individuals make decisions based on their interactions with others and the space around them. The term “agent-based” has typically been used in the social sciences when such models are developed to represent individual people, while the term “individual-based” was adopted by ecologists and biologists when developing such models to emulate the behaviors of other organisms such as birds, fish, and mammals (hereafter we refer to all such models as “agent-based”). A distinctive feature of ABMs in GIScience and related disciplines is that the models are inherently spatial, as agents exist at some location in space at every moment in time, and can obtain information from their location and the locations around them to make decisions about what to do or where to move.
ABMs have been developed to simulate the decisions people make as they walk through crowds in urban spaces in order to reach a specific destination (Torrens 2012), and the decisions that current and potential home owners make regarding where to move based on the social and physical characteristics of neighborhoods (Parker and Filatova 2008). Similarly, non-human agent models have been developed to represent individual elk migrating through a landscape and the decisions they make in response to food availability, topography, and the overall behavior of their herd (Bennett and Tang 2006). The power of this type of modeling is that the collection of decisions made by all the individual agents produces an emergent spatial pattern over time. In doing so, ABMs can help us learn how crowds move through urban areas at different times in the day, how locational preference creates income and racial segregation in cities, or how food availability and topography influence animal herd migratory patterns. In short, ABMs help us link individual decisions made at the local level to emergent patterns at the level of the overall system.
ABMs can be classified as bottom-up models, meaning that simulated patterns arise from the bottom-level behaviors of individuals. This is opposed to top-down models, which describes many of the statistical and mathematical models in GIScience, such as multi-criteria analysis, location-allocation analysis, etc., in which resulting patterns stem from one or more formulas that algorithmically combine a set of inputs to produce a spatial pattern. While such top-down approaches to modeling can be used to investigate a range of spatial problems, some questions require methods that can represent how resulting patterns emerge from the interactions of individuals with each other and their surrounding environment over time. ABMs are suited for this type of process because they can emulate how specific decisions influence higher-level system properties. Furthermore, ABMs can be programmed to incorporate stochastic events and the uncertainty of how individuals make decisions and behave. This allows modelers to run a model many (e.g. hundreds) of times in order to analyze the probability of specific patterns emerging given variations in agent behaviors or environmental constraints.
While there are many approaches to building ABMs, most modeling endeavors take into consideration the concepts below in order to build a useful model. These concepts are presented in a framework called the Overview, Design concepts, Details (ODD) Protocol, developed by Grimm et al. (2006), which helps agent-based modelers to communicate the details of their model using a common framework.
The first step in developing any ABM is to define the agents, which are those individuals being represented within the model. Agents represent individuals who are either moving through space, changing space, or both. Moving agents are the focus of models that typically simulate processes such as walking, migrating, driving, evacuating, etc. Models in which agents make decisions affecting space are typically applied to processes concerning urban growth, agriculture, and resource use. Agents can change space directly, for example by building a road in an undeveloped area, or indirectly by creating a policy that influences other agents to make changes to the landscape. Agents, like people and animals, have several states in which they can exist. Examples of binary state sets include alive or dead, hungry or satiated, buyer or seller, calm or panicked, etc.
All agents exist and make decisions within a specified environment. Each agent resides at a specific location for some duration of time, and makes a decision of whether to move to another location or to change some characteristic about that location. Environments can be represented by a gridded space in which locations exist as individual cells that potentially contain one or more agents at any given moment in time. Alternatively, environments can be represented as networks in which agents exist at nodes and travel across arcs, or as vector spaces in which agents are located at points, along lines, or in polygons. In all cases, locations contain attributes that agents evaluate to determine if they should move or act in a way that changes the characteristic of some location.
Agent behaviors consist of two important elements: their objectives and their decision-making process. To be a legitimate ABM, agents must have at least one explicitly-defined objective that they are trying to achieve, which dictates where they move to or how they decide to change a characteristic of where they currently reside. The decision-making process is specified as set of rules that govern the types of decisions agents make in order to achieve their objectives. Decisions can be thought of as ‘if-then’ statements, whereby an agent evaluates if it or the environment is in a specific state, then take an action. For example, an elk agent’s behavior could be written as, IF I am in a hungry state AND food is low in current cell, THEN move forward one cell.
Agents can react with each other either directly or indirectly. Direct interactions take place when the state of an agent is directly impacted by the behavior of another agent. For example, an agent seeking a home to purchase will have a direct interaction with a homeowner who sells that first agent its property. Many ABMs in ecology are defined by direct interactions between predators and their prey. Indirect interactions occur when one agent makes a decision to either move to a new cell or change the cell’s characteristic, which in turn influences what another agent decides to do at some future moment in the simulation.
4.5 Adapting and Learning
Some ABMs are coded in ways to allow agents to adapt to system dynamics. Agents can be programmed to behave a certain way under a specific set of circumstances, and then change their behavior when those circumstances change. More sophisticated ABMs program agents to allow them to learn from their actions to improve their decisions in the future. Agents can evaluate how successful their current decision was with regards to helping them achieve their objective. Using an approach like reinforcement learning, for example, provides an agent with positive or negative rewards when it makes beneficial or adverse decisions, respectively, at a specific location. An accumulation of rewards is then used to inform whether or not the agent should take the same action in the future. In this sense, agents become somewhat “intelligent” objects, and the emergent patterns are then a result of a more evolutionary process. Furthermore, more advanced models can be developed in ways to allow agents to utilize learning for generating new behaviors or rules in order to adapt to changing conditions.
4.6 Time Steps
The concept of time is important in ABMs due to the fact that such models are simulating dynamic processes. Time is most commonly represented as discrete time steps, where each step is defined by the duration of time that allows all agents the opportunity to evaluate their current state and subsequently take an action. If agent decisions occur relatively rapidly, such as when one is making decisions about how to walk through a crowd, then time steps should be relatively short such that each time step represents several seconds or a single minute. Conversely, if agent actions represent a more gradual process, such as choosing when to purchase a new home and move, then time steps are much longer – on the order of days, months, or years.
4.7 Stochasticity and the Number of Model Runs
Stochasticity is a result of agent actions that are probabilistic in nature, such as allowing an agent to turn left 50% of the time when facing a travel impediment. Models with a high number of probabilistic events typically result in highly stochastic processes, which require many runs in order to observe a signal from the spatial patterns emerging from the model simulation. Models with little stochasticity will not exhibit much difference from one run to the other, therefore requiring fewer runs to understand the potential for variation in model outcomes.
ABMs produce an array of output types, each providing different insights into the system being modeled. Potential outputs include: a spatial pattern that shows agent locations and the state of the environment at a single moment in time; a metric defining the spatial distribution of agent characteristics; a measure of landscape fragmentation; the existence of a threshold defining the transition from one system state to another (e.g. from a random to a clustered spatial distribution of agents); a measure of system temporal dynamics (e.g. a rate of change of a system variable). Due to the variety of potential outputs, several different approaches for evaluating ABMs have been developed to determine the degree to which a model replicates the dynamics of a real-world system. Below are a few examples that have been discussed in the GIScience literature.
5.1 Statistical comparison to observed spatial patterns
Model outputs can be compared to observations in order to infer the degree to which a model is able to simulate a known pattern. This method, put forth for land use change modeling in general (Pontius et al. 2004), is accomplished by counting the number of cells in the model output grid that accurately simulate what occurred at that location, thus providing a percentage level of accuracy (e.g. 87 out of 100 cells correctly simulated would result in 87% accuracy). While this method is relatively straight-forward and easy to apply, the shortcoming is that a model can potentially produce the right pattern without accurately representing the process being modeled. As such, statistical comparisons do not reveal much about the model’s ability to accurately capture system dynamics (Brown et al. 2005), and should thus be used with caution and seen as one component of a comprehensive model evaluation.
5.2 Sensitivity analysis
Models can be evaluated to determine how sensitive the outputs are to the model parameters and the initial model conditions (Ligmann-Zielinska and Sun 2010). This is performed by running a model numerous times, each time changing one of the parameters while holding the others constant, and then measuring the degree to which parameter changes influence the results. This form of evaluation, called a sensitivity analysis, is useful to determine which system components are most influential in driving system outcomes.
5.3 Models as narratives
Rather than taking an overtly quantitative approach to evaluate ABMs, it has been suggested that, because the strength of ABMs rests in their ability to simulate processes, the outputs from ABMs should be compiled into a narrative to help understand something about the processes being modeled (Millington et al. 2012). The narrative approach works by creating a story that links model parameters to specific agent actions at various time during the model simulation, which is demonstrated through descriptive images of the simulation in concert with statistical graphs.
Agent-based modeling has grown in popularity in recent decades as more researchers and practitioners learn of its utility for simulating complex geographic processes. Yet, there remains multiple challenges with learning how to develop models and how to evaluate their utility.
First, agent-based modeling requires some programming skills to develop a model in a way to represent the real world. Unlike proficiency with GIS software, ABM expertise cannot be developed without being able to write computer code to define agent behaviors. Fortunately, there are ABM-specific platforms freely available and relatively accessible. The most notable example is NetLogo (Wilensky 1999), which has an easy-to-learn syntax and comes with a large model library that provides a breadth of ABM examples, most of which are in some geographic context. It is also free and is supported with a strong online community of users.
Once an individual has the skills to program a model, the next challenge is to parameterize a model; that is, knowing what to include in a model and how it should work. The first step in model parameterization is to collect information about the agents and environment, which can be obtained from sample surveys, participant observations, field and laboratory experiments, other complementary or companion models, or GIS and remote sensing data (Robinson et al. 2007). Next, a parameterization approach is applied that allows the modeler to take this information and apply it to the population of agents in the model (Smajgl et al. 2011). Once this is complete, a model is run over and over again with different settings, and evaluation methods (such as those described in Section 4 above) are used to determine how parameterization affects the model outputs. For example, a modeler may increase the desire of agents in an urban growth model to live near greenspace, and then evaluate how this change in preference influences the overall urban growth patterns, and if such patterns are reasonable approximations of reality.
Another challenge facing modelers of ABMs, especially in geography where there exists a plethora of spatial data, is having the computational resources needed to run a model over enough time steps to adequately represent a process, and over enough runs to capture system stochasticity. The need to engage in ABM in a robust manner can easily eclipse the amount of memory and processing power of many types of desktop computers. As a result, new modelers are always encouraged to start simple, and build in greater complexity over time to ensure that they have the necessary resources needed.
Finally, perhaps the most significant challenge with developing and using agent-based models is understanding what they are intended to do. The modeler must keep in mind at all times that models are not truth (Box 1979); they are merely abstract representations of reality. One can develop a very basic ‘toy model’ and derive useful insights that can help create research questions or hypotheses. Or, one can develop a highly complex model that leads to findings about how specific interactions amongst individuals at the local level lead to complex patterns at the regional scale. Whatever the case, every modeler needs to eschew the notion that that their goal is to replicate reality. Rather, the purpose of agent-based modeling is to provide new insights into complex geographic processes in which the behaviors and interactions amongst individuals leads to emergent spatial patterns over time.
Bennett, D. A., & Tang, W. (2006). Modeling adaptive, spatially aware, and mobile agents: Elk migration in Yellowstone. International Journal of Geographical Information Science, 20(9), 1039-1066.
Brown, D. G., Page, S., Riolo, R., Zellner, M., & Rand, W. (2005). Path dependence and the validation of agent‐based spatial models of land use. International Journal of Geographical Information Science, 19(2), 153-174.
Box, G. E. (1979). All models are wrong, but some are useful. Robustness in Statistics, 202.
Grimm, V., Berger, U., Bastiansen, F., Eliassen, S., Ginot, V., Giske, J., Goss-Custard, J., Grand, T., Heinz, S.K., Huse, G. and Huth, A. (2006). A standard protocol for describing individual-based and agent-based models. Ecological modelling, 198(1-2), 115-126.
Ligmann-Zielinska, A., & Sun, L. (2010). Applying time-dependent variance-based global sensitivity analysis to represent the dynamics of an agent-based model of land use change. International Journal of Geographical Information Science, 24(12), 1829-1850.
Millington, J. D., O’Sullivan, D., & Perry, G. L. (2012). Model histories: Narrative explanation in generative simulation modeling. Geoforum, 43(6), 1025-1034.
Parker, D. C., & Filatova, T. (2008). A conceptual design for a bilateral agent-based land market with heterogeneous economic agents. Computers, Environment and Urban Systems, 32(6), 454-463.
Pontius, R. G., Huffaker, D., & Denman, K. (2004). Useful techniques of validation for spatially explicit land-change models. Ecological Modeling, 179(4), 445-461.
Robinson, D.T., Brown, D.G., Parker, D.C., Schreinemachers, P., Janssen, M.A., Huigen, M., Wittmer, H., Gotts, N., Promburom, P. Irwin, E., Berger, T., Gatzweiler, F., and Barnaud, C. (2007). Comparison of empirical methods for building agent-based models of land and resource use. Journal of Land Use Science, 2(1): 31-55.
Smajgl, A., Brown, D.G., Valbuena, D., and Huigen, M.G.A. (2011). Empirical characterisation of agent behaviours in socio-ecological systems. Environmental Modelling and Software, 26(7):837-844.
Torrens, P. M. (2012). Moving agent pedestrians through space and time. Annals of the Association of American Geographers, 102(1), 35-66.
Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL.
- Create a drawing of a system of interest. Sketch out the agents belonging to this system, the nature in which these agents interact with each other, and how these agents interact with their surrounding landscape.
- Describe how local interactions amongst individual agents can lead to emergent spatial patterns.
- Explain the difference between top-down and bottom-up modeling approaches.
- Explore a real agent-based model and define the main modeling components.
- Download NetLogo from the following website: http://ccl.northwestern.edu/netlogo/. Under File, select Model Library, and browse through the various available models. Choose a model to examine, and click on the Info tab at the top of the model window to learn how the model works and how to change parameter settings to explore the simulated process. Answer the following questions:
- Describe the agents in this model, including their objective, how they make decisions, their possible states, and how they interact with other agents.
- What do the time steps in the model represent (i.e. what is the temporal resolution?)
- Describe the environment in which agents exist.
- Where in the model does there exist stochastic behavior?
- What is the emergent pattern resulting from this model?
- Consider a crowd of people moving throughout a museum. Imagine a fire in the building taking place in the middle of the day, forcing people to evacuate the building. Create a conceptual model on paper that describes this system as an agent-based model. Include the model components presented in section 3 to do so.
- Considering the conceptual model developed in response to question 2, what is the emergent spatial pattern resulting from the system process?
- Considering the conceptual model developed in response to question 2, describe how you would evaluate the model outcomes.
- Considering the range of models in GIScience, explain the difference between top-down and bottom-up models and provide examples for each.
Railsback, S. and Grimm, V. (2012). Agent-based and Individual-based Modeling. Princeton University Press, New Jersey, USA.