Two fast tree-creation algorithms for genetic programming
Genetic programming is an evolutionary optimization method that produces functional programs to solve a given task. These programs commonly take the form of trees representing LISP s-expressions, and a typical evolutionary run produces a great many of these trees, For this reason, a good tree-generation algorithm is very important to genetic programming. This paper presents two new tree-generation algorithms for genetic programming and for "strongly typed" genetic programming, a common variant. These algorithms are fast, allow the user to request specific tree sizes, and guarantee probabilities of certain nodes appearing in trees, The paper analyzes these two algorithms, and compares them with traditional and recently proposed approaches.
genetic programming bloat introns population initialization subtree mutation tree creation tree growth