Can we predict the future? This explorable contains a famous Cellular Automaton (CA): John Conway's "Game of Life". This is an excellent example of how even very simple model "rules" can yield complex behaviours when units interact spatially, making it hard to predict what will happen next.

This explorable was published in: Wortel & Textor. eLife 2021;10:e61288. doi:10.7554/eLife.61288.

Like Cellular Potts Models (CPMs), Cellular Automata (CAs) are discrete-space models that "live" on a grid; although CA cells typically occupy only a single grid point where CPMs describe cell shape at higher resolutions by letting cells occupy multiple, adjacent grid points. Still, just like in the CPM, the changes of the CA grid are defined by a set of rules.

The CA we will consider here is a relatively simple one called the Game of Life, designed in 1970s by mathematician John Conway. Conway wanted to build a Cellular Automaton that yielded "interesting" behaviours that are not easy to predict. He succeeded (as we'll see below). Nevertheless, the rules underlying these non-trivial outcomes are surprisingly simple:

- Each pixel $p$ on the grid can be in one of two states: "empty" ($p=0$), or "occupied" ($p=1$).
- At every time point $t$, we evaluate each pixel's
Moore neighborhood
(its 8 neighbors, including diagonal neighbors) to determine its state at time $t+1$:
$$p(t+1) = \begin{cases} 0 & \text{if } p(t) = 1, \# \text{occupied neighbors} \leq 1 \\ 0 & \text{if } p(t) = 1, \# \text{occupied neighbors} \geq 4 \\ 1 & \text{if } p(t) = 0, \# \text{occupied neighbors exactly } 3 \\ p(t) & \text{otherwise} \end{cases}$$

That's it! You can see the rules in action below, where we always predict the change of the middle pixel:

Note that the Game of Life is *deterministic*: when we know the current
state of the grid, we always know exactly what it will look like in the next step;
there is no chance involved. Nevertheless, as we'll see below, the outcomes over time
can be quite unpredictable...

As the Game of Life is deterministic, its outcome depends solely on the initial configuration of the grid. Nevertheless, it is not easy to predict from such an initial setting what its long-term outcome will be.

The Game of Life is quite rich in the types of patterns it allows, such as:

**Static patterns**: these are "stable" configurations, in which each pixel's neighborhood satisfies the fourth condition of the rules described above such that $p(t) = p(t+1)$;**Periodic patterns**: these configurations*do*change, but do so in such a way that they eventually return where they started. They can keep going endlessly;**Moving patterns**: these configurations don't just oscillate, but also translate actively across the grid.

Below, you can explore the different types of patterns that occur in the Game of Life.

Suggestions:

- Set the initial settings to "static". Nothing should happen. Verify for yourself that every pixel satisfies the fourth rule, such that $p(t+1)=p(t)$
- Now choose "periodic" in the dropdown menu. You'll see three different periodic patterns. Note that it can take quite a few steps before a periodic pattern returns to its initial state: this is what happens in the blue example on the right. Can you count its "period" (the number of steps it takes to return its initial value)?
- If you are ready for some action, now is the time to try one of the "Moving" configurations. You should see that these patterns are also periodic, but unlike before their center of mass now changes along the way. Can you count their period? What happens when the moving unit reaches the grid border?
- Now start from the "Random" initial settings and observe (you can do this multiple times by clicking "reset" when you are ready). You should note that some settings rapidly go to a stable configuration, while others keep moving. Also note that "static" and "periodic" patterns may arise temporarily on the grid, only to decay again when they are "hit" by a moving unit. Which of the patterns described above can you spot?

To conclude, here's an example with a larger grid, running at a somewhat faster pace:

Hit reset and try to predict what the end result will be. Can you?

Even a relatively simple model (with just a few deterministic rules) can produce complex behaviours and spatial patterns. Just imagine what that means for biology, where even the rules themselves already are complicated...