Abstract
We present a novel approach using higher-order functions and λ abstraction to evolve recursive and modular programs. Moreover, a new term “structure abstraction” is introduced to describe the property emerged from the higher-order function program structure. We test this technique on the general even-parity problem. The results indicate that this approach is very effective with the general even-parity problem due to the appropriate selection of the foldr higher-order function. Initially, foldr structure abstraction identify the promising area of the search space at generation zero. Once the population is within the promising area, foldr structure abstraction provides hierarchical processing for search. Consequently, solutions to the general even-parity problem are found very efficiently. We identify the limitations of this new approach and conclude that only when the appropriate higher-order function is selected that the benefits of structure abstraction show.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
P. J. Angeline and J. Pollack, “The evolutionary induction of subroutines,” The Fourteenth Annual Conference of the Cognitive Science Society, Lawrence Erlbaum: Bloomington, Indiana, 1992, pp. 236-241.
P. J. Angeline and J. Pollack, “Evolutionary module acquisition,” in Proc. Second Annual Conf. Evolutionary Programming, D. B. Fogel and W. Atmar (eds.), Evolutionary Programming Society: La Jolla, CA, 1993, pp. 154-163.
P. J. Angeline, “Genetic programming and emergent intelligence,” in Advances in Genetic Programming, K. E. Kinnear, Jr. (ed.), MIT Press: Cambridge, MA, 1994, pp. 75-98.
P. J. Angeline, “A historical perspective on the evolution of executable structures,” Fundamenta Informaticae, vol. 36(1-4), pp. 179-195, 1998.
W. Banzhaf D. Banscherus, and P. Dittrich, “Hierarchical genetic programming using local modules,” Reihe cl 56/98. SFB 531, University of Dortmund, 1998.
A. S. Bickel and R. W. Bickel, “Tree structured rules in genetic algorithms,” in Genetic Algorithms and Their Applications, Proc. Second Int. Conf. Genetic Algorithms, J. J. Grefenstette (ed.), Lawrence Erlbaum: Cambridge, MA, pp. 77-81, 1987.
S. Brave, “Evolving recursive programs for tree search,” Advances in Genetic Programming II, P. J. Angeline and K. E. Kinnear, Jr. (eds.), MIT Press: Cambridge, MA, 1996, pp. 203-219. hierarchical processing 379
K. Chellapilla, “Evolving computer programs without subtree crossover,” IEEE Trans. Evolutionary Comput., vol. 1(3), pp. 209-216, 1997.
N. L. Cramer, “Representation for the adaptive generation of simple sequential programs,” in Proc. Int. Conf. Genetic Algorithms and Their Applications, J. J. Grefenstette (ed.), Lawrence Erlbaum: Hillsdale, NJ, 1985, pp. 183-187.
A. Dessi A. Giani, and A. Starita, “An analysis of automatic subroutine discovery in genetic programming,” in Proc. Genetic and Evolutionary Comput. Conf., W. Banzhaf J. Daida A. Eiben M. Garzon V. Hanavar M. Jakiela, and R. Smith (eds.), Morgan Kaufmann: Los Altos, CA, 1999, pp. 996-1001.
Discipulus, Register Machine Learning Technologies, Inc. Littleton, CO, 1998.
L. J. Fogel A. J. Owens, and M. J. Walsh, Artificial Intelligence through Simulated Evolution, Wiley: New York, 1966.
R. M. Friedberg, “A learning machine: Part I,” IBM J. Research and Development, vol. 2(1), pp. 2-13, 1958.
R. M. Friedberg B. Dunham, and J. H. North, “A learning machine: Part II,” IMB J. Research and Development, vol. 3, pp. 282-287, 1959.
C. Fujiki, An evaluation of Holland's genetic operators applied to a program generator, Master's thesis, University of Idaho, Moscow, ID.
C. Fujiki and J. Dickinson, “Using the genetic algorithm to generate LISP source code to solve the prisoner's dilemma,” in Genetic Algorithms and Their Applications, Proc. Second Int. Conf. Genetic Algorithms, J. J. Grefenstette (ed.), Lawrence Erlbaum: Hillsdale, NJ, 1987, pp. 236-240.
C. Gathercole and P. Ross, “Tackling the boolean even n parity problem with genetic programming and limited-error fitness,” in Genetic Programming 1997, Proc. Second Ann. Conf., Stanford University, J. R. Koza K. Deb M. Dorigo D. B. Fogel M. Garzon H. Iba, and R. L. Riolo (eds.), Morgan Kaufmann: Los Altos, CA, 1997, pp. 119-127.
S. G. Handley, “The automatic generations of plans for a mobile robot via genetic programming with automatically defined functions,” Advances in Genetic Programming, K. E. Kinnear, Jr. (ed.), MIT Press: Cambridge, MA, 1994, pp. 391-401.
J. F. Hicklin, Application of the genetic algorithm to automatic program generation, Master Thesis, University of Idaho, Moscow, ID, 1986.
C. A. R. Hoare, “Algorithm 63, Partition, Algorithm 64, Quicksort,” Commun. ACM, vol. 4, p. 321, 1961.
P. Hudak, “Conception, evolution, and application of functional programming languages,” ACM Comput. Surveys, vol. 21(3), pp. 359-411, 1989.
K. E. Kinnear Jr., “Alternatives in automatic function definition: A comparison of performance,” Advances in Genetic Programming, K. E. Kinnear, Jr. (ed.), MIT Press: Cambridge, MA, 1994, pp. 119-141.
J. R. Koza D. Andre F. H. Bennett III, and M. Keane, “Use of automatically defined functions and architecture-altering operations in automated circuit synthesis using genetic programming,” in Genetic Programming 1996, Proc. First Ann. Conf., Stanford University, CA, J. R. Koza D. E. Goldberg D. B. Fogel and R. L. Riolo (eds.), MIT Press: Cambridge, 1996, MA, pp. 132-149.
J. R. Koza, “Hierarchical genetic algorithms operating on populations of computer programs,” in Proc. 11th Int. Conf. Artificial Intell., Detroit, MI, N. S. Sridharan (ed.), vol. I, Morgan Kaufmann: Los Altos, CA, 1989, pp. 768-774.
J. R. Koza, “Genetically breeding populations of computer programs to solve problems in Artificial Intelligence,” in Proc. Second Int. Conf. Tools for AI, IEEE Computer Society Press: Herndon, Virginia, 1990, pp. 819-827.
J. R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press: Cambridge, MA, 1992.
J. R. Koza, Genetic Programming II: Automatic Discovery of Reusable Programs, MIT Press: Cambridge, MA, 1994.
J. R. Koza, “Scalable learning in genetic programming using automatic function definition,” Advances in Genetic Programming, K. E. Kinnear, Jr. (ed.), MIT Press: Cambridge, MA, 1994, pp. 99-117.
J. R. Koza, “Evolving the architecture of a multi-part program in genetic programming using architecture-altering operations,” in Evolutionary Programming IV, Proc. Fourth Ann. Conf. Evolutionary Programming, San Diego, CA, J. R. McDonnell R. G. Reynolds, and D. B. Fogel (eds.), MIT Press: Cambridge, MA, 1995, pp. 695-717.
W. B. Langdon and R. Poli, “Why 'building blocks' don't work on parity problems,” Technical report CSRP-98-17, The University of Birmingham, 1998.
W. B. Langdon, “Scaling of program fitness space,” Evolutionary Comput., vol. 7(4), pp. 339-421, 1999.
N. J. Nillson, Principles of Artificial Intelligence, Morgan Kaufmann: Los Altos, CA, 1980.
R. Poli J. Page, and W. B. Langdon, “Smooth uniform crossover, sub-machine code GP and demes: A recipe for solving high-order boolean parity problem,” in Proc. Genetic and Evolutionary Comput. Conf., Orlando, Florida, W. Banzhaf J. Daida A. Eiben M. Garzon V. Hanavar M. Jakiela, and R. Smith (eds.), Morgan Kaufmann: Los Altos, CA, 1999, pp. 1162-1169.
S. C. Robert D. Howard, and J. R. Koza, “Evolving modules in genetic programming by subtree encapsulation,” in Proc. Fourth European Conf. Genetic Programming, Lake Como, Italy, J. F. Miller M. Tomassini P. L. Lanzi C. Ryan A. G. B. Tettamanzi, and W. B. Langdon (eds.), Springer: Berlin, 2001, pp. 160-175.
J. P. Rosca and D. H. Ballard, “Hierarchical self-organization in genetic programming,” in Proc. Eleventh Int. Conf. Machine Learning, Morgan Kaufmann: Los Altos, CA, 1994, pp. 251-258.
J. P. Rosca and D. H. Ballard, “Discovery of subroutines in genetic programming,” Advances in Genetic Programming II, P. J. Angeline and K. E. Kinnear, Jr. (eds.), MIT Press: Cambridge, MA, 1996, pp. 177-201.
J. P. Rosca, “Genetic programming exploratory power and the discovery of functions,” in Evolutionary Programming IV, Proc. Fourth Ann. Conf. Evolutionary Programming, San Diego, CA, J. R. McDonnell R G. Reynolds and D. B. Fogel (eds.), MIT Press: Cambridge, MA, 1995, pp. 719-736.
J. P. Rosca, Hierarchical Learning with Procedural Abstraction Mechanisms, Ph.D. Thesis, University of Rochester, Rochester, NY.
L. Spector, “Simultaneous evolution of programs and their control structures,” Advances in Genetic Programming II, P. J. Angeline and K. E. Kinnear, Jr. (eds.), MIT Press: Cambridge, MA, 1996, pp. 137-154.
A. M. Turing, “On computable numbers, with an application to the entscheidungs problem,” in Proc. London Math. Soc., Series 2 vol. 42, 1936-1937, pp. 230-265.
P. A. Whigham and R. I. McKay, “Genetic approaches to learning recursive relations,” in Progress in Evolutionary Computation, Yao, X. (ed.), Springer-Verlag: Heidelberg, Germany, 1995, pp. 17-27.
P. A. Whigham, Grammatical Bias for Evolutionary Learning, Ph.D. Thesis, University of New South Wales, Australian Defence Force Academy, 1996.
D. H. Wolpert and W. G. Macready, “No free lunch theorems for optimization,” IEEE Trans. Evolut. Comput., vol. 1(1), pp. 67-82, 1997.
M. L. Wong and K. S. Leung, “Evolving recursive functions for the even-parity problem using genetic programming,” in Advances in Genetic Programming II, P. J. Angeline and K. E. Kinnear, Jr. (eds.), MIT Press: Cambridge, MA, 1996, pp. 222-240.
T. Yuand P. Bentley, “Methods to evolve legal phenotypes,” in Fifth Int. Conf. Parallel Problem Solving from Nature, A. E. Eiben T. Bäck M. Schoenauer, and H.-P. Schwefel (eds.), Springer: Amsterdam, 1998, pp. 280-291.
T. Yuand C. Clack, “PolyGP: a polymorphic genetic programming system in Haskell,” in Genetic Programming 1998, Proc. Third Ann. Conf., University of Wisconsin, Madison, WI, J. R. Koza W. Banzhaf K. Chellapilla K. Deb M. Dorigo D. B. Fogel M. H. Garzon D. E. Goldberg H. Iba, and R. Riolo (eds.), pp. 416-421, Morgan Kaufmann: Los Altos, CA, 1998.
T. Yu and J. Miller, “Neutrality and the evolvability of boolean function landscape, ” in Proc. Fourth European Conf. Genetic Programming, Lake Como, Italy, J. F. Miller M. Tomassini P. L. Lanzi C. Ryan A. G. B. Tettamanzi and W. B. Langdon (eds.), Springer: Berlin, 2001, pp. 204-217.
T. Yu, An Analysis of the Impact of Functional Programming Techniques on Genetic Programming, Ph.D. Thesis, University College London, London, United Kingdom, 1999.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Yu, T. Hierarchical Processing for Evolving Recursive and Modular Programs Using Higher-Order Functions and Lambda Abstraction. Genetic Programming and Evolvable Machines 2, 345–380 (2001). https://doi.org/10.1023/A:1012926821302
Issue Date:
DOI: https://doi.org/10.1023/A:1012926821302