A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in which simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the simulation represents the evolution of the model over time. Another way to distinguish between the terms is to define simulation as experimentation with the help of a model. This definition includes time-independent simulations. Often, computers are used to execute the simulation.
Simulation is used in many contexts, such as simulation of technology for performance tuning or optimizing, safety engineering, testing, training, education, and video games. Simulation is also used with scientific modelling of natural systems or human systems to gain insight into their functioning,In the words of the Simulation article in Encyclopedia of Computer Science, "designing a model of a real or imagined system and conducting experiments with that model". as in economics. Simulation can be used to show the eventual real effects of alternative conditions and courses of action. Simulation is also used when the real system cannot be engaged, because it may not be accessible, or it may be dangerous or unacceptable to engage, or it is being designed but not yet built, or it may simply not exist.
Key issues in modeling and simulation include the acquisition of valid sources of information about the relevant selection of key characteristics and behaviors used to build the model, the use of simplifying approximations and assumptions within the model, and the fidelity and validity of the simulation outcomes. Procedures and protocols for model verification and validation are an ongoing field of academic study, refinement, research and development in simulations technology or practice, particularly in the work of computer simulation.
Classification and terminology
Historically, simulations used in different fields developed largely independently, but 20th-century studies of systems theory and cybernetics combined with the spreading use of computers across all those fields have led to some unification and a more systematic view of the concept.
Physical simulation refers to simulation in which physical objects are substituted for the real thing. These physical objects are often chosen because they are smaller or cheaper than the actual object or system. () Alternatively, physical simulation may refer to computer simulations considering selected laws of physics, as in multiphysics simulation.For example in computer graphics SIGGRAPH 2007 | For Attendees | Papers Doc:Tutorials/Physics/BSoD – BlenderWiki . ()
Interactive simulation is a special kind of physical simulation, often referred to as a human-in-the-loop simulation, in which physical simulations include human operators, such as in a flight simulator, sailing simulator, or driving simulator.
Continuous simulation is a simulation based on continuous-time rather than discrete-time steps, using numerical integration of differential equations.McLeod, J. (1968) "Simulation: the Dynamic Modeling of Ideas And Systems with Computers", McGraw-Hill, NYC.
Discrete-event simulation studies systems whose states change their values only at discrete times.Zeigler, B. P., Praehofer, H., & Kim, T. G. (2000) "Theory of Modeling and Simulation: Integrating Discrete Event and Continuous Complex Dynamic Systems", Elsevier, Amsterdam. For example, a simulation of an epidemic could change the number of infected people at time instants when susceptible individuals get infected or when infected individuals recover.
Stochastic simulation is a simulation where some variable or process is subject to random variations and is projected using Monte Carlo techniques using pseudo-random numbers. Thus replicated runs with the same boundary conditions will each produce different results within a specific confidence band.
Deterministic simulation is a simulation which is not stochastic: thus the variables are regulated by deterministic algorithms. So replicated runs from the same boundary conditions always produce identical results.
Hybrid simulation (or combined simulation) corresponds to a mix between continuous and discrete event simulation and results in integrating numerically the differential equations between two sequential events numerically to reduce the number of discontinuities.Giambiasi, N., Escude, B., & Ghosh, S. (2001). GDEVS: A generalized discrete event specification for accurate modeling of dynamic systems. In Autonomous Decentralized Systems, 2001. Proceedings. 5th International Symposium on (pp. 464–469). IEEE.
A stand-alone simulation is a simulation running on a single workstation by itself.
A is one which uses more than one computer simultaneously, to guarantee access from/to different resources (e.g. multi-users operating different systems, or distributed data sets); a classical example is Distributed Interactive Simulation (DIS).Petty, M. D. (April 1995). Computer-generated forces in a distributed interactive simulation. In Distributed Interactive Simulation Systems for Simulation and Training in the Aerospace Environment: A Critical Review (Vol. 10280, p. 102800I). International Society for Optics and Photonics.
Parallel simulation speeds up a simulation's execution by concurrently distributing its workload over multiple processors, as in high-performance computing.Fujimoto, R. M. (1990). Parallel discrete event simulation. Communications of the ACM, 33(10), 30–53.
Interoperable simulation is where multiple models, simulators (often defined as federates) interoperate locally, distributed over a network; a classical example is High-Level Architecture.Kuhl, F., Weatherly, R., & Dahmann, J. (1999). Creating computer simulation systems: an introduction to the high-level architecture. Prentice Hall PTR.Bruzzone A.G., Massei M., Simulation-Based Military Training, in Guide to Simulation-Based Disciplines, Vol.1. 315–361.
Modeling and simulation as a service is where simulation is accessed as a service over the web.Cayirci, E. (December 2013). Modeling and simulation as a cloud service: a survey. In Simulation Conference (WSC), 2013 Winter (pp. 389–400). IEEE.
Modeling, interoperable simulation and serious games is where serious game approaches (e.g. game engines and engagement methods) are integrated with interoperable simulation.Bruzzone, A. G., Massei, M., Tremori, A., Longo, F., Nicoletti, L., Poggi, S., ... & Poggio, G. (2014). MS2G: simulation as a service for data mining and crowdsourcing in vulnerability Reduction. Proceedings of WAMS, Istanbul, September.
Simulation fidelity is used to describe the accuracy of a simulation and how closely it imitates the real-life counterpart. Fidelity is broadly classified as one of three categories: low, medium, and high. Specific descriptions of fidelity levels are subject to interpretation, but the following generalizations can be made: Low – the minimum simulation required for a system to respond to accept inputs and provide outputs Medium – responds automatically to stimuli, with limited accuracy High – nearly indistinguishable or as close as possible to the real system
A synthetic environment is a computer simulation that can be included in human-in-the-loop simulations.
Simulation in failure analysis refers to simulation in which we create environment/conditions to identify the cause of equipment failure. This can be the best and fastest method to identify the failure cause.
Data simulation
Data simulation creates artificial data to replicate the behavior of real-world data. The artificial data is generated using computer models or programs based on specific rules, patterns, or characteristics. This type of data is designed to imitate the operations of real systems, processes, or behaviors, enabling researchers and analysts to study and test scenarios without directly observing or collecting information from the real world.
In computers
A computer simulation (or "sim") is an attempt to model a real-life or hypothetical situation on a computer so that it can be studied to see how the system works. By changing variables in the simulation, predictions may be made about the behaviour of the system. It is a tool to virtually investigate the behaviour of the system under study.
Computer simulation has become a useful part of modeling many natural systems in physics, chemistry and biology,For a popular research project in the field of biochemistry where "computer simulation is particularly well suited to address these questions"Folding@home – Main , see Folding@Home. and human systems in economics and social science (e.g., computational sociology) as well as in engineering to gain insight into the operation of those systems. A good example of the usefulness of using computers to simulate can be found in the field of network traffic simulation. In such simulations, the model behaviour will change each simulation according to the set of initial parameters assumed for the environment.
Traditionally, the formal modeling of systems has been via a mathematical model, which attempts to find analytical solutions enabling the prediction of the behaviour of the system from a set of parameters and initial conditions. 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 would be prohibitive or impossible.
Several software packages exist for running computer-based simulation modeling (e.g. Monte Carlo simulation, stochastic modeling, multimethod modeling) that makes all the modeling almost effortless.
Modern usage of the term "computer simulation" may encompass virtually any computer-based representation.
Computer science
In computer science, simulation has some specialized meanings: Alan Turing used the term simulation to refer to what happens when a universal machine executes a state transition table (in modern terminology, a computer runs a program) that describes the state transitions, inputs and outputs of a subject discrete-state machine. The computer simulates the subject machine. Accordingly, in theoretical computer science the term simulation is a relation between state transition systems, useful in the study of operational semantics.
Less theoretically, an interesting application of computer simulation is to simulate computers using computers. In computer architecture, a type of simulator, typically called an emulator, is often used to execute a program that has to run on some inconvenient type of computer (for example, a newly designed computer that has not yet been built or an obsolete computer that is no longer available), or in a tightly controlled testing environment (see Computer architecture simulator and Platform virtualization). For example, simulators have been used to debug a microprogram or sometimes commercial application programs, before the program is downloaded to the target machine. Since the operation of the computer is simulated, all of the information about the computer's operation is directly available to the programmer, and the speed and execution of the simulation can be varied at will.
Simulators may also be used to interpret fault trees, or test VLSI logic designs before they are constructed. Symbolic simulation uses variables to stand for unknown values.
In the field of optimization, simulations of physical processes are often used in conjunction with evolutionary computation to optimize control strategies.
In education and training