16.01.2013 Views

An Introduction to Genetic Algorithms - Boente

An Introduction to Genetic Algorithms - Boente

An Introduction to Genetic Algorithms - Boente

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!