Table of Contents

Class: DiversitySelection Bio/GA/Selection/Diversity.py

Implement diversity selection.

Diversity selection is performed by trying to select individuals from the population that aren't already in the new_population. A group of selected individuals is then subjected to selection using a passed selection routine.

If new individuals can not be selected, new individuals will be randomly generated and inserted into the population.

Base Classes   
AbstractSelection
Methods   
__init__
_get_new_organism
select
  __init__ 
__init__ (
        self,
        internal_selector,
        genome_generator,
        )

Initialize a diversity selector.

Arguments:

  • internal_selector - A selection object that will be used to select individuals based on fitness, perform crossover, mutation and repair.

  • genome_generator - A function that, when called, will return a genome to be used for a new organism. The genome returned must be a MutableSeq() object.

  _get_new_organism 
_get_new_organism (
        self,
        new_pop,
        old_pop,
        )

Get a new organism from old_pop that isn't in new_pop.

This attempts to select an organism from old_pop that isn't in new_pop. If we can't do this in the number of tries specified by the class attribute random_tries, we generate a new random organism and return that.

  select 
select ( self,  population )

Perform selection on the current population, encouraging diversity.


Table of Contents

This document was automatically generated on Mon Jul 1 12:03:10 2002 by HappyDoc version 2.0.1