Evolution of Iteration in Genetic Programming
The solution to many problems requires, or is facilitated by, the use of iteration. Moreover, because iterative steps are repeatedly executed, they must have some degree of generality. An automatic programming system should require that the user make as few problemspecific decisions as possible concerning the size, shape, and character of the ultimate solution to the problem. Work first presented at the Fourth Annual Conference on Evolutionary Programming in 1995 (EP-95) demonstrated that six then-new architecture-altering operations made it possible to automate the decision about the archi tecture of an overal l program dynamically during a run of genetic programming. The question arises as to whether it is also possible to automate the decision about whether to employ iteration, how much iteration to employ, and the particular sequence of iterative steps. This paper introduces the new operation of restricted iteration creation that automatically creates a restricted iteration-performing branch out of a portion of an existing computer program during a run a genetic programming. Genetic programming with the new operation is then used (in conjunction with the other architecture-altering operations first presented at EP-95) to evolve a computer program to solve a non-trivial problem.