|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectec.gp.GPFunctionSet
public class GPFunctionSet
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 |
Field Summary | |
---|---|
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 | |
---|---|
GPFunctionSet()
|
Method Summary | |
---|---|
static GPFunctionSet |
functionSetFor(java.lang.String functionSetName,
EvolutionState state)
Returns the function set for a given name. |
void |
postProcessFunctionSet()
Sets up the arrays based on the hashtables |
void |
setup(EvolutionState state,
Parameter base)
Must be done after GPType and GPNodeConstraints have been set up |
java.lang.String |
toString()
Returns the name. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String P_NAME
public static final java.lang.String P_FUNC
public static final java.lang.String P_SIZE
public java.lang.String name
public java.util.Hashtable nodes_h
public GPNode[][] nodes
public java.util.Hashtable nonterminals_h
public GPNode[][] nonterminals
public java.util.Hashtable terminals_h
public GPNode[][] terminals
public java.util.Hashtable nodesByName
public GPNode[][][] nodesByArity
public GPNode[][][] nonterminalsUnderArity
public GPNode[][][] nonterminalsOverArity
Constructor Detail |
---|
public GPFunctionSet()
Method Detail |
---|
public java.lang.String toString()
toString
in class java.lang.Object
public void postProcessFunctionSet()
public void setup(EvolutionState state, Parameter base)
setup
in interface Setup
public static GPFunctionSet functionSetFor(java.lang.String functionSetName, EvolutionState state)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |