Defines the different mutation methods the genetic programming component can perform
Note
|
Point mutation is listed for completeness. However, with our engine it can happen as inversion as well. If point mutation is done as Inversion, its probability is controlled by the InversionProbability property. If point mutation is done as a mutation method, its probability is controlled by the MutationProbability and the MutationMethodWeights.
|
Namespace: RSGAConsts
Delphi
|
type
TGPMutationMethod = (
mmSubtree,
mmReplacement,
mmConstant,
mmShrink,
mmHoist,
mmPoint);
|
|
Name
|
Description
|
|
mmConstant
|
Replaces the value of a constant instruction with a different value
|
|
mmHoist
|
Replaces the entire child program tree with a subtree from the child (the subtree becomes the root node). Reduces complexity of the child
|
|
mmPoint
|
Replaces a node of child with a node of the same type (e.g., arity and TRSGPInstruction<T>)
|
|
mmReplacement
|
Similar to mmSubtree. Replaces a node of child with a node of the same type (e.g., arity and TRSGPInstruction<T>) and then grows a new subtree
|
|
mmShrink
|
Replaces a subtree of the child with a terminal. Reduces complexity of the child
|
|
mmSubtree
|
Replaces subtree of child with a newly genereated subtree
|
Top
|