Agent based model

From Wikipedia, the free encyclopedia

Agent Based Model is a specific individual based computational model for computer simulation extensively related to the theme in complex systems, emergence, Monte Carlo Method, computational sociology, multi agent systems, and evolutionary programming.

Contents

[edit] History

The model was developed through a simple conceptual form in the late 1940s, and it took the advent of the microcomputer to really get up to speed.

The idea is to construct the computational devices (known as agents with some properties) and then, simulate them in parallel to model the real phenomena. The process is one of emergence from the lower (micro) level of the social system to the higher level (macro).

The history of the agent based model can be traced back to the 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 Stanislaw 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 brought by mathematician, John Conway. He constructed the well-known Game of Life. Unlike the 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 birth of agent based model as a model for social systems was primarily brought by a computer scientist, Craig Reynolds. He tried to model the reality of lively biological agents, known as the artificial life, a term coined by Christopher Langton.

[edit] Theory

The predominant methodological approach to research involving computational modeling characterizes most systems as in equilibrium or as moving between equilibria. But agent based modeling, 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 therefore create complexity like that which we see in the real world. These agents are:

  • intelligent and purposeful, but they are not so smart as to reach the cognitive closure implied by game theory.
  • situated in space and time. They reside in networks and on lattice like neighborhoods. The situatedness of the agents and their responsive, purposeful behavior are encoded in algorithmic 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, alas, it is an unintelligible mangle.

On some levels, agent based models complement traditional analytic methods. Whereas, analytic methods enable us to characterize the equilibria of a system, agent based models allow us to explore 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 segregation despite populations of tolerant people. Agent based models also can be used to identify lever points, moments in time in which interventions have extreme consequences, and to distinguish among types of path dependency.

Rather than focus on an equilibrium's stability -- the idea that a process returns to that equilibrium – we consider instead a system's robustness -- the idea that the system adapts to internal and external pressures so as to maintain functionalities. The task of harnessing that complexity requires consideration of the agents themselves -- their diversity, connectedness, and level of interactions.

[edit] Commercial 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 and social network effects; distributed computing; workforce management; traffic management; and portfolio management. 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 overall, emergent system behavior.

[edit] 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. Swarm was one of the first general purpose ABM system. Swarm uses the Objective C programming language, and is recommended for C programmers with little object oriented programming experience. Swarm can also be programmed in Java. For Java programmers, MASON and Repast are widely used, and EcoLab is suitable for C++ programmers. Cormas is another platform, based on the SmallTalk language.

[edit] Agent based model development tools


[edit] See also

[edit] External links

In other languages