Tuesday, August 3, 2010

Agent-Based Modeling and Simulation


From a modeling and simulation perspective, one novel way to perform movement (or C2) is to employ a polyagent modeling construct to produce emergent planning behavior. A polyagent is a combination of a persistent agent (an avatar) supported by a swarm of transient agents (ghosts) that assist the avatar in generating and assessing alternative (probabilistic) futures. The ghosts in the model employ pheromone fields to signal, identify, and act on threats and opportunities relative to the goals, which are then reported back to the avatars for integration and decision-making. I did some work back in 2006 for the Army Space and Missile Defense Command using this kind of agent-based modeling. One outcome of this was a paper in the Proceedings of the 2006 OR Society Simulation Workshop entitled “An Agent-Based Simulation of Satellite Utility for the US Army Future Force.

An avatar (I have not seen the movie)[i] is a computer user's representation of himself/herself or alter ego, whether in the form of a three-dimensional model used in computer games, a two-dimensional icon (picture) used on Internet forums and other communities, or a text construct found on early systems such as multi user domains (MUDs). It is an “object” representing the embodiment of the user. Fn is the resultant attractive force exerted by neighbor n and Dist is the distance to the target if it is known.

An Agent Based Simulation (ABS) is a computer simulation of some agent based system. ABSs are used by all kinds of scientists to build models of emergent phenomena such as flocking behavior, epidemics, social dynamics, etc. ABS is also used heavily in visual effect, often to simulate crowds and epic battles.

Most computational modeling research describes systems in 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.
  • 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 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, 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.

Verification and Validation (V&V) has always been a challenge with agent-based simulation, due to the nature of the models behavior (generating rather that characterizing a system's equilibrium). A formal approach for V&V of all agent-based models is based on building a VOMAS (Virtual Overlay Multi-Agent System), a software engineering based approach, where a virtual overlay Multi-agent system is developed alongside the agent-based model. The agents in the Multi-Agent System are able to gather data by generation of logs as well as provide run-time validation and verification support by watch agents and also agents to check any violation of invariants at run-time. These are set by the Simulation Specialist with help from the SME (Subject Matter Expert). An example of using VOMAS for Verification and Validation of a Forest Fire simulation model is given in.[ii]

VOMAS provides a formal way of Validation and Verification. If you want to build a VOMAS, you need to start designing VOMAS agents along with the agents in the actual simulation preferably from the start. So, in essence, by the time your simulation model is complete, you essentially have one model which contains two models:
  • An Agent Based Model of the intended system
  • An Agent Based Model of the VOMAS

Stay tuned for more on agent-based modeling and simulation.
_____________________________________________________
[i] In Hinduism, Avatar or Avatāra refers to a deliberate descent of a deity from heaven to earth, and is mostly translated into English as "incarnation", but more accurately as "appearance" or "manifestation".

[ii] Muaz Niazi, Qasim Siddique, Amir Hussain and Mario Kolberg, Verification & Validation Of An Agent-Based Forest Fire Simulation Model, Proceedings of the Agent Directed Simulation Symposium 2010, as part of the ACM SCS Spring Simulation Multiconference, pp142-149, Orlando, FL, April 11-15, 2010

No comments:

Post a Comment