What is WolfCage?
WolfCage is a Wolfram Cellular Automata Generator. It allows users to generate cellular automata in their web browser. Click here to use WolfCage.
What are Cellular Automata?
A cellular automaton is a is regular grid of cells where each cell can be in an on or off state. Neighboring cells can be altered according to a set of fixed rules. The rules are applied in discrete steps, also known as 'generations'. The original idea for cellular automata was developed by Stanislaw Ulam and John von Neumann while they were working at Los Alamos National Laboratory in the 1940's. The idea gained popularity in the 1970's with the advent of Conway's Game of Life. In Conway's cellular automata, neighboring cells 'grow' and 'die' based on simple population rules mimicing basic evolutionary processes. The following pictures show examples of Conway's Game in action.
Wolfram's Cellular Automata
In the 1980's, the physicist and mathematician Stephen Wolfram developed a framework for elementary cellular automata. As part of his research he created a naming system to categorize one-dimensional cellular automata rules called the Wolfram Code. Wolfram spent a great deal of time analyzing a 256 rule subset of the Wolfram Code and wrote A New Kind of Science (ANKOS) to present his discoveries. The premise of ANKOS is that incredible complexity can arise out of simple binary rules. Many rules are visually fascinating, offering a variety of fractal symmetries. Some of the rules have extremely unique and useful features:
- Rule 30 is chaotic and is used by Mathematica to generate large random numbers.
- Rule 110 was proven by Matthew Cook to be Turing complete, indicating that cellular automata are one of the simplest forms of Turing complete systems.
WolfCage Technical Details
WolfCage is written in CoffeeScript transpiled to native JavaScript. WolfCage works in most modern browsers.
Wolfcage Features
In addition to generating the 256 binary rules of Wolfram's code, WolfCAGE also has the following features:
- Thumnail Previews
- Choose from a list of previews to generate a specific rule.
- Top Row Editor
- Edit the top row to "seed" the generator with a different start state. You can click to enable and disable cells in the top row to experiment with different start conditions.
- Color Selector
- Change the colors of the active and inactive cells as well as the border.
Limitations of WolfCage
WolfCage is far from perfect. It uses columnar overlap for the edge calculations: when the algorithm reaches the left or right edges, the rule is applied from the cell on the other edge. This is a common and easy way to handle the edge case, but it does create odd characteristics at the bottom of some generations. Mobile users may have issues as the board that WolfCage generates is too wide for most devices.
License Information
WolfCage is open source under the MIT license. Check out the WolfCage GitHub page for the source code and README.