Versions in this module Expand all Collapse all v0 v0.1.1 Jun 2, 2019 v0.1.0 May 31, 2019 Changes in this version + var ErrInvalidTournamentProb = errors.New("crossover probability must be in the [0,1] range") + var ErrInvalidTruncRatio = errors.New("truncation selection ratio must be in the (0,1] range") + var Rank = RankBased + var RouletteWheel = rouletteWheel + var SigmaScaling = NewSigmaScaling(StochasticUniversalSampling{}) + func MapRankToScore(rank, size int) float64 + func NewSigmaScaling(selector evolve.Selection) evolve.Selection + type Identity struct + func (Identity) Select(pop evolve.Population, natural bool, size int, rng *rand.Rand) []interface{} + func (Identity) String() string + type MappingFunc func(rank, size int) float64 + type RankBased struct + Map MappingFunc + Selector evolve.Selection + func (RankBased) String() string + func (rb RankBased) Select(pop evolve.Population, natural bool, size int, rng *rand.Rand) []interface{} + type StochasticUniversalSampling struct + func (StochasticUniversalSampling) Select(pop evolve.Population, natural bool, size int, rng *rand.Rand) []interface{} + func (StochasticUniversalSampling) String() string + type Tournament struct + func NewTournament() *Tournament + func (ts *Tournament) Select(pop evolve.Population, natural bool, size int, rng *rand.Rand) []interface{} + func (ts *Tournament) SetProb(prob float64) error + func (ts *Tournament) SetProbRange(min, max float64) error + func (ts *Tournament) String() string + type Truncation struct + func NewTruncation() *Truncation + func (ts *Truncation) Select(pop evolve.Population, natural bool, size int, rng *rand.Rand) []interface{} + func (ts *Truncation) SetRatio(ratio float64) error + func (ts *Truncation) SetRatioRange(min, max float64) error + func (ts *Truncation) String() string