4#include "../Genotype.h"
18typedef boost::shared_ptr<PrimitiveSet> PrimitiveSetP;
31 uint growBuild(PrimitiveSetP primitiveSet, uint myDepth);
32 uint fullBuild(PrimitiveSetP primitiveSet, uint myDepth);
34 void setDepth(uint myDepth);
35 virtual void initializeFirst(
Tree* hometree);
37 std::vector<PrimitiveP> userFunctions_;
38 std::vector<PrimitiveP> userTerminals_;
46 void growBuild(PrimitiveSetP primitiveSet);
47 void fullBuild(PrimitiveSetP primitiveSet);
51 void addNode(NodeP
node);
52 void setTerminalValue(std::string,
void*);
53 void getTerminalValue(std::string,
void*);
56 void registerParameters(StateP);
57 bool initialize (StateP state);
59 std::vector<MutationOpP> getMutationOp();
60 std::vector<CrossoverOpP> getCrossoverOp();
62 bool addFunction(PrimitiveP);
63 bool addTerminal(PrimitiveP);
72 {
return startDepth_; }
74 PrimitiveSetP primitiveSet_;
83typedef boost::shared_ptr<Tree::Tree> TreeP;
Node base class (Tree genotype)
Tree class - implements genotype as a tree.
uint startDepth_
start depth of the first node (0 by default)
uint minDepth_
min allowed Tree depth
uint initMinDepth_
min allowed Tree depth at initialization (minDepth_ used if not defined)
uint iNode_
current node index (when parsing the tree)
uint initMaxDepth_
max allowed Tree depth at initialization (maxDepth_ used if not defined)
uint maxDepth_
max allowed Tree depth