A simulation is a

concrete abstraction of the

relevant features of some

real world problem.

A simulation differs from a mathematical formula in that mathematical formula are represented in abstract symbols whereas simulations are represented in symbols with a direct correspondence in the real world problem space. A good example of this is gravity: gravity can be modelled as a well known set of formula first developed by Sir Isaac Newton or a set of spheres (each representing an object in the solar system) in a machine which moves them approximately as the real world celestial bodies moves. In pre-computer eras these models were often elaborately made from brass and oak, now they are typically made on a computer.

The ultimate simulation is Albert Einstein's class of "thought experiments" in which he encouraged researchers to simulate experimental setups in their mind. In this role the imagination is the ultimate simulator.

Simulations often suffer because one of more relevant features is not included in the simulation, thus the selection of features requires some skill. Including all features is not possible (since such a simulation would be as large and complex as the real world thus both impossible to build and not an abstraction). When simulations are performed using a computer rather than the imagination or physical models it is much harder to catch these problems because the operators have less contact with what is "really" happening.

Another problem with computer simulations is that you generally need a good mathematical formulation of the problem and a reasonable idea of the starting state.