# Foundations of Computer Science/Simulation

## Simulation

Simulation can be a very powerful way to represent real-world systems,
scenarios, and experiments. Simulation is the recreation of a real-world
system in a prepared and controlled environment. As we study different
objects and environments we see the complexity of measuring, analyzing,
and emulating events such as nature. Although it is impossible to
produce 100% accuracy and detail; the two are used to attempt to create
an environment as close as possible to mimicking real-world systems. In
order to achieve a higher level of accuracy and detail we focus on the
most important aspects of the system we hope to simulate. The higher the
granularity in detail the more likely we are to accurately predict what
will happen in a real world environment.

The three motivating factors behind using simulation instead of real
world experimentation are:

-   **Control** - Gives us the ability to explore problems that were
    utterly out of reach due to our lack of control over a real world
    situation. For example, if we are attempting to simulate a storm or
    hurricane these are events we have no control over, but studying the
    paths could be beneficial in predicting future effects and climate
    changes.
-   **Cost** - Conducting experiments in real system can be costly both
    in regards to time and money. For example, instead of automotive
    manufacturers crashing several cars for testing they can use
    simulations to mimic different car crashes, angles, and scenarios
    without spending time and money on an actual car.
-   **Safety** - Certain experiments can be dangerous or harmful and
    simulations. Scientists are able to simulate events such as virus
    outbreaks, aircraft engine failure, and even testing nuclear bomb
    material (more info on atomic bomb
    simulations).

## Modeling

Modeling is the process of describing how the components of a simulation
looks and behaves. During this process we model the behavior and
interactions of all components. Although we are using loose
approximations these simulated versions can be a surprisingly accurate
recreation of the real world system.

