Learn R Programming

galgo (version 1.4)

scaling.Niche: Assigns a weight for every chromosome to be selected for the next generation

Description

Assigns a weight for every chromosome to be selected for the next generation.

Usage

# S3 method for Niche
scaling(ni, ...)

Arguments

Value

Returns a vector with the weights.

Details

The basic idea to generate a progeny is a selection biased toward the best chromosomes (see Goldberg). We implented this idea as a weighted probability for a chromosome to be selected using the formula:

p = scale * max(0,fitness - mean * mean(fitness))\^\ power

where scale, mean and power are the properties of the niche (offspringScaleFactor, offspringMeanFactor and offspringPowerFactor respectively). The default values were selected to be reasonably bias when the variance in the fitness are both high (at early generations) and low (in late generatios).

scaling is part of offspring method.

To replace this behaviour, overwrite the method with your preference or create a new class overwritting this method.

For related details For more information see Niche.

References

Goldberg, David E. 1989 Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Pub. Co. ISBN: 0201157675

See Also

For more information see Niche. *offspring(), *progeny().

Examples

Run this code
# NOT RUN {
   cr <- Chromosome(genes=newCollection(Gene(shape1=1, shape2=100),5))
   cr
   ni <- Niche(chromosomes = newRandomCollection(cr, 10))
   ni
   ni$fitness <- 1:10/10 # tricky fitness, only for showing purposes
   scaling(ni)
   offspring(ni)
   ni
 
# }

Run the code above in your browser using DataLab