ec.select
Class RandomSelection

java.lang.Object
  extended by ec.BreedingSource
      extended by ec.SelectionMethod
          extended by ec.select.RandomSelection
All Implemented Interfaces:
Prototype, Setup, SteadyStateBSourceForm, RandomChoiceChooser, java.io.Serializable, java.lang.Cloneable

public class RandomSelection
extends SelectionMethod
implements SteadyStateBSourceForm

Picks a random individual in the subpopulation. This is mostly for testing purposes.

Default Base
select.random

Version:
1.0
Author:
Sean Luke
See Also:
Serialized Form

Field Summary
static java.lang.String P_RANDOM
          default base
 
Fields inherited from class ec.SelectionMethod
INDS_PRODUCED
 
Fields inherited from class ec.BreedingSource
CHECKBOUNDARY, DEFAULT_PRODUCED, NO_PROBABILITY, P_PROB, probability, UNUSED
 
Constructor Summary
RandomSelection()
           
 
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 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.
 int produce(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.
 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 ec.SelectionMethod
finishProducing, preparePipeline, prepareToProduce, produces, typicalIndsProduced
 
Methods inherited from class ec.BreedingSource
clone, getProbability, pickRandom, setProbability, setup, setupProbabilities
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

P_RANDOM

public static final java.lang.String P_RANDOM
default base

See Also:
Constant Field Values
Constructor Detail

RandomSelection

public RandomSelection()
Method Detail

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(...).

Specified by:
defaultBase in interface Prototype

produce

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

Specified by:
produce in class SelectionMethod

produce

public int produce(int min,
                   int max,
                   int start,
                   int subpopulation,
                   Individual[] inds,
                   EvolutionState state,
                   int thread)
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.

Overrides:
produce in class SelectionMethod

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