Package ec.select

# Class RandomSelection

java.lang.Object
ec.BreedingSource
ec.SelectionMethod
ec.select.RandomSelection

All Implemented Interfaces:
  `Prototype`, `Setup`, `SteadyStateBSourceForm`, `RandomChoiceChooserD`, `Serializable`, `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

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `P_RANDOM`
  default base

  ### Fields inherited from class ec.SelectionMethod

  `INDS_PRODUCED, KEY_PARENTS`

  ### Fields inherited from class ec.BreedingSource

  `NO_PROBABILITY, P_PROB, probability`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RandomSelection()`

- ## Method Summary

  Modifier and Type
  Method
  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`
  `produce(int min, int max, int start, int subpopulation, Individual[] inds, EvolutionState state, int thread, HashMap<String,Object> misc)`
  `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.
  `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, prepareToProduce, produce, produces, produceWithoutCloning, typicalIndsProduced`

  ### Methods inherited from class ec.BreedingSource

  `clone, fillStubs, getProbability, pickRandom, preparePipeline, setProbability, setup, setupProbabilities`

  ### Methods inherited from class java.lang.Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### P_RANDOM

    public static final String P_RANDOM
    default base
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### RandomSelection

    public RandomSelection()

- ## Method Details

  - ### 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, HashMap<String,Object> misc)

  - ### 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`