Simulation is kind of like mathematical
role-playing.
The idea behind simulation is to solve, or at least
estimate a solution for real-world problems -- using
mainly computer arts. To accomplish this, we have to
understand both "computer arts" and the systems we're
studying. "Computer arts" doesn't just include
programming:
- mathematical modeling of phenomena that can be
represented by systems of closed-form equations
- statistical modeling of phenomena that can be
represented by distributions (the Central Limit
Theorem, which you can find in any statistics
textbook, will give a general explanation for the
conditions under which we can pretend a sample of
data is just like a normal distribution)
- solid modeling of structures or components, to
allow us to visualize spatial relationships
- guesses (and sometimes even wild-ass guesses) for
representations of phenomena we're just not sure
about :-)
Always make sure of your
assumptions.
We model and simulate design trade-offs, hoping to
understand potential real-world decisions before we
actually MAKE them. And these real-world decisions
involve dynamic behavior and randomness. Consider:
- performance optimization
- design corrections
- virtual environments; substitution for human capabilities
(this use of simulation has applications in training and
in -- ahem -- entertainment)
- implications of change over time; prediction of future
behavior
- results of experimentation
- effects of events, whether expected or not; discovery (!)
- validation, verification,
calibration (some call this last term "baselining"),
formalization
- INSIGHT -- sometimes we just want to understand how
things work
Simulation as engineers understand it often (if not usually)
involves using computers to observe the behavior of changing
systems. Because those changes are usually time-based, you'll
often find simulations to be based on dynamic equations, such
as the equations of motion of a vibratory system.
Here's a very simple simulation of 1/4 of an automobile
suspension. (Without the math.) Can you see from this diagram
what kinds of information the simulation can give you?
Here are some behaviors we create math models for
as a matter of course:
- Visible relationships between two
variables. Especially when the relationship is linear.
:-) The typical strategy is to eye-ball a line through
that data, though we might use statistical methods
(e.g. least squares) to fit something more precise.
In many cases, it's OK to remember that "better is
the enemy of good enough," and just eye-ball the
fit. But if you do that, do it twice just to make
sure of the relationship.
- Events, or the chance of some event
occurring (or not occurring) within a certain period.
The precise strategy here involves an exponential
density function. That density describes the distribution
of durations between independent but more-or-less periodic
events.
- Random numbers. Most of us use a
subroutine or canned function based on a pseudo-random
binary sequence, generally one with a VERY LONG period
so we never see the sequence repeat. :-)
- Dynamic behavior. This is to say that
the simulation is being excited by some input or internal
characteristic changing in time.
- Sorting and searching. I haven't had to
include this in a dynamic simulation often. Thank GOD.
LOL (These actions take a LONG time, relative to the others
listed here.)
The simulation results are also going to be sensitive to
- how many times we run it
- how long we run it
- what sort of precision
we use (though we have to remember that the more
precision, the longer it takes to run -- and that
this relationship isn't usually linear)
- what sort of output we require (animation will take
longer than simple numerical output, and it'll be less
transportable; but it WILL be easier to understand)
- the value we place on, well, sensitivity analysis
Limiting factors of simulation as a learning tool are:
- New users have to have some experience and a context.
- Not everybody can extract meaning from this exercise.
- Abstraction from
simulations is easier in the classroom than in
computer labs.
References
The Society for Computer Simulation
Arsham, H.
System
Simulation: The Shortest Route to Applications.
-- This site includes sample programs and nomenclature!
O'Haver, T.
Simulations
and Computer Models in the Classroom.
Plum, G. F.
The
Uses of Simulation.
Cool
animation of automobile suspension simulation -- I've
seldom seen such a detailed animated GIF, even at
howstuffworks.com!