I recently decided to work on improving my programming skills, so I’ve been playing around with various simulations. Here is a simple implementation of the fun cellular automaton, Conway’s game of life. Conway’s game of life is a beautiful demonstration of emergent properties in a system with very simple rules. I used numpy, scipy, and matplotlib to encode the game. The code can be found at my Github in the form of a Jupyter notebook.
The rules of life (courtesy of Wikipedia)
1) Any live cell with fewer than two live neighbours dies, as if caused by underpopulation.
2) Any live cell with two or three live neighbours lives on to the next generation.
3) Any live cell with more than three live neighbours dies, as if by overpopulation.
4) Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.