xegaGaIVAdaptiveMutateGene: Individually variable adaptive mutation of a gene.

View source: R/xegaGaMutate.R

xegaGaIVAdaptiveMutateGeneR Documentation

Individually variable adaptive mutation of a gene.

Description

xegaGaIVAdaptiveMutateGene() mutates a binary gene. Two mutation rates (lF$BitMutationRate1() and lF$BitMutationRate2() 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)

xegaGaGene documentation built on April 16, 2025, 5:11 p.m.