Still life (cellular automaton)


In Conway's Game of Life and other cellular automata, a still life is a pattern that does not change from one generation to the next. The term comes from the art world where a still life painting or photograph depicts an inanimate scene. In cellular automata, a still life can be thought of as an oscillator with unit period.

Classification

A pseudo still life consists of two or more adjacent islands which can be partitioned into non-interacting subparts, which are also still lifes. This compares with a strict still life, which may not be partitioned in this way. A strict still life may have only a single island, or it may have multiple islands that depend on one another for stability, and thus cannot be decomposed. The distinction between the two is not always obvious, as a strict still life may have multiple connected components all of which are needed for its stability. However, it is possible to determine whether a still life pattern is a strict still life or a pseudo still life in polynomial time by searching for cycles in an associated skew-symmetric graph.

Examples

There are many naturally occurring still lifes in Conway's Game of Life. A random initial pattern will leave behind a great deal of debris, containing small oscillators and a large variety of still lifes.
The most common still life is the block. A pair of blocks placed side-by-side is the simplest pseudo still life. Blocks are used as components in many complex devices, an example being the Gosper glider gun.
The second most common still life is the hive. Hives are frequently created in sets of four, in a formation known as a honey farm.
The third most common still life is the loaf. Loaves are often found together in a pairing known as a bi-loaf. Bi-loaves themselves are often created in a further pairing known as a bakery. Two bakeries can extremely rarely form next to each other, forming a set of four loaves known as a tetraloaf alongside two more bi-loafs.
A tub consists of four live cells placed in a diamond shape around a central dead cell. Placing an extra live cell diagonally to the central cell gives another still life, known as a boat. Placing a further live cell on the opposite side gives yet another still life, known as a ship. A tub, a boat or a ship can be extended by adding a pair of live cells, to give a barge, a long-boat or a long-ship respectively. This extension can be repeated indefinitely, to give arbitrarily large structures.
A pair of boats can be combined to give another still life known as the boat tie. Similarly, a pair of ships can be combined into a ship tie.

Eaters

Still lifes can be used to modify or destroy other objects. A still life is called an eater when it can be used to absorb some other pattern and returns to its original state after the collision. Many examples exist, with the most notable being the fish-hook, which is capable of absorbing several types of spaceship. A similar device is the reflector, which alters the direction of an incoming spaceship. Oscillators with similar properties may also be called eaters or reflectors, but are more difficult to apply as they must be synchronized to the pattern they modify. Still life eaters and reflectors, on the other hand, work correctly regardless of the timing of the pattern they modify, as long as successive reactions occur with enough separation in time to allow the eater or reflector to recover its original shape.

Enumeration

The number of strict and pseudo still lifes in Conway's Game of Life existing for a given number of live cells has been documented up to a value of 34.
Live cellsStrict still lifesPseudo still lifesExamples
100
200
300
420Block, tub
510Boat
650Barge, beehive, carrier, ship, snake
740Fishhook, loaf, long boat, python
891Canoe, mango, long barge, pond
9101Hat, integral sign
10257Block on table, boat-tie, loop
114616
1212155Ship-tie
13240110
14619279Bi-loaf
15620
16
17
18
19Eater 2
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

Density

The problem of fitting an n×n region with a maximally dense still life has attracted attention as a test case for constraint programming.
In the limit of an infinitely large grid, no more than half of the cells in the plane can be live.
For finite square grids, greater densities can be achieved. For instance, the maximum density still life within an 8×8 square is a regular grid of nine blocks, with density 36/64 = 0.5625. Optimal solutions are known for squares of all sizes. Yorke-Smith provides a listing of known finite maximum-density patterns.