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

7.2 Graph-Based Genetic Programming                            65


                       Parent 1

                       Parent 2



                       Offspring
            Figure 7.3: Typical linear GP crossover. Two instructions are randomly
            chosen in each parent (top two genomes) as cut points. The code fragment
            excised from the first parent is then replaced with the code fragment excised
            from the second to generate the child (lower chromosome).

                      Parent 1

                      Parent 2



                      Offspring 1

                      Offspring 2

            Figure 7.4: Discipulus’s “homologous” crossover (Foster, 2001; Francone
            et al., 1999; Nordin et al., 1999). Crossover is performed on two parents (top
            two programs) to yield two offspring (bottom). The two crossover points are
            the same in both parents, so the exised code does not change its position
            relative to the start of the program (left edge), and the child programs have
            the same lengths as their parents. Homologous crossover is often combined
            with a small amount of normal two point crossover (Figure 7.3) to introduce
            length changes into the GP population.

            7.2    Graph-Based Genetic Programming


            Trees are special types of graphs. So it is natural to ask what would happen
            if one extended GP so as to be able to evolve graph-like programs. Starting
            from the mid 1990s, researchers have proposed several extensions of GP that
            do just that, albeit in different ways.


            7.2.1   Parallel Distributed GP

            Poli (1996a, 1999a) proposed parallel distributed GP (PDGP), a form of GP
            that is suitable for the evolution of highly parallel programs which effec-
            tively reuse partial results. Programs are represented in PDGP as graphs
   74   75   76   77   78   79   80   81   82   83   84