Agent-based modelling and simulation
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.
Other terms include [1]: Agent-based computational modeling (ABCM), Agent-based Social Simulation (ABSS), Agent-Based Computation Simulation. Let us 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)[2]
“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) [3]
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) [4]
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) [5], 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.
Castle, C., & Crooks, A. (2006)[1] identified several features that are common to most agents and therefore can be found in ABMS systems:
- Autonomy
- Heterogeneity
- Active
- Pro-active / goal directed
- Reactive / Perceptive
- Bounded rationality
- Interactive / Communicative
- Mobility
- Adaptation / Learning
They summarize: “Agent-based models are comprised of multiple, interacting agents situated within a model or simulation environment. A relationship between agents is specified, linking agents to other agents and / or other entities within a system. Relationships may be specified in a variety of ways, from simply reactive (i.e. agents only perform actions when triggered to do so by some external stimulus e.g. actions of another agent), to goal-directed (i.e. seeking a particular goal). The behaviour of agents can be scheduled to take place synchronously (i.e. every agent performs actions at each discrete time step), or asynchronously (i.e. agent actions are scheduled by the actions of other agents, and / or with reference to a clock). Environments define the space in which agents operate, serving to support their interaction with the environment and other agents. Agents within an environment may be spatially explicit, meaning agents have a location in geometrical space, although the agent itself may be static.”
A simple flocking example
A simple example of an ABM was demonstrated by Craig Raynolds (1987) and summarized by Macy & Willer (2002) [5]: “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:”
A flocking simulation based on these steering behaviors is available in the NetLogo library. [6]
Software
Abar et al. (2017) [7] identify 85 toolkits for software agent-based computing technology directly or indirectly useful for agent-based modelling and simulation (ABMS). Castle & Crooks (2006) [1] “outlined fundamental concepts and principles of the Agent-Based Modelling (ABM) paradigm, with particular reference to the development of geospatial simulations” and discussed a few simulation and modeling systems that are popular in education.
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.
Abar et al. identified over 20 simple and/or easy to use systems.
See also on other web sites:
- Computational Modeling Platforms at coMSES). Probably the best up-to-date list of software.
- Simulators, at Agent-Based Models.
As we said before, Multi-agent system are different. However some tools also can be used to implement ABMS systems. Serenko and Detlof (2002) [8] investigated 20 agent toolkits on the market and their use in post-secondary courses.
In education
- Students can build models
- Students can experiment with models
- Teachers can use models for demonstrations
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
- On-Line Guide for Newcomers to Agent-Based Modeling in the Social Sciences by Robert Axelrod and Leigh Tesfatsion (retr. March 2019). This site was originally designed to provide web support materials (readings and demonstration software) for Robert Axelrod and Leigh Tesfatsion (2006) [2]. It it includes a longer and good list of social science readings.
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.
- Macy, Michael W., and Robert Willer (2002), "From Factors to Actors: Computational Sociology and Agent-Based Modeling" (pdf,134KB), Annual Review of Sociology, Vol. 28, pp. 143-166. Preprint PDF, https://www.annualreviews.org/doi/abs/10.1146/annurev.soc.28.110601.141117, https://www.jstor.org/stable/pdf/3069238.pdf
- 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.
- Schelling, T.C. (1969) Models of Segregation in: Strategic Theory and Its Applications, Schelling, T.C. The American Economic Review, 59 (2), Papers and Proceedings of the Eighty-first Annual Meeting of the American Economic Association. (May, 1969), pp. 488-493. https://www.jstor.org/stable/1823701?seq=1#metadata_info_tab_contents
- 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.0 1.1 1.2 Castle, C., & Crooks, A. (2006). Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations. (CASA Working Papers 110). Centre for Advanced Spatial Analysis (UCL), UCL (University College London), Centre for Advanced Spatial Analysis (UCL): London, UK. (2006) . Retrieved from http://discovery.ucl.ac.uk/3342/
- ↑ 2.0 2.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.
- ↑ 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
- ↑ 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
- ↑ 5.0 5.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
- ↑ Wilensky, U. (1998). NetLogo Flocking model. http://ccl.northwestern.edu/netlogo/models/Flocking. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
- ↑ Abar, S., Theodoropoulos, G. K., Lemarinier, P., & O’Hare, G. M. P. (2017). Agent Based Modelling and Simulation tools: A review of the state-of-art software. Computer Science Review, 24, 13–33. https://doi.org/10.1016/J.COSREV.2017.03.001
- ↑ Serenko, A., Detlor, B., & McMaster University, M. G. D. S. of B. (2002). Agent toolkits: a general overview of the market and an assessment of instructor satisfaction with utilizing toolkits in the classroom. Retrieved from https://macsphere.mcmaster.ca/handle/11375/5601