Emergence Explained Abstractions 07.19
Emergence Explained Abstractions 07.19
Emergence Explained Abstractions 07.19
1 Introduction
Although the field of complex systems is relatively young, the sense of the term emer-
gence that is commonly associated with it—that micro phenomena often give rise to
macro phenomena1—has been in use for well over a century. The article on Emergent
Properties in the Stanford Encyclopedia of Philosophy [1] begins as follows.
Emergence [has been] a notorious philosophical term of art [since
1875]. … We might roughly characterize [its] meaning thus: emer-
gent entities (properties or substances) ‘arise’ out of more funda-
mental entities and yet are ‘novel’ or ‘irreducible’ with respect to
them. … Each of the quoted terms is slippery in its own right.
In a 1998 book-length perspective on his life’s work [2], John Holland, the inventor of
genetic algorithms and one of the founders of the field of complex systems, offered an
admirably honest account of the state of our understanding of emergence at the time.
It is unlikely that a topic as complicated as emergence will submit
meekly to a concise definition, and I have no such definition to offer.
In a review of Holland’s book, Shalizi [3] wrote the following.
Someplace … where quantum field theory meets general relativity
and atoms and void merge into one another, we may take “the rules
of the game” to be given. But the rest of the observable, exploitable
order in the universe—benzene molecules, PV = nRT, snowflakes, cyc-
1
Recently the term multiscale has gained favor as a less mysterious-sounding way to refer to this macro-mi-
cro interplay.
This familiar idiom exchanges the values of x and y. Since this property may be
specified independently of the code—there are many ways to exchange two vari-
ables—the exchange of x and y is an emergent effect of running this code. Here the
coordinated combination of three independent actions produces an emergent result.
2
In the second paper, we extend this notion when applied to entities. What will become important is how the
entity acts in/on its environment, i.e., its functionality, independently of the mechanism that implements it. A Turing
Machine, understood as a collection of tuples, acts on its environment, its tape, according to the function it computes.
In his talk at the 2006 Understanding Complex Systems Symposium Eric Jakobsson made the point that biology
must be equally concerned with what organisms do in their worlds and the mechanisms that allow them to do it.
3
Jonathan von Post (private communication) tells the story of how Arthur C. Clarke once applied for a Brit-
ish patent for geosynchronous orbits. It was rejected as impractical—but not as unpatentable. Imagine the lost royal-
ties!
3. The bacterium E. coli produces an enzyme which digests lactose. But it produces it
only when lactose is present. How does the bacterium “sense” the presence of
lactose and control the production of the enzyme? A molecule that is normally
bound to the bacterium’s DNA blocks RNA transcription of the gene that codes for
the enzyme. Lactose, when present, binds to the blocking molecule, pulling it off
the DNA and allowing transcription and production to proceed. The way the bac-
terium acts in its environment may be described independently of what may be a
surprising (but very clever) mechanism4 (another combination of independent ac-
tions) for bringing that activity about.
4. Giuseppe Arcimboldo’s paintings (see figure 1) illustrate emergence in a somewhat
different way. What is most striking about Arcimboldo’s paintings is that they are
not optical illusions that include the outlines of different figures depending on how
one looks at them. They consist of nothing but separate fruits and vegetables—
which together make a face.
3.1 Supervenience
A term from the philosophical literature that is closely related to emergence is superveni-
ence. The intended use of this term is to relate a presumably higher level set of predicates
(call such a set H for higher) to a presumably lower level set of predicates (call such a set
L for lower). The predicates in H and L are all presumed to be applicable to some com-
mon domain of discourse. H and L are each ways of characterizing the state of affairs of
the underlying domain. One says that H supervenes on (or over) L if it is never 5 the case
that two states of affairs will assign the same configuration of values to the elements of L
but different configuration of values to the elements of H.
Consider the following example. Let the domain be a sequence of n bits. Let L be the
statements: bit 1 is on; bit 2 is on; etc. Let H be statements of the sort: exactly 5 bits are
on; an even number of bits are on; no two successive bits are on; the bits that are on form
the initial values in the Fibonacci sequence; etc. H supervenes over L since any configur-
ation of truth values of the L statements determines the truth values of the H statements.
However, if we remove one of the statements from L, e.g., we don’t include in L a state-
ment about bit 3, but we leave the statements in H alone, then H does not supervene over
L. To see why, consider the H statement
4
We now know that this mechanism, the control of gene expression, is central to how biological organisms
function.
5
Some definitions require that not only is it never the case, it never can be the case. It does make a formal
difference whether we base supervenience on a logical impossibility or on empirical facts. We finesse that distinction
by adopting the rule of thumb of fundamental particle physicists: if something can happen it will.
6
As stated on his website (http://cscs.umich.edu/~crshalizi/notebooks/emergent-properties.html) Shalizi’s
definition of emergence amounts to supervenience plus efficiency in an information-theoretic sense.
7
Even were evidence of strong emergence to be found, science would carry on. Dark energy, the apparently
extra force that seems to be pushing the Universe to expand may be a new force of nature. Furthermore, even if other
(spooky) forces of nature like vitalism were (mysteriously) to appear at various levels of complexity, science would
continue. We would do our best to measure and characterize them. After all, the known primitive forces just seemed
to pop up out of nowhere, and science has taken them in stride.
the special sciences must be epiphenomenal.8, 9 Weinberg backed away from petty reduc-
tionism when conceptualized in terms of matter. When conceptualized in terms of forces
we see this as a conclusive argument in its favor.
1. As an agent-based model—of something, perhaps life and death phenomena. For our
purposes it doesn’t matter that the Game of Life isn’t a realistic model—of anything.
Many agent-based models are at the same time both simple and revealing.
2. As a trivial physical universe. Recall Shalizi, “Someplace … where quantum field
theory meets general relativity … we may take ‘the rules of the game’ to be given.”
The Game of Life rules will be those “rules of the game.” The rules that determine
how cells turn on and off will be taken as the primitive operations of the physics of
the Game of Life universe.12 The reductionist agenda within a Game of Life universe
would be to reduce every higher level phenomenon to the Game of Life rules.
3. As a programming platform.
Although these three perspectives reflect different emphases, it will always be the Game
of Life rules that determine whether cells turn on or off.
12
This is the basis of what is sometimes called “digital physics.” See [16], [17], and [18] which attempt to
understand nature in terms of cellular automata.
13
All epiphenomena are causally powerless. Glider effects illustrate epiphenomenal causation.
• From a programming perspective gliders are trivial. Once we know how to build a
glider, it’s a simple matter to make as many as we want. As a programming plat-
form—imagine that we are kids fooling around with a new toy—we might experi-
ment to see whether we can make other sorts of patterns. If we find some, which we
will, we might want to see what happens when patterns crash into each other. After
a while, we might compile a library of Game of Life patterns and their interac-
tions.14 It has even been shown [19] that by suitably arranging Game of Life pat-
terns, one can implement Turing Machines.15
14
Since its introduction three decades ago, an online community of Game of Life programmers has de-
veloped. That community has created such libraries. A good place to start is Paul Callahan’s “What is the Game of
Life?” at http://www.math.com/students/wonders/life/life.html. See the appendix of this paper for a formalization of
how such a pattern library may be produced.
15
In [5] we refer to the generation of Game of Life gliders and Turing Machines as “non-algorithmic pro-
gramming.”
But something continues to nag. One of the teenage girls—she calls herself Hacka—has a
pattern of activities on her grid that seems somehow more complex than the others. The
Game of Life rules fully explain every light that goes on and every light that goes off on
Hacka’s pretty face. But that explanation just doesn’t seem to capture everything that’s
going on. Did we miss something?
To make a long story short, it turns out that the tribe was not as isolated as we had
thought. In fact they have an Internet connection. Hacka had learned not only that she
was a Game of Life system but that the Game of Life can implement a Turing Machine.
She had decided to program herself to do just that—and she used her Turning Machine
implementation to solve problems that no one else in the tribe could approach. Her par-
ents disapproved, but girls just want to have fun.
No wonder we felt uncertain about our results. Even though the Game of Life rules ex-
plained every light that went on and off on Hacka’s face, it said nothing about the func-
tionality implemented by Hacka’s Turing Machine implementation. The rules explained
everything about how the system worked; they said nothing about what the system did.
The rules simply have no way to talk about Turing Machines. A Turing machine is an
autonomous abstraction that Hacka built on top of the Game of Life rules.
we can reduce the halting problem for Turing Machines to the halting problem for the
Game of Life: if we could solve the Game of Life halting problem, we could solve the
Turing Machine halting problem. But we already knew that the Turing Machine halting
problem is unsolvable. Therefore the Game of Life halting problem is unsolvable. Thus a
consequence of downward entailment is that reducibility cuts both ways. One can con-
clude that if something is impossible at a higher level it must also be impossible at the
lower level. We reach that conclusion by reasoning about the higher level as an independ-
ent abstraction and then reconnecting that abstraction to the lower level.
Earlier, we dismissed the notion that a glider may be said to “go to a cell and turn it on.”
The only things that turn on Game of Life cells are the Game of Life rules. But because
of downward entailment, there is hope for talk of this sort. Once we established that a
Turing Machine can be implemented on a Game of Life platform, we were able to apply
results about Turing Machines to the Game of Life. We can do the same thing with
gliders. We can establish a domain of discourse about gliders as abstract entities. Within
that domain of discourse we can reason about gliders; in particular we can reason about
how fast and in which directions they will move. Having developed facts and rules about
gliders as abstractions, we can use the fact that gliders are epiphenomena of the Game of
Life and apply those facts and rules to the Game of Life cells that gliders traverse. It is
then reasonable to say that a glider goes to a cell and turns it on.
usual properties of ice. And ice melts when heated to the point at which the attractive
forces are no longer able to preserve the lattice configuration of the elements. Similarly
Newton’s laws fail at the quantum level. The existence of such feasibility ranges does not
reduce the importance of either the solid matter abstraction or the Newtonian physics ab-
straction. They just limit the conditions under which nature implements them.
The more general point is that nature implements a great many such abstractions. As is
the case with computability theory, there are often sophisticated theories that characterize
the properties of such naturally occurring abstractions. These theories may have nothing
to do with how the abstract designs are implemented. They are theories that apply to the
abstractions themselves. To apply such theories to real phenomena all one needs are
physical examples in which the abstraction is implemented.
Furthermore and perhaps more importantly, abstractions of this sort are neither derivable
from nor logical consequences of their implementations—i.e., grand reductionism fails.
Abstractions and the theories built on them are new and creative constructs and are not
derivable as consequences of the properties of the platform on which they are implemen-
ted. The Game of Life doesn’t include the concept of a Turing machine, and quantum
physics doesn’t include the concept of a Newtonian solid.
The point of all this is to support Laughlin’s position: when nature implements an ab-
straction, the epiphenomena described by that abstraction become just as real any other
phenomena, and the abstraction that describes them is just as valid a description of that
aspect of nature as any other description of any other aspect of nature. That much of
nature is best understood as implementations of abstractions suggests that much of sci-
ence is best expressed at two levels: (1) the abstraction itself, i.e., how it works as an ab-
straction—what Weinberg denigratingly refers to as the principles of the higher level sci-
ence—and (2) how and under what conditions nature implements that abstraction.
ciples that govern a higher level abstraction are generally not derivable from the prin-
ciples that govern the implementing mechanisms.
A consequence of all this is that multiscalar systems are inevitable. Recall the nursery
rhyme.
For want of a nail, a shoe was lost.
For want of a shoe, a horse was lost.
For want of a horse, a rider was lost.
For want of a rider, a message was lost.
For want of a message, a battle was lost.
For want of a battle, a kingdom was lost.
All for want of a nail.
- George Herbert (1593-1632)
Abstractions at all levels are central to how we look at the world, but one must always be
aware of the feasibility ranges within which an abstraction is implemented. A tragic ex-
ample is the case of the O-rings on Challenger. They failed when they were used outside
the temperature feasible range for which they functioned as sealants.
6 It’s a tie
In the debate between reductionism and functionalism, the final score is 1-1.
• Petty reductionism gets a point with respect to causation. Forces and interactions
can always be reduced to the fundamental forces of physics. There is no life force.
• Grand reductionism loses a point with respect to derivability. Just as the laws gov-
erning Turning machines are not derivable from the rules of the Game of Life, the
laws governing higher level abstractions are not in general derivable from the fun-
damental laws of physics—even when as in the case of solids and Newtonian phys-
ics nature implements those abstractions without our help.
To paraphrase Weinberg, the goal of science is to find simple universal laws that explain
why nature is the way it is. When understood in this way, mathematics, computer science,
and engineering—all of which create and study conceptual structures that need not exist
—are not science. Fortunately for us, neither is nature. Nature produces results which
need not exist. Evolution may be a blind watchmaker; nature in general is a blind engin-
eer; and engineers implement abstractions.
Isn’t there something unreal about explaining nature at least in part as implementations of
abstractions? Not necessarily. Is there a better way to understand the origins of Newtoni-
an mechanics, the solid state of matter, and phase transitions? These phenomena are part
of the offerings that nature sets before us. More importantly, they are evidence that emer-
gence, i.e., the creation and implementation of abstractions, is not only a fundamental as-
pect of nature but a fundamental principle of science.
The perspectives developed in this paper reflect those of computer science. Is this paro-
chialism? It’s difficult to tell from so close. One thing is clear. Because computer science
has wrestled—with some success—with many serious philosophical challenges,17 it is not
unreasonable to hope that the field may contribute something to the broader philosophical
17
It has been suggested that Computer Science is applied philosophy. Fred Thompson, an early mentor, is
Emeritus Professor of Applied Philosophy and Computer Science at Caltech.
community. In this paper, it is the computer science notion of an abstract software spe-
cification that is most significant. Software abstractions are both conceptual and real. An
implemented software specification combines the formality and abstraction of mathemat-
ics with the reality of nature. Computers are reification devices, capable of making the
abstract concrete. (See [5].)
Nature’s abstractions differ from software abstractions in that they are not conceptual;
they are always implemented by something. The combination of higher level abstractions
along with the epiphenomenal and range-limited nature of higher level causality makes
multiscale systems unavoidable—a problem which typically doesn’t plague abstractions
implemented in software.18
One may be tempted to look for a new mathematics that explains in closed-form how all
phenomena arise from some set of primitive elements. We won’t find one. The abstrac-
tions of science are downward—not upward—entailing. We will never develop a math-
ematics that maps the motion of electrons to the functionality of the software a computer
is running. The design of the computer (at all levels) along with the software itself is that
mapping. Nothing simpler will do.
Nature allows for the creation and implementation of new abstractions, i.e., emergence.
Are there simple universal laws of emergence? Are there necessary and sufficient condi-
tions under which emergence occurs? Answers to these questions would help explain why
nature is the way it is.
7 Acknowledgement
We are grateful for numerous enjoyable and insightful discussions with Debora Shuger
during which many of the ideas in this paper were developed and refined.
References
[1] O'Connor, T. and Hong Yu Wong, "Emergent Properties", The Stanford Encyclopedia
of Philosophy (Summer 2005 Edition), Edward N. Zalta (ed.), URL: http://plato.stan-
ford.edu/archives/sum2005/entries/properties-emergent/.
[2] Holland, J. Emergence: From Chaos to Order, Addison-Wesley, 1997.
[3] Shalizi, C., “Review of Emergence from Chaos to Order,” The Bactra Review, URL
as of 6/2005: http://cscs.umich.edu/~crshalizi/reviews/holland-on-emergence/
[4] Anderson, P.W., “More is Different,” Science, 177 393-396, 1972.
[5] Abbott, R. “If a Tree Casts a Shadow, is it Telling the Time?” to appear in Proceed-
ings of the Fifth International Conference on Unconventional Computation, Lecture
Notes in Computer Science, Springer, 2006.
[6] Fodor, J. A., “Special Sciences (or the disunity of science as a working hypothesis),”
Synthese 28: 97-115. 1974.
[7] Fodor, J.A., “Special Sciences; Still Autonomous after All These Years,” Philosophic-
al Perspectives, 11, Mind, Causation, and World, pp 149-163, 1998.
18
Software developers face feasibility issues in such areas as scalability and numerical range and precision
limits.
[8] Weinberg, S., “Reductionism Redux,” The New York Review of Books, October 5,
1995. Reprinted in Weinberg, S., Facing Up, Harvard University Press, 2001.
[9] WordNet 2.0, URL as of 6/2005: www.cogsci.princeton.edu/cgi-bin/webwn.
[10] Bedau, M.A., “Downward causation and the autonomy of weak emergence”. Prin-
cipia 6 (2002): 5-50.
[11] Kim, J. “Multiple realization and the metaphysics of reduction,” Philosophy and
Phenomenological Research, v 52, 1992.
[12] Hume, D. An Enquiry Concerning Human Understanding, Vol. XXXVII, Part 3. The
Harvard Classics. New York: P.F. Collier & Son, 1909–14; Bartleby.com, 2001.
[13] Gardner, M., Mathematical Games: “The fantastic combinations of John Conway's
new solitaire game ‘life’," Scientific American, October, November, December, 1970,
February 1971.
[14] Dennett, D. C. “Real Patterns,” The Journal of Philosophy, (88, 1), 1991.
[15] Dennett, D. C., The Intentional Stance, MIT Press/Bradford Books, 1987.
[16] Zuse, K., “Rechnender Raum” (Vieweg, Braunschweig, 1969); translated as Calcu-
lating Space, MIT Technical Translation AZT-70-164-GEMIT, MIT (Project MAC),
Cambridge, Mass. 02139, Feb. 1970.
[17] Fredkin, E., "Digital Mechanics", Physica D, (1990) 254-270, North-Holland.
[18] Wolfram, S., A New Kind of Science, Wolfram Media, 2002.
[19] Rendell, Paul, “Turing Universality in the Game of Life,” in Adamatzky, Andrew
(ed.), Collision-Based Computing, Springer, 2002.
[20] Emmeche, C, S. Køppe and F. Stjernfelt, “Levels, Emergence, and Three Versions of
Downward Causation,” in Andersen, P.B., Emmeche, C., N. O. Finnemann and P. V.
Christiansen, eds. (2000): Downward Causation. Minds, Bodies and Matter. Århus: Aar-
hus University Press.
[21] Laughlin, R.B., A Different Universe, Basic Books, 2005.
[22] Sachdev, S, “Quantum Phase Transitions,” in The New Physics, (ed. G. Fraser),
Cambridge University Press, 2006.
[23] Prigogine, Ilya and Dilip Kondepudi, Modern Thermodynamics: from Heat Engines
to Dissipative Structures, John Wiley & Sons, N.Y., 1997.
More formally, we define cells c0 and cn in a Game of Life grid to be connected if there
are cells c1, c2, …, cn-1 such that for all i in 0 .. n-1
1. ci and ci+1 are neighbors, as defined by Game of Life, and
2. either ci or ci+1 (or both) are alive, as defined by Game of Life.
Connectedness is clearly an equivalence relation (reflexive, symmetric, and transitive),
which partitions a Game of Life board into equivalence classes of cells. Every dead cell
that is not adjacent to a live cell (does not have a live cell as a Game of Life neighbor) be-
comes a singleton class.
Consider only those connectedness equivalence classes that include at least one live cell.
Call such an equivalence class a live cell group or LCG.
Define the state of an LCG as the specific configuration of live and dead cells in it. Thus,
each LCG has a state.
No limitation is placed on the size of an LCG. Therefore, if one does not limit the size of
the Game of Life grid, the number of LCGs is unbounded.
Intuitively, an LCG is a functionally isolated group of live and dead cells, contained with-
in a boundary of dead cells. Each cell in an LCG is a neighbor to at least one live cell
within that LCG.
As a consequence of this definition, each live cell group consists of an “inside,” which
contains all its live cells (possibly along with some dead cells), plus a “surface” or
“boundary” of dead cells. (The surface or boundary is also considered part of the LCG.)
The Game of Life rules define transitions for the cells in a LCG. Since an LCG is func-
tionally isolated from other live cells, the new states of the cells in an LCG are determ-
ined only by other cells in the same LCG.19
Suppose that an LCG contains the only live cells on a Game of Life grid. Consider what
the mapping of that LCG by the Game of Life rules will produce. There are three possib-
ilities.
1. The live cells may all die.
2. The successor live cells may consist of a single LCG—as in a glider or still life.
3. The successor live cells may partition into multiple LCGs—as in the so-called bhepto
pattern, which starts as a single LCG and eventually stabilizes as 4 still life LCGs and
two glider LCGs.
In other words, the live cells generated when the Game of Life rules are applied to an
LCG will consist of 0, 1, or multiple successor LCGs.
More formally, if l is an LCG, let Game of Life(l) be the set of LCGs that are formed by
applying the Game of Life rules to the cells in l. For any particular l, Game of Life(l) may
be empty; it may be contain a single element; or it may contain multiple elements. If l’ is
a member of Game of Life(l) write l -> l’.
For any LCG l 0, consider a sequence of successor LCGs generated in this manner:
19
In particular, no LCG cells have live neighbors that are outside the LCG. Thus no cells outside the LCG
need be considered when determining the GoL transitions of the cells in an LCG. A dead boundary cell
may become live at the next time-step, but it will do so only if three of its neighbors within the LCG are
live. Its neighbors outside the LCG are guaranteed to be dead.
If a boundary cell does become live, the next-state LCG of which it is a member will include cells that
were not part of its predecessor LCG.
Note that some LCG sequences may never terminate. They may simply produce larger
and larger LCGs. The so-called spacefiller pattern, which actually consists of multiple in-
teracting LCGs, one of which fills the entire grid with a single LCG as it expands,20 is an
amazing example of such a pattern. I do not know if there is an LCG that expands
without limit on its own. If any such exist, call these infinite sequences.
For any LCG l0, if the sequence
Let BP (for Basic Patterns) be the set of finite non-branching sequences as defined above.
That is,
BP = {seq(l0) | l0 is an LCG}
Note that it is not necessary to extend these sequences backwards. For any LCG l0, one
could define the pre-image of l0 under the Game of Life rules. Game of Life-1(l) is the set
of LCGs l’ such that Game of Life(l’) = l.
For any chain seq(l0) in BP, one could add all the chains constructed by prefixing to
seq(l0) each of the predecessors l’ of l0 l’ as long as l’ does not appear in seq(l’). But aug-
menting BP in this way would add nothing to BP since by definition seq(l’) is already
defined to be in BP for each l’.
We noted above that we do not know if there are unboundedly long sequences of LCGs
beginning with a particular l0. With respect to unboundedly long predecessor chains, it is
known that such unbounded predecessor chains (of unboundedly large LCGs) exist. The
so-called fuse and wick patterns are LCG sequences that can be extended arbitrarily far
backwards.21 When run forward such fuse or wick LCGs converge to a single LCG. Yet
given the original definition of BP even these LCG sequences are included in it. Each of
these unbounded predecessor chains is included in BP starting at each predecessor LCG.
Clearly BP as defined includes many redundant pattern descriptions. No attempt is made
to minimize BP either for symmetries or for overlapping patterns in which one pattern is
a suffix of another—as in the fuse patterns. In a computer program that generated BP,
such efficiencies would be important.
20
See the spacefiller pattern on http://www.math.com/students/wonders/life/life.html or http://www.ibiblio.org/lifepat-
terns.
21
A simple fuse pattern is a diagonal configuration of live cells. At each time step, the two end cells die; the remaining
cells remain alive. A simple fuse pattern may be augmented by adding more complex features at one end, thereby
building a pattern that becomes active when the fuse exhausts itself. Such a pattern can be built with an arbitrarily
long fuse.
The process sketched above will effectively generate all members of BP. Although theor-
etically possible, such a procedure will be so inefficient that it is useless for any practical
purpose.22 The only reason to mention it here is to establish that BP is recursively enumer-
able. Whether BP is recursive depends on whether one can in general establish for any
LCG l0 whether seq(l0) will terminate.23
To characterize these more complex patterns it is necessary to keep track of how basic
patterns interact. In particular, for each element in BP, augment its description with in-
formation describing
a) its velocity (rate, possibly zero, and direction) across the grid,
b) if it cycles, how it repeats, i.e., which states comprise its cycle, and
c) if it branches, what the offspring elements are and where they appear relative to final
position of the terminating sequence.
Two or more distinct members of BP that at time step i are moving relative to each other
may interact to produce one or more members of BP at time step i+1. The result of such a
BP “collision” will generally depend on the relative positions of the interacting basic pat-
terns. Even though the set BP of basic patterns is infinite, since each LCG is finite, by us-
ing a technique similar to that used for generating BP itself, one can (very tediously) enu-
merate all the possible BP interactions.
More formally, let Pf(BP) be the set of all finite subsets of BP. For each member of
Pf(BP) consider all possible (still only a finite number) relative configurations of its
members on the grid so that there will be some interaction among them at the next time
step. One can then record all the possible interactions among finite subsets of BP.
22
Many much more practical and efficient programs have been written to search for patterns in the GoL and
related cellular automata. See http://www.ics.uci.edu/~eppstein/ca/search.html for a list of such programs.
23
This is not the same question as that which asks whether any Game of Life configuration will terminate.
We know that is undecidable.
These interactions would be equivalent to the APIs for the basic patterns. We could call a
listing of them BP-API. Since BP is itself infinite, BP-API would also be infinite. But
BP-API would be effectively searchable. Given a set of elements in BP, one could re-
trieve all the interactions among those elements. BP-API would then provide a docu-
mented starting point for using the Game of Life as a programming language.
As in traditional programming languages, as more complex interactions are developed,
they too could be documented and made public for others to use.
Figures
Figure 1. Autumn by Giuseppe Arcimboldo.
See: http://commons.wikimedia.org/wiki/Image:Giuseppe_Arcimboldo_-_Autumn,_1573.jpg
The image is public domain.
Figure 3. A glider.