Agent - based models

Agent-based Modeling is a method mainly applied in computational social science that requires broad computational resources to study the behavior of a complex system by computer simulation (Schelling 1969). Different names are used for agents, including autonomous agents, software agents, intelligent agents, interface agents, virtual agents, mobile agents, and information agents (Genesereth et al., 1994, Wooldridge et al., 1995, Lashkari, et al., 1994, Aylett et al., 2000, Chess et al., 1995, Kuokka, et al., 1995), and even “sims” in the popular series of computer games. However named, they share the common characteristic of an encapsulated computer program that is located in a (virtual) spatial environment and capable of flexible, autonomous action in that environment in order to meet design objectives (D’Inverno et al., 2004, Sharawneh et al., 2009). Agents respond to and interact with each other and with their environment in a simulation according to sets of rules.  The multiplicity of these interactions over time leads to the emergence of patterns in behavior over space and time.  This is a kind of “bottom up” modeling, as there is no apriori algorithm that expresses or predicts these outcomes.

Agents can be classified according to the extent to which they are a) autonomous, b) self-contained, c) social interacting or communicative, d) environmental interacting, e) goal oriented, f) adaptive, having the ability to learn, g) having the ability to access resources, h) responsive, and i) provocative. An “agent” can be any type of autonomous unit, for example, people, water droplets, land parcels, or supermarkets (Crooks et al., 2012, Grimm et al., 2012, Abdou et al., 2012). Agent behavior is implemented using a common rule structure of “if-else” statements, where agents act once a specific rule has been satisfied. Agents can act in ignorance of the actions of other agents, or by ‘learning’ from interactions with other agents and their environment using set rules.  These latter are called “intelligent agents” (Heppenstall et al., 2006, 2007).

ABM has some key advantages compared to traditional techniques, including:  the capability to identify multiple paths and alternative futures; ; agent behavior, such as randomness, transition rules, learning and adaptation; and the ability to model dynamic systems with agents that are spatially explicit  (Crooks et al., 2012, Bonabeau, 2002, Batty, 1976, Torrens, 2003, Axelrod, 1997, Gilbert and Terna, 2000, Parunak et al., 1998, Alam et al., 2012).

Others have identified some limitations of ABM (e.g., Couclelis, 2002, Axelord, 2007, Axtell, 2000, Manson et al., 2012).  These have mainly to do with degrees of accuracy and completeness associated with the choice of  an appropriate scale and level of complexity (not so simple as to miss the key variables, and not so detailed as to overly complicate the model), difficulty in modelling agents (e.g., humans) that can act irrationally, availability and access to data, and appropriate interpretation of model outputs (Castle and Crooks, 2006).

An agent must be able to perform actions, including observation and knowledge updating, making decisions, communicating with both the environment and other agents, and finally, taking action (Figure 1).

 

Figure 1- An agent illustration (Adapted from Macal and North, 2007)