Using the DMC Compiler
- Dynamics Modelling and Culling -
Running the Compiler
The compiler is started with the following command:
The DMC compiler has several phases it goes through when processing
a dynamical system. Each of the phase involves "learning" a specific
aspect of the dynamics systems, such as its long term or mid term
behavior. The compiler's diagnostic output shows the progress of the
compiler in each of the stages. Some of the compilation steps also
produce graphical output to give the user an idea of what the system
looks like and how the compiler is doing. This section explains each
of the phases and how to understand the diagnostic output.
In this phase, the system is loaded into the compiler and the general properties of the system are output. The example output in this documentation is produced from running the compiler on the TiltCarSystem included with in the DMC package.
Phase 2. Bounding
In the bounding system, the dynamics are run for a while to find the range of the system variables. The results of this phase are used in the rest of the compilation process.
When this phase is complete, the bounds of all the variables is
During this phase the dynamics systems's threshold for sampling is determined. This is defined as the time that must elapse while out of view before the object's state may be sampled from the equilibrium distribution.
Included in this phase is the calculation of the equlibrium distribution looks like. This calculation is done again by running the system for a while and tracking its positions.
After the building the equibrium distribution a window with a picture of the equilibrium distribution is displayed.
The next step in this process is sampling a number of paths from the most commonly hit cells in the equilibrium distribution. The number of cells to test is displayed (in the example, 56), before the cell testing cells. Each cell is stepped forward until its distribution is sufficiently similar to the the equilibrium distribution. The median time for all of the cells to reach the equilibrium distribution is determined to be the final sampling threshold.
During the process of testing the cells, another window similar to
the equilibrium distribution window displays the distribution of the
paths in each of the cells.
This is the final, and most time consuming stage of the compilation process. This is also an incremental phase, meaning the longer this phase runs the more accurate the produced dynamics variable will be. For both these reasons, this phase has a early termination button that when pressed will complete one more round of training and output the compiled dynamics in its current state.
The DMC compiler trains several neural networks corresponding to different time steps simultaneously. Each of the time steps will be displayed in the diagnostic output. The neural networks train for the change in position over a set timestep, so before the training can begin the bounds of the change is found for each time step.
After that the training begins, and continues until the error of the network is sufficiently low.
While training, a window for each timestep show the current state of the neural networks. Each window is divided into several sections, the upper area displays the actual system, and the lower area displays the neural networks approximation. The black squares corresponds to areas in where the dynamics system does not go.