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.
Link to this function _set_up_wheel()

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.