Package ec.gp.build

# Class RandTree

java.lang.Object
ec.gp.GPNodeBuilder
ec.gp.build.RandTree

All Implemented Interfaces:
  `Prototype`, `Setup`, `Serializable`, `Cloneable`

public class RandTree extends GPNodeBuilder

See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `RandTree.ArityObject`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `P_RANDOMBRANCH`

  ### Fields inherited from class ec.gp.GPNodeBuilder

  `CHECK_BOUNDARY, maxSize, minSize, NOSIZEGIVEN, P_MAXSIZE, P_MINSIZE, P_NUMSIZES, P_SIZE, sizeDistribution`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RandTree()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `buildDyckWord(int requestedSize, int[] arities, int[] s, EvolutionState state, int thread)`
  `boolean`
  `checkDyckWord(String dyck)`
  `Parameter`
  `defaultBase()`
  Returns the default base for this prototype.
  `GPNode`
  `newRootedTree(EvolutionState state, GPType type, int thread, GPNodeParent parent, GPFunctionSet set, int argposition, int requestedSize)`
  `void`
  `setup(EvolutionState state, Parameter base)`
  Sets up the object by reading it from the parameters stored in state, built off of the parameter base base.
  `void`
  `setupArities(EvolutionState state, GPFunctionSet set)`

  ### Methods inherited from class ec.gp.GPNodeBuilder

  `canPick, clone, errorAboutNoNodeWithType, pickSize, warnAboutNonterminal, warnAboutNonTerminalWithType, warnAboutNoTerminalWithType`

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

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

- ## Field Details

  - ### P_RANDOMBRANCH

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

- ## Constructor Details

  - ### RandTree

    public RandTree()

- ## 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 interface: `Prototype`
    Sets up the object by reading it from the parameters stored in state, built off of the parameter base base. If an ancestor implements this method, be sure to call super.setup(state,base); before you do anything else.

    For prototypes, setup(...) is typically called once for the prototype instance; cloned instances do not receive the setup(...) call. setup(...) may be called more than once; the only guarantee is that it will get called at least once on an instance or some "parent" object from which it was ultimately cloned.

    Specified by:
      `setup` in interface `Prototype`
    Specified by:
      `setup` in interface `Setup`
    Overrides:
      `setup` in class `GPNodeBuilder`

  - ### setupArities

    public void setupArities(EvolutionState state, GPFunctionSet set)

  - ### newRootedTree

    public GPNode newRootedTree(EvolutionState state, GPType type, int thread, GPNodeParent parent, GPFunctionSet set, int argposition, int requestedSize)
    Specified by:
      `newRootedTree` in class `GPNodeBuilder`

  - ### buildDyckWord

    public String buildDyckWord(int requestedSize, int[] arities, int[] s, EvolutionState state, int thread)

  - ### checkDyckWord

    public boolean checkDyckWord(String dyck)