Genetic Programming and Evolvable Machines

, Volume 16, Issue 1, pp 73–81 | Cite as

A C++ framework for geometric semantic genetic programming

  • Mauro CastelliEmail author
  • Sara Silva
  • Leonardo Vanneschi


Geometric semantic operators are new and promising genetic operators for genetic programming. They have the property of inducing a unimodal error surface for any supervised learning problem, i.e., any problem consisting in finding the match between a set of input data and known target values (like regression and classification). Thanks to an efficient implementation of these operators, it was possible to apply them to a set of real-life problems, obtaining very encouraging results. We have now made this implementation publicly available as open source software, and here we describe how to use it. We also reveal details of the implementation and perform an investigation of its efficiency in terms of running time and memory occupation, both theoretically and experimentally. The source code and documentation are available for download at


Genetic programming Semantics Geometric operators C++ 



This work was partially supported by national funds through FCT under contract PEst-OE/EEI/LA0021/2013 and by projects EnviGP (PTDC/EIA-CCO/103363/2008), MassGP (PTDC/EEI-CTP/2975/2012) and InteleGen (PTDC/DTP-FTO/1747/2012), Portugal.


  1. 1.
    P.J. Angelin, J.B. Pollack, The evolutionary induction of subroutines, in Proceedings of the Fourteenth Annual Conference of the Cognitive Science Society, Lawrence Erlbaum, pp. 236–241 (1992)Google Scholar
  2. 2.
    F. Archetti, S. Lanzeni, E. Messina, L. Vanneschi, Genetic programming for computational pharmacokinetics in drug discovery and development. Genet. Progr. Evol. Mach. 8, 413–432 (2007)CrossRefGoogle Scholar
  3. 3.
    O. Brock, in Evolving reusable subroutines for genetic programming, ed. by J.R. Koza. Artificial Life at Stanford 1994, pp. 11–19. Stanford Bookstore, Stanford, California, 94305–3079 USA, June 1994Google Scholar
  4. 4.
    M. Castelli, D. Castaldi, I. Giordani, S. Silva, L. Vanneschi, F. Archetti, D. Maccagnola, An efficient implementation of geometric semantic genetic programming for anticoagulation level prediction in pharmacogenetics, in 16th Portuguese Conference on Artificial Intelligence (EPIA 2013), Springer. (2013)Google Scholar
  5. 5.
    M. Castelli, S. Silva, L. Vanneschi, A. Cabral, M.J. Vasconcelos, L. Catarino, J.M.B. Carreiras. Land cover/land use multiclass classification using GP with geometric semantic operators, in Proceedings of the 16th European conference on Applications of Evolutionary Computation, (Springer, Berlin, Heidelberg, 2013), EvoApplications’13, pp. 334–343Google Scholar
  6. 6.
    M. Castelli, L. Vanneschi, S. Silva, Prediction of high performance concrete strength using genetic programming with geometric semantic genetic operators. Expert Syst. Appl. 40(17), 6856–6862 (2013)CrossRefGoogle Scholar
  7. 7.
    J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection (MIT Press, Cambridge, 1992)zbMATHGoogle Scholar
  8. 8.
    K. Krawiec, P. Lichocki, Approximating geometric crossover in semantic space, GECCO ’09: Proceedings of the 11th Annual conference on Genetic and evolutionary computation (ACM, Montreal, 2009), pp. 987–994CrossRefGoogle Scholar
  9. 9.
    E.G. Lopez, R. Poli, C.C. Coello, in Reusing Code in Genetic Programming, ed. by M. Keijzer et al., Genetic Programming, volume 3003 of Lecture Notes in Computer Science, (Springer, Berlin 2004), pp. 359–368Google Scholar
  10. 10.
    A. Moraglio, K. Krawiec, C.G. Johnson, in: Geometric Semantic Genetic Programming. Parallel Problem Solving from Nature, PPSN XII (part 1), Lecture Notes in Computer Science, vol 7491 (Springer, 2012), pp. 21–31Google Scholar
  11. 11.
    R. Poli, W.B. Langdon, N.F. McPhee, A field guide to genetic programming (2008),,, (With contributions by J. R. Koza)
  12. 12.
    S. Silva, V. Ingalalli, S. Vinga, JMB. Carreiras, JB. Melo, M. Castelli, L. Vanneschi, I. Gonçalves, J. Caldas, Prediction of forest aboveground biomass: an exercise on avoiding overfitting, in Proceedings of the 16th European conference on Applications of Evolutionary Computation, (Springer, Berlin, Heidelberg, EvoApplications’13, 2013), pp. 407–417Google Scholar
  13. 13.
    L. Vanneschi, M. Castelli, L. Manzoni, S. Silva, in A New Implementation of Geometric Semantic GP and Its Application to Problems in Pharmacokinetics, ed. by K. Krawiec, A. Moraglio, T. Hu, A.S. Uyar, B. Hu. Proceedings of the 16th European Conference on Genetic Programming, EuroGP, vol 7831 (Springer, Vienna, Austria, LNCS, 2013), pp. 205–216Google Scholar
  14. 14.
    L. Vanneschi, S. Silva, M. Castelli, L. Manzoni, in Geometric Semantic Genetic Programming for Real Life Applications. Genetic Programming Theory and Practice, Springer, Ann Arbor. To appear. (2013)Google Scholar
  15. 15.
    J. Walker, J. Miller, The automatic acquisition, evolution and reuse of modules in cartesian genetic programming. Evol. Comput. IEEE Trans. 12(4), 397–417 (2008)CrossRefGoogle Scholar
  16. 16.
    T. Yu, C. Clack, Recursion, Lambda-Abstractions and Genetic Programming. in Genetic Programming 1998: Proceedings of the Third Annual Conference, University of Wisconsin, Madison, Wisconsin, USA, Morgan Kaufmann, pp. 422–431 (1999)Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Mauro Castelli
    • 1
    • 2
    Email author
  • Sara Silva
    • 2
    • 3
    • 4
  • Leonardo Vanneschi
    • 1
    • 2
  1. 1.ISEGIUniversidade Nova de LisboaLisbonPortugal
  2. 2.INESC-ID, ISTUniversidade de LisboaLisbonPortugal
  3. 3.LabMAg, FCULUniversidade de LisboaLisbonPortugal
  4. 4.CISUCUniversidade de CoimbraCoimbraPortugal

Personalised recommendations