This is an Applet for a universal cellular automaton. It wrote it to prove the interesting theories in the book "A new kind of science", by Stephen Wolfram (the inventor of Mathematica). This Applet is universal, because you can edit the rules instead of having some hardcoded rules. In the rule editor you can specify the color of the resulting cell, depending on the current cell color and neighbour cell colors. All rules are applied parallel from one to the next generation.
You can enter a number instead of editing with the mouse, because every rule is coded as one bit. There are many different automatons you can test with the Applet:
grid geometry | different automatons |
---|---|
squares | 2^32 = 4294967296 |
hexagons | 2^128 = 340282366920938463463374607431768211456 |
squares with 8 neighbours | 2^512 = 13407807929942597099574024998205846127479365820592393377723561443721\ 76403007354697680187429816690342769003185818648605085375388281194656\ 9946433649006084096 |
Here are some interesting rules. Copy and paste it to the rules textbox, select the grid geometry and click the Apply button.
reference | grid geometry | rule |
---|---|---|
"A new kind of science", page 371: If a cell is white, it becomes black, if exactly one of its neighbours is black. Once a cell is black, it remains black forever. | hexagons | 340282366920938463444927863362353692950 |
Conway's game of life | squares with 8 neighbours | 3121796387206642884643857416353388816364758858874716286199733 0472446065614189877003226114647900052422807841320892218511210 96915552864518716024960 (with line breaks, paste in as one line) |
a random squares test | squares | 71467286 |
Try to click and drag in the Applet area! Click the Apply button to clear the output.
That's the source: Automaton.java und AutomatonCanvas.java