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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The one hitch is that, as was seen in the section on Royal Road functions in chapter 4, under selection long<br />

strings containing good building blocks can be afflicted with hitchhiking bits ("parasitic bits" in the<br />

terminology of Goldberg, Korb, and Deb (1989)). To deal with this, Goldberg, Deb, Kargupta, and Harik<br />

(1993) introduce "building−block filtering," in which the longer initial strings are honed down by random<br />

deletion of bits. Their claim is that this filtering process, in conjunction with selection, is enough <strong>to</strong> overcome<br />

the problem of parasitic bits. These methods were tried on deceptive fitness functions with l up <strong>to</strong> 150 and k =<br />

5, with tractable initial population sizes. With some additional changes in the juxtapositional phase, the messy<br />

GA was able <strong>to</strong> optimize these functions—functions that would be <strong>to</strong>o hard for a simple GA <strong>to</strong> optimize.<br />

Unfortunately, even with probabilistically complete initialization, the necessary initial population size still<br />

grows exponentially with k, so messy GAs will be feasible only on problems in which k is small. Goldberg<br />

and his colleagues seem <strong>to</strong> assume that most problems of interest will have small k, but this has never been<br />

demonstrated. It remains <strong>to</strong> be seen whether the promising results they have found on specially designed<br />

fitness functions will hold when messy GAs are applied <strong>to</strong> realworld problems. Goldberg, Deb, and Korb<br />

(1990, p. 442) have already announced that messy GAs are "ready for real−world applications" and<br />

recommended their "immediate application … <strong>to</strong> difficult, combina<strong>to</strong>rial problems of practical import." To<br />

my knowledge, they have not yet been tried on such problems.<br />

5.4 SELECTION METHODS<br />

After deciding on an encoding, the second decision <strong>to</strong> make in using a genetic algorithm is how <strong>to</strong> perform<br />

selection—that is, how <strong>to</strong> choose the individuals in the population that will create offspring for the next<br />

generation, and how many offspring each will create. The purpose of selection is, of course, <strong>to</strong> emphasize the<br />

fitter individuals in the population in hopes that their offspring will in turn have even higher fitness. Selection<br />

has <strong>to</strong> be balanced with variation from crossover and mutation (the "exploitation/exploration balance"):<br />

<strong>to</strong>o−strong selection means that suboptimal highly fit individuals will take over the population, reducing the<br />

diversity needed for further change and progress; <strong>to</strong>o−weak selection will result in <strong>to</strong>o−slow evolution. As<br />

was the case for encodings, numerous selection schemes have been proposed in the GA literature. Below I<br />

will describe some of the most common methods. As was the case for encodings, these descriptions do not<br />

provide rigorous guidelines for which method should be used for which problem; this is still an open question<br />

for GAs. (For more technical comparisons of different selection methods, see Goldberg and Deb 1991, Bäck<br />

and Hoffmeister 1991, de la Maza and Tidor 1993, and Hancock 1994.)<br />

Fitness−Proportionate Selection with "Roulette Wheel" and "S<strong>to</strong>chastic<br />

Universal" Sampling<br />

Holland's original GA used fitness−proportionate selection, in which the "expected value" of an individual<br />

(i.e., the expected number of times an individual will be selected <strong>to</strong> reproduce) is that individual's fitness<br />

divided by the average fitness of the population. The most common method for implementing this is "roulette<br />

wheel" sampling, described in chapter 1: each individual is assigned a slice of a circular "roulette wheel," the<br />

size of the slice being proportional <strong>to</strong> the individual's fitness. The wheel is spun N times, where N is the<br />

number of individuals in the population. On each spin, the individual under the wheel's marker is selected <strong>to</strong><br />

be in the pool of parents for the next generation. This method can be implemented as follows:<br />

1.<br />

Sum the <strong>to</strong>tal expected value of individuals in the population. Call this sum T.<br />

2.<br />

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

124

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

Saved successfully!

Ooh no, something went wrong!