xegaGaIVAdaptiveMutateGene {xegaGaGene} | R Documentation |
Individually variable adaptive mutation of a gene.
Description
xegaGaIVAdaptiveMutateGene
mutates a binary gene.
Two mutation rates (lF$MutationRate()
and lF$MutationRate2()
which is higher than the first)
are used depending on the relative fitness of the gene.
lF$CutoffFit
and lF$CBestFitness
are used
to determine the relative fitness of the gene.
The rationale is that mutating genes having a low fitness
with a higher probability rate improves the performance
of a genetic algorithm, because the gene gets a higher
chance to improve.
Usage
xegaGaIVAdaptiveMutateGene(gene, lF)
Arguments
gene |
A binary gene. |
lF |
The local configuration of the genetic algorithm. |
Details
This principle is a candidate for a more abstract implementation, because it applies to all variants of evolutionary algorithms.
The goal is to separate the threshold code and the representation-dependent part and to combine them in the factory properly.
Value
A binary gene
References
Stanhope, Stephen A. and Daida, Jason M. (1996) An Individually Variable Mutation-rate Strategy for Genetic Algorithms. In: Koza, John (Ed.) Late Breaking Papers at the Genetic Programming 1996 Conference. Stanford University Bookstore, Stanford, pp. 177-185. (ISBN:0-18-201-031-7)
See Also
Other Mutation:
xegaGaMutateGene()
Examples
parm<-function(x) {function() {return(x)}}
lFxegaGaGene$BitMutationRate1<-parm(1.0)
lFxegaGaGene$BitMutationRate2<-parm(0.5)
gene1<-xegaGaInitGene(lFxegaGaGene)
xegaGaDecodeGene(gene1, lFxegaGaGene)
gene<-xegaGaIVAdaptiveMutateGene(gene1, lFxegaGaGene)
xegaGaDecodeGene(gene, lFxegaGaGene)