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

68                            7 Linear and Graph Genetic Programming


            the graph. Also, traditionally Cartesian GP has always used mutation as
            its main search operation, while PDGP used both crossover and mutation.
            However, recently a new crossover has been proposed for Cartesian GP that
            provides faster convergence (Clegg, Walker, and Miller, 2007).


            7.2.4   Evolving Parallel Programs using Indirect
                    Encodings

            The graph-based systems discussed above use representations which directly
            encode parallel programs. However, it is also possible to use non-graph-
            based GP to evolve parallel programs. For example, Bennett (1996) used a
            parallel virtual machine in which several standard tree-like programs (called
            “agents”) would have their nodes executed in parallel. He included a two-
            stage mechanism which simulated parallelism of sensing actions and simple
            conflict resolution (prioritisation) for actions with side effects. Andre, Ben-
            nett, and Koza (1996) used GP to discover rules for cellular automata, a
            highly parallel computational architecture, which could solve large majority-
            classification problems. In conjunction with an interpreter implementing a
            parallel virtual machine, GP can also be used to translate sequential pro-
            grams into parallel ones (Walsh and Ryan, 1996), or to develop parallel
            programs.
   77   78   79   80   81   82   83   84   85   86   87