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. Our approach uses uniform tree-like 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.
We found that this approach works surprisingly effectively for structures as large as fifty 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 nor construction arm, the replicating structures generally translate/rotate as they reproduce, and they divide via a fission-like 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. Clearly, genetic programming is a powerful tool for studying self-replication that might also be profitably used in contexts other than cellular spaces.
For more details, please refer to the examples.
Zhijian Pan, Ph.D
IBM Annapolis Lab
James Reggia, Ph.D
University of Maryland