Modeling And Simulation Technology - Models


  1. Handling Time
    1. Continuous -- Analog computers, many real world activities.
    2. Discrete -- Digital computers, many real world activities.
      1. Uniformly spaced time steps
        1. Fixed time step intervals (may be scaled)
        2. Adjustable time steps
          1. Bigger steps while functions are well-behaved
          2. Smaller steps while function values are rapidly changing
      2. Arbitrarily spaced times (next-event times)
        1. May delay taking a step until a real-time (or scaled) clock catches up.
        2. May perform the next event step as soon as possible (ASAP)
    3. Hybrid simulations (Analog and digital) -- includes digital interfaces to the real world
      1. Sample the analog values at discrete times (A/D conversion)
      2. Increment the digital value, updating the analog values, at discrete times (D/A conversion)
  2. Deterministic Models (repeatable results)
    1. 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
      
      
    2. More complex (nonlinear) mathematical forms such as
         m' = m * v / (1 - (c2 / v2))
      
    3. Finite State Machines (FSM)
      1. A set of states
      2. Transition table of entries of the form
        <state, input, next state, output>
    4. Hybrid Dynamical System (HDS)
      1. A controlling FSM
      2. A collection of dynamical models, and which one to use is selected by the state of the FSM.
    5. Component-based models (Agent-based Models)
      1. Many components, each with a behavior model.
        1. Homogeneous Agent Models (Same model, separate state variables)
        2. Heterogeneous Agent Models (Distinct models and state variables)
      2. May be represented in many detail forms
        1. Mesh models (space-filling)
        2. Network models (graph-like interconnects and dependencies)
        3. Finite Elements (predefined component types -- may be meshes or network elements)
        4. Agent-based -- may range from simple, as in finite elements, to complex agents with contained "intelligence" models.
  3. Stochastic Forms -- characterizing randomness in behaviors of otherwise deterministic models
    1. Using random variates (random variable values from some given probability distribution) variables
      1. Randomness in a run of the model (common for games)
        1. Select a random distribution for one or more given variables
        2. Each time a new value is needed for one of the selected variables generate a new random variate from the appropriate distribution.
      2. Use multiple runs to generate aggregated behavior characterizations ( called Monte Carlo simulations)
        1. Perform a "significant" number of individual random runs (> 70)
        2. The random values selected in the runs must be "independent" from run to run.
        3. 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.
    2. Deterministically represent and propagate variability for the model variables
      1. Conventional stochastic models (Kalman filter variants, etc.)
        1. Rely on central limit theorem to justify propagating normal distributions
        2. Requires linear and bilinear form models.
      2. Markov Models -- state models with transition probabilities
      3. Bounded error models
        1. All sources of randomness must have bounded errors
        2. Must be able to propagate error intervals through all calculations in the model time steps.

Updated: 2011-01-18