|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--ec.gp.GPNodeBuilder | +--ec.gp.build.PTC1
PTC1 implements the "Strongly-typed Probabilistic Tree Creation 1 (PTC1)" algorithm described in
Luke, Sean. 2000. Issues in Scaling Genetic Programming: Breeding Strategies, Tree Generation, and Code Bloat. Ph.D. Dissertation, Department of Computer Science, University of Maryland, College Park, Maryland.
...and also in
Luke, Sean. 2000. Two fast tree-creation algorithms for genetic programming. In IEEE Transactions on Evolutionary Computation 4:3 (September 2000), 274-283. IEEE.
Both can be found at http://www.cs.gmu.edu/~sean/papers/
PTC1 requires that your function set to implement PTCFunctionSetForm. The provided function set, PTCFunctionSet, does exactly this.
The Strongly-typed PTC1 algorithm is a derivative of the GROW algorithm used in ec.gp.koza.GrowBuilder. The primary differences are:
Parameters
base.expected-size int >= 1 |
default expected tree size |
base.max-depth int >= 1 |
maximum allowable tree depth (usually a big value) |
Field Summary | |
int |
expectedSize
The default expected tree size for PTC1 |
int |
maxDepth
The largest maximum tree depth PTC1 can specify -- should be big. |
static java.lang.String |
P_EXPECTED
|
static java.lang.String |
P_MAXDEPTH
|
static java.lang.String |
P_PTC1
|
Fields inherited from class ec.gp.GPNodeBuilder |
CHECK_BOUNDARY,
maxSize,
minSize,
NOSIZEGIVEN,
P_MAXSIZE,
P_MINSIZE,
P_NUMSIZES,
P_SIZE,
sizeDistribution |
Constructor Summary | |
PTC1()
|
Method Summary | |
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. |
Methods inherited from class ec.gp.GPNodeBuilder |
canPick,
pickSize,
protoClone,
protoCloneSimple |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
public static final java.lang.String P_PTC1
public static final java.lang.String P_EXPECTED
public static final java.lang.String P_MAXDEPTH
public int maxDepth
public int expectedSize
Constructor Detail |
public PTC1()
Method Detail |
public Parameter defaultBase()
public void setup(EvolutionState state, Parameter base)
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.
public GPNode newRootedTree(EvolutionState state, GPType type, int thread, GPNodeParent parent, GPFunctionSet set, int argposition, int requestedSize) throws java.lang.CloneNotSupportedException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |