Computer simulation
From Free net encyclopedia
A computer simulation or a computer model is a computer program that attempts to simulate an abstract model of a particular system. Computer simulations have become a useful part of modeling many natural systems in physics (Computational Physics), chemistry and biology, human systems in economics, psychology, and social science and in the process of engineering new technology, to gain insight into the operation of those systems. Traditionally, the formal modeling of systems has been via a mathematical model, which attempts to find analytical solutions to problems which enables the prediction of the behaviour of the system from a set of parameters and initial conditions. Computer simulations build on, and are a useful adjunct to purely mathematical models in science, technology and entertainment.
Contents |
History
Computer simulation was developed hand-in-hand with the rapid growth of the computer, following its first large-scale deployment during the Manhattan Project in World War II to model the process of nuclear detonation. It was a simulation of 12 hard spheres using a Monte Carlo algorithm. Computer simulation is often used as an adjunct to, or substitution for, modeling systems for which simple closed form analytic solutions are not possible. There are many different types of computer simulation; the common feature they all share is the attempt to generate a sample of representative scenarios for a model in which a complete enumeration of all possible states of the model would be prohibitive or impossible. Computer models were initially used as a supplement for other arguments, but their use later became rather widespread. The physicist Richard Feynman, was not fond of such models and once called them "a disease".
Types of computer simulation
Computer models can be classified according to several criteria including:
- Stochastic or deterministic (and as a special case of deterministic, chaotic)
- Continuous or discrete (and as an important special case of discrete, discrete event or DE models)
- Local or distributed.
For example:
- Stochastic models use random number generators to model the chance or random events; they are also called Monte Carlo simulations.
- A discrete event simulation (DE) manages events in time. Most computer, logic-test and fault-tree simulations are of this type. In this type of simulation, the simulator maintains a queue of events sorted by the simulated time they should occur. The simulator reads the queue and triggers new events as each event is processed. It is not important to execute the simulation in real time. It's often more important to be able to access the data produced by the simulation, to discover logic defects in the design, or the sequence of events.
- A continuous simulation uses differential equations (either partial or ordinary), implemented numerically. Periodically, the simulation program solves all the equations, and uses the numbers to change the state and output of the simulation. Most flight and racing-car simulations are of this type. This may also be used to simulate electrical circuits. Originally, these kinds of simulations were actually implemented on analog computers, where the differential equations could be represented directly by various electrical components such as op-amps. By the late 1980s, however, most "analog" simulations were run on conventional digital computers that emulate the behavior of an analog computer.
- A special type of discrete simulation which does not rely on a model with an underlying equation, but can nonetheless be represented formally, is agent-based simulation. In agent-based simulation, the individual entities (such as molecules, cells, trees or consumers) in the model are represented directly (rather than by their density or concentration) and possess an internal state and set of behaviors or rules which determine how the agent's state is updated from one time-step to the next.
- distributed models run on a network of interconnected computers, possibly through the Internet. Simulations dispersed across multiple host computers like this are often referred to as "distributed simulations". There are several military standards for distributed simulation, including Aggregate Level Simulation Protocol (ALSP), Distributed Interactive Simulation (DIS) and the High Level Architecture (HLA).
Computer simulation in science
Generic examples of types of computer simulations in science, which are derived from an underlying mathematical description:
- a numerical simulation of differential equations which cannot be solved analytically, theories which involve continuous systems such as phenomena in cosmology, fluid dynamics (e.g. climate models, roadway noise models, roadway air dispersion models) fall into this category.
- a stochastic simulation, typically used for discrete systems where events occur probabilistically, and which cannot be described directly with differential equations (this is a discrete simulation in the above sense). Phenomena in this category include genetic drift, biochemical or gene regulatory networks with small numbers of molecules. (see also: Monte Carlo method).
Specific examples of computer simulations follow:
- statistical simulations based upon an agglomeration of a large number of input profiles, such as the forcasting of equilibrium temperature of receiving waters, allowing the gamut of meteorological data to be input for a specific locale. This technique was developed for thermal pollution forecasting .
- agent based simulation has been used effectively in ecology, where it is often called individual based modeling and has been used in situations for which individual variability in the agents cannot be neglected, such as population dynamics of salmon and trout (most purely mathematical models assume all trout behave identically).
- computer simulations have also been used to formally model theories of human cognition and performance, e.g. ACT-R
- a computer simulation using molecular modelling for drug discovery was developed Quantum 3.1 to achieve the level of accuracy of simulation equal to the chemical or in-vitro tests.
Notable, and sometimes controversial, computer simulations used in science include: Donella Meadows' World3 used in the Limits to Growth, James Lovelock's Daisyworld and Thomas Ray's Tierra.
Computer simulation in practical contexts
Computer simulations are used in a wide variety of practical contexts, such as:
- analysis of air pollutant dispersion using atmospheric dispersion modeling
- design of complex systems such as aircraft and also logistics systems.
- design of Noise barriers to effect roadway noise mitigation
- flight simulators to train pilots
- weather forecasting
The reliability and the trust people put in computer simulations depends on the validity of the simulation model, therefore verification and validation are of crucial importance in the development of computer simulations. Another important aspect of computer simulations is that of reproducibility of the results, meaning that a simulation model should not provide a different answer for each execution. Although this might seem obvious, this is a special point of attention in stochastic simulations, where random numbers should actually be semi-random numbers. An exception to reproducibility are human in the loop simulations such as flight simulations and computer games. Here a human is part of the simulation and thus influences the outcome in a way that is hard if not impossible to reproduce exactly.
Computer graphics can be used to display the results of a computer simulation. Animations can be used to experience a simulation in real-time e.g. in training simulations. In some cases animations may also be useful in faster than real-time or even slower than real-time modes. For example, faster than real-time animations can be useful in visualizing the buildup of queues in the simulation of humans evacuating a building. Furthermore, simulation results are often aggregated into static images using various ways of scientific visualization.
See also
- experiement in silico
- Social simulation
- Earth Simulator
- parallel simulation
- distributed simulation
- SIMCOS
- Artificial life
- VisSim
- ACT-Rcs:Počítačová simulace
pl:Symulacje komputerowe de:Computersimulation fi:Tietokonesimulointi fr:Simulation informatique nl:Computersimulatie zh:计算机模拟