Essentially, a cellular automaton takes in a space of cells and outputs a new space of cells according to a fixed set of rules. For our purposes, you can imagine that the x-axis is the space of cells and the y-axis is time. Each cell is either “off” (black) or “on” (white). For the automata below, the state of each cell is determined only by the state of its neighbours and itself in the previous timestep. Despite the seeming simplicity of these rules, they produce a wide variety of interesting patterns. These are the so-called “Wolfram Elementary Automata”. There are 2^8 of them, and each corresponding rule can be described by a string of 8 zeros and ones.
Here are a few examples, where each rule is shown starting with all cells "on". You can find the code for these images here.
00010010 | 01001001 |
---|---|
01101001 | 10000001 |
10010110 | 10100101 |