Figure 1. Metabolic flow chart for the ancestor, parasite, hyper-parasite, and their interactions: ax, bx and cx refer to CPU registers where location and size information are stored. [ax] and [bx] refer to locations in the soup indicated by the values in the ax and bx registers. Patterns such as 1101 are complementary templates used for addressing. Arrows outside of boxes indicate jumps in the flow of execution of the programs. The dotted-line arrows indicate flow of execution between creatures. The parasite lacks the copy procedure, however, if it is within the search limit of the copy procedure of a host, it can locate, call and execute that procedure, thereby obtaining the information needed to complete its replication. The host is not adversely affected by this informational parasitism, except through competition with the parasite, which is a superior competitor. Note that the parasite calls the copy procedure of its host with the expectation that control will return to the parasite when the copy procedure returns. However, the hyper-parasite jumps out of the copy procedure rather than returning, thereby seizing control from the parasite. It then proceeds to reset the CPU registers of the parasite with the location and size of the hyper-parasite, causing the parasite to replicate the hyper-parasite genome thereafter.
Figure 2. Metabolic flow chart for social hyper-parasites, their associated hyper-hyper-parasite cheaters, and their interactions. Symbols are as described for Fig. 1. Horizontal dashed lines indicate the boundaries between individual creatures. On both the left and right, above the dashed line at the top of the figure is the lowermost fragment of a social-hyper-parasite. Note (on the left) that neighboring social hyper-parasites cooperate in returning the flow of execution to the beginning of the creature for self-re-examination. Execution jumps back to the end of the creature above, but then falls off the end of the creature without executing any instructions of consequence, and enters the top of the creature below. On the right, a cheater is inserted between the two social-hyper-parasites. The cheater captures control of execution when it passes between the social individuals. It sets the CPU registers with its own location and size, and then skips over the self-examination step when it returns control of execution to the social creature below.
Figure 3. Metabolic flow chart for obligate symbionts and their interactions. Symbols are as described for Fig. 1. Neither creature is able to self-replicate in isolation. However, when cultured together, each is able to replicate by using information provided by the other.
Figure 4. Evolutionary optimization at eight sets of mutation rates. In each run, the three mutation rates: move mutations (copy error), flaws and background mutations (cosmic rays) are set relative to the generation time. In each case, the background mutation rate is the lowest, affecting a cell once in twice as many generations as the move mutation rate. The flaw rate is intermediate, affecting a cell once in 1.5 times as many generations as the move mutation rate. For example in one run, the move mutation will affect a cell line on the average once every 4 generations, the flaw will occur once every 6 generations, and the background mutation once every 8 generations. The horizontal axis shows elapsed time in hundreds of millions of instructions executed by the system. The vertical axis shows genome size in instructions. Each point indicates the first appearance of a new genotype which crossed the abundance thresholds of either 2% of the population of cells in the soup, or occupation of 2% of the memory. The number of generations per move mutation is indicated by a number in the upper right hand corner of each graph.
Figure 5. Variation in evolutionary optimization under constant conditions. Based on a mutation rate of four generations per move mutation, all other parameters as in Fig. 4. The plots are otherwise as described for Fig. 4.