A cellular automaton (CA) is a model of a world with very simple physics. “Cellular” means that the world is divided into discrete chunks, called cells. An “automaton” is a machine that performs computations — it could be a real machine, but more often the “machine” is a mathematical abstraction or a computer simulation.
This chapter presents experiments Stephen Wolfram performed in the 1980s, showing that some cellular automatons display surprisingly complicated behavior, including the ability to perform arbitrary computations.
I discuss implications of these results, and at the end of the chapter I suggest methods for implementing CAs efficiently in Python.
The code for this chapter is in chap05.ipynb in the repository for this book. More information about working with the code is in Section 0.3.