Two Ways of Discovering the Size and Shape of a Computer Program to Solve a Problem
John R. Koza · 1995
The requirement that the user of a problemsolving paradigm prespecify the size and shape of the ultimate solution to a problem has been a bane of automated machine learning from the earliest times. This paper compares two techniques for automatically discovering the architecture of a multi-part computer program while concurrently solving the problem during a run of genetic programming. In the first technique, called evolutionary selection, the initial random population is architecturally diverse and there is a competitive selection among the various architectures during the run. In the second technique, called evolution of architecture, six new architecture-altering operations provide a way to evolve the architecture of a multi-part program in the sense of actually changing the architecture of the program dynamically during the run. The new architecture-altering operations are motivated by the naturally occurring operation of gene duplication, as described in Susumu Ohno's provocative...