An Introduction to Genetic Algorithms - Boente
An Introduction to Genetic Algorithms - Boente
An Introduction to Genetic Algorithms - Boente
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
limited the degree <strong>to</strong> which programs can usefully grow. In addition, there are other open questions about the<br />
capabilities of GP. Does it work well because the space of Lisp expressions is in some sense "dense" with<br />
correct programs for the relatively simple tasks Koza and other GP researchers have tried? This was given as<br />
one reason for the success of the artificial intelligence program AM (Lenat and Brown 1984), which evolved<br />
Lisp expressions <strong>to</strong> discover "interesting" conjectures in mathematics, such as the Goldbach conjecture (every<br />
even number is the sum of two primes). Koza refuted this hypothesis about GP by demonstrating how difficult<br />
it is <strong>to</strong> randomly generate a successful program <strong>to</strong> perform some of the tasks for which GP evolves successful<br />
programs. However, one could speculate that the space of Lisp expressions (with a given set of functions and<br />
terminals) is dense with useful intermediate−size building blocks for the tasks on which GP has been<br />
successful. GP's ability <strong>to</strong> find solutions quickly (e.g., within 10 generations using a population of 300) lends<br />
credence <strong>to</strong> this speculation.<br />
GP also has not been compared systematically with other techniques that could search in the space of parse<br />
trees. For example, it would be interesting <strong>to</strong> know if a hill climbing technique could do as well as GP on the<br />
examples Koza gives. One test of this was reported by O'Reilly and Oppacher (1994a,b), who defined a<br />
mutation opera<strong>to</strong>r for parse trees and used it <strong>to</strong> compare GP with a simple hill−climbing technique similar <strong>to</strong><br />
random−mutation hill climbing (see computer exercise 4 of chapter 1) and with simulated annealing (a more<br />
sophisticated hill−climbing technique). Comparisons were made on five problems, including the block<br />
stacking problem described above. On each of the five, simulated annealing either equaled or significantly<br />
outperformed GP in terms of the number of runs on which a correct solution was found and the average<br />
number of fitness−function evaluations needed <strong>to</strong> find a correct program. On two out of the five, the simple<br />
hill climber either equaled or exceeded the performance of GP.<br />
Though five problems is not many for such a comparison in view of the number of problems on which GP has<br />
been tried, these results bring in<strong>to</strong> question the claim (Koza 1992) that the crossover opera<strong>to</strong>r is a major<br />
contribu<strong>to</strong>r <strong>to</strong> GP's success. O'Reilly and Oppacher (1994a) speculate from their results that the parse−tree<br />
representation "may be a more fundamental asset <strong>to</strong> program induction than any particular search technique,"<br />
and that "perhaps the concept of building blocks is irrelevant <strong>to</strong> GP." These speculations are well worth<br />
further investigation, and it is imperative <strong>to</strong> characterize the types of problems for which crossover is a useful<br />
opera<strong>to</strong>r and for which a GA will be likely <strong>to</strong> outperform gradient−ascent strategies such as hill climbing and<br />
simulated annealing. Some work <strong>to</strong>ward those goals will be described in chapter 4.<br />
Some other questions about GP:<br />
Chapter 2: <strong>Genetic</strong> <strong>Algorithms</strong> in Problem Solving<br />
Will the technique scale up <strong>to</strong> more complex problems for which larger programs are needed?<br />
Will the technique work if the function and terminal sets are large?<br />
How well do the evolved programs generalize <strong>to</strong> cases not in the set of fitness cases? In most of Koza's<br />
examples, the cases used <strong>to</strong> compute fitness are samples from a much larger set of possible fitness cases. GP<br />
very often finds a program that is correct on all the given fitness cases, but not enough has been reported on<br />
how well these programs do on the "out−of−sample" cases. We need <strong>to</strong> know the extent <strong>to</strong> which GP<br />
produces programs that generalize well after seeing only a small fraction of the possible fitness cases.<br />
To what extent can programs be optimized for correctness, size, and efficiency at the same time?<br />
<strong>Genetic</strong> programming's success on a wide range of problems should encourage future research addressing<br />
these questions. (For examples of more recent work on GP, see Kinnear 1994.)<br />
33