biopython v1.71.0 Bio.GA.Selection.RouletteWheel.RouletteWheelSelection
Roulette wheel selection proportional to individuals fitness.
The implements a roulette wheel selector that selects individuals from the population, and performs mutation and crossover on the selected individuals.
Link to this section Summary
Functions
Initialize the selector
Set up the roulette wheel based on the fitnesses
Perform selection on the population based using a Roulette model
Link to this section Functions
Initialize the selector.
Arguments:
- mutator - A Mutation object which will perform mutation
on an individual.
- crossover - A Crossover object which will take two
individuals and produce two new individuals which may
have had crossover occur.
- repairer - A class which can do repair on rearranged genomes
to eliminate infeasible individuals. If set at None, so repair
will be done.
Set up the roulette wheel based on the fitnesses.
This creates a fitness proportional ‘wheel’ that will be used for selecting based on random numbers.
Return value:
A dictionary where the keys are the ‘high’ value that an individual will be selected. The low value is determined by the previous key in a sorted list of keys. For instance, if we have a sorted list of keys like::
[.1, .3, .7, 1]
Then the individual whose key is .1 will be selected if a number between 0 and .1 is chosen, the individual whose key is .3 will be selected if the number is between .1 and .3, and so on.
The values of the dictionary are the organism instances.
Perform selection on the population based using a Roulette model.
Arguments:
- population - A population of organisms on which we will perform
selection. The individuals are assumed to have fitness values which
are due to their current genome.