Developing an agent-based model

<< Click to Display Table of Contents >>

Navigation:  Geocomputational methods and modeling > Geosimulation >

Developing an agent-based model

The process of building an agent-based model begins with a conceptual model, where basic questions or goals, elements of the system (e.g. agent attributes, rules of agent interaction and behavior, the model environment, etc.) and the measurable outcomes of interest are identified. It is important to ‘ground’ a model during the conceptualization process (i.e. establish whether simplifications made during the design process do not seriously detract from the credibility and likelihood that the model will provide important insights; Carley, 1996). It is usual for a modeler to set forth a claim as to why the proposed model is reasonable. This claim will be enhanced if the applicability of the model is not over stated, and by defining the model’s limitations and scope. Grounding can be reinforced by demonstrating that other researchers have made similar or identical assumptions in their models, and by justifying how a proposed model will be of benefit in relation to pre-existing models.

Conceptualizing the fundamental aspects of an agent-based model (i.e. one or more agents interacting within an environment), juxtaposed with the distinction between explanatory versus predictive purposes of a model suggests a fourfold typology of agent and environment types (Table 8‑2). Couclelis (2001) classifies agents and their environments as either being designed (i.e. explanatory) or analyzed (i.e. predictive ― empirically grounded). If designed, agents are endowed with attributes and behaviors that represent (often simplified) conditions for testing specific hypotheses about general cases. Analyzed agents are intended to mimic real-world entities based on empirical data or on ad hoc values and assumptions that are realistic substitutes for observed processes. Similarly, the environment that agents are situated within can be designed (i.e. provided with characteristics that are simplified to focus on specific agent attributes), or analyzed (i.e. represent a real-world location).

The boundary between designed and analyzed is not always distinct, especially when ad hoc data are employed. Subtle but profound differences, both practical and conceptual, exist between the design or analysis approach of developing agents and their environment. A major difference in practical terms is that designing something provides direct (partial or total) control over the outcome, whereas there can only be hope that something has been analyzed ‘correctly’.

Table 8‑2 summaries key issues to consider when developing agents and their environment. These include: a brief description of the model; the purpose and intent of the model; verification and validation strategies used to assess the model outputs; and appropriate software for the development of a model. Once a model has been conceptualized, it must then be formalized into a specification, which can be developed into a computer program if the model is required to be run as a computer simulation. The process of formalization involves being precise about what an identified theory relating to a phenomena of interest means, and making sure that it is complete and coherent.

Table 8‑2 Agents and environments






Model Description: Abstract

Purpose/Intent: Discovery of new relationships; Existence proof

Verification & Validation Strategy: Theoretical comparison; Replication

Appropriate Development Tools: Easy to implement simulation/modeling system

Model Description: Experimental

Purpose/Intent: Role-playing games among stakeholders; Laboratory experiments

Verification & Validation Strategy: Repetitions; Adequacy of design

Appropriate Development Tools: Flexible simulation/modeling systems with well developed user interfaces


Model Description: Historical

Purpose/Intent: Explanation

Verification & Validation Strategy: Qualitative: goodness of fit

Appropriate Development Tools: Advanced simulation/modeling systems linked with GIS

Model Description: Empirical

Purpose/Intent: Explanation; Projection; Scenario analysis

Verification & Validation Strategy: Quantitative: goodness of fit

Appropriate Development Tools: Low-level programming languages

adapted from Berger and Parker (2001)

There are several reasons why computer simulation is considered more appropriate for formalizing social science theories than mathematics (which has often been used in the social sciences). First, programming languages are more expressive and less abstract than most mathematical techniques. Second, a computer simulation can deal more easily with parallel process and processes without well-defined order or actions than systems of mathematical equations. Third, a computer model can include heterogeneous agents (e.g. pedestrians with varying degrees of knowledge about a building layout), while this is usually difficult using mathematics. Finally, computer programs are (or can easily be made to be) modular, so that major changes can be made to one part of the model without requiring large changes in other parts of the program, an ability which mathematical systems often lack.

The object-oriented paradigm provides a very suitable medium for the development of agent-based models. In particular, it provides the aforementioned modularity useful for developing a computer simulation.

At the time of writing, there are many s/m systems available to assist the development stage of ABM. The majority of these s/m systems are programmed, and/or require the user to develop their model in an object-oriented language. In Section 8.2.8, Types of simulation/modeling (s/m) systems for agent-based modeling, we identify some of the s/m systems available for ABM, highlighting key questions that should be considered for a user to determine appropriate systems for their needs.