State of Iteration and Recursion in Genetic Programming

Download Report

Transcript State of Iteration and Recursion in Genetic Programming

GECKIES GROUP
SEMINAR SERIES
State of Iteration and Recursion in
Genetic Programming
Edwin Rodriguez
[email protected]
Genetic and Evolutionary Computation KSU Investigation and Experimentation
Studio
KDD Laboratory
Kansas State University
Outline
●
Introduction to Genetic Programming
●
Drawbacks of GP
●
Iteration and Recursion in GP
●
Conclusions
●
References
Introduction to GP
●
One of the many variants of EAs
–
●
A direct descendant of GAs
–
●
Based on Darwinian evolution concept of natural
selection
Can be seen as a more generalized GA with
variable length chromosomes
Automated program induction
–
Deemed as one of the few candidate
technologies that could lead to Strong AI
Introduction to GP [2]
●
Same evolutionary cycle as that of GAs
–
●
Traditional Genetic Operators
–
●
Selection -> Gen Op App -> Selection
Crossover and Mutation
Individuals are programs
–
The individuals representation is usually a parse
tree, but other representations are used
Drawbacks of GP
●
Code bloat
–
●
Sections of useless code that gets executed and
makes evaluation very expensive
Turing Incompleteness
–
Traditional GP is not Turing complete
●
●
There are, in advance, problems that GP cannot solve
Breaks down the promise of totally automated
program induction
Drawbacks of GP [2]
●
●
Why is traditional GP Turing incomplete?
–
No memory
–
No iteration or recursion
Consider the very simple problem
–
Recognize the strings of the form:
0n1n
–
Traditional GP cannot solve this problem
Iteration and Recursion in GP
●
Part of what is needed to fix GP
●
Early work in this area
●
–
Koza's work on restricted iteration
–
Teller's mental models with GP
Little work on recursion
–
Iteration is simpler to deal with and gives the
same power
–
Some work on restricted iteration
Iteration and Recursion in GP [2]
●
Restricted iteration
–
Impose an external limit to the number of
iterations (usually given by some domain
information)
–
Disallow nested iterations or restrict the nesting
depth
–
Exploit structure of inductively defined data to
limit number of iterations (inductive iteration)
Iteration and Recursion in GP [3]
●
Restricted recursion
–
Not much studied
–
Iteration is easier to control externally than
recursion
–
What has been done is basically the same as for
iteration, with no additional benefits:
●
Impose an external limit to the number of recursive
calls (usually given by some domain information)
Conclusions
●
●
The use iteration and recursion gives a lot of
benefits to GP:
–
More compact code
–
Increases level of generalization
Is this enough?
–
After all these techniques are restricted
–
Technically speaking, this doesn't make GP Turing
complete
–
It does increase the power of GP, but more needs to be
done
References
●
●
●
●
Koza, John R. and Andre, David. 1996b. Evolution of iteration in genetic programming. In
Fogel, Lawrence J., Angeline, Peter J. and Baeck, T. Evolutionary Programming V:
Proceedings of the Fifth Annual Conference on Evolutionary Programming. Cambridge,
MA: The MIT Press. Pages 469 -- 478.
Evan Kirshenbaum. Iteration Over Vectors in Genetic Programming. HP Laboratories
Technical Report HPL-2001-327, December 17, 2001.
Scott Brave. Evolving recursive programs for tree search. In Peter J. Angeline and K. E.
Kinnear, Jr., editors, Advances in Genetic Programming 2, chapter 10, pages 203—220.
MIT Press, Cambridge, MA, USA, 1996.
Astro Teller. The evolution of mental models. In Jr. Kenneth E. Kinnear, editor, Advances In
Genetic Programming, pages 199 -- 220. MIT Press, 1994.