Developed by Lawrence Fogel in 1966, evolutionary programming was originally used to predict changes in the environment through the evolution of artificial intelligence. The environment in this case was described as a sequence of symbols, and as an output, the evolving algorithm produced a new symbol. The output symbol maximized the payoff function, which measured the accuracy of the prediction. Finite state machines were used as a chromosomal representation of individuals, as they provided a meaningful representation of behavior based on the interpretation of symbols. During the early 1990’s, David Fogel generalized evolutionary programming techniques to handle complex problems involving numerical optimization and classification.





