Package ec.gp

# Class GPTreeConstraints

java.lang.Object
ec.gp.GPTreeConstraints

All Implemented Interfaces:
  `Clique`, `Setup`, `Serializable`

public class GPTreeConstraints extends Object implements Clique
A GPTreeConstraints is a Clique which defines constraint information common to many different GPTree trees, namely the tree type, builder, and function set. GPTreeConstraints have unique names by which they are identified.

In adding new things to GPTreeConstraints, you should ask yourself the following questions: first, is this something that takes up too much memory to store in GPTrees themseves? second, is this something that needs to be accessed very rapidly, so cannot be implemented as a method call in a GPTree? third, can this be shared among different GPTrees?

Parameters

base.`size` int >= 1 | (number of tree constraints)
base.n.`name` String | (name of tree constraint n)
base.n.`init` classname, inherits and != ec.gp.GPNodeBuilder | (GP node builder for tree constraint n)
base.n.`returns` String | (tree type for tree constraint n)
base.n.`fset` String | (function set for tree constraint n)

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `byte`
  `constraintNumber`
  The byte value of the constraints -- we can only have 256 of them
  `GPFunctionSet`
  `functionset`
  The function set for nodes in the tree
  `GPNodeBuilder`
  `init`
  The builder for the tree
  `String`
  `name`
  `static final String`
  `P_FUNCTIONSET`
  `static final String`
  `P_INIT`
  `static final String`
  `P_NAME`
  `static final String`
  `P_RETURNS`
  `static final String`
  `P_SIZE`
  `static final int`
  `SIZE_OF_BYTE`
  `GPType`
  `treetype`
  The type of the root of the tree

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GPTreeConstraints()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static GPTreeConstraints`
  `constraintsFor(String constraintsName, EvolutionState state)`
  You must guarantee that after calling constraintsFor(...) one or several times, you call state.output.exitIfErrors() once.
  `void`
  `setup(EvolutionState state, Parameter base)`
  This must be called after the GPTypes and GPFunctionSets have been set up.
  `String`
  `toString()`

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

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

- ## Field Details

  - ### SIZE_OF_BYTE

    public static final int SIZE_OF_BYTE
    See Also:
      - Constant Field Values

  - ### P_NAME

    public static final String P_NAME
    See Also:
      - Constant Field Values

  - ### P_SIZE

    public static final String P_SIZE
    See Also:
      - Constant Field Values

  - ### P_INIT

    public static final String P_INIT
    See Also:
      - Constant Field Values

  - ### P_RETURNS

    public static final String P_RETURNS
    See Also:
      - Constant Field Values

  - ### P_FUNCTIONSET

    public static final String P_FUNCTIONSET
    See Also:
      - Constant Field Values

  - ### name

    public String name

  - ### constraintNumber

    public byte constraintNumber
    The byte value of the constraints -- we can only have 256 of them

  - ### init

    public GPNodeBuilder init
    The builder for the tree

  - ### treetype

    public GPType treetype
    The type of the root of the tree

  - ### functionset

    public GPFunctionSet functionset
    The function set for nodes in the tree

- ## Constructor Details

  - ### GPTreeConstraints

    public GPTreeConstraints()

- ## Method Details

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### setup

    public void setup(EvolutionState state, Parameter base)
    This must be called after the GPTypes and GPFunctionSets have been set up.
    Specified by:
      `setup` in interface `Setup`

  - ### constraintsFor

    public static GPTreeConstraints constraintsFor(String constraintsName, EvolutionState state)
    You must guarantee that after calling constraintsFor(...) one or several times, you call state.output.exitIfErrors() once.