Conway's Game of Life is determined as follows. Given an arbitrary size grid where some
cells are "live",
- Any live cell with fewer than two live neighbours dies, as if caused by under-population;
- Any live cell with two or three live neighbours lives on to the next generation;
- Any live cell with more than three live neighbours dies, as if by overcrowding; and
- Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.
Life is a very popular programming project, and is a fine example of cellular automaton simulation.