public class DoubleTournamentSelection extends SelectionMethod implements SteadyStateBSourceForm
Modifier and Type | Field and Description |
---|---|
boolean |
doLengthFirst |
static java.lang.String |
P_DOLENGTHFIRST |
static java.lang.String |
P_PICKWORST |
static java.lang.String |
P_PICKWORST2 |
static java.lang.String |
P_SIZE
size parameter
|
static java.lang.String |
P_SIZE2 |
static java.lang.String |
P_TOURNAMENT
default base
|
boolean |
pickWorst
Do we pick the worst instead of the best?
|
boolean |
pickWorst2 |
double |
probabilityOfSelection
What's our probability of selection? If 1.0, we always pick the "good" individual.
|
double |
probabilityOfSelection2 |
int |
size
Size of the tournament
|
int |
size2 |
INDS_PRODUCED
NO_PROBABILITY, P_PROB, probability
Constructor and Description |
---|
DoubleTournamentSelection() |
Modifier and Type | Method and Description |
---|---|
Parameter |
defaultBase()
Returns the default base for this prototype.
|
void |
individualReplaced(SteadyStateEvolutionState state,
int subpopulation,
int thread,
int individual)
Called whenever an individual has been replaced by another
in the population.
|
int |
make(int subpopulation,
EvolutionState state,
int thread)
Produces the index of a person selected from among several by a tournament.
|
int |
produce(int subpopulation,
EvolutionState state,
int thread)
Produces the index of a person selected from among several by a tournament.
|
void |
setup(EvolutionState state,
Parameter base)
Sets up the BreedingPipeline.
|
void |
sourcesAreProperForm(SteadyStateEvolutionState state)
Issue an error (not a fatal -- we guarantee that callers
of this method will also call exitIfErrors) if any
of your sources, or their sources, etc., are not
of SteadyStateBSourceForm.
|
finishProducing, prepareToProduce, produce, produces, typicalIndsProduced
clone, getProbability, pickRandom, preparePipeline, setProbability, setupProbabilities
public static final java.lang.String P_TOURNAMENT
public static final java.lang.String P_PICKWORST
public static final java.lang.String P_PICKWORST2
public static final java.lang.String P_DOLENGTHFIRST
public static final java.lang.String P_SIZE
public static final java.lang.String P_SIZE2
public int size
public int size2
public double probabilityOfSelection
public double probabilityOfSelection2
public boolean pickWorst
public boolean pickWorst2
public boolean doLengthFirst
public Parameter defaultBase()
Prototype
defaultBase
in interface Prototype
public void setup(EvolutionState state, Parameter base)
BreedingSource
The most common modification is to normalize it with some other set of probabilities, then set all of them up in increasing summation; this allows the use of the fast static BreedingSource-picking utility method, BreedingSource.pickRandom(...). In order to use this method, for example, if four breeding source probabilities are {0.3, 0.2, 0.1, 0.4}, then they should get normalized and summed by the outside owners as: {0.3, 0.5, 0.6, 1.0}.
setup
in interface Prototype
setup
in interface Setup
setup
in class BreedingSource
Prototype.setup(EvolutionState,Parameter)
public int produce(int subpopulation, EvolutionState state, int thread)
produce
in class SelectionMethod
public int make(int subpopulation, EvolutionState state, int thread)
public void individualReplaced(SteadyStateEvolutionState state, int subpopulation, int thread, int individual)
SteadyStateBSourceForm
individualReplaced
in interface SteadyStateBSourceForm
public void sourcesAreProperForm(SteadyStateEvolutionState state)
SteadyStateBSourceForm
sourcesAreProperForm
in interface SteadyStateBSourceForm