Page 127 - 49A Field Guide to Genetic Programming
P. 127
12.2 Curve Fitting, Data Modelling and Symbolic Regression 113
assumptions that don’t apply in one’s circumstances (e.g., noise-free
data).
An approximate solution is acceptable (or is the only result that
is ever likely to be obtained). Evolution in general, and GP in
particular, is typically about being “good enough” rather than “the
best”. (A rabbit doesn’t have to be the fastest animal in the world:
it just has to be fast enough to escape that particular fox.) As a
result, evolutionary algorithms tend to work best in domains where
close approximations are both possible and acceptable.
Small improvements in performance are routinely measured (or
easily measurable) and highly prized. Technological efforts tend
to concentrate in areas of high economic importance. In these domains,
the state of the art tends to be fairly advanced, and, so, it is difficult
to improve over existing solutions. However, in these same domains
small improvements can be extremely valuable. GP can sometimes
discover small, but valuable, relationships.
Two (of many) examples of successful applications of GP that satisfy
many of these properties are the work of Lohn, Hornby, and Linden (2004) on
satellite antenna design and Spector’s evolution of new quantum computing
algorithms that out-performed all previous approaches (Spector, Barnum,
and Bernstein, 1998; Spector, Barnum, Bernstein, and Swamy, 1999). Both
of these domains are complex, without analytic solutions, yet in both cases
good simulators existed which could be used to evaluate the fitness of so-
lutions. In other words, people didn’t know how to solve the problems but
they could (automatically) recognise a good solution when they saw one.
Both of these applications resulted in the discovery of highly successful and
unexpected designs. The key component of the evolved quantum algorithm
could in fact be extracted and applied in a wide variety of other settings,
leading to major improvements in a number of related quantum algorithms
as well as the ones under specific study.
12.2 Curve Fitting, Data Modelling and
Symbolic Regression
In principle, there are as many possible applications of GP as there are ap-
plications for programs—in other words, virtually infinite. However, before
one can try to solve a new problem with GP, one needs to define an appropri-
ate fitness function. In problems where only the side effects of a program are
of interest, the fitness function usually compares the effects of the execution
of a program in some suitable environments with a desired behaviour, often
in a very application-dependent manner. However, in many problems the