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