Projects // WolfCage

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:

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.