Elementary Cellular Automata

Note: This is a slightly edited reposting of an article I originally published on the Matplotlib Blog Cellular automata are discrete models, typically on a grid, which evolve in time. Each grid cell has a finite state, such as 0 or 1, which is updated based on a certain set of rules. A specific cell uses information of the surrounding cells, called its neighborhood , to determine what changes…