Normalized fitness converts an individual’s fitness into its share of the population total: fᵢ = fitnessᵢ / Σ fitness. The resulting value determines that individual’s proportion of a roulette wheel and therefore its selection probability. section 18.1.6
Using cumulative selection ranges
For a population, sum all fitness values, divide each fitness by that total, and accumulate the fractions in an array. Draw a random position on the interval; the range containing it selects the parent. Higher-fitness individuals receive larger ranges, while lower-fitness individuals retain a chance. Computing the total and percentages requires linear work per iteration. section 18.1.6
Figure 18.9 Roulette wheel selection in practice. We use an array with cumulative percentages; the difference between A[i] and A[i-1] is exactly the ratio between the i-th element’s fitness and the sum of all elements’ fitness.
Use the cumulative-percentage diagram to trace how each individual’s normalized fitness becomes a selectable interval. section 18.1.6
