Computer Simulations in Science

Computer Simulations in ScienceWhat is Computer Simulation?A Narrow DefinitionA Broad DefinitionAn Alternative Point of ViewTypes of Computer SimulationsEquation-based SimulationsAgent-based SimulationsMultiscale SimulationsSub-grid modelingMonte Carlo SimulationsPurposes of SimulationThe Epistemology of Computer Simulations

Computer simulation was pioneered as a scientific tool in meteorology and nuclear physics in the period directly following World War II, and since then has become indispensable in a growing number of disciplines. The list of sciences that make extensive use of computer simulation has grown to include astrophysics, particle physics, materials science, engineering, fluid mechanics, climate science, evolutionary biology, ecology, economics, decision theory, medicine, sociology, epidemiology, and many others. There are even a few disciplines, such as chaos theory and complexity theory, whose very existence has emerged alongside the development of the computational models they study.


What is Computer Simulation?

No single definition of computer simulation is appropriate. In the first place, the term is used in both a narrow and a broad sense. In the second place, one might want to understand the term from more than one point of view.

A Narrow Definition

In its narrowest sense, a computer simulation is a program that is run on a computer and that uses step-by-step methods to explore the approximate behavior of a mathematical model.

This type of model would be called a computer simulation model

Computer simulations are often used either because the original model itself contains discrete equations—which can be directly implemented in an algorithm suitable for simulation—or because the original model consists of something better described as rules of evolution than as equations.

When simulations discretize equation, they can only at best closely approximate continuous equations. This is more than sufficient for a wide range of problem because a more granular temporal perspective is often not necessary.

A Broad Definition

More broadly, we can think of computer simulation as a comprehensive method for studying systems. In this broader sense of the term, it refers to an entire process. This process includes choosing a model; finding a way of implementing that model in a form that can be run on a computer; calculating the output of the algorithm; and visualizing and studying the resultant data.

An Alternative Point of View

Another approach is to try to define “simulation” independently of the notion of computer simulation, and then to define “computer simulation” compositionally: as a simulation that is carried out by a programmed digital computer. On this approach, a simulation is any system that is believed, or hoped, to have dynamical behavior that is similar enough to some other system such that the former can be studied to learn about the latter.

For example, if we study some object because we believe it is sufficiently dynamically similar to a basin of fluid for us to learn about basins of fluid by studying the it, then it provides a simulation of basins of fluid.


Types of Computer Simulations

Two types of computer simulations are often distinguished.

  1. Equation-based simulations
  2. Agent-based simulations (a.k.a. individual-based simulations)

Both are typically employed to solve three general sorts of purposes

  1. Prediction (both pointwise and global/qualitative)
  2. Understanding
  3. Exploratory or heuristic purposes

Equation-based Simulations

Agent-based Simulations

Multiscale Simulations

Multiscale simulation models, in particular, couple together modeling elements from different scales of description. A good example of this would be a model that simulates the dynamics of bulk matter by treating the material as a field undergoing stress and strain at a relatively coarse level of description, but which zooms into particular regions of the material where important small scale effects are taking place, and models those smaller regions with relatively more fine-grained modeling methods.

Two methods of multi scale simulation:

  1. Serial multiscale methods

    1. More traditional

    2. The idea here is to choose a region, simulate it at the lower level of description, summarize the results into a set of parameters digestible by the higher level model, and pass them up to into the part of the algorithm calculating at the higher level

    3. Not effective when the different scales are strongly coupled together.

      1. This requires a parallel method
  2. Parallel multiscale methods

    1. Simulates each region/scale of a system simultaneously
    2. Utilized when the different scales/regions interact strongly to produce the observed behavior

Parallel multiscale methods are the foundation of a nearly ubiquitous simulation method: so called “sub-grid” modeling

Sub-grid modeling

Sub-grid modeling refers to the representation of important small-scale physical processes that occur at length-scales that cannot be adequately resolved on the grid size of a particular simulation.

These methods are often utilized in climate science.

Monte Carlo Simulations

MC simulations are computer algorithms that use randomness to calculate the properties of a mathematical model and where the randomness of the algorithm is not a feature of the target model.

Description from this reading was less helpful than the wikipedia page


Purposes of Simulation

Three categories of purposes:

  1. To enable understanding

    1. We can further divide this category into two different sub-categories:

      1. To enable our own understanding
      2. To enable others understanding by simplifying communication to other

Often we may simulate something in order to understand a system better for ourselves, and then — given the simulation is simple enough — it can also be utilized to communicate with others. The point being that these two things may look similar, but their aim may be different.

  1. Predicting data that we do not have

    1. Point predictions

      1. "Where will planet X be on Oct. 23rd 2020?"
    2. Qualitative predictions

      1. "Is the orbit of this planet stable?"
    3. Range Predictions

      1. "It is 'highly likely' that sea level will rise by at least two feet."
  2. Generating understanding of data that we do already have

    1. i.e. Used to understand systems and their behavior
    2. If we already have data telling us how some system behaves, we can use computer simulation to answer questions about how these events could possibly have occurred; or about how those events actually did occur.


The Epistemology of Computer Simulations

Simulations are expected to be counted as epistemic peers with experiments and traditional analytic theoretical methods — can they be trusted?

The relevant question is always whether or not the results of a particular computer simulation are accurate enough for their intended purpose. If a simulation is being used to forecast weather, does it predict the variables we are interested in to a degree of accuracy that is sufficient to meet the needs of its consumers?

What justifies a simulation as useful in one instance and not another?

More generally, how can the claim that a simulation is good enough for its intended purpose be evaluated? These are the central questions of the epistemology of computer simulation (EOCS).


There is a good bit more covered in this entry which discusses different characteristics and features related to the Epistemology of Computer Simulations. I found it largely unhelpful, thus, I've left these notes out. Please visit the original entry from the Stanford Encyclopedia of Philosophy Archive (linked to at the top of the page) for these details.


Notes by Matthew R. DeVerna