Conway's Game of Life
| || |
Cellular Automata (CA) are simple programs consisting of an N-dimensional array of cells, a set of states, and a rule-set that defines how the cells change their state. The rule used to decide which cells "live" or "die" after each time step is what makes one CA different from other CAs. John Conway, a British mathematician, discovered the rule for the particular CA seen above. Conway's Game of Life, as it's come to be known by, has become the most popular CA in known history because its simple rule set leads to some very complicated and interesting behavior. The rule-set works as follows: an alive (red) cell will die because of isolation when it has less than two alive neighbors. An alive cell will also die because of over-population when more than three of its neighbors are alive. A dead (white) cell will come to life when exactly three of its neighbors are alive. That's it. That's the whole rule-set. And with it, we see things like patterns of cells that form stable groups, cells that cycle to repeat the same patterns infinitely, and even groups of cells that glide across the screen like some sort of living organism. In fact, Conway's Game of Life has been proven to be as powerful as any known computational device known. In computational terms, this is known as a Turing Complete system. More details about Conway's Game of Life can of course be found at Wikipedia
To toggle a cell's state, simply click on it. You probably won't notice a change unless you have the applet paused. Clicking on the box to the right of Pause will pause the applet, clicking the Restart box will reinitialize to board to a random state, and the Clear box will set all cells to the dead state. The speed at which the applet refreshes can also be altered by clicking the - and + symbols next to Speed. The best way to interact with the applet is to pause it, clear it, and then click on the cells within the grid. Doing this allows you to start off with any initial configuration you would like. Once you've clicked some of the cells, unpause the applet and see what your initial configuration produced. A Google search will reveal many websites that show various initial configurations that can be used to get some pretty amazing behaviors.