Computational Discovery of Instructionless Self-Replicating Structures
Total Page:16
File Type:pdf, Size:1020Kb
Computational Discovery of Zhijian Pan*,** Instructionless Self-Replicating IBM Annapolis Lab Structures in Cellular Automata James A. Reggiay University of Maryland Keywords Artificial life, self-replication, cellular Abstract Cellular automata models have historically been a automata, evolutionary computing, major approach to studying the information-processing properties computational creativity, genetic of self-replication. Here we explore the feasibility of adopting genetic programming programming so that, when it is given a fairly arbitrary initial cellular automata configuration, it will automatically generate a set of rules that make the given configuration replicate. We found that this approach works surprisingly effectively for structures as large as 50 components or more. The replication mechanisms discovered by genetic programming work quite differently than those of many past manually designed replicators: There is no identifiable instruction sequence or construction arm, the replicating structures generally translate and rotate as they reproduce, and they divide via a fissionlike process that involves highly parallel operations. This makes replication very fast, and one cannot identify which descendant is the parent and which is the child. The ability to automatically generate self-replicating structures in this fashion allowed us to examine the resulting replicators as their properties were systematically varied. Further, it proved possible to produce replicators that simultaneously deposited secondary structures while replicating, as in some past manually designed models. We conclude that genetic programming is a powerful tool for studying self-replication that might also be profitably used in contexts other than cellular spaces. 1 Introduction The study of self-replicating ‘‘machines’’ has long been of great interest in the field of artificial life. A variety of approaches have been studied [9, 11, 12, 24, 27, 29, 30], motivated in part by the desire to understand the fundamental information-processing principles underlying self-replication, to gain a better understanding of the origins and evolvability of life, and to explore the potential technological relevance of self-replication to producing robust electronic systems and atomic-scale manufacturing (nanotechnology). The use of cellular automata models has played an important and at times central role in this work. Historically, cellular automata models have primarily focused on two broad classes (families) of replicating structures: universal constructors and self-replicating loops. Following John von Neumann’s seminal work in the 1950s [32], large, complex universal constructors consisting of * Contact author. ** IBM Annapolis Lab, 1997 Annapolis Exchange Parkway, Annapolis, MD 21401. E-mail: [email protected] y Computer Science Department, University of Maryland, College Park, MD 20742. E-mail: [email protected] n 2009 Massachusetts Institute of Technology Artificial Life 16: 39–63 (2010) Downloaded from http://www.mitpressjournals.org/doi/pdf/10.1162/artl.2009.16.1.16104 by guest on 01 October 2021 Z. Pan and J. A. Reggia Computational Discovery of Instructionless Self-Replicating Structures numerous components were the dominant focus of attention. This and subsequent work established the feasibility of artificial self-replication, examined many important theoretical issues, and gradually created progressively simpler self-replicating universal systems [13]. While implementation of such universal constructors has made great progress since von Neumann’s time [33], and important work in this area has continued during recent years [4, 22], their implementation remains only mar- ginally realizable. A second class of replicators, self-replicating loops, appeared in the 1980s when Chris Langton demonstrated that looplike structures used in universal constructors [6] could indepen- dently reproduce themselves [14]. Subsequent work produced simpler and smaller loops [25], demonstrated that they can emerge from a primordial soup of non-replicating components and/or evolve over time [5, 26], and showed how to embed instruction sequences in them so that they perform other tasks as they replicate [21, 31]. In addition to the two broad families of cellular automata replicators described above, there is a third, less widely investigated class of quite different replicators that we will refer to as instructionless replicators. These models do not incorporate identifiable instructions like those used on the tape of universal constructors or embedded in the loop of self-replicating loops. However, these systems often depend on totalistic transition functions that evaluate the sum of a cell’s neighborhood cell states. For example, Edmond Fredkin and others have described totalistic transaction functions, such as those based on parity or modular arithmetic, that cause fairly arbitrary initial configurations to replicate [1, 8, 17, 28, 34, 35]. These instructionless replicators are sometimes dismissed as trivial or as not even exhibiting self-replication, because their replication is a consequence of the transition function alone rather than being guided by a sequence of instructions as with universal constructors and self-replicating loops [13, 28], and because replication can even occur with the limiting case of a single non-quiescent cell (e.g., using Rule 90 in one-dimensional cellular automata [36]). These and other past results have established the plausibility of self-replicating configurations in cellular spaces, examined their properties, shown that they can be much simpler than originally expected, and shown that they can perform computational tasks. However, over the past half cen- tury only a limited number of replicator designs have undergone systematic and extensive study. In part, this is due to the fact that manually creating the local state transition rules that govern replication in cellular spaces is in many cases both very difficult and time-consuming. Further, the replication process underlying both universal constructors and self-replicating loops, which have received the most attention, incorporates a sequential construction strategy in which an arm extends from the parent structure and deposits the emerging child structure in a step-by-step fashion, making the replication process relatively slow. Such a sequential approach to replication seems at odds with the fact that the underlying physical and computational mechanisms involved in biological reproduc- tion inherently include large-scale parallel computations, and does not use effectively the enormous amount of parallel processing that occurs in the ‘‘underlying physics’’ of cellular automata. Further, those past self-replicating structures that have been given the capability of performing a secondary task as they replicate [21, 31] also depend on manually programmed sequential instructions that carry out their task in a similar sequential, step-by-step fashion. The third class of replicators mentioned above do not depend on such sequential instructions; however, such instructionless self-replication capability in the past (e.g., Fredkin replicators) often depended on the presence of totalistic transi- tion functions. In view of the limited types of self-replicating structures examined in past studies, we recently asked the following question: Given an arbitrary initial cellular automata structure/configuration, is it possible to automatically generate a set of local, non-totalistic rules that will make the given structure replicate, and that will more effectively use concurrent computations reminiscent of those occurring in nature? One might initially be pessimistic about the possibility of such an approach, because the automated rule generation that would be involved can be viewed as a form of automatic programming, an area 40 Artificial Life Volume 16, Number 1 Downloaded from http://www.mitpressjournals.org/doi/pdf/10.1162/artl.2009.16.1.16104 by guest on 01 October 2021 Z. Pan and J. A. Reggia Computational Discovery of Instructionless Self-Replicating Structures of computer science that has had only limited success in the past. However, an exception to this limited progress is recent work using genetic programming as a creativity support design tool in a broad range of applications, such as art, chemistry, architecture, engineering, and several other areas [2, 3, 10, 15]. This work, as well as the fact that biological evolution has created numerous self-replicating ‘‘machines’’ of remarkable diversity, suggests that evolutionary computation may provide an approach to more effectively exploring the space of self-replicating structures in cellu- lar spaces. In this context, we recently adopted and extended genetic programming methods to evolve cellular automata rule sets when given fairly arbitrary initial structures where cells may have several possible states [18, 19]. Our approach uses uniform treelike data structures to represent both structural information and state transition information, making the application of genetic programming straightforward and computationally efficient. Given the automated ‘‘manufacturing’’ of replicating structures that genetic programming produces, we refer to our approach as the replicator factory.Below we briefly describe the underlying methods used in this system (presented in more detail in [18, 19]), and expand the results to a broader range of replicators than previously reported, followed by examples of self-replicators automatically discovered