Roulette Wheel selection procedure

c#, c#-4.0, genetic-algorithm, genetic-programming

Solution

The code is meant to select a random element, but with probabilities according to a certain weight.

Example:

- We want to select from a two-element array with the following weights: { 1, 9 }

- The cumulative weight is { 1, 10 }

- The total weight is 10

- We choose a random number between 1 and 10

- We look into the cumulative weight array and find the first index where our random number is greater than the element

- This index is the index of the randomly chosen element

Intuitively, this example makes sense: 9 out of ten times the random number will fall between 1 and 9 causing the first element to be drawn with probability 0.9 (just as the weights specified).

Problem

is it possible to evaluate each individual in the population using the fitness value without finding the probability as the following pseudo code ``` For all members of population sum += fitness ( member) End for Loop until new population is full Do this twice Number = Random between 0 and sum Currentfitness = 0.0 For each member in population Currentfitness += fitness (member) if Number > Currentfitness then select member End for End Create offspring End loop ``` and what the following part of the code do ? ``` Do this twice ``` I really confuse how the Roulette Wheel selects pair of parents. can any help ? thanks in advance

Original source

Related problems