The '''Probabilistic Tree Creator''' tries to create symbolic expression trees with uniformly distributed length. '''Initial phase''': create a root node and a start node (which together amount for an initial tree length of 1), and begin expanding until the target length is reached. This works by initially placing dummy extension points onto the available children placeholders, then replacing them with subtrees of specific depth and length. The number of children is determined in a more sophisticated way: the minimum/maximum arities are calculated based on the cumulative max/min expression lengths of the allowed child symbols so that the number of nodes will fit the desired tree length. [[Image(PTC2-01.png, 450px)]] '''Next phase''': pick random extension points, replace them with subtrees (of a minimal or otherwise constrained size), depending on the current depth and length of the tree. [[Image(PTC2-02.png, 450px)]] The subtrees will have their own extension points, and so on; the algorithm iterates over the remaining extension points and fills them up while keeping count of the current tree length and depth.