In a cellular automaton, a Garden of Eden is a configuration that has no predecessor. It can be the initial configuration of the automaton but cannot arise in any other way.John Tukey named these configurations after the Garden of Eden in Abrahamic religions, which was created out of nowhere.
A Garden of Eden is determined by the state of every cell in the automaton (usually a one- or two-dimensional infinite square lattice of cells). However, for any Garden of Eden there is a finite pattern (a subset of cells and their states, called an orphan) with the same property of having no predecessor, no matter how the remaining cells are filled in.A configuration of the whole automaton is a Garden of Eden if and only if it contains an orphan.For one-dimensional cellular automata, orphans and Gardens of Eden can be found by an efficient algorithm, but for higher dimensions this is an undecidable problem. Nevertheless, computer searches have succeeded in finding these patterns in Conway's Game of Life.
The Garden of Eden theorem of Moore and Myhill asserts that a cellular automaton on the square grid, or on a tiling of any higher dimensional Euclidean space, has a Garden of Eden if and only if it has twins, two finite patterns that have the same successors whenever one is substituted for the other.
A cellular automaton is defined by a grid of cells, a finite set of states that can be assigned to each cell, and an update rule.Often, the grid of cells is the one- or two-dimensional infinite square lattice. The update rule determines the next state of each cell as a function of its current state and of the current states of certain other nearby cells (the neighborhood of the cell).The neighborhood can be an arbitrary finite set of cells, but each two cells should have neighbors in the same relative positions and all cells must use the same update rule.A configuration of the automaton is an assignment of a state to every cell.[1]
The successor of a configuration is another configuration, formed by applying the update rule simultaneously to every cell.[2] The transition function of the automaton is the function that maps each configuration to its successor.[1] If the successor of configuration X is configuration Y, then X is a predecessor of Y.A configuration may have zero, one, or more predecessors, but it always has exactly one successor.[2] A Garden of Eden is defined to be a configuration with zero predecessors.[3]
A pattern, for a given cellular automaton, consists of a finite set of cells together with a state for each of those cells.[4] A configuration contains a pattern when the states of the cells in the pattern are the same as the states of the same cells in the configuration (without translating the cells before matching them). The definition of predecessors of configurations can be extended to predecessors of patterns:a predecessor of a pattern is just a configuration whose successor contains the pattern. An orphan, then, is a pattern with no predecessor.[4]
For one-dimensional cellular automata, Gardens of Eden can be found by an efficient algorithm whose running time is polynomial in the size of the rule table of the automaton. For higher dimensions, determining whether a Garden of Eden exists is an undecidable problem, meaning that there is no algorithm that can be guaranteed to terminate and produce the correct answer.[5] Nevertheless, in many cases it is possible to use the Garden of Eden theorem (below) to infer that a solution exists and then use a search algorithm to find one.
It would be possible for a computer program to search for orphan patterns by systematically examining all finite patterns, in order by increasing size, and by testing all possible predecessors for each pattern to determine whether it is in fact an orphan. However, the number of patterns that would need to be generated to find a Garden of Eden in this way is exponential in the area of the pattern. This enormous number of patterns would make this type of brute-force search prohibitively expensive, even for relatively small sizes of patterns.[6]
pioneered a more efficient computational approach for finding orphan patterns. His method is based on the theory of formal languages, and takes an amount of time that is exponential in the width of the pattern rather than its area. The key idea is that, for any fixed width, it is possible to construct a nondeterministic finite automaton that recognizes patterns of a given width that have a predecessor. The input symbols to this machine describe each row of the pattern, and the states of the machine describe the nearby rows of possible predecessors for the part of the pattern that has been input so far. One can construct from this machine another finite state machine that recognizes the complementary set, the patterns that do not have predecessors, by converting the nondeterministic finite state machine to a deterministic finite automaton by using the powerset construction, and then complementing its set of accepting states. Once a machine recognizing the complementary set has been constructed, one may test whether the language it recognizes is empty, by searching for a path from the start state to an accepting state. This path, if it exists, gives a row-by-row description of an orphan pattern.
Martin Gardner credits Alvy Ray Smith with the observation that the Garden of Eden theorem applies to Conway's Game of Life, and proves the existence of Gardens of Eden for this rule.The first explicit Garden of Eden in Life, with its live cells fitting in a rectangle, was identified as a candidate to be a Garden of Eden by Roger Banks in 1971, and then verified by an exhaustive backtracking search for predecessors.[7] Subsequently, Hardouin-Duparc used his formal language approach to find the narrowest possible Gardens of Eden in Conway's Game of Life, with the bounding box for their live cells being only six cells wide.
The smallest known orphan pattern in Conway's Game of Life (by area of its bounding box) was found by Steven Eker in April 2016. It has 57 living cells and fits in an 8×12 rectangle.
By definition, every orphan belongs to a Garden of Eden: extending an orphan to a configuration of the whole automaton, by choosing a state for each remaining cell arbitrarily, will always produce a Garden of Eden. But the reverse is also true: every Garden of Eden contains at least one orphan.[8] To prove this, Kari[9] uses a topological argument, based on the Curtis–Hedlund–Lyndon theorem according to which the transition functions of cellular automata are exactly the translation-invariant continuous functions on the space of configurations.[10] Here, continuity is defined by assigning a discrete topology to the finite set of states of the automaton, and then using a product topology with one term in the product for each cell in the automaton to construct a topological space whose points are the automaton's configurations. By Tychonoff's theorem it is a compact space.[9]
For each finite pattern, the set of configurations that contain the pattern is an open set in this topology, called a cylinder.[4] The cylinders form a basis for the topology.As Kari observes, the collection of configurations that are not Gardens of Eden is just the image of the transition function, so by the closed map lemma for compact spaces it is a closed set. The set of Gardens of Eden, correspondingly, is an open set. Because it is open and the cylinders form a basis, the set of Gardens of Eden can be represented as a union of cylinders.Each of the cylinders in this union consists only of Gardens of Eden, so the pattern that determines each cylinder must be an orphan. If the set of Gardens of Eden is non-empty, there must be at least one cylinder in this union, so there must be at least one orphan. And any particular Garden of Eden must belong to one of these cylinders, and therefore must contain the orphan for that cylinder.[9]
In a cellular automaton, two finite patterns are twins if one can be substituted for the other wherever it appears, without changing future configurations. A cellular automaton is injective if every pair of distinct configurations of the automaton remain different after a step of the automaton, and locally injective if it has no twins. It is surjective if and only if every configuration has a predecessor; that is, if and only if it has no Garden of Eden configuration. An automaton that is both injective and surjective is called a reversible cellular automaton.[1]
The Garden of Eden theorem, due to and, asserts that a cellular automaton in a Euclidean space is locally injective if and only if it is surjective. In other words, it asserts that a cellular automaton has a Garden of Eden, if and only if it has twins. More strongly, every non-locally-injective cellular automaton has an orphan pattern. An immediate corollary is that an injective cellular automaton must be surjective. Moore proved one direction of the theorem, that automata with twins have orphans; Myhill proved the converse, that an automaton with an orphan also has twins.
In the case of Conway's Game of Life, twins are much easier to find than orphans. For instance, a five-by-five block of dead cells and a five-by-five block with its center cell live and the remaining cells dead are twins: the state of the center cell cannot affect later configurations of the pattern. Thus, in this case, the Garden of Eden theorem allows the existence of a Garden of Eden to be demonstrated much more easily than by finding an explicit orphan pattern.
The main idea of the proof of the theorem is to use a counting argument, to show that any failure of local injectivity (twin patterns) leads to an orphan pattern, and vice versa. In more detail, suppose for concreteness that the underlying lattice of the automaton is a two-dimensional square grid, that it has different cell states, that the twin patterns and both fit into an square, and that the radius of any cell's neighborhood is at most . Then, in order to determine whether a pattern that fits within an square is an orphan, one need only look at the parts of potential predecessors that fit within an square and that do not contain pattern . But there are only of these potential predecessors. For sufficiently large values of this number is smaller than the number of potential orphans. Therefore, one of the potential orphans has no predecessor and is really an orphan; that is, non-injectivity implies non-surjectivity. Conversely (letting be the size of a bounding box of an orphan) a very similar counting argument shows that the number of patterns that fit within an square and do not contain an orphan is too small to provide a distinct successor to every starting pattern within an square, from which it follows that some two of the possible starting patterns are twins. Therefore, non-surjectivity implies local non-injectivity.
The distinction between injectivity and local injectivity in the theorem is necessary, as there exist cellular automata that are locally injective but not injective. One example is Rule 90, the one-dimensional binary automaton whose update rule replaces each cell's state with the exclusive or of its two neighbors. In this automaton, every state has four predecessors, so it is not injective but also has no Garden of Eden.
In automata such as Conway's Game of Life, there is a special "quiescent" state such that a quiescent cell whose neighborhood is entirely quiescent remains quiescent. In this case one may define a "finite configuration" to be a configuration with only finitely many non-quiescent cells. Any non-locally-injective cellular automaton with a quiescent state has Gardens of Eden that are themselves finite configurations, for instance any finite configuration that contains an orphan. It may also be possible for an automaton to have a finite configuration whose only predecessors are not finite (for instance, in Rule 90, a configuration with a single live cell has this property). However, the Garden of Eden theorem does not characterize the existence of such patterns.[11]
In cellular automata defined over tessellations of the hyperbolic plane, or of higher-dimensional hyperbolic spaces, the counting argument in the proof of the Garden of Eden theorem does not work, because it depends implicitly on the property of Euclidean spaces that the boundary of a region grows less quickly than its volume as a function of the radius. There exist hyperbolic cellular automata that have twins but that do not have a Garden of Eden, and other hyperbolic cellular automata that have a Garden of Eden but do not have twins; these automata can be defined, for instance, in a rotation-invariant way on the uniform hyperbolic tilings in which three heptagons meet at each vertex, or in which four pentagons meet at each vertex.[12]
However, the Garden of Eden theorem can be generalized beyond Euclidean spaces, to cellular automata defined on the elements of an amenable group.[13] A weaker form of the Garden of Eden theorem asserts that every injective cellular automaton is surjective. It can be proven for sofic groups using the Ax–Grothendieck theorem, an analogous relation between injectivity and bijectivity in algebraic geometry. More generally, the groups for which this weaker form holds are called surjunctive groups. There are no known examples of groups that are not surjunctive.
In Greg Egan's novel Permutation City, the protagonist uses a Garden of Eden configuration to create a situation in which a copy of himself can prove that he is living within a simulation. Previously all his simulated copies had found themselves in some variant of the "real world"; although they had memories of being simulated copies living in a simulation, there was always a simpler explanation for how those memories came to be. The Garden of Eden configuration, however, cannot occur except in an intelligently designed simulation. The religious parallels are intentional.[14]
"Even if one were willing to fall back on a brute-force search, a long search time would generate only a few items, and even those would be for the most part quite uninteresting."