Roulette selection
Overview
Roulette selection is a probabilistic method used to select parent individuals from the candidate parents based on their fitness. In roulette selection, each individual’s chance of being selected is proportional to its fitness.
How it works
- When
fit_reverse
is set toFalse
(default), corresponding to minimization mode where energy is used as fitness, the fitness values of the candidate parents are multiplied by –1. - The fitness values
$ f_i $ are linearly scaled into
$ f'_i $ using the following equation, where
$ a $ and
$ b $ are parameters specified by
a_rlt
andb_rlt
, respectively (with the condition that $ a > b $). $$ f_i' = \frac{a - b}{f_{\mathrm{max}} - f_{\mathrm{min}}} f_i + \frac{b f_{\mathrm{max}} - a f_{\mathrm{min}}}{f_{\mathrm{max}} - f_{\mathrm{min}}} $$ - The scaled fitness values $ f_i’ $ are converted into selection probabilities using the following equation: $$ p_i = \frac{f_i’}{\sum_k f_k’} $$ Each probability $ p_i $ represents the likelihood of selecting the $ i $-th individual.
- Parent individuals are then selected one by one according to the probabilities $ p_i $ using roulette wheel sampling, until the required number of parents is obtained.
Advantages
- All individuals have a non-zero chance of being selected
- Selection pressure can be adjusted by scaling the fitness values
Notes
- By default,
a_rlt = 10.0
andb_rlt = 1.0
- Proper scaling of fitness values is important to ensure meaningful selection pressure.The figure below shows examples of $ p_i $ when $ a $ is relatively small (left) and relatively large (right). If $ a $ is too small, the selection pressure becomes weak, making it more difficult to favor individuals with higher fitness.