#
) symbols in schema H. In tree GP
schemata, L(H) is the number of links in the minimum tree
fragment including all the non-= symbols within a schema H
In artificial evolution, e.g. GAs and GP, mutation is used to mean any inherited random change to the genes. However, mutation is not used to describe crossover, i.e. the process whereby children are created from a combination of genes from two (or more) parents in which genes are copied correctly. In GAs it is common to use mutation (i.e. random changes) in combination with crossover. In traditional genetic algorithms mutation means choosing at random bits in the chromosome and flipping them. Each bit is considered independently and a decision is made with low probability pmut if it is to be changed or not. Note the number of bits changed is variable, and lies between 0 and N (where N is the number of bits in the chromosome) but is on average pmut N. It is commonly recommended to set pmut to about N-1 [Back, 1996]
In evolutionary programming, evolutionary strategies and real-valued genetic algorithms, it is common to apply mutation to every gene by adding a small random value to the gene. In genetic programming mutation is becoming increasingly often used. However, there are many different types of random changes that can be made to programs (see [Langdon,1998, pages 34-36]). Also, some authors recommend using a number of different types of mutations in combination with each other [Angeline, 1998]. One unfortunate source of confusion is pmut. In GAs it means the chance of changing each gene per generation. In some cases in GP, pmut is used to mean the chance that a child will be produced using mutation, rather than crossover. That is, treating pmut as analogous to pxo. Here we use pm' to denote this second meaning.
=
, *
and #
. They indicate
how a schema can match an actual program (or bit string) in the
population.
Glossary from Genetic Programming and Data Structures.
W.B.Langdon 19 October 2002