180 likes | 297 Vues
Problems. Premature Convergence Lack of genetic diversity Selection noise or variance Destructive effects of genetic operators Cloning Introns and Bloat A blessing or a curse?. Lack of Genetic Diversity. Duplicate individuals Higher mutation application rates Creation operator
E N D
Problems • Premature Convergence • Lack of genetic diversity • Selection noise or variance • Destructive effects of genetic operators • Cloning • Introns and Bloat • A blessing or a curse?
Lack of Genetic Diversity • Duplicate individuals • Higher mutation application rates • Creation operator • Similar individuals • Detect lack of diversity • Similarity indexes • Introducing dissimilar individuals
Example: Similarity Index Tree 1 Tree 2 Is Tree1 similar to Tree2 Index 1: 3 Index 2: 3/7
Selection Noise or Variance • What is selection noise? • Multiple runs • Multiple populations • Interbreeding
Destructive Effects ofGenetic Operators • One of the destructive effects of crossover is that it breaks up good building blocks that could form part of a solution. • Another destructive effect is that it may insert a good building block into an individual that does not make proper use of it. • Crossover is destructive approximately seventy five percent of the time. • The closer a tree is to a solution the more susceptible it is to the destructive effects of crossover. • Experiments conducted indicate that the percentage of destructive crossover remains high until the end of a run.
Monitoring the Effects ofCrossover • Due to the destructive effects of crossover the application of the crossover operator must be monitored during a GP run. • Method 1: The average fitness of the parents must be compared with the average fitness of the offspring. • Method 2: The fitness of one parent is compared with the fitness of one child. However, this approach presents the problem of how the child and parent should be chosen. • Non-destructive operators
Methods for Dealing withDestructive Effects • The Macromutation Operator • Brood Recombination • Similar Parents • Intelligent Crossover • Context-sensitive Crossover • Explicitly Defined Introns (EDIs)
The Macromutation Operator • A single parent is selected using the standard selection methods. • A new individual is created using the initial population generation process. • Crossover is applied to both these individuals. • If the offspring has a fitness value greater than or equal to the fitness of its parent it forms part of the new population, else it is discarded. • The macromutation operator has not been widely tested and has been successfully applied to only one problem domain.
Brood Recombination • GP Parameter: A brood size N must be specified. • Two parents are selected. • Standard crossover is applied to the parents N times creating N pairs of offspring. • The offspring is evaluated for fitness and sorted according to their fitness values. • The best two offspring are selected as the result of brood selection and the rest of the offspring are discarded. • One of the disadvantages of this method is the time required to evaluate all 2N offspring.
Similar Parents • Researchers are of the opinion that the problems experienced with the crossover operator can be attributed to the fact that there are differences between the biological crossover and GP crossover. • Biological crossover is only applied to two individuals that are homologous with respect to their function and structure. • Similar parents: • Arity • Node types
Intelligent Crossover • An intelligent crossover operator is used in the PADO – The operator is evolved as part of the evolutionary process. • Intelligent operator used by Banzhaf: • A performance measure is calculated for each subtree. • This performance value is used to determine which subtrees to insert into other trees, and which to replace.
Context-Sensitive Crossover • A context-sensitive crossover operator will allow only “similar” points to be swapped. • Similar points • Same arity • Same function type • Same label • How does this effect convergence?
Explicitly Defined Introns • This approach involves adding introns to an individual to reduce the destructive effects of crossover. • Explicitly defined introns usually take the form of real or integer values inserted between every two nodes in an individual. • Example:
Cloning • Cloning caused by crossover • The use of crossover together with a depth limit can result in the crossover operator merely producing clones of the parents and hence causing the GP process to stagnate. • Crossover which swaps terminals • Crossover which replaces whole trees • Variety
Preventing Cloning • Do not use the reproduction operator. • An increase in selective pressure. • Detect when an offspring is identical to one of its parents. This information can be used to reduce the GP run time or increase the variety. • The first of these is achieved by copying the fitness value of parents for offspring that are clones instead of re-evaluating the offspring. • The latter is achieved by not allowing the production of duplicates.
Introns and Bloat • An intron is redundant code. • Examples: • Code which does nothing,e .g. NOT(NOT(X)), (+ X 0) • Code which is not executed, e.g. (IF (2==1)...X) • The emergence of introns has been described as a protective response to the destructive effect of the crossover operator. • Introns grow exponentially towards the end of a run. This exponential growth of introns is called bloat and causes the GP algorithm to stagnate.
Types of Introns • Local introns - These are functions that have no effect except to pass on the values that were passed to them. • Hierarchical introns - These are functions which contain one or more arguments that will be ignored, e.g. an if-else statement. • Sibling (horizontal) introns - These functions undo the effect of a function represented by a sibling tree. e.g. when a subtree has its contributions to a memory location overwritten by another subtree after it.
Reducing Introns and Bloat • The editing operator • (+ x 0) is replaced by x • All the introns will not be removed • Increased mutation rates • Parsimony pressure using a penalty function • Weighting size and correctness • Pareto fitness • When to apply the penalty function • The use of Automatically Defined Functions (ADFs)