next up previous
Next: Theory Up: Introduction Previous: From Genetic Algorithms...

... to Genetic Programming

Genetic algorithms lack an important element for developiong complex functions: representation.gif In general, with genetic algorithms, one must come up with a coding scheme for a fixed-length string, which constrains the solver to a given ``size'' for a solution. However, if the form of a near-optimal algorithm is not known in advance, then the static nature of the coding prevents the solver from venturing into areas of solution-space which have better potential. The virtual number of states becomes limited.

In addition, it is difficult to think of a fixed-length string as an encoding for a hierarchical expression, which is sometimes required for more complex problems. The ``shape'' of the solution is thereby also constrained in a genetic algorithm implementation. Thus, the need for a more dynamic approach is necessary. In fact, this need was, as Koza notes, recognized early on, and eventually led to the development of genetic programming.