In recent years, agent-based modelling has emerged as a successful approach for simulating complex systems across numerous domains, and for a wide range of purposes including social science, ecology, biology and epidemiology(Berger, 2001; Busing & Mailly, 2004; Connell, Dawson, & Skvortsov, 2009; D'Souza, Marino, & Kirschner, 2009; Elliston & Beare, 2006; Funk, Gerber, Lind, & Schillo, 1998; Minar, Burkhart, Langton, & Askenazi, 1996; Schelhorn, O'Sullivan, Haklay, & Thurstain-Goodwin, 1999). Agent-based models are developed around the principle of conceptually breaking complex systems down into individual components referred to as Agents. These components can theoretically represent any arbitrary level of detail within the system and have their own simulated behaviour and state. This system of interacting agents can be used to model complex phenomena from the bottom-up, allowing scientists to develop rich simulations capable of supporting experimentation at different conceptual levels within the system. The capability that this modelling approach provided has led to the use of Agent-Based Models (ABM) in a decision-support role for governments and industries, and fostered a demand for modelling systems with increasing levels of detail within the individual agents and their interactions, which in turn provides an even greater scope for experimentation. In addition to this, ABMs are being applied to larger scale systems, modelling more complex phenomena as data become more readily available at higher levels of detail. The broadening in scope, coupled with the requirements for higher levels of detail, have driven an increase in the computational requirements of agent-based simulations, both in terms of memory and processor clock cycles. This is mainly due to the autonomous nature of the individual agents within the simulation, the state information they contain, and the interactions that occur between them. In simple terms, as the complexity of each individual agent's processing and/or the number of agents appearing in a simulation increases, the number of computational operations performed in each iteration of the simulation also increases. This challenge is further compounded by the requirement for interactions between the agents in order to simulate the phenomena. Likewise, a simulation's memory requirements also grow as the amount of state information stored within each agent and the number of agents increase. |
|