In the course of preparing this dissertation, this author has developed a great deal of respect for the elegant simplicity of the genetic algorithm. The added flexibility afforded these systems by the genetic programming paradigm seems to have captured the essence of this simplicity and added a new dimension of utility to evolutionary systems. However, this added utility has not come without cost, i.e., machine overhead.

In the coding for the genetic program used in this experiment, an effort was made to reduce the memory and processor requirements to their minimum. Even so, population sizes of more than 100 were too much for DOS based machines. This was, however, a generational genetic program, and memory requirements could be further reduced by employing a steady state approach. Nonetheless, the application of genetic programming to complex tasks, such as the cart-pole problem, would appear to be within the domain of those with access to fast hardware.

Discounting the machine overhead attributable to the problem domain, the population size must take the greatest responsibility for machine overhead. At present, the large population size in the genetic program is the result of a need for a compromise between a sufficient presence on the problem state space and the avoidance of allele loss. As an observation, the genetic program appears to be more sensitive to allele loss than the genetic algorithm; however, the issue of allele loss is not commonly mentioned in the genetic programming literature. If the extent of that sensitivity in comparison to the genetic algorithm were known, then previous research already performed in genetic algorithms could be applied with that perspective.

The fact that both the on-line and off-line curves in charts 10 and 11 cross at times indicates that selection is not solely responsible for the curves produced. Population size and the number of generations also affect on-line and off-line learning. Both the on-line and off-line performance measures are based on a cumulative average, up to and including the last evaluation. Any crossing of the lines indicates that, for the number of samples tested, the relative performance of the selection method is changing. As a generation represents a ‘genetic program’s population’ of samples, this effect must be directly related to the size of the population. Then, the suitability of a selection technique appears not only dependant on the problem itself but also on the size of the genetic program’s population.

The observed sensitivity to population size may be the result of the random selection of crossover points. Based on the sensitivity of the bred solutions in this research to severe changes in fitness, dominant traits can be lost if joined with other traits that combine to form less fit individuals. Other than automatic function definition, there seems little alternative to large populations if the author of the system wishes to avoid valuable traits being ‘bred out’ of the gene pool. Perhaps then, a need has arisen for the classification of traits in the population. In this case, not only could those traits be recognised and protected, but also the selection of crossover point(s) could be based on some stochastic technique that weights ‘dominant’ genes.

[Chapter 6] [Glossary]