Modularity in Genetic Programming

  • Martin Dostál
Part of the Intelligent Systems Reference Library book series (ISRL, volume 38)


This chapter provides a review of methods for automatic modularization of programs evolved using genetic programming. We discuss several techniques used to establishing modularity in program evolution, including highly randomized techniques, techniques with beforehand specified structure of modules, techniques with evolvable structure and techniques with heuristic identification of modules. At first, simple techniques such as Encapsulation and Module Acquisition are discussed. The next two parts reviews Automatically Defined Functions and Automatically Defined Functions with Architecture Altering Operations that enable to evolve the structure of modules at the same time of evolving the modules itself. The following section is focused on Adaptive Representation through Learning, a technique with heuristic-based identification of modules. Next, Hierarchical Genetic Programming is described. Finally, establishing recursion and iteration, a code reuse technique closely related to modularization, is briefly surveyed.


Genetic Programming Module Acquisition Linear Genetic Program Candidate Block Program Synthesis 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Angeline, P.J.: Genetic programming and emergent intelligence, pp. 75–97. MIT Press, Cambridge (1994)Google Scholar
  2. 2.
    Angeline, P.J., Pollack, J.B.: The evolutionary induction of subroutines. In: Proceedings of the Fourteenth Annual Conference of the Cognitive Science Society. Lawrence Earlbaum (1992)Google Scholar
  3. 3.
    Angeline, P.J., Pollack, J.B.: Coevolving high-level representations (1993)Google Scholar
  4. 4.
    Angeline, P.J., Pollack, J.B.: Evolutionary module acquisition. In: Proceedings of the Second Annual Conference on Evolutionary Programming, pp. 154–163. MIT Press (1993)Google Scholar
  5. 5.
    Banzhaf, W., Banscherus, D., Dittrich, P.: Hierarchical genetic programming using local modules. Technical Report 50/98, University of Dortmund, Dortmund, Germany (1998)Google Scholar
  6. 6.
    Banzhaf, W., Francone, F.D., Keller, R.E., Nordin, P.: Genetic programming: an introduction: on the automatic evolution of computer programs and its applications. Morgan Kaufmann Publishers Inc., San Francisco (1998)zbMATHGoogle Scholar
  7. 7.
    Brameier, M.F., Banzhaf, W.: Linear Genetic Programming (Genetic and Evolutionary Computation). Springer-Verlag New York, Inc., Secaucus (2006)Google Scholar
  8. 8.
    Dessi, A., Giani, A., Starita, A.: An analysis of automatic subroutine discovery in genetic programming. In: Banzhaf, W., Daida, J.M., Eiben, A.E., Garzon, M.H., Honavar, V., Jakiela, M.J., Smith, R.E. (eds.) GECCO, pp. 996–1001. Morgan Kaufmann (1999)Google Scholar
  9. 9.
    Dostál, M.: On evolving of recursive functions using lambda abstraction and higher-order functions. Logic Journal of IGPL 13(5), 515–524 (2005)zbMATHCrossRefGoogle Scholar
  10. 10.
    Dostál, M.: A functional approach to evolving recursive programs. In: Kitzelmann, E., Schmid, U. (eds.) Second Workshop on Approaches and Applications of Inductive Programming, pp. 27–38 (2007)Google Scholar
  11. 11.
    Hankin, C.: An Introduction to Lambda Calculi for Computer Scientists. College Publications (February 2004)Google Scholar
  12. 12.
    Koza, J.R.: Genetic programming - on the programming of computers by means of natural selection. Complex adaptive systems. MIT Press (1993)Google Scholar
  13. 13.
    Koza, J.R.: Architecture-altering operations for evolving the architecture of a multi-part program in genetic programming. Technical report, Stanford, CA, USA (1994)Google Scholar
  14. 14.
    Koza, J.R.: Genetic programming II: automatic discovery of reusable programs. MIT Press, Cambridge (1994)zbMATHGoogle Scholar
  15. 15.
    Koza, J.R., Andre, D.: Use of automatically defined functions and architecture-altering operations in automated circuit synthesis using genetic programming. In: Genetic Programming 1996: Proceedings of the First Annual Conference (1996)Google Scholar
  16. 16.
    Koza, J.R., Andre, D., Bennett, F.H., Keane, M.A.: Genetic Programming III: Darwinian Invention & Problem Solving, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco (1999)zbMATHGoogle Scholar
  17. 17.
    Koza, J.R., Rice, J.P.: Genetic programming: The movie (1992)Google Scholar
  18. 18.
    O’Neill, M.: Automatic programming with grammatical evolution (July 13, 1999)Google Scholar
  19. 19.
    O’Neill, M., Vanneschi, L., Gustafson, S., Banzhaf, W.: Open issues in genetic programming. Genetic Programming and Evolvable Machines 11(3), 339–363 (2010)CrossRefGoogle Scholar
  20. 20.
    Rosca, J.P.: Genetic programming exploratory power and the discovery of functions. In: Evolutionary Programming IV Proceedings of the Fourth Annual Conference on Evolutionary Programming, pp. 719–736. MIT Press (1995)Google Scholar
  21. 21.
    Rosca, J.P., Ballard, D.H.: Genetic programming with adaptive representations. Technical report (1994)Google Scholar
  22. 22.
    Rosca, J.P., Ballard, D.H.: Learning by adapting representations in genetic programming. In: International Conference on Evolutionary Computation 1994, pp. 407–412 (1994)Google Scholar
  23. 23.
    Rosca, J.P., Ballard, D.H.: Discovery of subroutines in genetic programming, pp. 177–201. MIT Press, Cambridge (1996)Google Scholar
  24. 24.
    Rosca, J.P., Ballard, D.H.: Evolution-based discovery of hierarchical behaviors. In: AAAI/IAAI 1996, vol. 1, pp. 888–894 (1996)Google Scholar
  25. 25.
    Shannon, C.E.: A mathematical theory of communication. Bell System Technical Journal 27 (1948)Google Scholar
  26. 26.
    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)zbMATHCrossRefGoogle Scholar
  27. 27.
    Yu, T.: A higher-order function approach to evolve recursive programs. In: Yu, T., Riolo, R.L., Worzel, B. (eds.) Genetic Programming Theory and Practice III, Genetic Programming, May 12-14, ch. 7, pp. 93–108. Springer, Ann Arbor (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Dept. Computer SciencePalacký University OlomoucOlomoucCzech Republic

Personalised recommendations