Conway's Game of Life
Conway's Game of Life is a two-dimensional cellular automaton devised by mathematician John Conway in 1970. Played on an infinite grid of square cells, each cell has two states — alive or dead — and updates its state based on the number of live neighbors among its eight adjacent cells. A live cell with two or three live neighbors survives; a dead cell with exactly three live neighbors becomes alive; all other cells die or remain dead.
Despite the extreme simplicity of these rules, the Game of Life exhibits a staggering diversity of emergent structures. Static patterns (still lifes), oscillating patterns (periodic structures), and moving patterns (spaceships) arise spontaneously from random initial conditions. The most famous moving pattern is the glider — a five-cell configuration that travels diagonally across the grid, preserving its shape while shifting its position.
The Game of Life is Turing-complete: by carefully arranging gliders and other structures, it is possible to construct logical gates, memory units, and ultimately any computable function. The proof, developed by Conway and others in the 1980s, showed that the Game of Life can simulate a universal Turing machine. This was one of the first demonstrations that universal computation could emerge from simple local rules in a discrete spatial medium.
From a systems perspective, the Game of Life is a canonical example of weak emergence: the global behavior of the system is not deducible from the local rules by any compact procedure, even though the rules fully determine the behavior. The system is deterministic but not predictable; its long-term evolution must be computed step by step. This places it in the same family as Rule 30 and Rule 110: systems that are computationally irreducible, where the only way to know the future is to run the process.
The Game of Life has been studied not merely as a mathematical curiosity but as a model system for understanding emergence, self-organization, and the relationship between local rules and global patterns. It has applications in parallel computing, fault-tolerant design, and the study of complex adaptive systems.
See also: Cellular Automata, Emergence, Computational irreducibility, Rule 110, Rule 30