next up previous contents
Next: Results Up: Cosmos Experiments 2: Exploring Previous: Results

   
Inoculation with Sexual Ancestors

All of the experiments reported so far have used the same hand-written self-replicating program, 348AAAA, as the inoculated ancestor. This program is fairly simple, and reproduces asexually, as described in Section 5.2.

In this final results section of the chapter, a set of experiments is described in which a more complicated ancestor program, 1314AAAA, was used. The most significant difference between this program and 348AAAA is that 1314AAAA reproduces sexually. The program is shown schematically in Figure 6.30, and a full listing is given in Section B.3.


  
Figure 6.30: Schematic of the Sexual Ancestor, 1314AAAA.
\resizebox{!}{0.95\textheight}{\includegraphics{ancestorSexual_schematic.ps}}

The basic operation of the program is as follows. Most importantly, the program is divided into two sections (male and female). Under normal operation, any particular individual will only ever execute one of these two sections. The choice of which section it executes (i.e. the sex of the individual) is determined by a promoter; two different promoters are used, one specifying a male, and the other a female.

The female section works in a fairly similar fashion to the usual ancestor 348AAAA. The difference is that rather than copying the genome to the Nucleus Working Memory, it copies it to the Communications Working Memory. When the whole genome has been copied, the female then emits the copy into the environment as a message. At this point, the female's work is done, and it attempts to repeat this procedure indefinitely.

The male section begins with a section of code which causes the organism to wander around the environment for a predetermined duration, collecting energy.6.9 The male then enters a behavioural loop, in which it seeks messages in the environment. During this phase, the male is sessile, but it looks for messages in all directions. It also checks its internal energy levels, and, if these are low, attempts to collect more energy from the environment. This phase continues until a message has successfully been recovered from the environment. When this occurs, the message is transferred to the male's Received Message Store. The start and end addresses of the message are calculated, and it is copied, one instruction at a time, into the male's Nucleus Working Memory. When the copying is complete, a calculation is performed to determine the sex of the offspring which is about to be produced. This is determined according to whether the male's internal energy store contains an odd or even number of energy tokens (i.e. sex determination is pseudo-random). Depending on this choice, an appropriate promoter is then manufactured for the offspring. At this stage, the offspring is finally produced. As always, the contents of the parent's Nucleus Working Memory becomes the genome of the offspring. The male parent finally removes the message from its Received Message Store, then repeats the whole process again.

To summarise, the whole genome is initially copied by the female, who transmits the copy as a message into the environment. The males attempt to pick up these messages. When they have done so, they produce an offspring whose genome is a copy of the received message. In this way, both males and females are required to propagate the species.

In the following experiments, half of the inoculated programs were given a male promoter, and the other half a female promoter. Males and females were placed in alternate positions in both directions, so they were regularly interspersed. The other non-default parameter settings used for these experiments are shown in Table 6.12. These values were arrived at after a series of trial-and-error attempts to reach a state where the population of programs in most runs survived for a reasonable length of time.


 
Table 6.12: Non-default Parameter Values for Sexual Reproduction Experiments.
Parameter Value
number 400
rms_receive_search_area 24
energy_collection_scheme private
et_value_constant 10
et_value_power 0
number_of_energy_tokens_per_collect 15



 
next up previous contents
Next: Results Up: Cosmos Experiments 2: Exploring Previous: Results
Tim Taylor
1999-05-29