Wolfram elementary cellular automata are a fascinating piece of mathematics. We start with a grid of cells, where all cells are in an off state, except the middle cell of the first row, which is on. Then, we proceed and apply the following rule to compute the state of all cells below the first row.

rules

This is saying that for a given cell, we look at the three adjacent cells above it, and depending on their state the current cell will be either on or off.

As you can see, the three adjacent top cells can be in [begin-latex-inline]2^3=8[end-latex-inline] possible configurations. Therefore there is [begin-latex-inline]2^8=256[end-latex-inline] possible rules that we could apply. This is just one of them. It's called rule 30, because [begin-latex-inline](00011110)_{2} = (30)_{10}[end-latex-inline].

You can read more about this simple cellular automata on Wolfram's website:

Elementary Cellular Automaton -- from Wolfram MathWorld The simplest class of one-dimensional cellular automata. Elementary cellular automata have two possible values for each cell (0 or 1), and rules that depend only on nearest neighbor values. As a result, the evolution of an elementary cellular automaton can completely be described by a table specifying the state a given cell will have in the next generation based on the value of the cell to its left, the value the cell itself, and the value of the cell to its right. Since there are... mathworld.wolfram.com

Below is a simulation of the above rule, and somehow this very simple rule creates those intricate patterns that seem regular but also chaotic! Enter a rule number below to see them all!

Rule: