110 likes | 185 Views
State of Iteration and Recursion in Genetic Programming Edwin Rodriguez edwin@cis.ksu.edu Genetic and Evolutionary Computation KSU Investigation and Experimentation Studio KDD Laboratory Kansas State University. GECKIES GROUP SEMINAR SERIES. Outline.
E N D
State of Iteration and Recursion in Genetic Programming Edwin Rodriguez edwin@cis.ksu.edu Genetic and Evolutionary Computation KSU Investigation and Experimentation Studio KDD Laboratory Kansas State University GECKIES GROUP SEMINAR SERIES
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 • Based on Darwinian evolution concept of natural selection • A direct descendant of GAs • 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 • Selection -> Gen Op App -> Selection • Traditional Genetic Operators • 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.