Agent-based modelling and simulation

The educational technology and digital learning wiki
Jump to navigation Jump to search

Introduction

Agent-based modelling and simulation (ABMS) or agent-based simulation (ABS) or agent-based modeling (ABM) refers to a model and simulation technique that infers the behavior of a system from the action and interaction of individuals. Modeling techniques range from simple and easy to complex and hard. It is often argued that agent-based modeling and simulation starts from "natural" description of a system (i.e. observable behavior and interactions of individuals) and that it can capture emergent phenomena in a flexible way.

Draft

Below, we quote some further, more detailed definitions:

“The social sciences seek to understand not only how individuals behave but also how the interaction of many individuals leads to large-scale outcomes. Understanding a political or economic system requires more than an understanding of the individuals that comprisethe system. It also requires understanding how the individuals interact with each other,and how the results can be more than the sum of the parts.ABM is well suited for this social science objective. It is a method for studying systems exhibiting the following two properties: (1) the system is composed of interacting agents;and (2) the system exhibits emergent properties, that is, properties arising from the interactions of the agents that cannot be deduced simply by aggregating the properties of the agents.” (Robert Axelrod & Leigh Tesfatsion, 2006)[1]

“Agent-based simulation (ABS) is an approach to modeling systems comprised of individual, autonomous, interacting “agents.” Agent-based modeling offers ways to more easily model individual behaviors and how behaviors affect others in ways that have not been available before. There is much interest in developing agent-based models for many application problem domains. Applications range from modeling agent behavior in supply chains and the stock market, to predicting the success of marketing campaigns and the spread of epidemics, to projecting the future needs of the healthcare system.” (Macal et al, 2014) [2]

Wikipedia (March 2019) defines an “agent-based model (ABM) is a class of computational models for simulating the actions and interactions of autonomous agents (both individual or collective entities such as organizations or groups) with a view to assessing their effects on the system as a whole.” Agent-based modeling and simulation is not multi-agent simulation, the former attempts to gain insights about complex systems from the collective behavior of agents that follow simple rules for action and interaction (e.g. move or eat), the latter simulates intelligent agents in some context.

“In agent-based modeling (ABM), a system is modeled as a collection of autonomous decision-making entities called agents. Each agent individually assesses its situation and makes decisions on the basis of a set of rules. Agents may execute various behaviors appropriate for the system they represent—for example, producing, consuming, or selling. Repetitive competitive interactions between agents are a feature of agent-based modeling, which relies on the power of computers to explore dynamics out of the reach of pure mathematical methods (1, 2). At the simplest level, an agent-based model consists of a system of agents and the relationships between them. Even a simple agent-based model can exhibit complex behavior patterns (3) and provide valuable information about the dynamics of the real-world system that it emulates. In addition, agents may be capable of evolving, allowing unanticipated behaviors to emerge. Sophisticated ABM sometimes incorporates neural networks, evolutionary algorithms, or other learning techniques to allow realistic learning and adaptation.” (Eric Bonabeau, 2002, Abstract) [3]

The common idea is that computational agent-based models can help understanding how systems behave, starting from descriptions of what its parts can do.

Architectures

According to Jeffrey Schank (March 30, 2019), “Agent-based modeling (ABM) is a style of modeling in which individuals and their interaction with each other and their environment are explicitly represented in a program or even in another physical entity such as a robot. Individuals modeled are, for example, people, animals, groups, or cells, but they can model entities that do not have a physical basis, but are entities that are conceived as performing a task such as gathering information or theoretically modeling the evolution of cooperation. [..] ABM is a style of modeling that has both experimental and mathematical styles of thinking.”

According to wikipedia (March 2019), “Most agent-based models are composed of: (1) numerous agents specified at various scales (typically referred to as agent-granularity); (2) decision-making heuristics; (3) learning rules or adaptive processes; (4) an interaction topology; and (5) an environment.”

Macy & Willer (2002) [4], agent-based modeling is based on four key assumptions:

  • Agents are autonomous
  • Agents are interdependent
  • Agents follow simple rules
  • Agents are adaptive and backward-looking.

A simple flocking example

A simple example of an ABM was demonstrated by Craig Raynolds (1987) and summarized by Macy & Willer (2002) [4]: “Consider a flock of geese flying in tight formation. Collectively they form the image of a giant delta-shaped bird that moves as purposively as if it were a single organism. Yet the flock has no "group mind" nor is there a "leader bird" choreographing the formation (Resnick, 1997).” Reynolds modeled the system with three simple rules for each bird, that he called "boids" in his artificial system.

Craig Reynolds, in his "Boids" webpage, updated in 2001, provides the following, more detailed explanation: “In 1986 I made a computer model of coordinated animal motion such as bird flocks and fish schools. It was based on three dimensional computational geometry of the sort normally used in computer animation or computer aided design. I called the generic simulated flocking creatures boids. The basic flocking model consists of three simple steering behaviors which describe how an individual boid maneuvers based on the positions and velocities its nearby flockmates:”

Craig Reynolds flocking model
Separation: steer to avoid crowding local flockmates
Alignment: steer towards the average heading of local flockmates
Cohesion: steer to move toward the average position of local flockmates

A flocking simulation based on these steering behaviors is available in the NetLogo library.

NetLogo flocking simulation after 260 ticks

Software

Several modeling platforms are popular in education. The following should be of interest to beginners:

  • NetLogo, a free system, is based on a multi-turtle model. Each agent is a turtle that can move and interact with other turtles. According to comMSES, it is used by tens of thousands of students, teachers and researchers worldwide.
  • AgentSheets, a commercial system, is based on a cellular automaton and diffusion mathematics.

See also on other web sites:

Links

  • coMSES (network for Computational Modeling in Social and Ecological Sciences) is an international network of researchers, educators and professionals with the common goal of improving the way we develop, share, and use agent based modeling in the social and ecological sciences

Bibliography

(more or less randomly selected, therefore very much incomplete)

  • Auchincloss, A. H., & Garcia, L. M. T. (2015). Brief introductory guide to agent-based modeling and an illustration from urban health research. Cadernos de Saude Publica, 31 Suppl 1(Suppl 1), 65–78. https://doi.org/10.1590/0102-311X00051615
  • Epstein, J. M. & Axtell, R. (1996). Growing Artificial Societies: Social Science from the Bottom Up. Washington, DC: The Brookings Institution.
  • Gilbert, N. & Troitzsch, Klaus G. (2005) Simulation for the Social Scientist. (Second Edition). New York: Open University Press.
  • Heppenstall, A. J., Crooks, A. T., See, L. M., Batty, M. (Eds.) (2012). Agent-Based Models of Geographical Systems. Dordrecht: Springer.
  • Janssen, M.A. (2015). Introduction to Agent Based Modeling.
  • Niazi, Muaz; Hussain, Amir (2011). "Agent-based Computing from Multi-agent Systems to Agent-Based Models: A Visual Survey" (PDF). Scientometrics. 89 (2): 479–499. arXiv:1708.05872. doi:10.1007/s11192-011-0468-9.
  • Railsback, S. F. & Grimm, V. (2012). Agent-Based and Individual-Based Modeling. Princeton: Princeton University Press.
  • Shoham, Y. & Leyton-Brown, K. (2009). Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations. New York: Cambridge University Press.
  • Weiss, G. (Ed.) (1999). Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. Cambridge, MA: The MIT Press.
  • Wilensky, U. & Rand, W. (2015). An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems with NetLogo. Cambridge, MA: The MIT Press.


Cited with a footnote

  1. 1.0 1.1 Robert Axelrod and Leigh Tesfatsion, "A Guide for Newcomers to Agent-Based Modeling in the Social Sciences", Appendix A (pp. 1647-1659) in Leigh Tesfatsion and Kenneth L. Judd (Eds.), Handbook of Computational Economics, Vol. 2: Agent-Based Computational Economics (Table of Contents,html), Handbooks in Economics Series, Elsevier/North-Holland, Amsterdam, the Netherlands, 2006.
  2. Macal, C. M., & North, M. J. (n.d.). Tutorial on agent-based modeling and simulation. In Proceedings of the Winter Simulation Conference, 2005. (pp. 2–15). IEEE. https://doi.org/10.1109/WSC.2005.1574234
  3. Bonabeau, E. (2002). Agent-based modeling: methods and techniques for simulating human systems. Proceedings of the National Academy of Sciences of the United States of America, 99 Suppl 3(suppl 3), 7280–7287. https://doi.org/10.1073/pnas.082080899
  4. 4.0 4.1 Macy, M. W., & Willer, R. (2002). From Factors to Actors: Computational Sociology and Agent-Based Modeling. Annual Review of Sociology, 28(1), 143–166. https://doi.org/10.1146/annurev.soc.28.110601.141117