

In acellular automaton, aGarden of Eden is a configuration that has no predecessor. It can be theinitial configuration of the automaton but cannot arise in any other way.John Tukey named these configurations after theGarden of Eden inAbrahamic religions, which was created out of nowhere.[2]
A Garden of Eden is determined by the state of every cell in the automaton (usually a one- or two-dimensional infinitesquare lattice of cells). However, for any Garden of Eden there is a finite pattern (a subset of cells and their states, called anorphan) 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 higherdimensions this is anundecidable problem. Nevertheless, computer searches have succeeded in finding these patterns inConway's Game of Life.
The Garden of Eden theorem ofMoore andMyhill asserts that a cellular automaton on the square grid, or on a tiling of any higher dimensionalEuclidean space, has a Garden of Eden if and only if it hastwins, two finite patterns that have the same successors whenever one is substituted for the other.
Acellular 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 infinitesquare 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 (theneighborhood 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.Aconfiguration of the automaton is an assignment of a state to every cell.[3]
Thesuccessor of a configuration is another configuration, formed by applying the update rule simultaneously to every cell.[4]Thetransition function of the automaton is the function that maps each configuration to its successor.[3]If the successor of configurationX is configurationY, thenX is apredecessor ofY.A configuration may have zero, one, or more predecessors, but it always has exactly one successor.[4]A Garden of Eden is defined to be a configuration with zero predecessors.[5]
Apattern, for a given cellular automaton, consists of a finite set of cells together with a state for each of those cells.[6] 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.[6]
For one-dimensional cellular automata, Gardens of Eden can be found by an efficientalgorithm 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 anundecidable problem, meaning that there is no algorithm that can be guaranteed to terminate and produce the correct answer.[7] 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 ofbrute-force search prohibitively expensive, even for relatively small sizes of patterns.[8]
Jean Hardouin-Duparc (1972–73,1974) pioneered a more efficient computational approach for finding orphan patterns. His method is based on the theory offormal 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 anondeterministic 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 thecomplementary set, the patterns that do not have predecessors, by converting the nondeterministic finite state machine to adeterministic finite automaton by using thepowerset 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.[9]
Martin Gardner creditsAlvy Ray Smith with the observation that the Garden of Eden theorem applies toConway'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 a9 × 33 rectangle, was identified as a candidate to be a Garden of Eden by Roger Banks in 1971, and then verified by an exhaustivebacktracking search for predecessors.[1]Subsequently, Hardouin-Duparc used his formal language approach to find the narrowest possible Gardens of Eden in Conway's Game of Life, with thebounding box for their live cells being only six cells wide.[10]
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.[11]
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.[12][13]To prove this, Kari[12] uses a topological argument, based on theCurtis–Hedlund–Lyndon theorem according to which the transition functions of cellular automata are exactly the translation-invariantcontinuous functions on the space of configurations.[14] Here, continuity is defined by assigning adiscrete topology to the finite set of states of the automaton, and then using aproduct topology with one term in the product for each cell in the automaton to construct atopological space whose points are the automaton's configurations. ByTychonoff's theorem it is acompact space.[12]
For each finite pattern, the set of configurations that contain the pattern is anopen set in this topology, called acylinder.[6] The cylinders form abasis 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 theclosed map lemma for compact spaces it is aclosed 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.[12]
In a cellular automaton, two finite patterns aretwins if one can be substituted for the other wherever it appears, without changing future configurations. A cellular automaton isinjective 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 issurjective 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 areversible cellular automaton.[3]
TheGarden of Eden theorem, due toEdward F. Moore (1962) andJohn Myhill (1963), asserts that a cellular automaton in aEuclidean 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;[2] Myhill proved the converse, that an automaton with an orphan also has twins.[15]
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.[16]
The main idea of the proof of the theorem is to use acounting 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 hass different cell states, that the twin patternsP andQ both fit into ann ×n square, and that the radius of any cell's neighborhood is at mostn. Then, in order to determine whether a pattern that fits within anmn ×mn square is an orphan, one need only look at the parts of potential predecessors that fit within an(m + 2)n × (m + 2)n square and that do not contain patternQ. But there are only(sn ×n − 1)(m + 2) × (m + 2) of these potential predecessors. For sufficiently large values ofm this number is smaller than the numbersmn ×mn 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 (lettingn be the size of abounding box of an orphan) a very similar counting argument shows that the number of patterns that fit within an(m + 2)n × (m + 2)n square and do not contain an orphan is too small to provide a distinct successor to every starting pattern within anmn ×mn square, from which it follows that some two of the possible starting patterns are twins. Therefore, non-surjectivity implies local non-injectivity.[15]

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 isRule 90, the one-dimensional binary automaton whose update rule replaces each cell's state with theexclusive 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.[17]
In automata such asConway'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.[18]
In cellular automata defined over tessellations of thehyperbolic 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 theuniform hyperbolic tilings in which threeheptagons meet at each vertex, or in which fourpentagons meet at each vertex.[19]
However, the Garden of Eden theorem can be generalized beyond Euclidean spaces, to cellular automata defined on the elements of anamenable group.[20] A weaker form of the Garden of Eden theorem asserts that every injective cellular automaton is surjective. It can be proven forsofic groups using theAx–Grothendieck theorem, an analogous relation between injectivity and bijectivity in algebraic geometry.[21] More generally, the groups for which this weaker form holds are calledsurjunctive groups.[22] There are no known examples of groups that are not surjunctive.[23]
InGreg Egan's novelPermutation 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.[24]
{{citation}}: CS1 maint: ignored ISBN errors (link); reprinted inBurks, Arthur W. (1970),Essays on Cellular Automata, University of Illinois Press, pp. 187–203.