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.

prone <strong>to</strong> rather arbitrary orderings.<br />

Many−Character and Real−Valued Encodings<br />

For many applications, it is most natural <strong>to</strong> use an alphabet of many characters or real numbers <strong>to</strong> form<br />

chromosomes. Examples include Kitano's many−character representation for graph−generation grammars,<br />

Meyer and Packard's real−valued representation for condition sets, Montana and Davis's real−valued<br />

representation for neural−network weights, and Schultz−Kremer's real−valued representation for <strong>to</strong>rsion<br />

angles in proteins.<br />

Holland's schema−counting argument seems <strong>to</strong> imply that GAs should exhibit worse performance on<br />

multiple−character encodings than on binary encodings. However, this has been questioned by some (see,<br />

e.g., <strong>An</strong><strong>to</strong>nisse 1989). Several empirical comparisons between binary encodings and multiple−character or<br />

real−valued encodings have shown better performance for the latter (see, e.g., Janikow and Michalewicz<br />

1991; Wright 1991). But the performance depends very much on the problem and the details of the GA being<br />

used, and at present there are no rigorous guidelines for predicting which encoding will work best.<br />

Tree Encodings<br />

Chapter 4: Theoretical Foundations of <strong>Genetic</strong> <strong>Algorithms</strong><br />

Tree encoding schemes, such as John Koza's scheme for representing computer programs, have several<br />

advantages, including the fact that they allow the search space <strong>to</strong> be open−ended (in principle, any size tree<br />

could be formed via crossover and mutation). This open−endedness also leads <strong>to</strong> some potential pitfalls. The<br />

trees can grow large in uncontrolled ways, preventing the formation of more structured, hierarchical candidate<br />

solutions. (Koza's (1992, 1994) "au<strong>to</strong>matic definition of functions" is one way in which GP can be encouraged<br />

<strong>to</strong> design hierarchically structured programs.) Also, the resulting trees, being large, can be very difficult <strong>to</strong><br />

understand and <strong>to</strong> simplify. Systematic experiments evaluating the usefulness of tree encodings and<br />

comparing them with other encodings are only just beginning in the genetic programming community.<br />

Likewise, as yet there are only very nascent attempts at extending GA theory <strong>to</strong> tree encodings (see, e.g.,<br />

Tackett 1994; O'Reilly and Oppacher 1995).<br />

These are only the most common encodings; a survey of the GA literature will turn up experiments on several<br />

others.<br />

How is one <strong>to</strong> decide on the correct encoding for one's problem? Lawrence Davis, a researcher with much<br />

experience applying GAs <strong>to</strong> realworld problems, strongly advocates using whatever encoding is the most<br />

natural for your problem, and then devising a GA that can use that encoding (Davis 1991). Until the theory of<br />

GAs and encodings is better formulated, this might be the best philosophy; as can be seen from the examples<br />

presented in this book, most research is currently done by guessing at an appropriate encoding and then trying<br />

out a particular version of the GA on it. This is not much different from other areas of machine learning; for<br />

example, encoding a learning problem for a neural net is typically done by trial and error.<br />

One appealing idea is <strong>to</strong> have the encoding itself adapt so that the GA can make better use of it.<br />

5.3 ADAPTING THE ENCODING<br />

Choosing a fixed encoding ahead of time presents a paradox <strong>to</strong> the potential GA user: for any problem that is<br />

hard enough that one would want <strong>to</strong> use a GA, one doesn't know enough about the problem ahead of time <strong>to</strong><br />

118

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

Saved successfully!

Ooh no, something went wrong!