Package ec.rule

Class RuleSpecies

java.lang.Object
ec.Species
ec.rule.RuleSpecies
All Implemented Interfaces:
Prototype, Setup, Serializable, Cloneable

public class RuleSpecies extends Species
RuleSpecies is a simple individual which is suitable as a species for rule sets subpopulations. RuleSpecies' individuals must be RuleIndividuals, and often their pipelines are RuleBreedingPipelines (at any rate, the pipelines will have to return members of RuleSpecies!).

Default Base
rule.species

See Also:
  • Field Details

  • Constructor Details

    • RuleSpecies

      public RuleSpecies()
  • 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(...).
    • setup

      public void setup(EvolutionState state, Parameter base)
      Description copied from class: Species
      The default version of setup(...) loads requested pipelines and calls setup(...) on them and normalizes their probabilities. If your individual prototype might need to know special things about the species (like parameters stored in it), then when you override this setup method, you'll need to set those parameters BEFORE you call super.setup(...), because the setup(...) code in Species sets up the prototype.
      Specified by:
      setup in interface Prototype
      Specified by:
      setup in interface Setup
      Overrides:
      setup in class Species
      See Also:
    • newIndividual

      public Individual newIndividual(EvolutionState state, int thread)
      Description copied from class: Species
      Provides a brand-new individual to fill in a population. The default form simply calls clone(), creates a fitness, sets evaluated to false, and sets the species. If you need to make a more custom genotype (as is the case for GPSpecies, which requires a light rather than deep clone), you will need to override this method as you see fit.
      Overrides:
      newIndividual in class Species