Analyzing Module Usage in Grammatical Evolution

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


Being able to exploit modularity in genetic programming (GP) is an open issue and a promising vein of research. Previous work has identified a variety of methods of finding and using modules, but little is reported on how the modules are being used in order to yield the observed performance gains. In this work, multiple methods for identifying modules are applied to some common, dynamic benchmark problems. Results show there is little difference in the performance of the approaches. However, trends in how modules are used and how “good” individuals use these modules are seen. These trends indicate that discovered modules can be used frequently and by good individuals. Further examination of the modules uncovers that useful as well as unhelpful modules are discovered and used frequently. The results suggest directions for future work in improving module manipulation via crossover and mutation and module usage in the population.


Genetic Programming Dynamic Environment Good Individual Module Usage Derivation Tree 
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.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
  2. 2.
    Dempsey, I., O’Neill, M., Brabazon, A.: Foundations in Grammatical Evolution for Dynamic Environments. Springer (2009)Google Scholar
  3. 3.
    Harper, R., Blair, A.: Dynamically defined functions in grammatical evolution. In: Proceedings of the 2006 IEEE Congress on Evolutionary Computation, pp. 9188–9195. IEEE Press, Vancouver (2006)Google Scholar
  4. 4.
    Kashtan, N., Parter, M., Dekel, E., Mayo, A.E., Alon, U.: Extinctions in heterogeneous environments and the evolution of modularity. Evolution 63, 1964–1975 (2009)CrossRefGoogle Scholar
  5. 5.
    Kashtan, N., Mayo, A.E., Kalisky, T., Alon, U.: An analytically solvable model for rapid evolution of modular structure. PLoS Comput. Biol. 5(4), e1000355 (2009)Google Scholar
  6. 6.
    Kashtan, N., Noor, E., Alon, U.: Varying environments can speed up evolution. Proceedings of the National Academy of Sciences 104(34), 13711–13716 (2007)CrossRefGoogle Scholar
  7. 7.
    Koza, J.R.: Genetic Programming: on the Programming of Computers by Means of Natural Selection. MIT Press (1992)Google Scholar
  8. 8.
    Koza, J.R.: Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press, Cambridge (1994)zbMATHGoogle Scholar
  9. 9.
    Miller, J.F., Job, D., Vassilev, V.K.: Principles in the evolutionary design of digital circuitspart ii. Genetic Programming and Evolvable Machines 1, 259–288 (2000), doi:10.1023/A:1010066330916zbMATHCrossRefGoogle Scholar
  10. 10.
    Murphy, E., O’Neill, M., Brabazon, A.: A comparison of ge and tage in dynamic environments. In: Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, GECCO 2011, pp. 1387–1394. ACM, New York (2011)CrossRefGoogle Scholar
  11. 11.
    O’Neill, M., Nicolau, M., Brabazon, A.: Dynamic environments can speed up evolution with genetic programming. In: Proceedings of the 13th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO 2011, pp. 191–192. ACM, New York (2011)Google Scholar
  12. 12.
    O’Neill, M., Ryan, C.: Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language. Kluwer Academic Publishers (2003)Google Scholar
  13. 13.
    O’Neill, M., Vanneschi, L., Gustafson, S., Banzhaf, W.: Open issues in genetic programming. Genetic Programming and Evolvable Machines 11, 339–363 (2010), doi:10.1007/s10710-010-9113-2CrossRefGoogle Scholar
  14. 14.
    Rosca, J.P., Ballard, D.H.: Discovery of subroutines in genetic programming, pp. 177–201. MIT Press, Cambridge (1996)Google Scholar
  15. 15.
    Swafford, J.M., Hemberg, E., O’Neill, M., Nicolau, M., Brabazon, A.: A non-destructive grammar modification approach to modularity in grammatical evolution. In: Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, GECCO 2011, pp. 1411–1418. ACM, Dublin (2011)CrossRefGoogle Scholar
  16. 16.
    Swafford, J.M., Nicolau, M., Hemberg, E., O’Neill, M., Brabazon, A.: Comparing methods for module identification in grammatical evolution. In: Proceedings of the 14th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO 2012. ACM, Philadelphia (2012)Google Scholar
  17. 17.
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • John Mark Swafford
    • 1
  • Erik Hemberg
    • 1
  • Michael O’Neill
    • 1
  • Anthony Brabazon
    • 1
  1. 1.Natural Computing Research & Applications Group, Complex and Adaptive Systems LaboratoryUniversity College DublinIreland

Personalised recommendations