Page 18 - 49A Field Guide to Genetic Programming
P. 18
4 1 Introduction
1.4 Overview of this Field Guide
As we indicated in the section entitled “What’s in this book” (page v), the
book is divided up into four parts. In this section, we will have a closer look
at their content.
Part I is mainly for the benefit of beginners, so notions are introduced
at a relaxed pace. In the next chapter we provide a description of the key
elements in GP. These include how programs are stored (Section 2.1), the
initialisation of the population (Section 2.2), the selection of individuals
(Section 2.3) and the genetic operations of crossover and mutation (Sec-
tion 2.4). A discussion of the decisions that are needed before running GP
is given in Chapter 3. These preparatory steps include the specification of
the set of instructions that GP can use to construct programs (Sections 3.1
and 3.2), the definition of a fitness measure that can guide GP towards
good solutions (Section 3.3), setting GP parameters (Section 3.4) and, fi-
nally, the rule used to decide when to stop a GP run (Section 3.5). To help
the reader understand these, Chapter 4 presents a step-by-step application
of the preparatory steps (Section 4.1) and a detailed explanation of a sample
GP run (Section 4.2).
After these introductory chapters, we go up a gear in Part II where
we describe a variety of more advanced GP techniques. Chapter 5 consid-
ers additional initialisation strategies and genetic operators for the main GP
representation—syntax trees. In Chapter 6 we look at techniques for the evo-
lution of structured and grammatically-constrained programs. In particular,
we consider: modular and hierarchical structures including automatically de-
fined functions and architecture-altering operations (Section 6.1), systems
that constrain the syntax of evolved programs using grammars or type sys-
tems (Section 6.2), and developmental GP (Section 6.3). In Chapter 7 we
discuss alternative program representations, namely linear GP (Section 7.1)
and graph-based GP (Section 7.2).
In Chapter 8 we review systems where, instead of using mutation and
recombination to create new programs, they are simply generated randomly
according to a probability distribution which itself evolves. These are known
as estimation of distribution algorithms, cf. Sections 8.1 and 8.2. Section 8.3
reviews hybrids between GP and probabilistic grammars, where probability
distributions are associated with the elements of a grammar.
Many, if not most, real-world problems are multi-objective, in the sense
that their solutions are required to satisfy more than one criterion at the
same time. In Chapter 9, we review different techniques that allow GP to
solve multi-objective problems. These include the aggregation of multiple
objectives into a scalar fitness measure (Section 9.1), the use of the notion of
Pareto dominance (Section 9.2), the definition of dynamic or staged fitness
functions (Section 9.3), and the reliance on special biases on the genetic
operators to aid the optimisation of multiple objectives (Section 9.4).