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)

[Package xegaGaGene version 1.0.0.1 Index]