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
   142   143   144   145   146   147   148   149   150   151   152