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

Chapter 6




            Modular, Grammatical


            and Developmental


            Tree-based GP





            This chapter discusses advanced techniques that are primarily focused on
            two important issues in genetic programming: modularity and constraint.
            In Section 6.1 we explore the evolution of modular, hierarchical structures,
            and in Section 6.2 we looks at ways of constraining the evolutionary process,
            typically based on some sort of domain knowledge. We also look at using
            GP to evolve programs which themselves develop solutions (Section 6.3) or
            even construct other programs (Section 6.4).


            6.1    Evolving Modular and
                   Hierarchical Structures

            The construction of any highly complex object or individual, whether an oak
            tree or an airliner, typically uses hierarchical, modular structures to manage
            and organise that complexity. Animals develop in a highly regular way
            that yields a hierarchical structure of components ranging from systems and
            organs down to cells and organelles. GP, as described so far, is typically used
            to evolve expressions that, while being suitable solutions to many problems,
            rarely exhibit any large-scale modular structure.
               Given the pervasiveness of hierarchical structure as an organisational tool
            in both biology and engineering, it seems likely that such modular structure
            could be valuable in genetic programming as well. Consequently, this has
            been a subject of study from the early days of genetic programming. For
            example, Angeline and Pollack (1992) created dynamic libraries of subtrees

                                            47
   56   57   58   59   60   61   62   63   64   65   66