xegaGaGene {xegaGaGene}R Documentation

Package xegaGaGene.

Description

Genetic operations for binary coded genetic algorithms.

Details

For an introduction to this class of algorithms, see Goldberg, D. (1989).

For binary-coded genes, the xegaGaGene package provides

Binary Gene Representation

A binary gene is a named list:

Abstract Interface of Problem Environment

A problem environment penv must provide:

Abstract Interface of Mutation Functions

Each mutation function has the following function signature:

newGene<-Mutate(gene, lF)

All local parameters of the mutation function configured are expected in the local function list lF.

Local Constants of Mutation Functions

The local constants of a mutation function determine the behavior of the function. The default values in the table below are set in lFxegaGaGene.

Constant Default Used in
lF$BitMutationRate1() 0.01 xegaGaMutateGene()
xegaGaIVAdaptiveMutateGene()
lF$BitMutationRate2() 0.20 xegaGaIVAdaptiveMutateGene()
lF$CutoffFit() 0.5 xegaGaIVADaptiveMutateGene()

Abstract Interface of Crossover Functions

The signatures of the abstract interface to the 2 families of crossover functions are:

ListOfTwoGenes<-Crossover2(gene1, gene2, lF)

ListOfOneGene<-Crossover(gene1, gene2, lF)

All local parameters of the crossover function configured are expected in the local function list lF.

Local Constants of Crossover Functions

The local constants of a crossover function determine the the behavior of the function.

Constant Default Used in
lF$UCrossSwap() 0.2 UPCross2Gene()
UPCrossGene()

Abstract Interface of Gene Replication Functions

The signatures of the abstract interface to the 2 gene replication functions are:

ListOfTwoGenes<-Replicate2Gene(gene1, gene2, lF)

ListOfOneGene<-ReplicateGene(gene1, gene2, lF)

Configuration and Constants of Replication Functions

Configuration for ReplicateGene (1 Kid, Default).

Function Default Configured By
lF$SelectGene() SelectSUS() SelectGeneFactory()
lF$SelectMate() SelectSUS() SelectGeneFactory()
lF$CrossGene() CrossGene() xegaGaCrossoverFactory()
lF$MutateGene() MutateGene() xegaGaMutationFactory()
lF$Accept() AcceptNewGene() AcceptFactory()

Configuration for Replicate2Gene (2 Kids).

Function Default Configured By
lF$SelectGene() SelectSUS() SelectGeneFactory()
lF$SelectMate() SelectSUS() SelectGeneFactory()
lF$CrossGene() CrossGene() xegaGaCrossoverFactory()
lF$MutateGene() MutateGene() xegaGaMutationFactory()

Global Constants.

Global constants specify the probability that a mutation or crossover operator is applied to a gene. In the xega-architecture, these rates can be configured to be adaptive.

Constant Default Used in
lF$MutationRate() 1.0 (static) xegaGaReplicateGene()
xegaGaReplicate2Gene()
lF$CrossRate() 0.2 (static) xegaGaReplicateGene()
xegaGaReplicate2Gene()

Local Constants.

Constant Default Used in
lF$BitMutationRate1() 0.01 xegaGaMutateGene()
xegaGaIVAdaptiveMutateGene()
lF$BitMutationRate2() 0.20 xegaGaIVAdaptiveMutateGene()
lF$CutoffFit() 0.5 xegaGaIVADaptiveMutateGene()
lF$UCrossSwap() 0.2 xegaGaUPCross2Gene()
xegaGaUPCrossGene()

In the xega-architecture, these rates can be configured to be adaptive.

The Architecture of the xegaX-Packages

The xegaX-packages are a family of R-packages which implement eXtended Evolutionary and Genetic Algorithms (xega). The architecture has 3 layers, namely the user interface layer, the population layer, and the gene layer:

Copyright

(c) 2023 Andreas Geyer-Schulz

License

MIT

URL

<https://github.com/ageyerschulz/xegaGaGene>

Installation

From CRAN by install.packages('xegaGaGene')

Author(s)

Andreas Geyer-Schulz

References

Goldberg, David E. (1989) Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Reading. (ISBN:0-201-15767-5)

See Also

Useful links:


[Package xegaGaGene version 1.0.0.2 Index]