Computational modeling is not: simulation

Computational modeling and simulation have many similar things in common. They both involve using computers, they both use encoded descriptions of how things work, they both “run” one or (usually) many times.  The easiest way to see how they differ is to note their very different goals.

Simulations are run for the purpose of making specific predictions. The rules can make sense, but this is not necessary.  A simulation is judged by whether or not the predictions are accurate. The results can be very sensitive to all kinds of things.

Computational models are run for the purpose of understanding general principles and, hopefully, generating testable hypotheses. The rules are simple compared to the “real” rules, but must make sense. A computational model is judged by the same standard as any other formal model, by how interesting and general its results are.  As such, the results should be robust to changes in all kinds of things.

A simulation can be based on a thousand equations. Suppose Equation 462 ends in “+ 7”. One might ask, “Why ‘+ 7’?”  An appropriate response for a simulation is “If we change it to some other value, it doesn’t work.”  This is not a good response for a computational model; a computational model that breaks so easily is too fragile, and therefore not general enough to be useful.

Wikipedia gets this right when defining computational modeling, but exactly wrong with two of its examples: weather forecasting and flight simulators.

Different folks use these words differently, and that’s fine. My point is that there is a difference between these two goals (prediction v. understanding) and the difference in goals leads to different choices in the practice of each.

Leave a Reply