Documentation of 'ec.gp.GPFunctionSet' Java class
GPFunctionSet
ec.gp

Class GPFunctionSet

  • All Implemented Interfaces:
    Clique, Setup, java.io.Serializable
    Direct Known Subclasses:
    PTCFunctionSet


    public class GPFunctionSet
    extends java.lang.Object
    implements Clique
    GPFunctionSet is a Clique which represents a set of GPNode prototypes forming a standard function set for forming certain trees in individuals. GPFunctionSets instances have unique names with which they're referenced by GPTreeConstraints objects indicating that they're used for certain trees. GPFunctionSets store their GPNode Prototypes in three hashtables, one for all nodes, one for nonterminals, and one for terminals. Each hashed item is an array of GPNode objects, hashed by the return type of the GPNodes in the array. GPFunctionSets also contain prototypical GPNode nodes which they clone to form their arrays.

    Parameters

    base.name
    String
    (name of function set. Must be different from other function set instances)
    base.size
    int >= 1
    (number of functions in the function set)
    base.func.n
    classname, inherits and != ec.gp.GPNode
    (class of function node n in the set)

    Parameter bases

    base.func.n function node n
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      java.lang.String name
      Name of the GPFunctionSet
      GPNode[][] nodes
      The nodes that our GPTree can use: nodes[type][thenodes].
      java.util.Hashtable nodes_h
      The nodes that our GPTree can use: arrays of nodes hashed by type.
      GPNode[][][] nodesByArity
      Nodes == a given arity, that is: nodesByArity[type][arity][thenodes]
      java.util.Hashtable nodesByName
      The nodes that our GPTree can use, hashed by name().
      GPNode[][] nonterminals
      The nonterminals our GPTree can use: nonterminals[type][thenodes].
      java.util.Hashtable nonterminals_h
      The nonterminals our GPTree can use: arrays of nonterminals hashed by type.
      GPNode[][][] nonterminalsOverArity
      Nonterminals >= a given arity, that is: nonterminalsOverArity[type][arity][thenodes] -- this will be O(n^2).
      GPNode[][][] nonterminalsUnderArity
      Nonterminals <= a given arity, that is: nonterminalsUnderArity[type][arity][thenodes] -- this will be O(n^2).
      static java.lang.String P_FUNC 
      static java.lang.String P_NAME 
      static java.lang.String P_SIZE 
      GPNode[][] terminals
      The terminals our GPTree can use: terminals[type][thenodes].
      java.util.Hashtable terminals_h
      The terminals our GPTree can use: arrays of terminals hashed by type.
    • Constructor Summary

      Constructors 
      Constructor and Description
      GPFunctionSet() 
    • Field Detail

      • name

        public java.lang.String name
        Name of the GPFunctionSet
      • nodes_h

        public java.util.Hashtable nodes_h
        The nodes that our GPTree can use: arrays of nodes hashed by type.
      • nodes

        public GPNode[][] nodes
        The nodes that our GPTree can use: nodes[type][thenodes].
      • nonterminals_h

        public java.util.Hashtable nonterminals_h
        The nonterminals our GPTree can use: arrays of nonterminals hashed by type.
      • nonterminals

        public GPNode[][] nonterminals
        The nonterminals our GPTree can use: nonterminals[type][thenodes].
      • terminals_h

        public java.util.Hashtable terminals_h
        The terminals our GPTree can use: arrays of terminals hashed by type.
      • terminals

        public GPNode[][] terminals
        The terminals our GPTree can use: terminals[type][thenodes].
      • nodesByName

        public java.util.Hashtable nodesByName
        The nodes that our GPTree can use, hashed by name().
      • nodesByArity

        public GPNode[][][] nodesByArity
        Nodes == a given arity, that is: nodesByArity[type][arity][thenodes]
      • nonterminalsUnderArity

        public GPNode[][][] nonterminalsUnderArity
        Nonterminals <= a given arity, that is: nonterminalsUnderArity[type][arity][thenodes] -- this will be O(n^2). Obviously, the number of nonterminals at arity slot 0 is 0.
      • nonterminalsOverArity

        public GPNode[][][] nonterminalsOverArity
        Nonterminals >= a given arity, that is: nonterminalsOverArity[type][arity][thenodes] -- this will be O(n^2). Obviously, the number of nonterminals at arity slot 0 is all the nonterminals of that type.
    • Constructor Detail

      • GPFunctionSet

        public GPFunctionSet()
    • Method Detail

      • toString

        public java.lang.String toString()
        Returns the name.
        Overrides:
        toString in class java.lang.Object
      • postProcessFunctionSet

        public void postProcessFunctionSet()
        Sets up the arrays based on the hashtables
      • setup

        public void setup(EvolutionState state,
                          Parameter base)
        Must be done after GPType and GPNodeConstraints have been set up
        Specified by:
        setup in interface Setup
      • functionSetFor

        public static GPFunctionSet functionSetFor(java.lang.String functionSetName,
                                                   EvolutionState state)
        Returns the function set for a given name. You must guarantee that after calling functionSetFor(...) one or several times, you call state.output.exitIfErrors() once.

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.