Continuous -- Analog computers, many real world activities.
Discrete -- Digital computers, many real world activities.
Uniformly spaced time steps
Fixed time step intervals (may be scaled)
Adjustable time steps
Bigger steps while functions are well-behaved
Smaller steps while function values are rapidly changing
Arbitrarily spaced times (next-event times)
May delay taking a step until a real-time (or scaled) clock
catches up.
May perform the next event step as soon as possible (ASAP)
Hybrid simulations (Analog and digital) -- includes digital interfaces
to the real world
Sample the analog values at discrete times (A/D conversion)
Increment the digital value, updating the analog values,
at discrete times (D/A conversion)
Deterministic Models (repeatable results)
Linear and bilinear forms:
Linear: x' = xA + b
Bilinear: x' = xBxT + xA + b
Where:
A and B are matrices
x`, x and b are vectors.
xT is the transpose of x
More complex (nonlinear) mathematical forms such as
m' = m * v / (1 - (c2 / v2))
Finite State Machines (FSM)
A set of states
Transition table of entries of the form
<state, input, next state, output>
Hybrid Dynamical System (HDS)
A controlling FSM
A collection of dynamical models, and which one to use is selected
by the state of the FSM.
Component-based models (Agent-based Models)
Many components, each with a behavior model.
Homogeneous Agent Models (Same model, separate state variables)
Heterogeneous Agent Models (Distinct models and state
variables)
May be represented in many detail forms
Mesh models (space-filling)
Network models (graph-like interconnects and dependencies)
Finite Elements (predefined component types -- may be meshes or
network elements)
Agent-based -- may range from simple, as in finite elements, to
complex agents with contained "intelligence" models.
Stochastic Forms -- characterizing randomness in behaviors of otherwise
deterministic models
Using random variates (random variable values from some given probability
distribution)
variables
Randomness in a run of the model (common for games)
Select a random distribution for one or more given variables
Each time a new value is needed for one of the selected variables
generate a new random variate from the appropriate distribution.
Use multiple runs to generate aggregated behavior characterizations
( called Monte Carlo simulations)
Perform a "significant" number of individual random runs (> 70)
The random values selected in the runs must be "independent" from
run to run.
Generate histograms and other useful statistical representations
of the outputs to show how the behavior ranges due to the
randomness of the internal values in the model.
Deterministically represent and propagate variability for the model
variables