Exploring Grammatical Modification with Modules in Grammatical Evolution

  • John Mark Swafford
  • Michael O’Neill
  • Miguel Nicolau
  • Anthony Brabazon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6621)


There have been many approaches to modularity in the field of evolutionary computation, each tailored to function with a particular representation. This research examines one approach to modularity and grammar modification with a grammar-based approach to genetic programming, grammatical evolution (GE). Here, GE’s grammar was modified over the course of an evolutionary run with modules in order to facilitate their appearance in the population. This is the first step in what will be a series of analysis on methods of modifying GE’s grammar to enhance evolutionary performance. The results show that identifying modules and using them to modify GE’s grammar can have a negative effect on search performance when done improperly. But, if undertaken thoughtfully, there are possible benefits to dynamically enhancing the grammar with modules identified during evolution.


Genetic Programming Average Fitness Parse Tree Parent Individual Generation Generation 
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., Pollack, J.: Evolutionary module acquisition. In: Fogel, D., Atmar, W. (eds.) Proceedings of the Second Annual Conference on Evolutionary Programming, La Jolla, CA, USA, February 25-26, pp. 154–163 (1993)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, pp. 236–241. Lawrence Erlbaum, Bloomington (1992)Google Scholar
  3. 3.
    Garibay, O., Garibay, I., Wu, A.: The modular genetic algorithm: Exploiting regularities in the problem space. In: Yazıcı, A., Şener, C. (eds.) ISCIS 2003. LNCS, vol. 2869, pp. 584–591. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Harper, R., Blair, A.: Dynamically defined functions in grammatical evolution. In: Proceedings of the 2006 IEEE Congress on Evolutionary Computation, July 6-21, pp. 9188–9195. IEEE Press, Vancouver (2006)Google Scholar
  5. 5.
    Hemberg, E.: An Exploration of Grammars in Grammatical Evolution. Ph.D. thesis, University College Dublin (2010)Google Scholar
  6. 6.
    Hemberg, E., Gilligan, C., O’Neill, M., Brabazon, A.: A grammatical genetic programming approach to modularity in genetic algorithms. In: Ebner, M., O’Neill, M., Ekárt, A., Vanneschi, L., Esparcia-Alcázar, A.I. (eds.) EuroGP 2007. LNCS, vol. 4445, pp. 1–11. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Hemberg, E., O’Neill, M., Brabazon, A.: An investigation into automatically defined function representations in grammatical evolution. In: Matousek, R., Nolle, L. (eds.) 15th International Conference on Soft Computing, Mendel 2009, Brno, Czech Republic, June 24-26 (2009)Google Scholar
  8. 8.
    Holland, J.H.: Adaptation in natural and artificial systems. The University of Michigan Press, Ann Arbor (1975)Google Scholar
  9. 9.
    Keijzer, M., Ryan, C., Cattolico, M.: Run transferable libraries — learning functional bias in problem domains. In: Deb, K., et al. (eds.) GECCO 2004. LNCS, vol. 3103, pp. 531–542. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  10. 10.
    Koza, J.R.: Genetic Programming: on the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)zbMATHGoogle Scholar
  11. 11.
    Koza, J.R.: Architecture-altering operations for evolving the architecture of a multi-part program in genetic programming. Tech. rep., Stanford, CA, USA (1994)Google Scholar
  12. 12.
    Koza, J.R.: Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press, Cambridge (1994)zbMATHGoogle Scholar
  13. 13.
    Majeed, H., Ryan, C.: Context-aware mutation: a modular, context aware mutation operator for genetic programming. In: GECCO 2007: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, pp. 1651–1658. ACM, New York (2007)Google Scholar
  14. 14.
    O’Neill, M., Ryan, C.: Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language. Kluwer Academic Publishers, Dordrecht (2003)CrossRefzbMATHGoogle Scholar
  15. 15.
    O’Neill, M., Vanneschi, L., Gustafson, S., Banzhaf, W.: Open issues in genetic programming. Genetic Programming and Evolvable Machines 11, 339–363 (2010)CrossRefGoogle Scholar
  16. 16.
    Ryan, C., Keijzer, M., Cattolico, M.: Favourable biasing of function sets using run transferable libraries. In: Genetic Programming Theory and Practice II, pp. 103–120 (2005)Google Scholar
  17. 17.
    Simon, H.A.: The sciences of the artificial, 3rd edn. MIT Press, Cambridge (1996)Google Scholar
  18. 18.
    Walker, J., Miller, J.: The automatic acquisition, evolution and reuse of modules in cartesian genetic programming. IEEE Transactions on Evolutionary Computation 12(4), 397–417 (2008)CrossRefGoogle Scholar
  19. 19.
    Whigham, P.: Inductive bias and genetic programming. In: First International Conference on Genetic Algorithms in Engineering Systems: Innovations and Applications, GALESIA (Conf. Publ. No. 414), September 1995, pp. 461–466 (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • John Mark Swafford
    • 1
  • Michael O’Neill
    • 1
  • Miguel Nicolau
    • 1
  • Anthony Brabazon
    • 2
  1. 1.Natural Computing Research & Applications Group Complex and Adaptive Systems Laboratory School of Computer Science & InformaticsUniversity College DublinIreland
  2. 2.Natural Computing Research & Applications Group Complex and Adaptive Systems Laboratory School of BusinessUniversity College DublinIreland

Personalised recommendations