12.01.2015 Views

Evolutionary Computation : A Unified Approach

Evolutionary Computation : A Unified Approach

Evolutionary Computation : A Unified Approach

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

188 CHAPTER 6. EVOLUTIONARY COMPUTATION THEORY<br />

Frequently, finding useful subcomponents is part of the problem being posed by an<br />

application domain. In such cases one is given (or has a good sense of) the lowest-level<br />

building blocks (primitive elements) and the goal is to discover how best to group (link)<br />

these elements into higher-level subcomponents. This means that the representation and the<br />

reproductive operators must facilitate the discovery and preservation of important linkages.<br />

Here again, we understand how this can be accomplished in particular cases such as representing<br />

executable code as Lisp parse trees or representing graph structures as adjacency<br />

lists. However, an overarching theory remains out of reach.<br />

6.7 Landscape Analysis<br />

The final piece of the puzzle in defining effective EAs is the fitness landscape used to bias<br />

the evolutionary search. Intuitively, we want fitness landscapes that are “evolution friendly”<br />

in the sense that they facilitate the evolutionary discovery of individuals with high fitness.<br />

In order for this to be true, the landscape must have several desirable properties. First,<br />

landscapes must provide hints as to where individuals with high fitness might be found.<br />

This sounds intuitively obvious, but care must be taken since there are many applications<br />

in which the simplest, most natural notions of fitness do not have this property. Boolean<br />

satisfiability problems are a good example of such a situation, in which the goal is to<br />

find truth assignments to a set of Boolean variables that will make a complicated Boolean<br />

expression involving those variables true. For any particular assignment, either you win<br />

or you lose, and for difficult problems there are very few winning combinations. If we use<br />

winning/losing as our fitness landscape, we have presented our EA with a binary-valued<br />

fitness landscape the value of which is zero almost everywhere. By providing no hints as<br />

to where winning combinations might be found, EAs (and all other search techniques) can<br />

do no better than random search. Suppose, however, that the fitness landscape could be<br />

redefined to appear more like a bed sheet draped over this spiky landscape. Then, losing<br />

combinations provide hints (in the form of gradients) as to where one might find winning<br />

combinations (see, for example, Spears (1990)).<br />

A more subtle difficulty arises when a fitness landscape provides insufficient or misleading<br />

information. For example, if the landscape consists of a large number of independently<br />

distributed local optima, following local optima information will not improve the chances of<br />

finding a global optimum. This situation is made worse if the landscape is deceptive, in the<br />

sense that the hints it provides draw an EA away from the best solutions rather than toward<br />

them. If something is known about the nature of such landscapes, EAs can be designed to<br />

deal with them (see, for example, Goldberg (2002)).<br />

Even when a landscape is evolution friendly, it still remains the job of the EA designer<br />

to choose an internal representation and reproductive operators to take advantage of the information<br />

provided. Theoretical guidance for this comes in the form of Price’s theorem that<br />

was introduced and discussed in section 6.5. Recall that Price’s theorem had two terms: one<br />

corresponding to improvements in fitness due to selection, and a second term corresponding<br />

to improvements in fitness due to reproductive variation. If we think of this from a landscape<br />

viewpoint, it means exploiting the information provided by the current population via<br />

parent selection, and leveraging that information via reproductive variation. If we assume

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

Saved successfully!

Ooh no, something went wrong!