91-03/ALIFE.inf From: ray@chopin.udel.edu (Thomas Ray) Subject: Synthetic Life (evolving computer worms) (LONG) Date: 17 Mar 91 20:46:33 GMT Organization: University of Delaware [MODERATOR'S NOTE: The following is posted as a test of this group's interest in the topic at hand, "artificial life" (i.e., "organisms" that dwell in programs running on computers). I would appreciate your response, via private email to me, regarding how useful or not you find this information. [Thomas originally posted this information for a group studying artificial life at the University of Delaware, so there is some site-specific reportage at the end which you may or may not find useful. -- Bob Jacobson] Peter Arensburger writes: > A couple of days ago I was listening to a talk by Richard Dawkins about > modeling evolutionary processes on a computer. He mentioned an experiment > by Thomas Ray in which small (40 instructions long) autoreproducing programs > where allowed to spread freely in a certain amount of memory. Then, by > randomly mutating some of the programs you could see mutant programs > become better adapted for reproduction. ... > Has anyone heard about this experiment? If so please answer by e-mail. The work Peter describes is in press, and should be available in May: Ray, T. S. In Press. An approach to the synthesis of life. In: Artificial Life II, Santa Fe Institute Studies in the Sciences of Complexity, vol. XI, (Farmer, J. D., C. Langton, S. Rasmussen, & C. Taylor, eds). Redwood City, CA: Addison-Wesley, 1991. Although I don't have a paper in it, you might be interested in the following book which is available now: Langton, Christopher G. [ed.]. 1989. Artificial life: proceedings of an interdisciplinary workshop on the synthesis and simulation of living systems. Vol. VI in the series: Santa Fe Institute studies in the sciences of complexity. Addison-Wesley. Also, I will present the work in a seminar at Princeton (biology) on April 5, 1991. If anyone can't wait till May, I could email them a LaTeX version of the manuscript. Below I attach an abstract, and then a summary of the current activities of my research group. This is a slightly expanded version of an abstract describing this work, which was submitted to: European Society for Evolutionary Biology, Third Congress. Debrecen, Hungary September 2 - 6. Contact: Dr. Liz Pasztor - Department of Genetics - Eotvos University 1088 Budapest - Muzeum krt. 4/a. - Hungary. -------------------------begin abstract----------------------------------- Synthetic Life: co-evolution in digital organisms. THOMAS S. RAY. University of Delaware, Newark, DE, 19716, USA, ray@brahms.udel.edu. 302-451-2753 Ideally, the science of biology should embrace all forms of life. However in practice, it has been restricted to the study of a single instance of life, life on earth. Because our science of biology is based on a sample size of one, we can not know what features of life are peculiar to earth, and what features are general, characteristic of all life. A practical alternative to a truly comparative inter-planetary biology, is to create synthetic life. Evolution in a bottle provides a valuable tool for the experimental study of evolution and ecology. Synthetic organisms have been created based on a computer metaphor of organic life in which CPU time is the ``energy'' resource and memory is the ``material'' resource. Memory is organized into informational patterns that exploit CPU time for self-replication. Mutation generates new forms, and evolution proceeds by natural selection as different genotypes compete for CPU time and memory space. The creatures are self-replicating computer programs, however, they can not escape because they run exclusively on a virtual computer in its unique machine language. The virtual computer is effectively a containment facility. A single rudimentary ancestral ``creature'' has been designed; it is 80 machine instructions long and contains only the code for self-replication. This creature examines itself, determines its size and location in the memory ``soup'', and then copies itself, one instruction at a time, to another location in the soup. The ancestral creature does not interact directly with other individuals, although there is scrambling competition for access to memory space. A reaper kills creatures, assuring that there is always free space into which creatures can reproduce. When creatures are born, they enter the bottom of the reaper queue, and the reaper always kills off the top, which is usually the oldest creature. However, mutant creatures often generate errors, which cause them to rise in the reaper queue and be killed. >From a single rudimentary ancestral ``creature'' there have evolved tens of thousands of self-replicating genotypes of many hundreds of genome size classes. Bit flipping mutations cause changes in the sequence of instructions in the genome, but they do not cause changes in the size of the genome. However, mutant genotypes make errors in their self-examination and replication, resulting in different sized genomes. As genetic change generates new genotypes, variants appear which are able to replicate more rapidly that their ancestors, and those variants increase in frequency in the soup. Very quickly there evolve parasites, which are not able to replicate in isolation because they lack a large portion of the genome. However, these parasites search for the missing information, and if they locate it in a nearby creature, they parasitize the information from the neighboring genome, thereby effecting their own replication. This informational parasitism is a commensal relationship, as it is not directly detrimental to the host. However, the parasites do compete with the hosts for space, and may be superior competitors because they can more rapidly replicate their smaller genome. However, their advantage is frequency dependent. As the parasites increase in frequency, the hosts decline, and many parasites fail to locate hosts. In ecological runs, without genetic change, hosts and parasites demonstrate Lotka-Volterra cycles. In some runs, hosts evolve immunity to attack by parasites. One immune mechanism that has been worked out is based on the fact that the creatures only examine themselves once, and rely on retaining the information on their size and location for all subsequent replications. Immune hosts cause their parasites to loose their sense of self by failing to retain the information on size and location. Immune hosts function with this forgetful code by re-examining themselves before each repliction, thus there is a metabolic cost to the immunity. When immune hosts appear, they often increase in frequency, devastating the parasite populations. In some runs where the community comes to be dominated by immune hosts, parasites evolve that are resistant to immunity. The above mentioned immune mechanism can by circumvented by parasites which also re-examine themselves before each replication. Hosts sometimes evolve a response to parasites that goes beyond immunity to actual hyper-parasitism. Hyper-parasites allow themselves to be parasitized, letting the parasite use their code for a single replication. After the first replication, the hyper-parasite deceives the parasite by replacing the parasite's record of its size and location with the size and location of the hyper-parasite genome. Thereafter, the parasite will devote its energetic resources to replication of the hyper-parastie genome. This is a highly deleterious interaction, which drives the parasites to extinction. The hyper-parasites are facultative, getting an energy boost when the parasites are present, but not requiring them for replication. Evolving in the absence of parasites, hyper-parasites completely dominate the community, resulting in a relatively uniform community characterize by a high degree of relationship between individuals. Under these circumstances, sociality evolves, in the sense that the creatures evolve into forms which can not replicate in isolation, but which can only replicate in aggregations. These colonial creatures cooperate in the control of the flow of execution of their algorithms. The cooperative behavior of the social hyper-parasites makes them vulnerable to a new class of parasites. These cheaters, hyper-hyper-parasites, insert themselves between cooperating social individuals, and momentarily seize control of execution of the algroithm, just long enough to deceive the social creatures about their size and location, causing the social creatures to replicate the genomes of the cheaters. In a separate experiment, two versions of the ancestral creature were made, each with a different portion of the genome deleted. Neither of these genomes were able to replicate in isolation. However, when cultured together, they each parasitize the missing code from the other, forming an ecologically stable obligate symbiotic relationship. When genetic change is allowed in the system, a very complex series of changes follows, ultimately resulting in the merging of the two genomes into a single self-replicating genome. The only kind of genetic change that the simulator imposes on the system is random bit flips in the machine code of the creatures. However, it turns out that parasites are very sloppy replicators. They cause significant recombination and rearrangement of the genomes. This spontaneous sexuality is a powerful force for evolutionary change in the system. A series of experiments were conducted on the effects of mutation rates on the rates of evolution. The parameter used to compare rates of evolution was the rate at which self-replicating genomes decreased in size, indicating an optimization, in an environment favoring smaller sizes. The optimal mutation rate was found to be a mutation affecting one in four individuals per generation. At higher rates the community sometimes died out, as genomes melted under the mutational heat. At lower rates, optimization was slower. Fully self-replicating (non-parasitic) genomes reduced from 80 instructions to 22 instructions overnight (more than 1500 generations, of populations ranging from 300 to 1000 individuals). The ancestor of size 80 requires 839 CPU cycles to replicate. The creature of size 22 requires 146 CPU cycles to replicate, a 5.75-fold difference in efficiency. One of the most interesting aspects of this second instance of life is that the bulk of the evolution is based on adaptation to the biotic environment rather than the physical environment. It is co-evolution that drives the system. It is possible to extract information on any aspect of the system without disturbing it, from phylogeny or community structure through time to the ``genetic makeup'' and ``metabolic processes'' of individuals. Synthetic Life demonstrates the power of the computational approach to science as a complement to the traditional approaches of experiment and theory based on analysis through calculus and differential equations. I will make an oral presentation. I will need an overhead projector, and two three-pronged power outlets nearby to plug in the computer and LCD panel. ---------------------------end abstract---------------------------------- This message was distributed internally to the University of Delaware Synthetic Life group. I thought that other AL fans might be interested to know what we are up to: We haven't met as a group for some time, so I thought I would send out this progress report. TECHNOLOGY REVIEW ARTICLE - The next issue of Technology Review (April/May), due out in March, will include an article on Artificial Life. They will describe (among other things) the work of our group, and will include a series of four color photos of the ALmond Monitor of Tierra that Marc Cygnus has developed. ALMOND TALKS - Marc Cygnus has got the ALmond monitor program talking to the Tierra simulator using network communications. We can now have multiple simulators running on multiple machines, and monitor them from multiple monitors on multiple machines. The monitors can attach to and detach from the simulators without disturbing them. AL AND GA - Chris Bryden has completed his term paper discussing the relationships between synthetic life and genetic algorithms. THE MATRIX OF LIFE - John Billon has completed his independent study by exploring the possibility of implementing a synthetic life system in a matrix based environment. THE GENETIC LANGUAGE - Dan Pirone has designed a much more powerful version of the Tierran language, and has the bulk of the new instruction set coded. The syntax is much more complex than the original Tierran. We are hoping that it will be as evolvable. OPTIMIZATION OF TIERRA - Tom Uffner has tackled the task of optimizing the tierra simulator code. He is starting with the genebank manager which works, but is very inefficient. His proposals for optimization sound very promising. DIVERSITY AND TURNOVER - Eric Andrews and Jim Timmons are developing code to monitor diversity and turnover rates of size classes and genotypes in the soups. They are already generating the diversity indices, and are working on the turnover rates. AUTECOLOGY - Over winter session I automated the analysis of ecological interactions between creatures. Now when genotypes are saved to disk, the code that is actually executed is marked, to distinguish it from "junk" (unexecuted) code. Also, the basic classes of ecological interactions have been identified, and the interactions engaged in by a genotype are marked in a bit field that is saved with each genotype. EVOLUTIONARY OPTIMIZATION OF MACHINE CODES - I completed a study of the effect of mutation rate on the rate of evolution. As an index of the rate of evolution, I used the rate at which self-replicating machine code programs reduce their size. The optimal mutation rate was one that hit about one in four programs per generation. At higher rates, the communities sometimes died out, as genomes melted under the mutational heat. The programs reduced themselves from 80 machine instructions to 22 machine instructions overnight (over 1500 generations, of populations ranging from 300 to 1000 individuals). There was a 5.75-fold decrease in the number of CPU cycles required for replication. IRISVILLE OPENS - The two Silicon Graphics machines and the Sun in 114 Wolf are up and running and on the net. life.slhs.udel.edu is a 4D25TG Personal Iris with 32MB of memory and a 1.2 GB disk. tierra.slhs.udel.edu is a 4D258 (Iris) Data Station Server with 32MB of memory and a 1.2 GB disk. genie.slhs.udel.edu is a Sun 3/60 with 8MB of memory, about 300 MB of disk, and a color monitor. The Irises are rated at 16 MIPS each, and the Sun at about 4 MIPS. These machines are for the exclusive use of the School of Life and Health Sciences (SLHS), which so far has meant just for the alife group. The two Irises have been running the Tierra simulator around the clock since they came up. Tom Ray University of Delaware School of Life & Health Sciences Newark, Delaware 19716 ray@brahms.udel.edu 302-451-2281 (FAX) 302-451-2753