Agent-Based Modelling: An Overview with Application to Disease Dynamics
AAgent-Based Modelling: An Overview withApplication to Disease Dynamics
Affan Shoukat and Seyed Moghadas Agent-Based Modelling Laboratory, York University, Toronto, ON M3J 1P3, Canada * [email protected] ABSTRACT
Modelling and computational methods have been essential in advancing quantitative science, especially in the past twodecades with the availability of vast amount of complex, voluminous, and heterogeneous data. In particular, there has been asurge of interest in agent-based modelling, largely due to its capabilities to exploit such data and make significant projections.However, any well-established quantitative method relies on theoretical frameworks for both construction and analysis. Whilethe computational aspects of agent-based modelling have been detailed in existing literature, the underlying theoretical basishas rarely been used in its construction. In this exposition, we provide an overview of the theoretical foundation of agent-basedmodelling and establish a relationship with its computational implementation. In addition to detailing the main characteristicsof this computational methodology, we illustrate its application to simulating the spread of an infectious disease in a simple,dynamical process. As the use of agent-based models expands to various disciplines, our review highlights the need fordirected research efforts to develop theoretical methods and analytical tools for the analysis of such models.
The seminal work of the American economist Thomas Schelling in 1971 [1] showed that computational and simulationapproaches can be applied to understanding the universal principles of any ‘complex adaptive system’. While there is no singledefinition of a complex adaptive system, it is generally accepted that such a system has many individual parts working togetherto generate the system behaviour referred to as macro dynamics. Complex adaptive systems are common in both nature andsociety. For example, the immune system is a highly advanced biological system comprised of individual cells, chemicals,and signals working together to create a complex network. Although it is not feasible to capture this complexity in its entirety,many key characteristics of the underlying system can be reconstructed in-silico (i.e., computer) environment with sufficientlydetailed programming of the elementary mechanisms. Schelling’s work laid the foundation for a new field of research onsocio-economic systems, in which the natural unit of decomposition is the ‘individual’ rather than the observable or equations,often termed as individual-based modelling. With the rapid advances in computational theory, this field has led to the evolutionof
Agent-Based Modelling (ABM) computational systems.Today, methodologies studying complex adaptive systems in a qualitative sense have shifted to systematically investigatethem by using ABM through a disaggregation of the systems into their individual components that have their own characteristicsand behaviours [2, 3]. An ABM computational system is a dynamical model that consists of a collection of abstract objects(i.e., agents) embedded in an in-silico environment and interact through a set of prescribed rules. This type of model is oftenimplemented computationally by using deterministic input-output functions, typically coded in a structured or object-orientedprogramming language. The ‘agents’ in ABM represent the individual components of the complex system under study. Eachagent individually perceives its situation, makes decisions , and performs actions according to specific rules. These rules canbe simple or complex, deterministic or stochastic, and fixed or adaptive. Thus an ABM encodes in a computer program a setof rules that describe the interdependencies between the individual components as the system evolves in time. While oftenthe formal set of rules are simple, large scale models can incorporate neural networks, genetic algorithms, and other machinelearning techniques for realistic agent’s behaviour and adaptation [4]. Since each agent is modelled individually, there is nocentral controlling agency nor explicit language that describes the global dynamics of the system. As a consequence, ABMallows for an investigation into the universal properties of a complex system, including: heterogeneity since agents can bemodelled individually, adaptation since the model is dynamic, space and scale since an arbitrary number of agents can beembedded in this virtual environment, and non-linearity since the model can track individual agents separately.An agent-based model has three main advantages: (i) it can capture the global dynamics as a result of the local interactionsbetween heterogeneous agents; (ii) it allows for the construction of a system in the absence of knowledge about globalinterdependencies between individual components; and (iii) it provides the flexibility required to study the system’s complexityin comparison to traditional equation-based aggregate-level modelling strategies. Given these advantages, and a growing body a r X i v : . [ c s . M A ] J u l f literature with the use of ABM in various disciplines (e.g., economics [5, 6, 7], ecology [8], sociology [9], geography [10],finance [11], military [12, 13, 14], and healthcare [15]), a better understanding of this computational system is essential foradvancing quantitative science.In this exposition, we provide an overview of ABM by describing its fundamental components. We detail how an agent-based model is computationally constructed, validated, calibrated and executed. This is followed by a mathematical formalismof ABM which is founded upon partial recursive functions and well-established Markov Chain processes. Finally, we presentan application of ABM in a simple model of disease transmission dynamics to illustrate how the theory and computation areintegrated. Traditional models of complex systems are typically formulated using mathematical equations. Examples include dynamicalsystems such as the Lotka-Volterra equations describing predator-prey interactions [16], and the
Susceptible-Infected-Recovered models of disease epidemics [17]. Despite their usefulness that have been exemplified in the literature, these models oftenhave significant limitations that arise from the treatment of all or groups of individual components of the systems as largelyhomogeneous entities, i.e., a representative class . For example, in differential equation models of disease transmission, allindividuals in a sub-population are represented with the same characteristics. On the other hand, ABM enables the generation ofsystem dynamics in a ‘bottom-up approach’ in which a single homogeneous model is replaced with a population of individualmodels, each of which is an autonomous decision-maker (i.e., the agent). This heterogeneity includes not just the variation inindividual agents, but also the interactions and network topology. Running such a model simply amounts to instantiating anagent population with initial conditions and iteratively letting the agents interact by executing a set of rules that define them. Ofcourse, if the system is stochastic in nature, then capturing randomness is of particular importance. As a result of heterogeneitiesand stochasticity, enigmatic global dynamics including fixed points, cycles, dynamic patterns, and long transients emerge fromthe local properties and interactions among agents. These emergent macro dynamics, although not explicitly programmed inthe model, can have properties that are decoupled from those of the individual components. The emphasis on modelling theheterogeneity of agents and the emergence of global behaviour from local interactions is a distinguishing feature of ABM.
Agent-based models are particularly suited to complex systems in which the dynamics of its constituent components are moreunderstood than the overall dynamics of the system. They are ideal for modelling systems in which agents’ behaviour isnon-linear and heterogeneous, and includes learning and adaptation, temporal and spatial correlations, and non-Markovianproperties [18]. In this sense, contrary to what the term agent suggests, the concept of an agent enables us to representany physical object that can be programmed, provided we have a clear understanding of the object. Agents can representparticles, cells, humans, various species, and spatial entities such as buildings and organizations. Consequently ABM can, inprinciple, incorporate any complex behaviour that can be observed experimentally provided we have a qualitative description ofthe underlying mechanisms and components. Of course, in practice agent-based models are limited by finite computationalresources, time investment, and incomplete knowledge, and therefore will inevitably demand a balance between the desiredcomplexity of a system and available resources.
A drawback to the ABM approach is the lack of a well-established theory, which can be used for rigorous analysis similarto equation-based models. Analytical and differential equation dynamical systems, provide a formal framework for theorganization and analysis of knowledge and theoretical results. For example, such models are equipped with various toolsfor stability and bifurcation analyses, and even sensitivity analysis of their outputs, which allows them to communicatemathematically without ambiguity. Agent-based models, on the other hand, often do not make use of any explicit mathematicalequations but exploit computational simulations, implemented in a programming language to elucidate the complex dynamicsunderpinning the system. However, the idea that the lack of formal mathematical tools prevents any sort of formal analysisin ABM is misguided. Indeed ABM computational systems, by virtue of being computer programs, can and do utilize awell-defined set of functions which relate inputs to outputs, in either a deterministic or stochastic fashion, and unambiguouslydefine the global dynamics and any eventual equilibria of the system [19, 20, 21, 22]. For example, a proposed mathematicalrepresentation of an agent-based model [22] is a discrete-time dynamical system over a finite set of states. In this framework,the state of the model is fully specified by a vector taking values over a finite field K . An update function transfers a givenstate into another state based on rules of the complex system. The model dynamics are generated by repeated iteration of thisfunction. Another approach [23] is to derive a polynomial dynamical system, where the input-output functions are defined by olynomials, which makes it amenable to powerful symbolic computational capabilities. This allows for the computation ofequilibria and analysis of the model to symbolically solve a system of polynomial equations.From a formal point of view, agent-based models are also ‘Markov Chains’ [24, 25, 26], which provide a rigorousmathematical basis of ABM by linking the micro-description of the system to the complex local behaviours. These chainsestablish how the corresponding global dynamics of an agent-based model are obtained by a projection construction, and howthe model’s long-term properties are given by the ergodic theorem of Markov processes. Analysing an agent-based modelas a Markov Chain can make apparent transient dynamics, asymptotic behaviour, and stochasticity that were otherwise notevident. More generally, ABM can be naturally classified as hidden models that relate a set of observable variables to a set oflatent variables [27]. In addition to formal mathematical frameworks, there is an established protocol for an agent-based modelspecification developed by [28]. This protocol, the so-called ‘ODD’ (Overview, Design concepts, Details), describes a standardtemplate for the model construction, reproducibility, and update functions.Another common objection to ABM is that a single realisation of the model under the condition of randomness cannotbe used to derive any reliable conclusion of the results. This is partially addressed in [29] where the computer programs areprovided as sufficiency theorems approach of Newell and Simon. That is, when an agent-based model, call it A , produces aresult R , it establishes a sufficiency theorem which is the formal statement ‘if A then R ’. In other words, each run of the modelis a logical theorem that reads ‘the output of an agent-based model follows with logical necessity from applying to the input aformal set of rules that define the model’.Despite these criticisms, the creation of ABM in a bottom-up approach offers several advantages over conventional equation-based models, since the output of ABM tends to be more visual, pattern-oriented, and can range from micro to macro levelsof the system. These advantages arise from two fundamental differences between agent-based and equation-based models.First, equation-based models express the relationships among observables and their evolution over time as input of the system.ABM, on the other hand, begins not with equations that relate observables to one another, but with a set of rules which governthe agents’ behaviour and their interactions in the environment, as described in Section 5. In this context, direct relationshipsamong the observables become an output of the model. Second, equation-based models tend to focus on the observables atthe system (macro) level, which often simplifies their formulation using closed-form equations. Hence, they may becomemathematically tractable for a thorough analysis using established theories of dynamical systems. However, many observablesare measurable characteristics at the micro level and may differ from those aggregated at the system level. Since ABM relies onemergent dynamics from interacting agents and environment, capturing these observables at the micro-level becomes possible. Any agent-based model has three fundamental components:1) A set of agents that represent the smallest components of the system being modelled. Since every agent-based modelis a computer program, agents are often implemented as virtual computational objects . In computer science, an objectis a data structure consisting of variables, functions, or methods, and is a value in memory which is referenced by anidentifier. There is a large degree of similarity between a computational agent and the concept of an object (or structure)in a programming language. An agent-based model can be seen as a set of objects that share the same properties and thesame rules. The concept of an agent as being a computational object makes it clear that this basic unit is abstract. Anagent is made concrete by translating sufficient properties of the real-world component into a suitable formulation in theprogramming language.2) An in-silico environment that allows agents to change their spatial and relational associations. In most complex systems,the concept of physical space or spatial network is significant to the global dynamics. This concept is difficult to modelin traditional analytic models. However, in ABM, it is rather simple to have the agent interactions mediated by a virtualspace.3) A set of rules that define the level of connectedness and modes of interaction between agents. Each agent can be assigneda unique set of rules or a single one that can be applied to all (or a group of) agents.To integrate these three components, an agent-based model requires a computational framework or a simulator engine . Thissimulator is responsible for driving the ABM by repeatedly (i.e., by iteration) executing the rules that define the agents’behaviours and interactions. This iterative process often operates over a time-step or discrete-event simulation structures. In thecourse of these iterations, the simulator also calculates the aggregate results of the model which can be re-injected back into theevolving behaviour of the agents. The structure of a typical agent-based model is shown in Figure 1. ules Agents Environment
Figure 1.
The general structure of an ABM computational system. Agents are characterized with a set of properties,connected and interact through a lattice environment system.
Since an agent-based model is an abstraction of a real-world phenomenon, an agent ideally represents a component of thecomplex system being reconstructed. When using ABM approach, one needs to systematically recognize which componentsof the system can be translated into agents. Then, a decision will need to be made on the level of abstraction and the detailsthat may be included for each agent. An acceptable compromise between realism and simplicity is required. If the level ofabstraction is too low, the model may fail to faithfully capture the system dynamics. On the other hand, a one-to-one mapping ofthe real-world component to an agent is likely unnecessary, impossible, and/or computationally overwhelming. One will need tohave valid hypothesis on the underlying processes or fundamental mechanisms that are sought to be explained. Ideally, the levelof abstraction is justified by utilizing empirical data as well as expert opinions. Previous work [30] suggests two principles thatshould be followed for implementing a set of rules: (i) agents should be as abstract as possible subject to the requirements thatany rule attributed to them must either be reliably derived from empirical observation or be subject to experimental observations,and (ii) assumptions based on pre-conceptions are avoided [30]. Several other studies [31, 32, 3, 33, 19, 28, 34] have alsoidentified similar key characteristics: • Self-contained and autonomous . Autonomy implies that there is no central authority that controls the agents’ behaviour.An agent can be thought of a model in itself, capable of processing information and making decisions. Agents are free tointeract among each other and move in the virtual environment they reside in. • Heterogeneity . Each agent represents a unique component of the complex system. For example, an agent representing ahuman in some population model can have age, sex, health status, and location as dynamic attributes. • Active . Agents can be ‘goal-oriented’ [34], that is they try to achieve a goal but not necessarily maximize utility orbounded rational [35] in which agents are generally assumed to be rational optimisers with complete access to informationand possibly restricted analytical ability (through heterogeneity). • Internal state . Agents have an ‘internal state’ (i.e., data represented by variables) and can communicate this state to themodel by message-passing or signal protocols.Once the agents’ characteristics are defined, the next step is to implement a formal set of functions (or the rule-set) thatdefine the ‘perception-decision-action’ (PDA) cycle for every agent [34, 36]. An agent-based model systematically anditeratively gives each agent the chance to perform a PDA cycle. Mathematically speaking, let x a represent the internal stateof an agent a , which is essentially a list of quantitative variables and internal parameters associated with the agent’s currentsituation, i.e., a vector taking values over some finite field K (often K = R n ) describing the state of the agent at a given time.Let x ∈ X = { x a } a ∈ Λ denote the global state of the model, where Λ is the set of all agents. Then, with notation borrowed from[36], the PDA cycle of the agent a is a set of functions that: • P ERCEPTION () a : X −→ P which computes a percept p ∈ P using the global state of the model x . Intuitively, thefunction processes this state, and returns data such as the coordinates of nearby agents or objects, or possible locationsfor a roaming agent. Thus, p is often an n -tuple consisting of quantitative and categorical information. ction actionperception perceptioninteraction decision decision environment Figure 2.
A visual representation of a PDA cycle which formally implements the rule-set to guide an agent’s behaviors andinteractions. • D ECISION () a : P → D which is a core function executing the rules of the agent’s behaviour given their P ERCEPTION .Decision functions can be arbitrarily complex, encapsulating the bulk of the model’s logic, ranging from simplistic fuzzyrules to complex behaviours modelled by neural networks, logic systems, artificial intelligence, or a hybrid multi-layersystem. These functions are often imputed by using empirical data and expert opinion. • A CTION () a : D × X → X computes the new internal state x a of the agent by acting on a decision d ∈ D . Actions can bein the form of, for example, discrete messages, or signals that are transferred between agents. In response to a message,an agent may change their internal state, modify the environment, or respond back with another message, but should notbe able to modify the internal state of other agents. The second fundamental component of an agent-based model is the in-silico environment, which represents the physical spaceof the corresponding real-world system. The environment defines the spatial associations of an agent and the conditions forthe PDA cycle to carry out, i.e., the environment is part of the input state to the P
ERCEPTION function of every agent. Theenvironment may also include passive objects such as roads and buildings or resources such as wealth and healthcare. As agentsmove in the environment, their location can be tracked by a dynamic variable. Agents may also be spatially implicit, meaningthat their location within the environment is irrelevant.Modelling the environment is often via a ‘discrete topology’ of connected and bounded space units. The topology of theenvironment defines possible interactions and relationships between agents. There are two main types of spatial environments:1) The most common type is the discretized environment consisting of a finite grid of cells in one or more dimensionswith integer coordinates [36], which provides a simple representation of physical space, e.g. GIS based environments.This type of environment provides an easy mechanism for agents to interact with others who share similar coordinatesor reside in neighbouring cells. The simplest form of spatial environments are described by cellular automata modelswhere the environment consists of a square lattice, divided uniformly into ‘cells’. However, in cellular automata, the cellsare interpreted as agents and there is no distinction between the agents and the cells that create the lattice environment.ABMs extend this topology by decoupling the agents from their cells. Agents can then move from one cell to another andinteract with different parts of the grid, resulting in a set of neighbours that constantly change as the simulation proceeds.2) The second type is a ‘relational environment’ in which a link between agents a and a defines a network topology.Relational environments are often defined by graph- or node-based constructions and there is no distinction betweenagents and the nodes of the network. Both directed and undirected graphs can be supported and can be static or dynamic[3]. In static networks, links are fixed and do not change. In dynamic networks, links and nodes are determinedendogenously according to the mechanisms programmed in the model. igure 3 shows examples of different environment topologies. Agents typically interact with a subset of all other agents, whichare located in the agent’s ‘neighbourhood’. In complex and large-scale agent-based models, spatial and relational environmentscan be intertwined to offer a more granular approach. The environment may further have its own set of properties relevant tothe real-world systems. For example, in modelling disease-transmission at the age-group level, it might be relevant to identifysections of the environment as School, Residential, and Business. The environment may also respond to messages from agentsor change with time (i.e. a dynamic environment), and can even generate or delete agents. A BC D
Figure 3.
Different environment topologies for agent interactions and movement: (A) cellular automata (von Neumannneighbourhood), (B) network relational topology, (C) geographic information system, and (D) free-roaming withneighbourhoods.
Recall that the D
ECISION and A
CTION functions of every agent implement the rules that will affect their internal state andinteractions with other agents in a dynamic (possibly changing) environment. The rules are typically derived from publishedliterature, expert opinion, or empirical data. In general, rules are based upon simple if-else statements with agents carryingout an action once the specified conditions have been met, but can also be applied using more sophisticated methods likemachine-learning techniques and artificial intelligence [37, 38]. For example, the rules that govern the dynamics of an airbornedisease transmission are generally based on interactions between susceptible and infectious individuals in the environment (e.g.,changing their spatial relationship). Because agents are autonomous decision making entities in the model, their decisions tointeract determine the possibility of disease transmission. In this process, a simple if-else statement can be executed to check ifthe interaction is between susceptible and infectious individuals, followed by rejection sampling-based (i.e., Bernoulli) trialsto determine the occurrence of disease transmission. At the point of infection if transmission was successful, the timelinesfor natural history of the disease (e.g., latent, incubation, and infectious periods) for an infected agent are sampled from therelevant distributions, often derived from observational and epidemiological studies. The execution of such rules and relevantsampling processes induces stochasticity into the system and as a result, different outputs can be produced in each run of themodel as emergent phenomena at the system level. Indeed, by utilizing complexity theory and network science, ABM is highlyeffective in explaining how complex patterns (i.e., a process model) emerge from micro-level rules (i.e., a pattern model) [39] .
Model Implementation
Every agent-based model implements a simulator engine that specifies the operating procedures of the agents, drives the PDAcycle, and describes the model evolution in time from an initial condition. The simulator is often implemented in a programminglanguage based on sound principles of computer science [40]. For example, writing independent ‘functions’ (which representdistinct components of the complex system) makes maintenance, debugging, and code reuse easier when considering futurechanges to the model. Good programming principles also ensures reproducibility of the model across various platforms andoperating systems. Frequently used programming languages are Java and C++.Programming an ABM from the ground up allows for controllability and flexibility of the model. However, this is atime-consuming process and requires expertise and experience in programming. In addition, considerable amount of time maybe spent on extraneous activities such as building graphical user interfaces and data collection and input methods. To overcomethe constraints posed by time and required expertise, alternative solutions have been developed in simulation platforms thatprovide a programming environment. Examples of these platforms include NetLogo, RePast, and SWARM [39, 41, 42], whichspecify pre-defined methods and libraries, enabling novice programmers to rapidly develop and prototype models. However,these platforms have their own set of limitations, including a lack of flexibility if the software does not implement the desiredfunctionality such as incorporating multi-agent complex systems that are high dimensional. Furthermore, a substantial timeinvestment may still be required in learning and utilizing the software.When a model is implemented, a number of important factors must be taken into account as outlined below.
ABMs are generally stochastic in nature and account for randomness found in real-life phenomena. This stochasticity, knownas first-order uncertainty, relates to the natural randomness in agent behaviours, interactions, and the progression of the model[43]. First-order uncertainty is often introduced by the use of a random number generator through a deterministic programcode; however, in digital computers random numbers are not really random. They are generated by an algorithm that producesa sequence of numbers that is seemingly random. These numbers are referred to as pseudo-random and the algorithm is calleda pseudo-random number generator (PRNG). Each sequence produced by any PRNG is uniquely identified by its ‘seed’ s ,a number which provides the initial value to the generator. The seed is usually supplied by an environmental variable suchas the computer clock, which can virtually guarantee that it is different for every simulation run. In other words, a PRNGproduces numbers based on a deterministic formula which is seeded with some initial number. This allows for computer, andparticularly agent-based models to simulate stochastic variables but also offer reproducible results. First-order uncertainty canbe reduced by running the model several times, commonly known as ‘Monte Carlo’ simulations [44, 43]. The sufficient numberof simulations usually depends on some descriptive statistic of the model output, typically the means and variances, wherethe the minimum number is the point when the statistic reaches some stability [45]. While suffering from some degree ofsubjectivity, [45] this provides expositions on calculating the minimum number of simulations taking into account variancestability, effect size, and multivariate stability. In general, the sufficient number of Monte Carlo simulations depends on theparameters, time horizon, and the model structure, but there is no specific mathematical formulae to determine the minimumnumber of simulation runs.The behavior of any ABM is also sensitive to the model parameters and on the initial conditions, often referred to as‘second-order uncertainty’ [43]. While first-order uncertainty relates to stochasticity in model structure, second-order uncertaintycorresponds to estimation of parameters since true values are often unknown. In order to address second-order uncertainty,underlying distributions of parameters should be utilized whenever available. Second-order uncertainty can also be addressedby the use of sensitivity analysis methods such as one-parameter-at-a-time local, least squares linear fit, linear regression,Gaussian processes, and Latin Hypercube Sampling techniques [46, 47, 48]. Often, in ABM, the model components (e.g., environment) may not only react to the agent inputs but also evolve according toendogenous factors including time. Time evolution can be modelled in three ways: (i) ‘continuous time’ in which the modelcan compute the system state for any time input, (ii) ‘discrete time’ in which time evolves in distinct, but fixed intervals, and(iii) ‘discrete event’ in which time instantaneously jumps from one event to the next. Within each time step, specific eventsmay occur (e.g., movement of agents across the environment or transmission and progression of disease) or agents updatetheir internal states based on interactions and endogenous factors. The decision to use a type of time evolution depends on theapplication domain, and most ABM computational systems implement discrete time or event transitions.
Discrete time
In a discrete time structure, the simulator engine advances the virtual clock by a given interval ∆ t . The timeinterval ∆ t will typically have a natural real-world unit associated with it, such as hours, days, or years depending on thephenomenon underlying the model. For example, an agent-based model that tracks the infection dynamics of HIV over timemay have the time units of ‘year’, while a model for influenza infection is often run with the units of ‘day’ resolution. At each t , the simulator engine picks agents sequentially (in some given order) and executes their PDA cycle iteratively. An inherentlimitation to this method is the order in which the agents are selected (and their PDAs are executed) which may change theresult obtained for the system, since the system state evolves with each action. It is entirely possible that a different orderingmay result in vastly different global dynamics. Possible solutions to this limitation include selecting shuffling the order ofagents at every time interval or have all agents simulate concurrently by operating on temporary variables, so that the perceivedstate is the same for all agents. Discrete event
This simulation process considers time evolution as discrete increments with variable magnitudes correspond-ing to events occurring in the model. Every jump in time marks a change in the state of system. Between consecutive events,the system is idle and no changes occur. A discrete-event model is programmed to maintain a ‘queue’ corresponding to thelist of events that will occur. The program iterates over the queue, executing the event at the head of the queue. Once theevent executed, it is removed from the queue, and the next event is scheduled appropriately (and sometimes dynamically). Incomparison to the discrete-time approach, this is a more flexible paradigm. For instance, because discrete-event simulations donot have to simulate every time-step, they are typically run faster than the corresponding discrete-time simulations.
Validation concerns with identifying the degree of consistency between an agent-based model and the underlying system itrepresents. It comprises of two stages: (i) ‘Input validation’ that refers to the realism of the assumptions used to build the model,and (ii) ‘output validation’ which measures the plausibility of the model outcomes relative to the observations of a real-worldphenomenon. Output validation relies on a process called ‘calibration’, which systematically refines the model parameters sothat the output data closely resemble those observed in the phenomenon. A well-calibrated and validated model can be used tomake predictions, and can provide inference on micro states, which may not be inferred from standard time series or statisticalmethods.A proposed framework of validity [49] characterizes a model as useful if it can exhibit at least some real-world observations;as accurate if the simulated data matches historically observed real-world data; and as complete if the simulated data matchesall of the observed patterns of the real-world phenomenon. Based on this framework, the goal of validation and calibration is toconstruct a model that can be accurate, but also complete if possible.
Input validation
This stage validates the structure and assumptions of the model relative to the theory it is based on. Structuralassumptions include choices of the rules and behaviours that define an agent’s PDA cycle, the environment, and pattern ofinteractions. For instance, agents can be utility maximizing or employ bounded rationality. A more accurate and completeset of assumptions correspond to a higher number of parameters and variables in the model. Parameter-rich models are oftendifficult to validate, may suffer from over-fitting, and can end up in dimension hell and might even become computationallyinfeasible. In order to cope with these challenges in an accurate and complete model, it is often the case that input validation isconducted against some stylized facts (defined as a simplified presentation of an empirical finding), i.e., focusing on a limitednumber of variables which are most relevant to the complex system. For example, the basic reproduction number (commonlydenoted by R ) in epidemiology is a summary measure succinctly describing the burden of a communicable disease. It definesthe number of new cases that an infectious individual can generate in an entirely susceptible population [50]. In this sense, anagent-based model of a communicable disease may be validated by choosing parameters that yield the desired reproductionnumber from the simulated data.Input validation also often requires ‘program validation’ which refers to the validation of the simulator engine. This aimsto validate the computer codes which implement the various components of an agent-based model. Computer codes do notautomatically generate errors when they encounter a bug or if some rules is incorrectly implemented. On the contrary, mostprograms will continue to produce results, independently of how the computational code is built. Careful attention is thereforeneeded to capture bugs and other artifacts. It is recommended that one should follow the principles from computer-science,including modularity and unit-testing [34]. These tests can be performed for each functional component of the system duringthe model development cycle, in which simple scenarios are created to verifying that all modules of the model are workingin concert when executed together. In addition to unit-testing, well-established methods of degeneracy tests can always beperformed to evaluate the outcomes using extreme value analysis by selectively disabling portions of the model or selectingplausible values for input parameters from estimated ranges [51]. Calibration
This stage systematically determines a set of parameters and input values that maximize the fitness of the modelto the observed data, i.e., finding parameter values, assumptions and structural components that make the model ‘fit the datawell’ [52]. Calibration of agent-based models can be inherently difficult due to (often) a large parameter space, long simulationrun-times, and stochasticity of events. The high dimensional nature of the model further exacerbates the issue of calibration.The calibration process usually consists of running the model and evaluating a suitable summary measure of the simulateddata, and comparing that against a set of empirically observed data such as time-series or experimental measurements [52]. For xample, a common choice for such a measure is the squared differenced ( data simulated , data observed ) = ( data simulated − data observed ) , which increasingly penalizes parameters that make the simulated data more distant from the empirical data. The summarymeasure, in general, is chosen with respect to the context of the model and can be, for example, specific data points, cross-sectional averages, regression analysis, and averages over realisations. If the simulated dynamics bear resemblance to thereal-world observations, then the model is a possible explanation of the underlying complex system.However, this way of calibration may pose several challenges. First, it is often computationally demanding. Indeed, for anygiven point in the parameter space, a large number of Monte Carlo simulations may be needed to generate a distribution for thestatistics of interest or by comparing instances of a model with different values of parameters and choosing the ones that bestfit the data. Second, this calibration approach does not necessarily imply that the model reaches a single optimal choice forinput parameters. Indeed, the reproduction of empirical data by a set of statistical properties of the simulated data is a quiteweak form of calibration, since, in general there may be many possible sets of parameter values that generate the same outputsgiven the high degrees of freedom in the model. However, one can generate confidence intervals in which the true value ofthe parameters lie [52]. In a Bayesian approach to calibration, parameters are assigned a posterior probability distributiontaking into account the uncertainty about their values based on prior knowledge. This effectively uses observed empiricaldata to inform parameters such that the model predicts the past and present observations well [53]. Lastly, it is clear that thiscalibration process is limited by the quality of the available data. When restrained by the lack or limited amount of quantitativedata, qualitative data may be used for parameter identification [54]. Nevertheless, the preceding two decades have seen anincreasingly number of studies that attempted to calibration and validate agent-based models by way of optimization techniquesand statistical methods, taking into account both quantitative and qualitative data [55, 56, 53, 52, 54]. These include simulatedminimum distance, Bayesian estimation, Markov Chain Monte Carlo, Sequential Monte Carlo, and particle filters methods. Considering the fundamentals of the ABM approach described above, we now provide an overview for its mathematicalrepresentation.
Since ABM is a collection of independent models, all of which are computer programs, there exists a corresponding uniquepartial recursive function [19, 21]. Therefore, in principle, one can provide a representation of ABM as an explicit set ofmathematical formulas (i.e., recursive functions). A system of equations is recursive if the output depends on one or more of itspast outputs. In other words, the values for all state variables can be determined sequentially rather than simultaneously. If,in addition, the probability distribution of the next state depends only on the current state (and not any other previous states),the system is memoryless and is called a ‘Markov Chain’. In fact, it is always possible to characterize an ABM as a Markovprocess [26] by redefining the state space. Thus, agent-based models can be created as Markov chains.To begin, consider an agent-based model A with m agents which evolves over some time, and can be continuous or discrete.We are interested in the state of the model observed at discrete times t , t , . . . , t T , with t k < t k + . Even if the underlying modelruns in continuous time, the model state can be sampled at discrete observation times. At any time t , an agent a i ∈ A isassociated with the variable x ( i , t ) , which take values in some finite field F . Assuming the variables can be codified in a finite setof possibilities and are quantitative in nature (i.e., real numbers), then x ( i , t ) ∈ R n corresponds to an n -dimensional vector. Thevariable x ( i , t ) represents the state of an agent. For example, an agent could be described by the vector (age, sex, location), so theset of variables is a triple with a mixture of numerical and codified entries. Borrowing notation from [18], the evolution of theagent’s state variables through time is specified by the equation: x ( i , t + ) = f i ( x ( i , t ) , x ( i − , t ) , α i ) , (1)where f i is an agent-specific update function (or transition function), which internally implements the agent’s PDA cycle, α i isa vector of agent-specific parameters (some of which could be stochastic), and x ( i − , t ) is the state of all agents except a i . Theset of update functions f i , one for each agent a i , defines the ‘data-generating process’ (DGP) of the model. These functionsmay be complicated, possibly involving discontinuities, fuzzy logic rules, and ‘if-else’ statements. In the case that each f i isa polynomial, the resulting model is called a polynomial dynamical system and is amenable to the computational tools andtheoretical results of computer algebra [23]. The complete system state at time t is the collection X t = [ x ( , t ) x ( , t ) . . . x ( m , t ) ] which is an n × m matrix of all individual states. The time evolution of the overall model is thus specified as X t + = F ( X t , α ) + ξ t , (2) here α a vector of agent-specific parameters, and ξ t ∈ R n × m is a matrix containing all stochastic elements at time t . Since theDGP functions f i may be nonlinear with stochasticity, the agent-based model is better represented by a more general map F : X k + = F ( X k , α , ξ k ) , (3)where ξ t is a stochastic random matrix. The initial conditions of the system at t are ( X , ξ ) . Equation (3) is called the transition equation of the system. A closer look at (3) reveals the Markov chain representation of an agent-based model, thoughin practice these expressions may be complicated and difficult to interpret. Indeed, in most cases, the explicit set of functions f i and consequently F , are not mathematically tractable. In analytical models, the transition functions in (3) often have closedform, with a simple structure, linear (or linearized), and are kept free (or at a minimum level) of heterogeneity. Any aggregationcan be performed on variables by taking expectations over the stochastic elements. However, in agent-based models, thespecification of (3) have little or no restrictions. Since the state space of the model can grow large (possibly with infinite states),the transition equation may not have an analytical representation.Once the DGP has been specified, we are then interested in some aggregate or macro features of the model. Let y t be a setof aggregate statistics at time t , and let h be a statistic function (i.e., a projection from X to Y ) over the system state, given by y t = h ( x ( , t ) , x ( , t ) , . . . , x ( m , t ) ) = h ( X t ) . (4)Regardless of the complexity and specification of each f i , the solution (i.e., shape and form) to (4) at each time t can always befound by backward iterations, which trace y k back to the initial conditions. That is, y = h ( X ) , y = h ( X ) = h ( F ( X , α , ξ )) , y = h ( X ) = h ( F ( X , α , ξ )) = h ( F ( F ( X , α , ξ ) , α , ξ )) , ... y k = h ( F ( . . . F ( F ( X , α , ξ ) , . . . ))) . This backward iterations process uniquely relates the value of y t to the initial conditions, however explicating this relationshipmay be difficult because of the stochastic ξ t terms. Since the DGP functions in Equation 3 and the statistic function h may benonlinear, these random terms cannot be averaged out by expectations. Therefore, the relationship between the initial conditions ( X , ξ ) and the statistic Y is only realized by Monte Carlo analysis. Using Monte Carlo simulations for different initial statesand parameter values, one could obtain a distribution for Y . Recall that Monte Carlo techniques rely on a pseudo-randomnumber generator which is an inherently deterministic algorithm given the initial value of the seed s . Thus, any stochasticityimplemented in the model by virtue of a PRNG has a deterministic nature, which allows us to further explore the formalism ofan ABM. In particular, the stochastic term ξ k is a deterministic function of the seed s and can be considered, conveniently, aspart of the initial conditions. Letting Z = { X , s } , (3) reduces to X k + = F ( Z , α ) . (5)It then follows that the statistic Y is given by: X k = F ( F ( . . . F ( X , α , s ))) = F k ( Z , α ) , y k = h ( F k ( Z , α )) ≡ g k ( Z , α ) . (6)Equation (6) is called the ‘input-output transformation’ (IOT) function and drives the results of the ABM. When the seed s isfixed, the IOT is a deterministic mapping of inputs (i.e., initial values and parameters of the system) onto outputs. While this is aconvenient mathematical representation, from a practical point of view, the explicit form of the IOT function is unknown and theempirical distribution of the underlying stochastic process is often obtained by Monte Carlo simulations, by selecting differentrandom seeds together with the initial conditions and parameter values. However, since an ABM places little restrictions on thespecification of (1), careful attention is needed to control for the complexity, within the bounds of available computationalresources. Nevertheless, we have provided a convenient formalism for agent-based modelling to bridge the gap betweenanalytical models and computer simulations. This formalization is abstract enough to apply statistical rigour in performingquantitative analysis of the emergent properties of an agent-based model, in particular to assess stationarity and ergodicity. .2 Stationarity and Ergodicity In ABM, stationarity and ergodicity tests are crucial to know whether the model reaches a statistical (unique) equilibrium state[57, 58]. These are intuitive concepts describing the long-term properties of a process or model. Stationarity of a process,in general, implies that every observation comes from the same probability distribution and that every observation carriesinformation about the properties of the DGP. A variety of well-established parametric techniques exist for understandingstationarity of traditional models. In the framework of agent-based models where the implementation of the DGP may notyield an analytical form, one needs to confront with a priori unknown stochastic properties of the model, assumptions andapplicability of parametric tests that may be too restrictive or erroneous. Therefore, non-parametric tests are in general moresuited for agent-based models as they do not require any assumptions on the IOT function of the model.As mentioned before, the autonomous and heterogeneous nature of agents can evolve the system and generate the globaldynamics. Equilibria associated with this global behaviour are idiosyncratic with respect to the agents, in the sense that indistinct Monte Carlo simulations, the evolution of every agent may vary substantially. Therefore, equilibria in agent-basedmodels can only be defined at the aggregate level and in statistical terms after the global dynamics have emerged. Whenthe model is relatively simple so that for any values of the parameters, it is stationary and ergodic, it is generally possibleto characterise its equilibria. However, non-stationarity and non-ergodicity preclude the possibility of fully describing thelong-term dynamics of the model. By stationarity in this section, we mean weak stationarity (also known as covariancestationarity).
Definition 1.
A stochastic process { w t } is weakly stationary if the first moment of w t is independent of t, that is, E ( w t ) = µ and if Cov [ w t , w t + h ] exists, is finite and depends only on h and not on t. Recall the IOT function { y k } ∞ k = defined by y k = g k ( Z , α ) , which relates the initial state of the system Z = ( X , s ) to theaggregate output of the model y k . We call { y k } ∞ k = the associated time-series of the agent-based model. Definition 2.
A statistical equilibrium in an agent-based model is reached in a given time window ( t − , t + ) if the associatedtime-series { y k } ∞ k = is (weakly) stationary. The statistical equilibrium is denoted by µ ∗ = g ∗ ( Z ) and is given by µ ∗ ( Z , α ) = E [ y t | t ∈ ( t − , t + )] , (7) with respect to the process { y t } , and initial conditions Z . An equilibrium is said to be an absorbing (or steady-state) if y k isstationary in ( t − , t + + τ ) , τ → ∞ . An equilibrium is said to be a transient if y k is stationary in ( t − , t + ) , but no longer stationaryin ( t − , t + + τ ) , τ > . A model may display both transient and absorbing equilibria, but the latter shows that once the system is in this state, it canno longer move out. On the other hand, a model may oscillate between two or more transient equilibria (possibly followedby an absorbing equilibria). It follows that for any given initial conditions and parameter values, there can be at most oneabsorbing equilibrium. It is entirely possible that a model displays no absorbing equilibrium for a given statistic of interest. Ifa model is stationary and converges to the same equilibrium µ ∗ ( Z , α ) = µ ∗ ( α ) irrespective of the initial conditions Z , theprocess y k is said to be ‘ergodic’. Ergodicity is sometimes defined [59] as:lim n → ∞ n n ∑ k = Cov ( y t , y t − k ) = , (8)which describes a property that concerns with the memory of a process. An ergodic process is characterized by weak memory(low persistence), and events far away from each other can be considered as almost independent because the effects ofstochasticity fade with time. In other words, if an equilibrium is reached, it will be the same for all simulation runs, irrespectiveof the initial conditions, and the absorbing equilibrium will be unique . Different initial values ( X , s ) would not change theequilibrium value µ ∗ , but might change the reaching time. Moreover, if y k is ergodic, the observation of a unique time seriesprovides sufficient information to infer the shape and form of the IOT function in (6). This means that if the model is ergodic,the properties can be analysed by using a time-series produced by a single run of the model. If the model is non-ergodic,then a set of Monte Carlo simulations (each produced by the same IOT but with different seeds) are necessary to describe, indistributional terms, the properties of the model.The inherent lack of an analytical form of the DGP and the difficulty of dealing with unknown stochasticity requirenon-parametric statistics and tests. A common standard non-parametric test used to check stationarity is an application ofthe ‘Runs Test’ developed by Wald and Wolfowitz in 1940 [57], which tests the hypothesis that a given set of observationsare mutually independent and randomly distributed. While ergodicity is crucial for understanding the long-term behaviour,literature surveying tests for ergodicity is rather scarce. A previous work [57] describes a modified Runs Test algorithm, whichconsiders the invariance of the moment of order k between different time-series produced by the same DGP, but with differentrandom seeds. A full detailed survey of stationarity tests can be found in [57, 60]. Application of ABM to Disease Dynamics
The use of ABM in the filed of mathematical epidemiology has been rapidly growing, with the development of comprehensivemodels that incorporate various databases to address public health challenges [61, 62, 63, 64], in particular for emerginginfectious diseases [65, 66, 67]. In this section, we detail an application of ABM to disease dynamics. We illustrate theconstruction and calibration of an agent-based model that describes the dynamics of disease transmission in a simple linearcascade of infection and recovery. The model we consider here was originally developed by Kermack and McKendrick in the1920s [68, 69], and is referred to as the classical SIR (Susceptible-Infected-Recovered) model. In this model, the population isstratified into three different compartments (or health states) of susceptible ( S ), infected ( I ), and recovered ( R ). A susceptibleindividual leaves the S -compartment when infected and enters the I -compartment. Similarly, an infected individual leaves the I -compartment and enters the R -compartment upon recovery. When the rate of infection is proportional to the total number ofindividuals in the population, the model can be represented by a set of differential equations: dSdt = − β SIN , dIdt = β SIN − γ I , dRdt = γ I , (9)where β is the rate of disease transmission, γ is the recovery rate, and N = S + I + R . Although (9) is written in deterministicform, it is clear that a disease transmission process involves stochasticity as contacts between individuals occur randomly, evenwhen stochastic nature of other behavioural, host, and biological factors are omitted. Thus, the classical SIR model is built onthe assumption of homogeneous mixing in the population where all individuals have equal chance to interact with others. Thismeans that, on average, each infected individual generates β S / N new infected individuals per unit time.Here, we develop an agent-based model to replicate the dynamics of the SIR model in a simple structure. The generalframework of the model includes two main entities: (i) an in-silico two-dimensional lattice environment and (ii) a set of uniqueagents situated (fixed) in the lattice. We set the size of the lattice to 20 ×
20 resulting in an environment with a total of 400 agents.Each agent is fully characterized by their health status as
Susceptible , Infected , or
Recovered which are programmaticallycodified as integer values of 0 = SUS, 1 = INF, and 2 = REC, respectively. Therefore, an agent a is fully described by itsassociated internal state variable x a ∈ { , , } .Running the agent-based model simply amounts to instantiating a fully susceptible agent population, introducing an infectedagent as the initial condition, and iteratively letting the agents interact by executing their associated PDA cycles. The iterativeprocess operates over a discrete time-step where the simulator engine advances the virtual clock by a single unit, in which thePDA cycle of each agent is carried out sequentially. The perception stage of each agent determines all possible interactions ofthe agent, modelled through contacts with up to 8 random agents on the lattice that are situated in neighbouring cells. Theperception function returns the number of infected contacts k out of the eight random contacts for each agent at any time-step.In the decision stage, decision functions encapsulating the logic of the interactions are executed. If a susceptible agent meetsan infected agent, successful disease transmission is determined using a rejection sampling-based (Bernoulli) trial where thechance of success is defined by a suitable probability distribution. Letting x a , t denote the internal state of an agent a at time t ,the one-step transition probability (in the Markov process) is given by:Pr (cid:2) x a , t + = INF | x a , t = SUS (cid:3) = − ( − b ) k , (10)where k is the number of simultaneous contacts with infectious individuals (assuming that transmission events are independentper contact) and b is the transmission probability. If the trial is successful, a susceptible individual becomes infected. In asimilar way, the one-step transition from INF → REC is given by:Pr (cid:2) x a , t + = REC | x a , t = INF (cid:3) = (cid:40) t > t U t U is an empirically derived parameter representing the infectious period, which in this context is sampled from a Uniformdistribution between 3 and 6 units of time. Finally the action stage updates the internal state of each agent as well as the globalstate of the model and broadcasts it to the entire lattice for the next iteration of the PDA cycle to continue. The computationalimplementation of the associated update function is described in Algorithm 1.A key parameter in our model is the unknown transmission probability b . Typically the value of b is calibrated to someempirical observation of the underlying system such as the basic reproduction number (denoted by R as described in Section lgorithm 1 Pseudocode implementation of an agent’s PDA cycle and the associated update function. Input : agent a , time t if x a , t = SUS then n ← Discrete Uniform [ , ] k = for n do ˆ x ← AgentState ( Discrete Uniform [ , ]) ; if ˆ x = SUS then k = k + end if P = − ( − b ) k ; if rand() < P then a . t U ← Discrete Uniform [ , ] x a , t = INF end if end for end if if x a , t = INF then if t > a . t U then x a , t = REC end if end if b could beestimated to match, for example, R obtained from simulation data with a given R . It is worth noting that this process can becomputationally demanding depending on the complexity of the model. One must sweep through a parameter space (whichcould be arbitrarily large), running Monte Carlo simulations for each value. Reduction of the parameter space to a suitablesubset requires an educated initial guess.In our example, we calibrated b to yield R = .
6, indicating that an infected person can infect 1.6 individuals (on average)over the course of infectious period. The calibration procedure requires an initial value of b , and counting the number ofsecondary cases caused by the initial infected agent. If the predicted R is not acceptable, the value of b is changed accordingly,and the process is repeated. Of course, multiple realisations are necessary for each value of b to address the first- and second-order uncertainties. Using 500 Monte-Carlo simulations, the calibration process provided an estimated value of b = .
047 forwhich the average of realisations gives R = . I (i.e., the number ofinfections at any point in time) for each realisation. As is evident, each realisation produces a different infection curve as aresult of stochasticity. It is also interesting to note that the average of realisations has a lower magnitude compared to manyrealisations. This is due to the fact that in many simulations, the initial infected case recovers without infecting any susceptibleindividuals and therefore the epidemic dies out. Figure 4B shows the average of realisations for all state variables.In the context of disease spread represented by the model in equations (9), as the ABM follows agents through theenvironment, it is possible to provide more detailed (micro-level) information such as where an agent becomes infected orwho infected them. This type of observables could lead to a better understanding of disease spread and can be useful to makedecisions on control policies. However, simulating the model (9), even when implemented stochastically, could not provide thisagent-level information. Furthermore, recent studies show that a stochastic instantiation of equation-based models throughimplementation of a Markov process (e.g., Gillespie exact algorithm [70]) is still inadequate to produce some specific patters ofthe system behaviour observed in an ABM [71]. The current surge of interest in ABM has gradually built up over the last twenty years [2], especially with emerging technologiesin computational power and big data collection platforms that bring a higher realism to such models for simulating the real-worldphenomena. The use of agent-based models has provided an additional tool for advancing quantitative science, especiallyin research areas (e.g., public health domain [72]) in which decision to intervene in the system dynamics may be subject
20 40 60 80 100 120020406080100120140160 0 20 40 60 80 100 120050100150200250300350400
SusceptibleInfectedRecovered BA Time ( t ) Time ( t ) N o . o f i n f ec t e d i n d i v i d u a l s A v e r a g e o f r ea li s a t i o n s Figure 4.
Monte-Carlo simulations of the agent-based model for system (9): (A) independent realisations of the state variable I ; (B) average of realisations for all state variables.to substantial heterogeneity and variability. While the capability of these models to address practical questions and informdecision-making in the face of uncertainty has been exemplified, there remain limitations to their systematic application.In particular, a more directed research is needed for expanding the theoretical aspects of ABM, by taking into account theobjectives of reliability, efficiency, and adaptability which underlie the flexibility of agent-based models. This remains a majorundertaking, and our review here should only highlight its importance as the application of ABM expands in various disciplines.We hope that this exposition assists future research in this direction by providing a clearer understanding of the fundamentalsand mathematical theories upon which ABM is established. References [1] Thomas C. Schelling. “Dynamic Models of Segregation”. In:
The Journal of Mathematical Sociology
ISSN : 0022-250X, 1545-5874.
DOI : .[2] E. Bonabeau. “Agent-Based Modeling: Methods and Techniques for Simulating Human Systems”. In: Proceedings ofthe National Academy of Sciences
99 (Supplement 3 May 14, 2002), pp. 7280–7287.
ISSN : 0027-8424, 1091-6490.
DOI : .[3] C M Macal and M J North. “Tutorial on Agent-Based Modelling and Simulation”. In: Journal of Simulation
ISSN : 1747-7778, 1747-7786.
DOI : .[4] Sander van der Hoog. “Deep Learning in (and of) Agent-Based Models: A Prospectus”. In: (June 20, 2017). arXiv: . URL : http://arxiv.org/abs/1706.06302 (visited on 02/10/2019).[5] Shu-Heng Chen, Chia-Ling Chang, and Ye-Rong Du. “Agent-Based Economic Models and Econometrics”. In: TheKnowledge Engineering Review
ISSN : 0269-8889, 1469-8005.
DOI :
10 . 1017 /S0269888912000136 .[6] Michael J. North et al. “Multiscale Agent-Based Consumer Market Modeling”. In:
Complexity (2010), NA–NA.
ISSN :10762787, 10990526.
DOI : .[7] M. Cristelli, L. Pietronero, and A. Zaccaria. “Critical Overview of Agent-Based Models for Economics”. In: (Jan. 10,2011). arXiv: . URL : http://arxiv.org/abs/1101.1847 (visited on02/01/2019).[8] Donald L. DeAngelis and Volker Grimm. “Individual-Based Models in Ecology after Four Decades”. In: F1000PrimeReports
ISSN : 20517599.
DOI : .
9] Michael W. Macy and Robert Willer. “From Factors to Actors: Computational Sociology and Agent-Based Modeling”.In:
Annual Review of Sociology
28 (2002), pp. 143–166.
ISSN : 03600572, 15452115. JSTOR: .[10] Daniel G. Brown et al. “Path Dependence and the Validation of Agent-based Spatial Models of Land Use”. In:
Interna-tional Journal of Geographical Information Science
ISSN : 1365-8816, 1362-3087.
DOI : .[11] William A. Brock and Cars H. Hommes. “Heterogeneous Beliefs and Routes to Chaos in a Simple Asset PricingModel”. In: Journal of Economic Dynamics and Control
ISSN : 01651889.
DOI : .[12] Andrew Ilachinski. Irreducible Semi-Autonomous Adaptive Combat (ISAAC): An Artificial-Life Approach to LandWarfare.
Aug. 1997.
URL : (visited on07/19/2018).[13] James Moffat, Josephine Smith, and Susan Witty. “Emergent Behaviour: Theory and Experimentation Using the MANAModel”. In: Journal of Applied Mathematics and Decision Sciences
ISSN : 1173-9126,1532-7612.
DOI : .[14] Raymond R. Hill, Lance E. Champagne, and Joseph C. Price. “Using Agent-Based Simulation and Game Theoryto Examine the WWII Bay of Biscay U-Boat Campaign”. In: The Journal of Defense Modeling and Simulation:Applications, Methodology, Technology
ISSN : 1548-5129, 1557-380X.
DOI : .[15] Judith A. Effken et al. “Simulating Nursing Unit Performance With OrgAhead: Strengths and Challenges”. In: CIN: Computers, Informatics, Nursing
ISSN : 1538-2931.
DOI : .[16] Fred Jopp, Broder Breckling, and Hauke Reuter. Modelling complex ecological dynamics . Springer, 2010.[17] W. O. Kermack and A. G. McKendrick. “A Contribution to the Mathematical Theory of Epidemics”. In:
Proceedings ofthe Royal Society A: Mathematical, Physical and Engineering Sciences
ISSN :1364-5021, 1471-2946.
DOI : .[18] Matteo Richiardi. “Agent-Based Computational Economics: What, Why, When”. In: Agent-Based Models . Ed. byDomenico Delli Gatti et al. 1st ed. Cambridge University Press, Mar. 22, 2018, pp. 10–32.
ISBN : 978-1-108-41499-9 978-1-108-22727-8 978-1-108-40004-6.
DOI : . URL : (visited on 03/14/2019).[19] Joshua M. Epstein. “Remarks on the Foundations of Agent-Based Generative Social Science”. In: Handbook of Com-putational Economics . Vol. 2. Elsevier, 2006, pp. 1585–1604.
ISBN : 978-0-444-51253-6.
DOI : . URL : http://linkinghub.elsevier.com/retrieve/pii/S1574002105020344 (visited on 08/01/2018).[20] Domenico Delli Gatti et al., eds. Agent-Based Models: A Toolkit . 1st ed. Cambridge University Press, Mar. 22, 2018.
ISBN : 978-1-108-41499-9 978-1-108-22727-8 978-1-108-40004-6.
DOI : . URL : (visited on01/06/2019).[21] Matteo Richiardi. “Agent-Based Models as Recursive Systems”. In: Agent-Based Models . Ed. by Domenico Delli Gattiet al. 1st ed. Cambridge University Press, Mar. 22, 2018, pp. 33–42.
ISBN : 978-1-108-41499-9 978-1-108-22727-8978-1-108-40004-6.
DOI : . URL : (visited on 01/21/2019).[22] Reinhard Laubenbacher et al. “A Mathematical Formalism for Agent-Based Modeling”. In: arXiv preprint arXiv:0801.0249 (2007).[23] Alan Veliz-Cuba, Abdul Salam Jarrah, and Reinhard Laubenbacher. “Polynomial Algebra of Discrete Models in SystemsBiology”. In: Bioinformatics
ISSN : 1460-2059, 1367-4803.
DOI : .[24] Sven Banisch and Ricardo Lima. “Markov Chain Aggregation for Simple Agent-Based Models on Symmetric Networks:The Voter Model”. In: (Sept. 18, 2012). arXiv: . URL : http : / /arxiv.org/abs/1209.3902 (visited on 01/21/2019).
25] Sven Banisch, Ricardo Lima, and Tanya Araújo. “Agent Based Models and Opinion Dynamics as Markov Chains”.In: (Aug. 8, 2011). arXiv: . URL : http://arxiv.org/abs/1108.1716 (visited on01/16/2019).[26] Luis R. Izquierdo et al. “Techniques to Understand Computer Simulations: Markov Chain Analysis”. In: Journal ofArtificial Societies and Social Simulation
URL : https://ideas.repec.org/a/jas/jasssj/2008-19-2.html .[27] Thomas Lux. “Estimation of Agent-Based Models Using Sequential Monte Carlo Methods”. In: Journal of EconomicDynamics and Control
91 (June 2018), pp. 391–408.
ISSN : 01651889.
DOI : .[28] Volker Grimm et al. “A Standard Protocol for Describing Individual-Based and Agent-Based Models”. In: EcologicalModelling
ISSN : 03043800.
DOI : .[29] Robert Axtell. “1 Why Agents ? On the Varied Motivations for Agent Computing in the Social Sciences”. In: 2000.[30] Jim Doran. “Agent Design for Agent-Based Modelling”. In: Agent-Based Computational Modelling . Ed. by Francesco C.Billari et al. Heidelberg: Physica-Verlag, 2006, pp. 215–223.
ISBN : 978-3-7908-1640-2.
DOI : . URL : http://link.springer.com/10.1007/3-7908-1721-X_11 (visited on 12/26/2018).[31] Dirk Helbing, ed. Social Self-Organization . Understanding Complex Systems. Berlin, Heidelberg: Springer BerlinHeidelberg, 2012.
ISBN : 978-3-642-24003-4 978-3-642-24004-1.
DOI : . URL : http://link.springer.com/10.1007/978-3-642-24004-1 (visited on 01/17/2019).[32] Matteo G. Richiardi. “Agent-Based Computational Economics: A Short Introduction”. In: The Knowledge EngineeringReview
ISSN : 0269-8889, 1469-8005.
DOI : .[33] Andrew T. Crooks and Alison J. Heppenstall. “Introduction to Agent-Based Modelling”. In: Agent-Based Modelsof Geographical Systems . Ed. by Alison J. Heppenstall et al. Dordrecht: Springer Netherlands, 2012, pp. 85–105.
ISBN : 978-90-481-8926-7 978-90-481-8927-4.
DOI : . URL : (visited on 12/14/2018).[34] Marek Laskowski and Seyed M. Moghadas. “A General Framework for Agent-Based Modelling with Applicationsto Infectious Disease Dynamics.” In: Biomat 2013 . International Symposium on Mathematical and ComputationalBiology. World Scientific, May 2014, pp. 318–339.
ISBN : 978-981-4602-21-1 978-981-4602-22-8.
DOI : .[35] Davide Secchi. “Agent-Based Models of Bounded Rationality”. In: Team Performance Management: An InternationalJournal
ISSN : 1352-7592.
DOI : .[36] Alexis Drogoul, Fabien Michel, and Jacques Ferber. “Multi-Agent Systems and Simulation: A Survey from the AgentCommunity’s Perspective”. In: Multi-Agent Systems . Ed. by Danny Weyns and Adelinde Uhrmacher. Vol. 20091861. CRCPress, June 3, 2009, pp. 3–51.
ISBN : 978-1-4200-7023-1 978-1-4200-7024-8.
DOI : . URL : (visited on 01/17/2019).[37] Janusz Wojtusiak, Tobias Warden, and Otthein Herzog. “Machine learning in agent-based stochastic simulation: Inferen-tial theory and evaluation in transportation logistics”. In: Computers & Mathematics with Applications
Artificial Intelligence
An introduction to agent-based modeling: modeling natural, social, and engineeredcomplex systems with NetLogo . MIT Press, 2015.[40] Luiz C Mostaço-Guidolin et al. “A software development framework for agent-based infectious disease modelling”. In:
Biomedical Engineering, Trends in Electronics, Communications and Software . IntechOpen, 2011.[41] Michael J North, Nicholson T Collier, and Jerry R Vos. “Experiences creating three implementations of the repast agentmodeling toolkit”. In:
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Pharma-coEconomics
ISSN : 1170-7690, 1179-2027.
DOI : . URL : http://link.springer.com/10.1007/s40273-015-0254-2 (visited on 02/23/2018).
44] Arika Ligmann-Zielinska et al. “Using Uncertainty and Sensitivity Analyses in Socioecological Agent-Based Models toImprove Their Analytical Performance and Policy Relevance”. In:
PLoS ONE
ISSN : 1932-6203.
DOI : . URL : https://dx.plos.org/10.1371/journal.pone.0109779 (visited on 11/11/2019).[45] Ju-Sung Lee et al. “The Complexities of Agent-Based Modeling Output Analysis”. In: Journal of Artificial Societies andSocial Simulation
ISSN : 1460-7425.
DOI : . URL : http://jasss.soc.surrey.ac.uk/18/4/4.html (visited on 11/11/2019).[46] Michael D McKay, Richard J Beckman, and William J Conover. “Comparison of three methods for selecting values ofinput variables in the analysis of output from a computer code”. In: Technometrics
Journal of theoretical biology
Reliability Engineering and System Safety
118 (2013), pp. 8–17.
ISSN : 0951-8320.
DOI : https://doi.org/10.1016/j.ress.2013.04.004 . URL : .[49] Robert Ernest Marks. “Validating Simulation Models: A General Framework and Four Applied Examples”. In: Computa-tional Economics
ISSN : 0927-7099, 1572-9974.
DOI : .[50] Odo Diekmann and Johan Andre Peter Heesterbeek. Mathematical epidemiology of infectious diseases: model building,analysis and interpretation . Vol. 5. John Wiley & Sons, 2000.[51] Robert G. Sargent. “An Overview of Verification and Validation of Simulation Models”. In:
Proceedings of the 19thConference on Winter Simulation - WSC ’87 . The 19th Conference. Atlanta, Georgia, United States: ACM Press, 1987,pp. 33–39.
ISBN : 978-0-911801-32-3.
DOI : .[52] Tazio Vanni et al. “Calibrating Models in Economic Evaluation”. In: PharmacoEconomics
ISSN : 1179-2027.
DOI : . URL : https://doi.org/10.2165/11584600-000000000-00000 .[53] Jakob Grazzini, Matteo G. Richiardi, and Mike Tsionas. “Bayesian Estimation of Agent-Based Models”. In: Journal ofEconomic Dynamics and Control
77 (Apr. 2017), pp. 26–47.
ISSN : 01651889.
DOI : .[54] Eshan D. Mitra et al. “Using both qualitative and quantitative data in parameter identification for systems biology models”.In: Nature Communications
ISSN : 2041-1723.
DOI : . URL : (visited on 11/11/2019).[55] Matteo Richiardi. “Estimation of Agent-Based Models”. In: Agent-Based Models . Ed. by Domenico Delli Gatti etal. 1st ed. Cambridge University Press, Mar. 22, 2018, pp. 183–221.
ISBN : 978-1-108-41499-9 978-1-108-22727-8978-1-108-40004-6.
DOI : . URL : (visited on 01/30/2019).[56] Jakob Grazzini and Matteo Richiardi. “Estimation of Ergodic Agent-Based Models by Simulated Minimum Distance”.In: Journal of Economic Dynamics and Control
51 (Feb. 2015), pp. 148–165.
ISSN : 01651889.
DOI : .[57] Jakob Grazzini. “Analysis of the Emergent Properties: Stationarity and Ergodicity”. In: Journal of Artificial Societiesand Social Simulation
ISSN : 1460-7425.
DOI : .[58] Matteo Richiardi et al. “A Common Protocol for Agent-Based Social Simulation”. In: Journal of Artificial Societiesand Social Simulation
ISSN : 1460-7425.
URL : http://jasss.soc.surrey.ac.uk/9/1/15.html .[59] Jakob Grazzini, Matteo Richiardi, and Lisa Sella. “The Agent-Based Experiment”. In: Agent-Based Models . Ed. byDomenico Delli Gatti et al. 1st ed. Cambridge University Press, Mar. 22, 2018, pp. 143–162.
ISBN : 978-1-108-41499-9 978-1-108-22727-8 978-1-108-40004-6.
DOI : . URL : (visitedon 01/28/2019).[60] Peter C. B. Phillips and Zhijie Xiao. “A Primer on Unit Root Testing”. In: Journal of Economic Surveys
ISSN : 09500804.
DOI : .
61] Jennifer Badham et al. “Developing agent-based models of complex health behaviour”. In:
Health & place
54 (2018),pp. 170–177.[62] Mehdi Najafi et al. “The effect of individual movements and interventions on the spread of influenza in long-term carefacilities”. In:
Medical Decision Making
BMC Medicine
ISSN : 1741-7015.
DOI : .[64] Affan Shoukat, Robert Van Exan, and Seyed M Moghadas. “Cost-effectiveness of a potential vaccine candidate forHaemophilus influenzae serotype ‘a’”. In: Vaccine
Epidemics
22 (2018), pp. 43–49.[66] Qian Zhang et al. “Spread of Zika virus in the Americas”. In:
Proceedings of the National Academy of Sciences
Scientific reports
Proceedings of the Edinburgh MathematicalSociety
44 (1925), pp. 98–130.[69] William O Kermack and Anderson G McKendrick. “A contribution to the mathematical theory of epidemics”. In:
Proceedings of the royal society of london. Series A, Containing papers of a mathematical and physical character
The journal of physical chemistry
PloS one
Annual review of public health
39 (2018), pp. 77–94.
Acknowledgements