Agent-based model
985619
226049423
2008-07-16T16:32:12Z
Thengarch
6784281
An '''agent-based model (ABM)''' is a [[computational model]] for [[computer simulation|simulating]] the actions and interactions of autonomous individuals in a network, with a view to assessing their effects on the system as a whole. It combines elements of [[game theory]], [[complex systems]], [[emergence]], [[computational sociology]], [[multi-agent system|multi agent systems]], and [[evolutionary programming]]. [[Monte Carlo Method]]s are used to introduce randomness.
The models simulate the simultaneous operations of multiple agents, in an attempt to re-create and predict the actions of complex phenomena. The process is one of [[emergence]] from the lower (micro) level of systems to a higher (macro) level. The individual agents are presumed to be acting in what they perceive as their own interests, such as reproduction, economic benefit, or social status, and their knowledge is limited.<ref>[http://policy.rutgers.edu/andrews/projects/abm/abmarticle.htm Agent-Based Models of Industrial Ecosystems]. [[Rutgers University]], [[October 6]], 2003.</ref> ABM agents may experience "learning", adaptation, and reproduction.<ref>[http://www.pnas.org/cgi/content/full/99/suppl_3/7280 Agent-based modeling: Methods and techniques for simulating human systems]. Proceedings of the [[United States National Academy of Sciences|National Academy of Sciences]]. [[May 14]], 2002.</ref>
==History==
The idea of agent-based modeling was developed as a relatively simple concept in the late 1940s. Since it requires computation-intensive procedures, it did not become widespread until the 1990s.
The history of the agent-based model can be traced back to the [[Self-replicating spacecraft#Von Neumann probes|Von Neumann machine]], a theoretical machine capable of reproduction. The device [[von Neumann]] proposed would follow precisely detailed instructions to fashion a copy of itself. The concept was then improved by von Neumann's friend [[Stanisław Ulam]], also a mathematician; Ulam suggested that the machine be built on paper, as a collection of cells on a grid. The idea intrigued von Neumann, who drew it up—creating the first of the devices later termed [[cellular automata]].
Another improvement was introduced by the mathematician [[John Horton Conway|John Conway]]. He constructed the well-known [[Conway's Game of Life|Game of Life]]. Unlike von Neumann's machine, Conway's Game of Life operated by tremendously simple rules in a virtual world in the form of a 2-dimensional [[checkerboard]].
The creation of agent-based models of social systems is often credited to the computer scientist [[Craig Reynolds (computer graphics)|Craig Reynolds]]. He tried to model the reality of lively biological agents, known as [[artificial life]], a term coined by [[Christopher Langton]].
At the same time, during the 1980s, social scientists, mathematicians, operations researchers, and a scattering of people from other disciplines developed Computational and Mathematical Organization Theory (CMOT). This field grew as a special interest group of The Institute of Management Sciences (TIMS) and its sister society, the Operations Research Society of America (ORSA). Through the mid-1990s, the field focused on such issues as designing effective teams, understanding the communication required for organizational effectiveness, and the behavior of social networks. With the appearance of SWARM in the mid-1990s and RePast in 2000, as well as some custom-designed code, CMOT -- later renamed Computational Analysis of Social and Organizational Systems (CASOS) -- incorporated more and more agent-based modeling. Samuelson (2000) is a good brief overview of the early history, and Samuelson (2005) and Samuelson and Macal (2006) trace the more recent developments. Bonabeau (2002) is a good survey of the potential of agent-based modeling as of the time that its modelling software became widely available.
[http://www.casos.cs.cmu.edu/people/faculty.php?detail=Carley,%20Kathleen%20M.&ID=42 Kathleen M. Carley] developed the first ABM, [http://www.casos.cs.cmu.edu/projects/construct/index.php Construct] , to explore the co-evolution of social networks and culture.
[[Joshua M. Epstein]] and Robert Axtell developed the first large-scale ABM, the [[Sugarscape]], to simulate and explore the role of social phenomenon such as seasonal migrations, pollution, sexual reproduction, combat, and transmission of disease and even culture.
In the late 1990s, the merger of TIMS and ORSA to form INFORMS, and the move by INFORMS from two meetings each year to one, helped to spur the CMOT group to form a separate society, the North American Association for Computational Social and Organizational Sciences (NAACSOS). [[Kathleen Carley]], of [[Carnegie Mellon University]], was a major contributor, especially to models of social networks, obtaining [[National Science Foundation]] funding for the annual conference and serving as the first President of NAACSOS. She was succeeded by David Sallach of the [[University of Chicago]] and [[Argonne National Laboratory]], and then by Michael Prietula of [[Emory University]]. At about the same time NAACSOS began, the European Social Simulation Association (ESSA) and the Pacific Asian Association for Agent-Based Approach in Social Systems Science (PAAA), counterparts of NAACSOS, were organized. These organizations now collaborate internationally. The First World Congress on Social Simulation was held under their joint sponsorship in Kyoto, Japan, in August 2006. The Second World Congress is scheduled to be held in the northern Virginia suburbs of Washington, D.C., in July 2008, with [[George Mason University]] taking the lead role in local arrangements.
More recently, [[Ron Sun]] developed methods for basing agentbased simulation on models of human cognition, known as [[cognitive social simulation]] (see Sun 2006). Bill McKelvey, Suzanne Lohmann, Dario Nardi and others at [[UCLA]] have also made significant contributions in organizational behavior and decision-making. Since 2001, UCLA has arranged a biennial conference at Lake Arrowhead, California, that has become another major gathering point for practitioners in this field.
==Theory==
Most computational modeling research describes systems in [[Steady state|equilibrium]] or as moving between equilibria. Agent-based modeling, however, using simple rules, can result in far more complex and interesting behavior.
The three ideas central to agent-based models are social agents as objects, [[emergence]], and [[complexity]].
Agent-based models consist of dynamically interacting rule based agents. The systems within which they interact can create real world-like complexity.
These agents are:
*Intelligent and purposeful, but not so intelligent as to reach the cognitive closure implied by [[game theory]].
*[[Situated]] in space and time. They reside in networks and in lattice-like neighborhoods. The location of the agents and their responsive and purposeful behavior are encoded in [[algorithm]]ic form in computer programs. The modeling process is best described as [[inductive]]. The modeler makes those assumptions thought most relevant to the situation at hand and then watches phenomena emerge from the agents' interactions. Sometimes that result is an equilibrium. Sometimes it is an emergent pattern. Sometimes, however, it is an unintelligible mangle.
In some ways, agent-based models complement traditional analytic methods. Where analytic methods enable humans to characterize the equilibria of a system, agent-based models allow the possibility of generating those equilibria. This generative contribution may be the most mainstream of the potential benefits of agent-based modeling. Agent-based models can explain the emergence of higher order patterns -- network structures of terrorist organizations and the [[Internet]], [[power law distributions]] in the sizes of traffic jams, wars, and stock market crashes, and social segregation that persists despite populations of tolerant people. Agent-based models also can be used to identify lever points, defined as moments in time in which interventions have extreme consequences, and to distinguish among types of path dependency.
Rather than focusing on stable states, the models consider a system's robustness -- the ways that complex systems adapt to internal and external pressures so as to maintain their functionalities. The task of harnessing that complexity requires consideration of the agents themselves -- their diversity, connectedness, and level of interactions.
==Applications==
Agent-based models have been used since the mid-1990s to solve a variety of business and technology problems. Examples of applications include [[supply chain optimization]] and [[logistics]], modeling of [[consumer behavior]], including [[word of mouth]], [[social network]] effects, [[distributed computing]], [[workforce management]], and [[portfolio management]]. They have also been used to analyze [[traffic congestion]].<ref>[http://www.tfhrc.gov/advanc/agent.htm Application of Agent Technology to Traffic Simulation]. [[United States Department of Transportation]], May 15, 2007.</ref> In these and other applications, the system of interest is simulated by capturing the behavior of individual agents and their interconnections. Agent-based modeling tools can be used to test how changes in individual behaviors will affect the system's emerging overall behavior.
Other models have analyzed the spread of [[epidemics]], the threat of [[biowarfare]], the growth and decline of ancient civilizations, and the human [[immune system]].<ref>[http://www.informs-sim.org/wsc06papers/008.pdf Tutorial on agent-based modeling and simulation part 2: how to model with agents]. Association for Computing Machinery, Winter Simulation Conference, 2006.</ref>
==Methods==
A simple and accessible program for creating agent-based models is [[NetLogo]]. NetLogo was originally designed for educational purposes but now numbers many thousands of research users as well. Many colleges have used this as a tool to teach their students about agent-based modeling. A similar program, [[StarLogo]], has also been released with similar functionality. [http://www.swarm.org Swarm] was one of the first general purpose ABM systems. Swarm, developed by the [[Swarm Development Group]], uses the [[Objective C]] programming language, and is recommended for C programmers with little object-oriented programming experience. Swarm can also be implemented by [[Java (programming language)|Java]] programmers, as can [http://www.brook.edu/es/dynamics/models/ascape/ Ascape]. Both [http://cs.gmu.edu/~eclab/projects/mason/ MASON] and [[Repast (Modelling toolkit)|Repast]] are widely used, and [http://ecolab.sourceforge.net EcoLab] is suitable for [[C++]] programmers. [http://cormas.cirad.fr Cormas] is another platform, focusing on [[natural resources]] management, [[rural development]] or [[ecology]] research, based on the [[SmallTalk]] language. All the toolkits described previously are based on serial von-Neumann computer architectures. This limits the speed and scalability of these systems. A recent development is the use of data-parallel algorithms on Graphics Processing Units [[GPU]]s for ABM simulation [http://rudomin.cem.itesm.mx/~rudomin/shader-agents.htm] and [http://www.me.mtu.edu/~rmdsouza/ABM_GPU.html]. The extreme memory bandwidth combined with the sheer number crunching power of multi-processor GPUs has enabled simulation of millions of agents at tens of frames per second.
== References ==
===In-line===
{{reflist}}
===General===
* Axelrod, Robert, The Complexity of Cooperation: Agent-Based Models of Competition and Collaboration, Princeton University Press: Princeton, N.J., 1997.
* Bonabeau, Eric, Agent-based modeling: methods and techniques for simulating human systems. Proc. National Academy of Sciences 99(3): 7280-7287, 2002.
* Carley, Kathleen M., Smart Agents and Organizations of the Future. In Handbook of New Media, edited by Leah Lievrouw & Sonia Livingstone, Ch. 12 pp. 206-220, Thousand Oaks, CA, Sage. [http://www.casos.cs.cmu.edu/publications/Abstracts_All/SmartAgents_abstract.html]
* Epstein, Joshua M. and Robert Axtell, Growing Artificial Societies: Social Science From the Bottom Up. MIT Press/Brookings Institution, 1996.[http://www.amazon.com/dp/0262050536]
* Gilbert, Nigel, and Klaus Troitzsch, Simulation for the Social Scientist, Open University Press, 1999; second edition, 2005.
* Grimm, Volker, and Steven F. Railsback, Individual-based Modeling and Ecology, Princeton University Press, 2005.
* Holland, John H., "Genetic Algorithms," Scientific American, 267:66-72, 1992.
* Holland, John H., Hidden Order: How Adaptation Builds Complexity, Addison-Wesley:Reading, Mass., 1995.
* O'sullivan,D. and Haklay, M.Agent-based models and individualism: Is the world agent-based? Environment and Planning A32:1409-25,2000.
* Rudomin, B. Hernandez, E. Millan, Fragment shaders for agent animation using finite state machines, In Simulation Modelling Practice and Theory Journal, Volume 13, Issue 8 , Programmable Graphics Hardware November 2005, Pages 741-751 Elsevier,
* Sallach, David, and Charles Macal, The simulation of social agents: an introduction, Special Issue of Social Science Computer Review 19(3):245–248, 2001.
* Samuelson, Douglas A., “Designing Organizations,” OR/MS Today, December 2000.
* Samuelson, Douglas A., “Agents of Change,” OR/MS Today, February 2005.
* Samuelson, Douglas A. and Charles M. Macal, “Agent-Based Modeling Comes of Age,” OR/MS Today, August 2006.
* Sun, Ron, Cognition and Multi-Agent Interaction: From Cognitive Modeling to Social Simulation. Cambridge University Press, 2006. http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0521839645
==Agent-based model development tools==
* [http://www.altreva.com Adaptive Modeler] - [[Adaptive Modeler]] creates agent-based models for price forecasting of financial markets.
* [http://www.anylogic.com AnyLogic] - Modern and powerful simulation modeling tool, supports ABM + system dynamics + discrete event modeling
* [http://ascape.sourceforge.net/ ASCAPE]
* [http://www.econ.iastate.edu/tesfatsi/acedemos.htm Computational Laboratories and Demonstration Software for Agent-Based Modeling]
* [http://cormas.cirad.fr/indexeng.htm Cormas] ABM platform dedicated to natural resources management, rural development and ecology
* [http://www.econ.iastate.edu/tesfatsi/acecode.htm General Software and Toolkits for Agent-Based Modeling]
* [http://www.cs.gmu.edu/~eclab/projects/mason/ MASON] Fast discrete-event multiagent simulation library core in Java.
* [http://ccl.northwestern.edu/netlogo/ NetLogo] Powerful ABM platform, excellent documentation and tutorials, easy to learn
* [http://repast.sourceforge.net/ Repast]
* [http://www.swarm.org/wiki/ABM_Resources#Software_Resources Swarm ABM Resources] - ABM modeling tools
* [http://www.teamseas.com System Effectiveness Analysis Simulation (SEAS)] - The US Air Force's Multi-Agent Theater Operations Simulation
* [http://www.visualbots.com/index.htm VisualBots] - Multi-agent simulator in Microsoft Excel - Visual Basic syntax
* [http://www.me.mtu.edu/~rmdsouza/ABM_GPU.html GPU Agents] - Ultra-scalable, ultra-fast agent-based model simulator on the [[GPU]]
* [http://www.casos.cs.cmu.edu/projects/construct/index.php Construct]
* [http://www.icr.ethz.ch/research/growlab/ GROWlab] - Freely available ABM toolkit of the International Conflict Research Group at the ETH Zurich
==See also==
<div style="-moz-column-count:3; column-count:3;">
* [[ABM Software Comparison]]
* [http://agent.cse.nd.edu/abmsearchengine.php ABM Search Engine]
* [[Agent-Based Computational Economics|agent-based computational economics (ACE)]]
* [[artificial life]]
* [[artificial society]]
* [[boids]]
* [[complex system]]
* [[computational sociology]]
* [[dynamic network analysis]]
* [[emergence]]
* [[evolutionary algorithm]]
* [[Flocking (behavior)|flocking]]
* [[Generative sciences]]
* [[Multi-agent system]]
* [[simudyne]]
* [[simulated reality]]
* [[social complexity]]
* [[social simulation]]
* [[software agent]]
</div>
==External links==
'''Articles/General Information'''
* [http://www.xjtek.com/file/142 From System Dynamics and Discrete Event to Practical Agent-Based Modeling: Reasons, Techniques, Tools] Compares the three major methods in simulation modeling
* [http://www.econ.iastate.edu/tesfatsi/ace.htm Agents based computational economics] is the portal to the application of agents based models in computational economics and finance.
* [http://www.teamseas.com System Effectiveness Analysis Simulation (SEAS)] - The US Air Force's Multi-Agent Theater Operations Simulation
* [http://www.coensys.com/agent_based_models.htm How to develop agent-based models using Anylogic]
* [http://www.abmsystemsbiology.info Agent-Based Modeling for Systems Biology]
* [http://cmol.nbi.dk/models/ Agent-based models of social networks, java applets.]
* [http://www.econ.iastate.edu/tesfatsi/abmread.htm On-Line Guide for Newcomers to Agent-Based Modeling in the Social Sciences]
* [http://www-unix.mcs.anl.gov/~leyffer/listn/slides-06/MacalNorth.pdf Introduction to Agent-based Modeling and Simulation]. [[Argonne National Laboratory]], November 29, 2006.
* [http://www.abm-ecology.org Agent-based models in Ecology - Using computer models as theoretical tools to analyze complex ecological systems
* [http://www.openabm.org/site/ The Open Agent-Based Modeling Consortium] "To foster and improve the development, communication, and dissemination of agent-based models for research, practice, and education"
* [http://www.irisel.com/~jmgomez/IT/doctorate/taller_resumen2.htm Multiagent Information Systems] - Article on the convergence of SOA, BPM and Multi-Agent Technology in the domain of the Enterprise Information Systems. Jose Manuel Gomez Alvarez, Artificial Intelligence, Technical University of Madrid - 2006
'''People'''
* [http://socialcomplexity.gmu.edu/members.php Robert Axtell] - Dynamic modeling of social and economic systems
* [http://www.brookings.edu/scholars/jepstein.htm Joshua M. Epstein] - Dynamic modeling of biological, social and economic systems
* [http://people.brandeis.edu/~blebaron Blake LeBaron] - leading researcher in the field of agents based models in finance.
* [http://www.econ.iastate.edu/tesfatsi/ Leigh Tesfatsion] - Agent-Based Computational Economics
* [http://www.humboldt.edu/~ecomodel/ Steve Railsback] - Individual-/Agent-based Ecology
*[http://www.casos.cs.cmu.edu/people/faculty.php?detail=Carley,%20Kathleen%20M.&ID=42 Kathleen Carley] - Dynamic Modeling of social and cultural systems, and social networks
'''Organizations'''
* [http://www.santafe.edu Santa Fe Institute]
* [http://www.swarm.org Swarm Development Group] ABM tools initially developed at Santa Fe Institute
* [http://www.bandungfe.net The Web of Bandung Fe Institute]
* [http://ccl.northwestern.edu The Center for Connected Learning and Computer-Based Modeling]
* [http://www.brookings.edu/es/dynamics/default.htm The Center on Social and Economic Dynamics at The Brookings Institution]
* [http://www.cscs.umich.edu/ Center for the Study of Complex Systems at the University of Michigan]
* [http://socialcomplexity.gmu.edu/ The Social Complexity Center at George Mason University]
* [http://www.casos.cs.cmu.edu Center for Computational Analysis of Social and Organizational Systems (CASOS) at Carnegie Mellon]
'''Journals'''
* [http://www.springer.com/business/business+for+professionals/journal/10588 Computational and Mathematical Organization Theory]
* [http://jasss.soc.surrey.ac.uk/JASSS.html Journal of Artificial Societies and Social Simulation]
'''Mailing Lists'''
* [http://www.jiscmail.ac.uk/lists/simsoc.html SIMSOC] News and discussion about computer simulation in the social sciences
[[Category:Computational models]]
[[Category:Complex systems theory]]
[[Category:Scientific modeling]]
[[de:Agentenbasierte Modelle]]
[[es:Modelo basado en agente]]
[[pl:Programowanie agentowe]]
[[ru:Агентное моделирование]]
[[sv:Agentbaserad modell]]