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 play with 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. He found that incredible complexity can arise out of these simple binary rules. Complex fractal repetitions and symmetries generated by some of the rules are visually fascinating. Some rules display an aesthetic that could be categorized as abstract art.

WolfCage Technical Details

WolfCage is written in CoffeeScript and transpiled to native JavaScript. WolfCage works in most modern browsers.

WolfCAGE is open source under the MIT license. Check out the (WolfCage GitHub)[] page for the source code and README.

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.

A Note on The Legacy of ANKOS

A New Kind of Science is very controversial in the math and science communities. Peppered throughout the book are claims that the complexity created by the rules can be cross-applied to many other scientific domains. Many critics have noted that much of this cross-domain analysis is only visually or anecdotally asserted with little formal scientific evaluation or proof. Whether or not these critiques are valid, a few of the cellular automata have proven to have some fascinating applications.

  • Rule 30 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.

Stephen Wolfram claims to have used the theoretical underpinnings of ANKOS to develop Wolfram|Alpha. If so, ANKOS has clearly expanded the envelope of computational complexity in a variety of interesting directions. Wolfram|Alpha is a fantastic tool with an extremely easy-to-use natural language interface, providing access to both stored data and its own calculation engine.