Sunday, February 15, 2009

What is Simulation?

Simulation, as used in this blog, is a dynamic model of a real-world system, implemented in software. Let's look at each of the important words in this definition:

Dynamic: There is an element of time.
  • The model receives inputs at specific points in time.
  • These inputs might affect the outputs of the model at the time the inputs are received, or at a later time.
  • If the inputs affect the outputs at a later time, then the model must be able to store inputs for later use.
  • The way that inputs affect the model is via behaviors, which are rules.
  • The outputs of a model at a certain time point may be used as inputs to the model in the next time point. This is called feedback.
  • The delayed effect of inputs via feedback allows simulations to exhibit behavior that is not explicitly described by the model. This is known as emergent behavior.

Model: A simplified description of behavior. There are many ways to create models. The dominant approaches are
  • Equations, which try to capture some fundamental truth about the universe, such as the way two objects attract each other via gravity.
  • Top-down system-dynamic models implement behavior in terms of boxes that implement some kind of behavior (usually storing a quantity) and arrows which allow the quantity to flow between the boxes.
  • Regression is a technique that compares inputs to outputs and looks for correlations among the two. Unlike equations and system dynamics, regression does not assume any sort of behavior beyond correlation.
  • Bottom-up agent-based models create the individual objects that comprise a system, give these objects behaviors, and allow the objects to interact.
This blog deals with agent based models (ABM) specifically. In another post I will discuss why I feel these are the most effective way to model complex, real-world systems.

Real-World: The physical world in which we exist.

System: An set of interacting objects.

Software: A dynamic model could be implemented in three ways:
  1. In a tangible physical system like an orrey (mechanial model of the solar system).
  2. In a purely information-based model hosted in a computer.
  3. In a purely information-based model hosted in a human mind

No comments:

Post a Comment