Interface Summary
GPNodeParent GPNodeParent is a Prototype which identifies objects which may be parents of GPNodes, namely: GPTrees and GPNodes.
GPNodeSelector GPNodeSelector is a Prototype which describes algorithms which select random nodes out of trees, typically marking them for mutation, crossover, or whatnot.

Class Summary
ADF An ADF is a GPNode which implements an "Automatically Defined Function", as described in Koza II.
ADFArgument An ADFArgument is a GPNode which represents an ADF's argument terminal, its counterpart which returns argument values in its associated function tree.
ADFContext ADFContext is the object pushed onto an ADF stack which represents the current context of an ADM or ADF function call, that is, how to get the argument values that argument_terminals need to return.
ADFStack ADFStack is a special data object used to hold ADF data.
ADM An ADM is an ADF which doesn't evaluate its arguments beforehand, but instead only evaluates them (and possibly repeatedly) when necessary at runtime.
ERC ERC is an abstract GPNode which implements Ephemeral Random Constants, as described in Koza I.
GPAtomicType A GPAtomicType is a simple, atomic GPType.
GPBreedingPipeline A GPBreedingPipeline is a BreedingPipeline which produces only members of some subclass of GPSpecies.
GPData GPData is the parent class of data transferred between GPNodes.
GPDefaults A static class that returns the base for "default values" which GP-style operators use, rather than making the user specify them all on a per- species basis.
GPFunctionSet GPFunctionSet is a Clique which represents a set of GPNode prototypes forming a standard function set for forming certain trees in individuals.
GPIndividual GPIndividual is an Individual used for GP evolution runs.
GPInitializer GPInitializer is a SimpleInitializer which sets up all the Cliques, ( the initial [tree/node]constraints, types, and function sets) for the GP system.
GPNode GPNode is a GPNodeParent which is the abstract superclass of all GP function nodes in trees.
GPNodeBuilder GPNodeBuilder is a Prototype which defines the superclass for objects which create ("grow") GP trees, whether for population initialization, subtree mutation, or whatnot.
GPNodeConstraints A GPNodeConstraints is a Clique which defines constraint information common to many different GPNode functions, namely return types, child types, and number of children.
GPNodeGatherer GPNodeGatherer is a small container object for the GPNode.nodeInPosition(...) method and GPNode.numNodes(...) method.
GPProblem A GPProblem is a Problem which is meant to efficiently handle GP evaluation.
GPSetType A GPSetType is a GPType which contains GPAtomicTypes in a set, and is used as a generic GP type.
GPSpecies GPSpecies is a simple individual which is suitable as a species for GP subpopulations.
GPTree GPTree is a GPNodeParent which holds the root GPNode of a tree of GPNodes.
GPTreeConstraints A GPTreeConstraints is a Clique which defines constraint information common to many different GPTree trees, namely the tree type, builder, and function set.
GPType GPType is a Clique which represents types in Strongly-Typed Genetic Programming (STGP).