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. [1]
A pseudo still life consists of two or more adjacent islands (connected components) which can be partitioned (either individually or as sets) 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. [2]
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 (i.e. that most likely to be generated from a random initial state) is the block. [3] A pair of blocks placed side-by-side (or bi-block) 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 (or beehive). [3] Hives are frequently created in (non-interacting) sets of four, in a formation known as a honey farm.
The third most common still life is the loaf. [3] Loaves are often found together in a pairing known as a bi-loaf. Bi-loaves themselves are often created in a further (non-interacting) 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 (a pun on bow tie, which it superficially resembles). Similarly, a pair of ships can be combined into a ship tie.
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 (often a glider, spaceship, or the debris from a more complicated reaction) and returns to its original state after the collision. Many examples exist, with the most notable being the fish-hook (Also known as eater 1), 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.
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 (sequences A019473 and A056613 respectively in the On-Line Encyclopedia of Integer Sequences (OEIS)). [4] [5]
Live cells | Strict still lifes | Pseudo still lifes | Examples [1] |
---|---|---|---|
1 | 0 | 0 | |
2 | 0 | 0 | |
3 | 0 | 0 | |
4 | 2 | 0 | Block, tub |
5 | 1 | 0 | Boat |
6 | 5 | 0 | Barge, beehive, carrier, ship, snake |
7 | 4 | 0 | Fishhook, loaf, long boat, python |
8 | 9 | 1 | Canoe, mango, long barge, pond |
9 | 10 | 1 | Hat, integral sign |
10 | 25 | 7 | Block on table, boat-tie, loop |
11 | 46 | 16 | |
12 | 121 | 55 | Ship-tie[ citation needed ] |
13 | 240 | 110 | |
14 | 619 | 279 | Bi-loaf[ citation needed ] |
15 | 1,353 | 620 | |
16 | 3,286 | 1,645 | |
17 | 7,773 | 4,067 | |
18 | 19,044 | 10,843 | |
19 | 45,759 | 27,250 | Eater 2[ citation needed ] |
20 | 112,243 | 70,637 | |
21 | 273,188 | 179,011 | |
22 | 672,172 | 462,086 | |
23 | 1,646,147 | 1,184,882 | |
24 | 4,051,732 | 3,069,135 | |
25 | 9,971,377 | 7,906,676 | |
26 | 24,619,307 | 20,463,274 | |
27 | 60,823,008 | 52,816,265 | |
28 | 150,613,157 | 136,655,095 | |
29 | 373,188,952 | 353,198,379 | |
30 | 926,068,847 | 914,075,620 | |
31 | 2,299,616,637 | 2,364,815,358 | |
32 | 5,716,948,683 | 6,123,084,116 | |
33 | 14,223,867,298 | 15,851,861,075 | |
34 | 35,422,864,104 | 41,058,173,683 |
The problem of fitting an n×n region with a maximally dense still life has attracted attention as a test case for constraint programming. [6] [7] [8] [9] [10] In the limit of an infinitely large grid, no more than half of the cells in the plane can be live. [11] 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. [6] Optimal solutions are known for squares of all sizes. [12] Yorke-Smith provides a listing of known finite maximum-density patterns. [13]
The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine.
A cellular automaton is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessellation structures, and iterative arrays. Cellular automata have found application in various areas, including physics, theoretical biology and microstructure modeling.
Highlife is a cellular automaton similar to Conway's Game of Life. It was devised in 1994 by Nathan Thompson. It is a two-dimensional, two-state cellular automaton in the "Life family" and is described by the rule B36/S23; that is, a cell is born if it has 3 or 6 neighbors and survives if it has 2 or 3 neighbors. Because the rules of HighLife and Conway's Life are similar, many simple patterns in Conway's Life function identically in HighLife. More complicated engineered patterns for one rule, though, typically do not work in the other rule.
In a cellular automaton, a finite pattern is called a spaceship if it reappears after a certain number of generations in the same orientation but in a different position. The smallest such number of generations is called the period of the spaceship.
A cellular automaton (CA) is Life-like if it meets the following criteria:
In a cellular automaton, an oscillator is a pattern that returns to its original state, in the same orientation and position, after a finite number of generations. Thus the evolution of such a pattern repeats itself indefinitely. Depending on context, the term may also include spaceships as well.
Seeds is a cellular automaton in the same family as the Game of Life, initially investigated by Brian Silverman and named by Mirek Wójtowicz. It consists of an infinite two-dimensional grid of cells, each of which may be in one of two states: on or off. Each cell is considered to have eight neighbors, as in Life. In each time step, a cell turns on or is "born" if it was off or "dead" but had exactly two neighbors that were on; all other cells turn off. Thus, in the notation describing the family of cellular automata containing Life, it is described by the rule B2/S.
Day and Night is a cellular automaton rule in the same family as Game of Life. It is defined by rule notation B3678/S34678, meaning that a dead cell becomes live if it has 3, 6, 7, or 8 live neighbors, and a live cell remains alive (survives) if it has 3, 4, 6, 7, or 8 live neighbors, out of the eight neighbors in the Moore neighborhood. It was invented and named by Nathan Thompson in 1997, and investigated extensively by David I. Bell. The rule is given the name "Day & Night" because its on and off states are symmetric: if all the cells in the Universe are inverted, the future states are the inversions of the future states of the original pattern. A pattern in which the entire universe consists of off cells except for finitely many on cells can equivalently be represented by a pattern in which the whole universe is covered in on cells except for finitely many off cells in congruent locations.
Hashlife is a memoized algorithm for computing the long-term fate of a given starting configuration in Conway's Game of Life and related cellular automata, much more quickly than would be possible using alternative algorithms that simulate each time step of each cell of the automaton. The algorithm was first described by Bill Gosper in the early 1980s while he was engaged in research at the Xerox Palo Alto Research Center. Hashlife was originally implemented on Symbolics Lisp machines with the aid of the Flavors extension.
The glider is a pattern that travels across the board in Conway's Game of Life. It was first discovered by Richard K. Guy in 1969, while John Conway's group was attempting to track the evolution of the R-pentomino. Gliders are the smallest spaceships, and they travel diagonally at a speed of one cell every four generations, or . The glider is often produced from randomly generated starting configurations.
In a cellular automaton, a gun is a pattern with a main part that repeats periodically, like an oscillator, and that also periodically emits spaceships. There are then two periods that may be considered: the period of the spaceship output, and the period of the gun itself, which is necessarily a multiple of the spaceship output's period. A gun whose period is larger than the period of the output is a pseudoperiod gun.
A rake, in the lexicon of cellular automata, is a type of puffer train, which is an automaton that leaves behind a trail of debris. In the case of a rake, however, the debris left behind is a stream of spaceships, which are automata that "travel" by looping through a short series of iterations and end up in a new location after each cycle returns to the original configuration.
In cellular automata such as Conway's Game of Life, a reflector is a pattern that can interact with a spaceship to change its direction of motion, without damage to the reflector pattern. In Life, many oscillators can reflect the glider; there also exist stable reflectors composed of still life patterns that, when they interact with a glider, reflect the glider and return to their stable state.
In the mathematical study of cellular automata, Rule 90 is an elementary cellular automaton based on the exclusive or function. It consists of a one-dimensional array of cells, each of which can hold either a 0 or a 1 value. In each time step all values are simultaneously replaced by the exclusive or of their two neighboring values. Martin, Odlyzko & Wolfram (1984) call it "the simplest non-trivial cellular automaton", and it is described extensively in Stephen Wolfram's 2002 book A New Kind of Science.
In Conway's Game of Life and similar cellular automaton rules, a spark is a small collection of live cells that appears at the edge of some larger pattern such as a spaceship or oscillator, then quickly dies off.
In Conway's Game of Life, the speed of light is a propagation rate across the grid of exactly one step per generation. In a single generation, a cell can only influence its nearest neighbours, and so the speed of light is the maximum rate at which information can propagate. It is therefore an upper bound to the speed at which any pattern can move.
Brian's Brain is a cellular automaton devised by Brian Silverman, which is very similar to his Seeds rule.
Life without Death is a cellular automaton, similar to Conway's Game of Life and other Life-like cellular automaton rules. In this cellular automaton, an initial seed pattern grows according to the same rule as in Conway's Game of Life; however, unlike Life, patterns never shrink. The rule was originally considered by Toffoli & Margolus (1987), who called it "Inkspot"; it has also been called "Flakes". In contrast to the more complex patterns that exist within Conway's Game of Life, Life without Death commonly features still life patterns, in which no change occurs, and ladder patterns, that grow in a straight line.
In Conway's Game of Life and related cellular automata, a spacefiller is a pattern that spreads out indefinitely, eventually filling the entire space with a still life pattern. It typically consists of three components: stretchers that resemble spaceships at the four corners of the pattern, a growing boundary region along the edges of the pattern, and the still life in the interior pattern.
Critters is a reversible block cellular automaton with similar dynamics to Conway's Game of Life, first described by Tommaso Toffoli and Norman Margolus in 1987.