Abstract
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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Angeline, P.J.: Genetic programming and emergent intelligence, pp. 75–97. MIT Press, Cambridge (1994)
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)
Angeline, P.J., Pollack, J.B.: Coevolving high-level representations (1993)
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)
Banzhaf, W., Banscherus, D., Dittrich, P.: Hierarchical genetic programming using local modules. Technical Report 50/98, University of Dortmund, Dortmund, Germany (1998)
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)
Brameier, M.F., Banzhaf, W.: Linear Genetic Programming (Genetic and Evolutionary Computation). Springer-Verlag New York, Inc., Secaucus (2006)
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)
Dostál, M.: On evolving of recursive functions using lambda abstraction and higher-order functions. Logic Journal of IGPL 13(5), 515–524 (2005)
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)
Hankin, C.: An Introduction to Lambda Calculi for Computer Scientists. College Publications (February 2004)
Koza, J.R.: Genetic programming - on the programming of computers by means of natural selection. Complex adaptive systems. MIT Press (1993)
Koza, J.R.: Architecture-altering operations for evolving the architecture of a multi-part program in genetic programming. Technical report, Stanford, CA, USA (1994)
Koza, J.R.: Genetic programming II: automatic discovery of reusable programs. MIT Press, Cambridge (1994)
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)
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)
Koza, J.R., Rice, J.P.: Genetic programming: The movie (1992)
O’Neill, M.: Automatic programming with grammatical evolution (July 13, 1999)
O’Neill, M., Vanneschi, L., Gustafson, S., Banzhaf, W.: Open issues in genetic programming. Genetic Programming and Evolvable Machines 11(3), 339–363 (2010)
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)
Rosca, J.P., Ballard, D.H.: Genetic programming with adaptive representations. Technical report (1994)
Rosca, J.P., Ballard, D.H.: Learning by adapting representations in genetic programming. In: International Conference on Evolutionary Computation 1994, pp. 407–412 (1994)
Rosca, J.P., Ballard, D.H.: Discovery of subroutines in genetic programming, pp. 177–201. MIT Press, Cambridge (1996)
Rosca, J.P., Ballard, D.H.: Evolution-based discovery of hierarchical behaviors. In: AAAI/IAAI 1996, vol. 1, pp. 888–894 (1996)
Shannon, C.E.: A mathematical theory of communication. Bell System Technical Journal 27 (1948)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Dostál, M. (2013). Modularity in Genetic Programming. In: Zelinka, I., Snášel, V., Abraham, A. (eds) Handbook of Optimization. Intelligent Systems Reference Library, vol 38. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30504-7_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-30504-7_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-30503-0
Online ISBN: 978-3-642-30504-7
eBook Packages: EngineeringEngineering (R0)