selRoulette: Roulette-wheel / fitness-proportional selector.

selRouletteR Documentation

Roulette-wheel / fitness-proportional selector.

Description

The chance of an individual to get selected is proportional to its fitness, i.e., better individuals get a higher chance to take part in the reproduction process. Low-fitness individuals however, have a positive fitness as well.

Usage

selRoulette(fitness, n.select, offset = 0.1)

Arguments

fitness

[matrix]
Matrix of fitness values (each column contains the fitness value(s) of one individual).

n.select

[integer(1)]
Number of elements to select.

offset

[numeric(1)]
In case of negative fitness values all values are shifted towards positive values by adding the negative of the minimal fitness value. However, in this case the minimal fitness value after the shifting process is zero. The offset is a positive numeric value which is added additionally to each shifted fitness value. This way even the individual with the smallest fitness value has a positive porbability to be selected. Default is 0.1.

Details

Fitness proportional selection can be naturally applied to single objective maximization problems. However, negative fitness values can are problematic. The Roulette-Wheel selector thus works with the following heuristic: if negative values occur, the negative of the smallest fitness value is added to each fitness value. In this case to avoid the smallest shifted fitness value to be zero and thus have a zero probability of being selected an additional positive constant offset is added (see parameters).

Value

[setOfIndividuals]

See Also

Other selectors: selDomHV(), selGreedy(), selNondom(), selRanking(), selSimple(), selTournament()


ecr documentation built on March 31, 2023, 10:07 p.m.