Page 147 - 49A Field Guide to Genetic Programming
P. 147
13.4 Small Changes can have Big Effects 133
result of significant effort by experienced practitioners. It is likely that for
every GP approach that has successfully solved a problem, several others
have failed. It is in the nature of academic publishing that one does not get
to hear about failures.
So, don’t expect immediate success, and don’t become too discouraged
by poor early results.
13.4 Small Changes can have Big Effects
Don’t assume “a little fiddling” with parameters, operators, fitness func-
tions, etc., is harmless. One of the awkward realities of many widely appli-
cable tools is that they typically have numerous tunable parameters. Evo-
lutionary algorithms such as GP are no exception. Often changing a pa-
rameter or two can have a fairly minimal impact, and averaging over many
runs is required to reliably detect those effects. Some parameter changes,
however, can produce more dramatic effects. Changing the function set, for
example, can significantly change the distribution of the sizes and shapes of
trees, especially in the early generations, and potentially bias the system in
unexpected ways.
Another source of change can be the problem domain. A common mis-
take is to hope that parameter settings that worked well for one problem
will also work well for what appears to be a very similar problem. Problems
that appear similar to humans, however, may have quite different search
characteristics.
In addition, there are many small differences in GP implementations that
are rarely considered important or even reported. However, our experience is
that they may produce significant changes in the behaviour of a GP system.
Differences as small as an ‘>’ in place of a ‘≥’ in an if statement can have
an important effect. For example, the substitution ‘>’ ↔ ‘≥’ may influence
the winners of tournaments, the designation of the best-of-run individual,
the choice of which elements are cloned when elitism is used, or the offspring
produced by operators which accept the offspring only if it is better or not
worse than a parent.
13.5 Big Changes can have No Effect
When big changes appear to make little difference, this can sometimes be
used to identify problems with the domain representation and fitness mea-
sure. Alternatively it may be that the problem is simply too difficult, and
no change is likely to make a significant difference.
Suppose that you’re not making much progress during a set of runs. One
might react by sweeping the parameter space, doing runs with a variety of