Last Updated:   Mar / 18 / 2013


1D Cellular Automata Simulator

© 2012 Aaron Vose and Paul Giblock







Download the current version with source code here:

casim-0.0.5.tar.gz
casim1d-0.0.3.tar.gz


I suppose this page will house the Cellular Automata simulator related tools written for COCS 527 taught by Dr. MacLennan at UTK. He did allow students to use the CA simulator of their choice, but Paul and I found most of the extant tools to be severly lacking in one or more respects. Thus we created our own simulator with the following features and advantages:

  • Our GUI clearly displays the CA rule table along with a number of statistics based on the rules, such as lambda, lambda_T, entropy, and entropy_T. This allows one a real-time view of the CA rules and their properties.

  • All the lambda/etc. values are also written to the standard output log when a classification is chosen. Thus, recording of the CA rule table and dependent statistics is extremely easy.

  • Class I simulations are easily detected by our simulator, however Class II simulations can often look chaotic without much repetition. Our simulator has an adjustable history check to see if the newest created state matches any previous one, even if there has been a rotation -- this allows easy detection of slow moving horizontal gliders. Thus our simulator is able to identify Class II CA runs that would easily be incorrectly classified as Class III.

  • The ability to export the cell space as an encapsulated postscript (EPS) image, as well as resuming from these same EPS files. These are vectorized images appropriate for display at any DPI.

  • When one clicks with the left mouse button in the cell or cell history display area, a "zoom box" overlay is displayed which shows a much closer view of the area under the mouse. One can also click and drag for this feature as well. Numerical cell values are also displayed.




2D Cellular Automata Simulator:

© 2012 Aaron Vose and Paul Giblock







The 2D CA simulator below implements an "Activator/Inhibitor" model for each cell where other cells within an internal area contribute to the activation of the cell, while cells in an outer area contribute to the inhibition of the cell.

The 2D simulator has a very similar code base as the 1D version, so both the 1D and 2D CA simulators have been merged into one package. Both the 1D and the 2D versions of the simulators are contained in the one package below.

Download the current version with source code here:


casim-0.0.5.tar.gz


Some Features of the 2D CA simulator include:

  • The ability to automatically detect convergence and calculate a number of measures of the cell state once converged, such as correlation, entropy, and mutual information at a number of lengths.

  • Fully interactive GUI with zoom, play, pause, restart, as well as an output of statistics to the GUI and optionally to stdout once convergence has been achieved.

  • Ability to export/inport state to/from EPS vector image files.

  • Batch mode to bypass the GUI and output to stdout and if desired an EPS of the converged state. This helps to run the simulator from the CLI or scripts to collect data on a larger scale or just on machines without a framebuffer.



Hopfield Neural Network Simulator

© 2012 Aaron Vose and Paul Giblock



hopfield.mpeg



Download the current version with source code here:

casim-0.0.6.tar.gz


This simulator proceses a Hopfield neural network where each cell / neuron is connected to all others by a weight depending on the two neurons that are connected. Images or patterns in BMP format are imprinted into the weight matrix at the beginning of the simulation, which will largely dictate the behaviour of the neural network from that point on.

Even though neural networks are a bit different than cellular automata, there is still a very strong connection between the two. Neural nets have neurons / cells, their state is updated based on the state of the other neurons / cells according to some update rule, etc. CAs and NNs are similar enough in concept and implementation framework that the casim package has no problem including neural networks in the CA framework.

  • Our GUI clearly displays the state of the cells / neurons, and allows one to modify their state with the mouse as a drawing tool: left mouse drawns red, right mouse draws blue. This feature allows one to see how the Hopfield network reacts in real-time to changes in neuronal state.

  • Once the neural network has reached convergence, all the needed stats are also written to the standard output log. Thus, recording of all needed stats is made very easy.

  • The ability to export the neuron cell space, the embeded patterns, and the weight matrix as an single encapsulated postscript (EPS) image, as well as resuming from these same EPS files. These are vectorized images appropriate for display at any DPI.