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

Description Usage Details Value Author(s) References See Also Examples

Description

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

Usage

1
2
## S3 method for class 'Niche'
scaling(ni, ...)

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.

Value

Returns a vector with the weights.

Author(s)

Victor Trevino. Francesco Falciani Group. University of Birmingham, U.K. http://www.bip.bham.ac.uk/bioinf

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

1
2
3
4
5
6
7
8
9
   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
 

galgo documentation built on May 2, 2019, 4:20 a.m.