ec.parsimony
Class DoubleTournament
java.lang.Object
|
+--ec.BreedingSource
|
+--ec.SelectionMethod
|
+--ec.parsimony.DoubleTournament
- All Implemented Interfaces:
- java.lang.Cloneable, Prototype, RandomChoiceChooser, java.io.Serializable, Setup, SteadyStateBSourceForm
- public class DoubleTournament
- extends SelectionMethod
- implements SteadyStateBSourceForm
- See Also:
- Serialized Form
Method Summary |
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
P_TOURNAMENT
public static final java.lang.String P_TOURNAMENT
- default base
P_PICKWORST
public static final java.lang.String P_PICKWORST
P_PICKWORST2
public static final java.lang.String P_PICKWORST2
P_DOLENGTHFIRST
public static final java.lang.String P_DOLENGTHFIRST
P_SIZE
public static final java.lang.String P_SIZE
- size parameter
P_SIZE2
public static final java.lang.String P_SIZE2
DEFAULT_SIZE
public static final int DEFAULT_SIZE
size
public int size
- Size of the tournament
size2
public int size2
probabilityOfSelection
public double probabilityOfSelection
- What's our probability of selection? If 1.0, we always pick the "good" individual.
probabilityOfSelection2
public double probabilityOfSelection2
pickWorst
public boolean pickWorst
- Do we pick the worst instead of the best?
pickWorst2
public boolean pickWorst2
doLengthFirst
public boolean doLengthFirst
DoubleTournament
public DoubleTournament()
defaultBase
public Parameter defaultBase()
- Description copied from interface:
Prototype
- Returns the default base for this prototype.
This should generally be implemented by building off of the static base()
method on the DefaultsForm object for the prototype's package. This should
be callable during setup(...).
setup
public void setup(EvolutionState state,
Parameter base)
- Description copied from class:
BreedingSource
- Sets up the BreedingPipeline. You can use state.output.error here
because the top-level caller promises to call exitIfErrors() after calling
setup. Note that probability might get modified again by
an external source if it doesn't normalize right.
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}.
- Overrides:
setup
in class BreedingSource
- Following copied from class:
ec.BreedingSource
- See Also:
Prototype.setup(EvolutionState,Parameter)
produce
public int produce(int subpopulation,
EvolutionState state,
int thread)
- Produces the index of a person selected from among several by a tournament.
The tournament's criteria is fitness of individuals if doLengthFirst is true,
otherwise the size of the individuals.
- Overrides:
produce
in class SelectionMethod
make
public int make(int subpopulation,
EvolutionState state,
int thread)
- Produces the index of a person selected from among several by a tournament.
The tournament's criteria is size of individuals if doLengthFirst is true,
otherwise the fitness of the individuals.
individualReplaced
public void individualReplaced(SteadyStateEvolutionState state,
int subpopulation,
int thread,
int individual)
- Description copied from interface:
SteadyStateBSourceForm
- Called whenever an individual has been replaced by another
in the population.
- Specified by:
individualReplaced
in interface SteadyStateBSourceForm
sourcesAreProperForm
public void sourcesAreProperForm(SteadyStateEvolutionState state)
- Description copied from interface:
SteadyStateBSourceForm
- 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.
- Specified by:
sourcesAreProperForm
in interface SteadyStateBSourceForm