ec
Class SelectionMethod
- java.lang.Object
-
- ec.BreedingSource
-
- ec.SelectionMethod
-
- All Implemented Interfaces:
- Prototype, Setup, RandomChoiceChooserD, java.io.Serializable, java.lang.Cloneable
- Direct Known Subclasses:
- BestSelection, BucketTournamentSelection, DoubleTournamentSelection, ESSelection, FirstSelection, FitProportionateSelection, GreedyOverselection, MultiSelection, OurSelection, RandomSelection, RatioBucketTournamentSelection, SUSSelection, 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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static intINDS_PRODUCED-
Fields inherited from class ec.BreedingSource
NO_PROBABILITY, P_PROB, probability
-
-
Constructor Summary
Constructors Constructor and Description SelectionMethod()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description voidfinishProducing(EvolutionState s, int subpopulation, int thread)A default version of finishProducing, which does nothing.voidprepareToProduce(EvolutionState s, int subpopulation, int thread)A default version of prepareToProduce which does nothing.abstract intproduce(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.intproduce(int min, int max, int start, int subpopulation, Individual[] inds, EvolutionState state, int thread)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.booleanproduces(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.inttypicalIndsProduced()Returns 1 (the typical default value)-
Methods inherited from class ec.BreedingSource
clone, getProbability, pickRandom, preparePipeline, setProbability, setup, setupProbabilities
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface ec.Prototype
defaultBase
-
-
-
-
Field Detail
-
INDS_PRODUCED
public static final int INDS_PRODUCED
- See Also:
- Constant Field Values
-
-
Method Detail
-
typicalIndsProduced
public int typicalIndsProduced()
Returns 1 (the typical default value)- Specified by:
typicalIndsProducedin classBreedingSource
-
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:
producesin classBreedingSource
-
prepareToProduce
public void prepareToProduce(EvolutionState s, int subpopulation, int thread)
A default version of prepareToProduce which does nothing.- Specified by:
prepareToProducein classBreedingSource
-
finishProducing
public void finishProducing(EvolutionState s, int subpopulation, int thread)
A default version of finishProducing, which does nothing.- Specified by:
finishProducingin classBreedingSource
-
produce
public int produce(int min, int max, int start, int subpopulation, Individual[] inds, EvolutionState state, int thread)Description copied from class:BreedingSourceProduces 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:
producein classBreedingSource
-
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.
-
-
DMelt 3.0 © DataMelt by jWork.ORG