next up previous contents
Next: Reading Neighbouring Code Up: Random Distribution Previous: Random Distribution

Results

Under these conditions, the population survived for the duration of the run in six out of the nine experiments. Of the three in which the entire population died out (Runs 2, 3 and 9), the extinction occurred fairly early in the run in two cases (by time slice 78,600 for Run 2, and time slice 141,300 for Run 3), but at the very end of the run in the other case (Run 9, time slice 971,247).

Of the six which persisted for the whole run, three maintained Class 2 dynamics for the duration (Runs 1, 4 and 6), and three switched to Class 1 dynamics before completion (Runs 5, 7 and 8). The results were generally very similar to the standard runs, but there are a few points to note.

One difference was that programs retained the ancestral ability to move around the environment--an ability which is generally lost in the other sets of experiments reported. Indeed, analysis of the dominant end-of-run programs in the Class 2 runs (1, 4 and 6) revealed that they had all actually gained at least one more move instruction6.7 somewhere in their code (but, interestingly, not within the copy loop). The explanation for retaining this capacity for movement is presumably because there is at least a chance that a nearby position will be rich in energy, while a position at which the program has been situated for some time will generally have fairly low energy reserves.

Another difference was that the population sizes in the runs were generally somewhat larger than usual, at least while they were in the Class 2 state. This is attributed to the greater mean energy levels in the environment.

Finally, in two of the three runs which switched to Class 1 dynamics (Runs 7 and 8), the population size in the Class 1 state was lower than normal (fewer than 150 organisms), and the diversity was also lower (approximately 20 different types of program). Analysis of the programs in the population at the end of these runs shows that they had retained the ability to move, as in the Class 2 runs. This is in contrast to Run 5, which displayed more typical Class 1 dynamics, and in which the programs had lost the ability to move. Remember from Section 6.2.1 that Class 1 dynamics come about when programs grow so long that they drain energy from their neighbouring programs to the extent that the neighbours die. The stable configuration shown in Figure 6.10 allows for the maximum number of programs under such conditions. As the programs are motile in Runs 7 and 8, this stable configuration is not possible, so the population size is inevitably lower. However, another consequence of the programs' movement is that their offspring are distributed all around the environment rather than all being born in the same locality. This may provide a program with a slightly better chance than it would have were it sessile of propagating throughout the population (because at least some of its offspring might be born in favourable positions). In other words, the evolutionary potential of these runs has not been completely lost, which explains the lower diversity than is normal for Class 1 systems.


next up previous contents
Next: Reading Neighbouring Code Up: Random Distribution Previous: Random Distribution
Tim Taylor
1999-05-29