Page 97 - 49A Field Guide to Genetic Programming
P. 97

Chapter 10




            Fast and Distributed


            Genetic Programming






            Users of all artificial intelligence tools are always eager to extend the bound-
            aries of their techniques, for example by attacking more and more difficult
            problems. In fact, to solve hard problems it may be necessary to push GP
            to the limit — populations of millions of programs and/or long runs may be
            necessary.
               There are a number of techniques to speed up, parallelise and distribute
            GP search. We start by looking at ways to reduce the number of fitness
            evaluations or increase their effectiveness (Section 10.1) and ways to speed
            up their execution (Section 10.2). We then look at the idea of running GP
            in parallel (Section 10.3) and point out that faster evaluation is not the
            only reason for doing so, as geographic distribution has advantages in its
            own right. In Section 10.4 we describe master–slave parallel architectures
            (Section 10.4.1), running GP on graphics hardware (Section 10.4.2) and
            FPGAs (Section 10.4.3). Section 10.4.4 describes a fast method to exploit
            the parallelism available on every computer. Finally, Section 10.5 concludes
            this chapter with a brief discussion of distributed, even global, evolution of
            programs.


            10.1     Reducing Fitness Evaluations and/or
                     Increasing their Effectiveness

            While admirers of linear GP will suggest that machine code GP is the ul-
            timate in speed, all forms of GP can be made faster in a number of ways.
            The first is to reduce the number of times a program is evaluated.
               Many applications find the fitness of programs by running them on mul-

                                            83
   92   93   94   95   96   97   98   99   100   101   102