Agent-Based Model: Difference between revisions

From CasGroup
Jump to navigationJump to search
Jfromm (talk | contribs)
Jfromm (talk | contribs)
 
(28 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Agent-based modelling is the modelling of phenomena as dynamical systems of
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_System|complex systems]]. ABM can be used as abbreviation for both, Agent-Based Modelling or Agent-Based Model.
interacting agents. An '''agent-based model''' (ABM) is a specific individual based computational model  
for the computer simulation of [[Complex_System|complex systems]].  


== Definition ==
== Definition ==


In agent-based modeling the word 'model' often means to specify 'the rules of the game':  
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 [[Agent|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 [http://www.pnas.org/cgi/content/full/99/suppl_3/7280 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 [http://en.wikipedia.org/wiki/Game_theory 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.
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  
Contrary to general [[Multi-Agent System|multi agent systems]], an ABM describes the interactions among individual [[Agent|agents]] and their environment in a specific situation which leads to particular organizational patterns and [[Emergence|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 System|complex systems]], and they enable the user to run large scale virtual experiments without altering the corresponding real [[System|system]].
[http://www.pnas.org/cgi/content/full/99/suppl_3/7280 agent-based modeling]
 
"at the simplest level, an agent-based model consists of a system of agents and the relationships  
== Ingredients ==
between them". ABMs are the equivalent to games in [http://en.wikipedia.org/wiki/Game_theory game theory].
 
A strategic game in game theory consists of a set of players, a set of moves (or strategies) available  
Agent-based models involve three basic ingredients: [[Agent|agents]], an environment and rules.
to those players, and a specification of payoffs for each combination of strategies.
The environment is the medium or space which separates the agents, it
An ABM consists of a set of (simplified) agents, a set of possible basic behaviors or   
can consist of the agent themselves, too.
elementary interactions, and a set of rules which specifies the evolution or development  
Rules define the behavior of the agents.
of the system. Contrary to general [[Multi-Agent System|multi agent systems]],
 
an ABM describes the interactions among individual [[Agent|agents]] and their environment
== Purpose, Results and Applications ==
in a specific situation which leads to particular organizational patterns and  
 
[[Emergence|emergent properties]]. Model in 'agent-based model' is used in the  
What can be learned from an agent based model?
sense of an abstract representation of a concrete system from a particular viewpoint.
With computer simulations it is possible to go beyond verbal descriptions of complex social processes:
ABMs can be used to explain collective human behavior in the social sciences, to  
they enable complex theories about social processes, which can be verified by experiments and observations.
understand [[Complex System|complex systems]], and they enable the user to run  
Agent-based models characterized by the occurrence of certain types and forms of [[Emergence|emergence]] are
large scale virtual experiments without altering the corresponding real [[System|system]].
the essence of these theories. We can formulate certain models having certain emergent properties.
We can observe..
 
* [[Emergence|Emergent behavior]] on the macro level resulting from interactions between agents (for example Flocking)
 
* [[Adaptation|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 ==
== The art of agent-based modeling ==


John H. Holland says about the art of creating models ([http://www.capatcolumbia.com/CSFB%20TLF/2000/holland_sidecolumn.pdf 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):
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
: "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)."
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  
ABMs can be used "to capture the principal laws behind the exciting variety of new phenomena  
Line 56: Line 71:
The [http://www.red3d.com/cwr/boids/ boids] from Craig Reynolds are a famous example.
The [http://www.red3d.com/cwr/boids/ boids] from Craig Reynolds are a famous example.
Reynolds has a long list of other [http://www.red3d.com/cwr/ibm.html individual-based models]
Reynolds has a long list of other [http://www.red3d.com/cwr/ibm.html individual-based models]
at his site.
at his site. A larger number of models can also be found at the  
A larger number of models can also be found at the  
[http://ccl.northwestern.edu/netlogo/models/ NetLogo site].
[http://ccl.northwestern.edu/netlogo/models/ NetLogo site].
Besides the [http://www.red3d.com/cwr/boids/ The Boids], there are a number of
basic models:
* [[El_Farol_Bar_Model|El Farol Bar Model]] created in 1994 by W. Brian Arthur
* [[Boids Model]] created in 1986 from Craig Reynolds
* [[Segregation Model]] created in 1971 from Thomas Schelling
* [[Tribute Model]] and [[Dissemination Model]] from Robert Axelrod
An issue of the JASSS mentions 10 fundamental and famous models, see [http://jasss.soc.surrey.ac.uk/12/1/6.html#appendixB]
* 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 ==
== Literature ==
* Robert Axelrod, [http://www-personal.umich.edu/~axe/research/ABM_Perspectives.pdf Agent Based Modelling as a Bridge between Disciplines]
* Joshua Epstein, [http://jasss.soc.surrey.ac.uk/11/4/12.html Why Model?], JASSS, vol. 11, no. 4, 2008


* Nigel Gilbert and Pietro Terna, [http://web.econ.unito.it/terna/deposito/gil_ter.pdf How to build and use agent-based models in social science], Mind & Society, no. 1 (2000) 57-72
* Nigel Gilbert and Pietro Terna, [http://web.econ.unito.it/terna/deposito/gil_ter.pdf How to build and use agent-based models in social science], Mind & Society, no. 1 (2000) 57-72
Line 80: Line 170:


== Links ==
== Links ==
* [http://ccl.northwestern.edu/netlogo/ Netlogo]
* [http://ccl.northwestern.edu/netlogo/models/ NetLogo Models]


* [http://en.wikipedia.org/wiki/Agent_based_model Wikipedia Entry for ABM]
* [http://en.wikipedia.org/wiki/Agent_based_model Wikipedia Entry for ABM]
Line 87: Line 180:
* Bonabeau's paper about [http://www.pnas.org/cgi/content/full/99/suppl_3/7280 agent-based modeling]
* Bonabeau's paper about [http://www.pnas.org/cgi/content/full/99/suppl_3/7280 agent-based modeling]
* Reynolds' list of [http://www.red3d.com/cwr/ibm.html Individual-Based Models]
* Reynolds' list of [http://www.red3d.com/cwr/ibm.html Individual-Based Models]
[[Category:Agent-Based Model]]

Latest revision as of 17:39, 16 March 2011

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.

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