Package ec

Class SelectionMethod

All Implemented Interfaces:
Prototype, Setup, RandomChoiceChooserD, Serializable, Cloneable
Direct Known Subclasses:
AnnealedSelection, BestSelection, BucketTournamentSelection, DoubleTournamentSelection, ESSelection, FirstSelection, FitProportionateSelection, GreedyOverselection, LexicaseSelection, MultiSelection, RandomSelection, RatioBucketTournamentSelection, SUSSelection, TopSelection, TournamentSelection

public abstract class SelectionMethod extends BreedingSource
A SelectionMethod is a BreedingSource which provides direct IMMUTABLE pointers to original individuals in an old population, not fresh mutable copies. If you use a SelectionMethod as your BreedingSource, you must SelectionMethods might include Tournament Selection, Fitness Proportional Selection, etc. SelectionMethods don't have parent sources.

Typical Number of Individuals Produced Per produce(...) call
Always 1.

See Also:
  • Field Details

  • Constructor Details

    • SelectionMethod

      public SelectionMethod()
  • Method Details

    • typicalIndsProduced

      public int typicalIndsProduced()
      Returns 1 (the typical default value)
      Specified by:
      typicalIndsProduced in class BreedingSource
    • produces

      public boolean produces(EvolutionState state, Population newpop, int subpopulation, int thread)
      A default version of produces -- this method always returns true under the assumption that the selection method works with all Fitnesses. If this isn't the case, you should override this to return your own assessment.
      Specified by:
      produces in class BreedingSource
    • prepareToProduce

      public void prepareToProduce(EvolutionState s, int subpopulation, int thread)
      A default version of prepareToProduce which does nothing.
      Specified by:
      prepareToProduce in class BreedingSource
    • finishProducing

      public void finishProducing(EvolutionState s, int subpopulation, int thread)
      A default version of finishProducing, which does nothing.
      Specified by:
      finishProducing in class BreedingSource
    • produce

      public final int produce(int min, int max, int subpopulation, ArrayList<Individual> inds, EvolutionState state, int thread, HashMap<String,Object> misc)
      Description copied from class: BreedingSource
      Produces n individuals from the given subpopulation and puts them into inds[start...start+n-1], where n = Min(Max(q,min),max), where q is the "typical" number of individuals the BreedingSource produces in one shot, and returns n. max must be >= min, and min must be >= 1. For example, crossover might typically produce two individuals, tournament selection might typically produce a single individual, etc.
      Specified by:
      produce in class BreedingSource
    • produceWithoutCloning

      public int produceWithoutCloning(int min, int max, int subpopulation, ArrayList<Individual> inds, EvolutionState state, int thread, HashMap<String,Object> misc)
    • produce

      public abstract int produce(int subpopulation, EvolutionState state, int thread)
      An alternative form of "produce" special to Selection Methods; selects an individual from the given subpopulation and returns its position in that subpopulation.