Agent-Based Model

From CasGroup

Revision as of 22:39, 16 March 2011 by Jfromm (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Agent-based modelling (ABM) is the modelling of phenomena as dynamical systems of interacting agents. An agent-based model is a specific individual based computational model for the computer simulation of complex systems. ABM can be used as abbreviation for both, Agent-Based Modelling or Agent-Based Model.

Contents

Definition

An agent-based model is a computational model in which every participant in a system or process is modelled indivdually. A system is modeled as a collection of autonomous decision-making entities called agents. Each agent acts autonomously, individually assesses its situation, and makes decisions on the basis of a set of internal rules. In agent-based modeling the word 'model' often means to specify 'the rules of the game': to specify exactly what kind of participants exist (the agents and their states) and how they interact (the rules). As Bonabeau says in his paper about agent-based modeling "at the simplest level, an agent-based model consists of a system of agents and the relationships between them". ABMs are the equivalent to games in game theory. A strategic game in game theory consists of a set of players, a set of moves (or strategies) available to those players, and a specification of payoffs for each combination of strategies. An ABM consists of a set of (simplified) agents, a set of possible basic behaviors or elementary interactions, and a set of rules which specifies the evolution or development of the system.

Contrary to general multi agent systems, an ABM describes the interactions among individual agents and their environment in a specific situation which leads to particular organizational patterns and emergent properties. Model in 'agent-based model' is used in the sense of an abstract representation of a concrete system from a particular viewpoint. ABMs can be used to explain collective human behavior in the social sciences, to understand complex systems, and they enable the user to run large scale virtual experiments without altering the corresponding real system.

Ingredients

Agent-based models involve three basic ingredients: agents, an environment and rules. The environment is the medium or space which separates the agents, it can consist of the agent themselves, too. Rules define the behavior of the agents.

Purpose, Results and Applications

What can be learned from an agent based model? With computer simulations it is possible to go beyond verbal descriptions of complex social processes: they enable complex theories about social processes, which can be verified by experiments and observations. Agent-based models characterized by the occurrence of certain types and forms of emergence are the essence of these theories. We can formulate certain models having certain emergent properties. We can observe..

  • Emergent behavior on the macro level resulting from interactions between agents (for example Flocking)
  • Adaptive behavior, which means agents grow smarter over time in response to the specific conditions and requirements of their environment

ABMs can simulate almost any interactive system: a stockmarket, a habitat, a pandemics, any social or political system, or a business supply-chain. Agent-based simulations can be used to model

  • animal societies, ecological systems and food webs
  • physiological systems and organisms
  • social or politcal systems
  • financial systems and stockmarkets
  • economic systems and business supply-chains
  • robotic systems
  • traffic and transportation systems, pedestrian dynamics
  • P2P and other computational systems
  • pandemics
  • combats and wars

The art of agent-based modeling

John H. Holland says about the art of creating models (here)

"The real art of model-building is in selecting the subset of the system that you want to model. Do not attempt to model the entire system. Throw away as much detail about the system as possible. If you build a model that includes all of the information in the system, then the model is no more helpful to you than the system itself".

The difficulty is to find the right balance between oversimplification and overelaboration, between too much and too little detail. In agent-based modeling less is more. The art is to find the essential ingredients of the model. George Johnson says in his book "Fire in the Mind" (Vintage, 1996):

"The mark of a good simulation is that it separates the essential from the incidental, cutting through what is deemed irrelevant detail to get at the heart of the problem. This involves making instinctual judgements about which details are crucial and which can be ignored. [...] Like a theory, a simulation must be more general and abstract than what it is intended to explain. It must serve as a compression" (page 244)."

ABMs can be used "to capture the principal laws behind the exciting variety of new phenomena that become apparent when the many units of a complex system interact", as Tamas Vicsek says (see [1]). Yet it is not easy to design models that are complex enough but not too complex, especially if the system we want to model is very large or very complex (if we have neither suitable experimental data nor a solid theory)

  • If the simulation is too simple and matches your own theoretical ideas, then no matter how good these ideas are it is always easy to criticize that the simulation is either not realistic enough or only constructed to illustrate your own ideas and assumptions. If the model is too abstract to validate it with real data, it isn't science, although the modeling may be useful as an thought experiment, as a metaphor or as an illustration of a principal law in a complex system
  • If the simulation is too complex and matches every official experimental data, everything takes a lot amount of time (creation, setup and execution of the experiment and finally the cumbersome analysis of the complex outcomes), and it becomes increasingly difficult to identify the principal laws, because it is easy to get lost in the data or bogged down in details. The simulated results about collective behavior can be as difficult to understand as reality itself if the model is too complex. It is clearly not helpful if we cannot understand the model any better than the real system.

It is possible to obtain similar results with different agent structures, rules, achitectures and models. Which of all these models is the minimal model ? It is difficult to find simple models with complex results. At best, the field of agent-based models can be considered currently as an art - the "art of agent-based modeling".

Examples

The boids from Craig Reynolds are a famous example. Reynolds has a long list of other individual-based models at his site. A larger number of models can also be found at the NetLogo site. Besides the The Boids, there are a number of basic models:

An issue of the JASSS mentions 10 fundamental and famous models, see [2]

  • Schelling's (1971) model of spatial segregation
  • Axelrod's (1997) model of dissemination of culture
  • Epstein and Axtell's (1996) Sugarscape
  • Miller and Page's (2004) standing ovation model
  • Arthur's (1989) model of competing technologies
  • Axelrod's (1986) metanorms models
  • Takahashi's (2000) model of generalized exchange
  • Kinnaird's (1946) truels
  • Axelrod and Bennett's (1993) model of competing bimodal coalitions
  • Joyce et al.'s (2006) model of conditional association

Models and Plays

Can agent based models and traditional plays (for example Shakespeare's plays) be considered as two extremes on one scale? In both we witness the outcome of a small number of agents or actors interacting with each other in a particular environment according to certain rules and intentions. Shakespeares' plays are basic "models" for the complexity which arises through "love in hate" (Romeo and Juliet), "hesitation in action" (Hamlet) or "striving against destiny" (Macbeth). In Shakespeares' words "Though this be madness, yet there is method in't."

Can plays be considered as a kind of model for systems with complex BDI agents and abstract rules? If a developer programs an object-oriented system, he determines in detail what every object should do, step by step, in every possible situation. What happens if we write advanced programs for agent- oriented systems, would they look like plays from a playwright? Or would we have to program beliefs, desires, emotions and intentions?

In plays, the actors are driven by basic emotions and intentions. One theme is "love in hate" or "desire in vengeance" which appears in "Romeo and Juliet". Among others, the "desire in vengeance" theme can also be found in Hamlet: Ophelia and Hamlet love each other, but Hamlet kills her father accidentally, she kills herself, then her brother Laertes takes revenge, and in the end they are all dead.

The playwright usually describes one of many possible plots or outcomes for a certain theme, here for instance what could happen if love and hate collide. The basic motives are as simple as the rules in basic ABMs. This is why I said that ABMs and plays can be considered as two extremes on one scale:

ABMs:

  • simple agents, driven by basic rules
  • outcome (the sequence of actions) is not determined

Plays:

  • complex actors, driven by basic emotions and intentions
  • outcome (the sequence of actions) is determined


Literature

  • Joshua Epstein, Why Model?, JASSS, vol. 11, no. 4, 2008

see also the special PNAS issue in 2002 about Capturing Complexity through Agent-Based Modeling

Links

Personal tools