Mercyhurst UniversityMath DeptDr Williams Home

Cellular Automata

Generation: 0

Algorithm Options
Torus (wrap edges)
Finite grid (edges are dead)


Moore neighborhood (all 8 neighbors included)
von Neumann neighborhood (4 adjacent neighbors)
Hexagonal neighborhood (6 neighbors, no NE or SW)

Playback Options
Rows:       Columns:

Pause     Slow     Medium     Fast

2D Cellular Automata

A two-dimensional cellular automata consists of a grid of squares, each in one of two states. The state of each cell in the next generation is determined by the states of its neighbors. In this applet, the B/S (birth/survival) notation is used to set rules for the next state of the board. For instance, if the rule is "B23/S145" then a cell that is currently dead will come to life if it has exactly 2 or 3 living neighbors, and a living cell will survive if it has exactly 1, 4, or 5 neighbors. Dead cells are shown in white and living cells in black.

There are many variations on the rules, including which neighbors are counted. Several common options are available in this applet.

You can start each game with a randomly generated field or a blank field. Click and drag on the board to change the state of cells and create a custom initial state.

About the Applet

This applet was created using JavaScript and the P5 library. No other libraries/dependencies are required. If you are having trouble viewing the applet, be sure JavaScript is enabled in your browser. Click here for instructions. Internet Explorer is not recommended for this applet.

This applet was last updated July 2019.