What if a few simple rules governed all life on earth? Audrey brought John Conway’s Game of Life to April’s evening CAMI meeting.
Below is an intro video to the Game of Life.
Life is played on a grid of square cells–like a chess board but extending infinitely in every direction. A cell can be live or dead. A live cell is shown by putting a marker on its square. A dead cell is shown by leaving the square empty. Each cell in the grid has a neighborhood consisting of the eight cells in every direction including diagonals.
To apply one step of the rules, we count the number of live neighbors for each cell. What happens next depends on this number.
- If the cell is alive, then it stays alive if it has either 2 or 3 live neighbors
- If the cell is dead, then it springs to life only in the case that it has 3 live neighbors
We started out by generating some statements that follow from the simple rules.
The game can be started with any starting formation and the rules will govern what happens.
This problem is typically investigated using computer programs as each stage is time-consuming to generate, but we started first by selecting a starting formation and generating a few life stages by hand!
We used a computer program (https://bitstorm.org/gameoflife/) to check our work and ensure we were understanding how the rules applied in each stage.
As we generated more and more stages, patterns started to emerge! We discovered still life objects that stayed static with each passing stage. The figure below is one example of a still life object. We first investigated why it did not change and then tried to come up with a different still life object that would remain static.
We also discovered oscillators, which change from step to step but eventually repeat themselves. As with the still life objects, we took a look at one example of an oscillator (pictured below) and thought about what makes it oscillate. Are there more oscillators?
After this guided investigation, we were left to explore questions that interested us. Some of us chose to explore by generating more stages on paper and others opted for the computer program.
Some lingering questions at the end of the meeting:
- What are the necessary characteristics of an oscillator? Of a still life object?
- How should you choose your starting formation?
- Do all starting formations eventually either repeat themselves or die out?
- Are there any real-world applications for this Game of Life?
- What kind of math could be applied here to answer our questions?
We may not have answered all these questions, but we all had a great time asking them.
What an intriguing meeting, wishing I had attended.
The question of what the initial configuration should be, seems so critical because it seems to dictate the subsequent behavior of the “living and dead” cells.
Something about the randomness and structure of the behavior of the cells over time suggests to me that the initial configuration should also have that admixture of random/structure.
Rather than start with an infinity large space, I’d prefer to build the space with 3-by-3 squares one at a time. Gradually tiling the infinite space by wrapping a single square to start.
For each 3-by-3 square you could use a few rules to generate random configurations. To start, you could choose a number from 0 to 8 and that would represent the number of living cells. Suppose we choose 4, randomly, then for each of the 4 cells you would need to identify their placement and could do that by choosing the number 1, 2, or 3 twice to correspond to one of the three rows and then one of the three columns. The two numbers say 1 and 3 would assign the living cells to a random location on the 3-by-3 square. Rinse and repeat the process for each of the 4 cells.
Not sure what you would do about overlap, but it’s not an insurmountable quirk.
Lastly, you could choose a rotational direction and then either 90, 180, 270, or 360 degrees to finish off how the 3-by-3 square will be oriented.
Layer it on, like you’d build a puzzle and you’ve got a highly randomized initial configuration- and from there you can let the game run its course.