# StParseTree

Various functions for strongly typed tree-based Genetic Programming. More...

## Classes

class | eoStParseTreeDepthInit< FType, Node >
| eoStParseTreeDepthInit : the initializer class for strongly typed tree-based genetic programming More...
class | eoStSubtreeXOver< FType, Node >
| eoStSubtreeXOver --> subtree xover for strongly typed tree-based genetic programming More...
class | eoStBranchMutation< FType, Node >
| eoStBranchMutation --> replace a strongly typed subtree with a randomly created strongly typed subtree More...
class | eoStPointMutation< FType, Node >
| eoStPointMutation --> replace a Node with a Node of the same arity and type More...
class | eoStHoistMutation< FType, Node >
| eoStHoistMutation --> replace the individual with one of its strongly typed subtree's More...

## Detailed Description

Various functions for strongly typed tree-based Genetic Programming.

The StParseTree functions use the same eoParseTree class for the individual but now each node class must have two additional functions.

- int type(void) which returns the return type of the node
- int type(int child) which returns the required type for child 0, 1 or 2

Pruning strongly typed trees is not possible at the moment.