In Chapter 3, Wolfram goes through some simple programs/machines that generate complex results at a certain threshold of complexity in the rules.
What we find with each of the simple programs is that after we reach the threshold of complexity, the addition of further rules/states does not ultimately change the behavior that is seen. This is a very important theme that runs through the book.
We’ll go through each section of the book and summarize the simple programs that are described. In subsequent blog posts, we’ll go through some code examples so that you can experiment with them yourself.
Their description from the book:
Mobile automata are similar to cellular automata except that
instead of updating all cells in parallel, they have just a single “active
cell” that gets updated at each step—and then they have rules that
specify how this active cell should move from one step to the next. [p. 71]
For the most part, mobile automata rules are very repetitive and regular. You have to extend the rules the point where neighbor of the current active cell is taken into account when updating before you see any apparent randomness.
In fact, one can find a mobile automaton where the movement of the active cell is itself apparently random, though it’s very rare. Why is it very rare to find apparent randomness in mobile automata, but not in cellular automata? In order to consider this further, Wolfram looks at generalized mobile automata.
The basic idea of … generalized mobile automata is to allow
more than one cell to be active at a time. And the underlying rule is
then typically set up so that under certain circumstances an active cell
can split in two, or can disappear entirely. [p. 76]
One sees immediately that the more cells that are active, the more likely one sees complex behavior. And this makes sense. Use the following “thought” diagram:
MOBILE AUTOMATA——————————– – CELLULAR AUTOMATA
(one active cell)———- – (many active cells)——– (all active cells)
[no complexity]———- – [some complexity]—— – [most complexity]