Comparison of Parallel Linear Genetic Programming Implementations

  • David Grochol
  • Lukas Sekanina
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 576)


Linear genetic programming (LGP) represents candidate programs as sequences of instructions for a register machine. In order to accelerate the evaluation time of candidate programs and reduce the overall time of evolution, we propose various parallel implementations of LGP suitable for the current multi-core processors. The implementations are based on a parallel evaluation of candidate programs and the island model of the parallel evolutionary algorithm in which the subpopulations are evolved independently, but some genetic material can be exchanged by means of the migration. Proposed implementations are evaluated using three symbolic regression problems and a hash function design problem.


Hash Function Fitness Evaluation Single Instruction Multiple Data Island Model Chunk Size 
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.



This work was supported by Brno University of Technology project FIT-S-14-2297 and The Ministry of Education, Youth and Sports from the National Programme of Sustainability (NPU II); project IT4Innovations excellence in science - LQ1602.


  1. 1.
    Brameier, M., Banzhaf, W.: Linear Genetic Programming. Springer, New York (2007)zbMATHGoogle Scholar
  2. 2.
    Cheang, S.M., Leung, K.S., Lee, K.H.: Genetic parallel programming: design and implementation. Evol. Comput. 14(2), 129–156 (2006)CrossRefGoogle Scholar
  3. 3.
    Dagum, L., Enon, R.: Openmp: an industry standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5(1), 46–55 (1998)CrossRefGoogle Scholar
  4. 4.
    Platel, M., Clergue, M., Collard, P.: Maximum homologous crossover for linear genetic programming. In: Ryan, C., Soule, T., Keijzer, M., Tsang, E., Poli, R., Costa, E. (eds.) EuroGP 2003. LNCS, vol. 2610, pp. 194–203. Springer, Heidelberg (2003). doi: 10.1007/3-540-36599-0_18 CrossRefGoogle Scholar
  5. 5.
    Harding, S., Banzhaf, W.: Fast genetic programming on GPUs. In: Ebner, M., O’Neill, M., Ekárt, A., Vanneschi, L., Esparcia-Alcázar, A.I. (eds.) EuroGP 2007. LNCS, vol. 4445, pp. 90–101. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-71605-1_9 CrossRefGoogle Scholar
  6. 6.
    Hrbacek, R.: Bent functions synthesis on Intel Xeon Phi coprocessor. In: Hliněný, P., Dvořák, Z., Jaroš, J., Kofroň, J., Kořenek, J., Matula, P., Pala, K. (eds.) MEMICS 2014. LNCS, vol. 8934, pp. 88–99. Springer, Cham (2014). doi: 10.1007/978-3-319-14896-0_8 Google Scholar
  7. 7.
    Keijzer, M.: Improving symbolic regression with interval arithmetic and linear scaling. In: Ryan, C., Soule, T., Keijzer, M., Tsang, E., Poli, R., Costa, E. (eds.) EuroGP 2003. LNCS, vol. 2610, pp. 70–82. Springer, Heidelberg (2003). doi: 10.1007/3-540-36599-0_7 CrossRefGoogle Scholar
  8. 8.
    Knuth, D.E.: The art of computer programming. Sorting Search. 3, 426–458 (1973)Google Scholar
  9. 9.
    Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection, vol. 1. MIT press, Cambridge (1992)zbMATHGoogle Scholar
  10. 10.
    Lusk, E., Huss, S., Saphir, B., Snir, M.: MPI: a message-passing interface standard (2009)Google Scholar
  11. 11.
    Majewski, B.S., Wormald, N.C., Havas, G., Czech, Z.J.: A family of perfect hashing methods. Comput. J. 39(6), 547–554 (1996)CrossRefGoogle Scholar
  12. 12.
    Maurer, W.D., Lewis, T.G.: Hash table methods. ACM Comput. Surv. (CSUR) 7(1), 5–19 (1975)CrossRefzbMATHGoogle Scholar
  13. 13.
    Oltean, M., Grosan, C.: A comparison of several linear genetic programming techniques. Complex Syst. 14(4), 285–314 (2003)MathSciNetzbMATHGoogle Scholar
  14. 14.
    Oussaidene, M., Chopard, B., Pictet, O.V., Tomassini, M.: Parallel genetic programming and its application to trading model induction. Parallel Comput. 23(8), 1183–1198 (1997)CrossRefzbMATHGoogle Scholar
  15. 15.
    Poli, R., Langdon, W.B., McPhee, N.F., Koza, J.R.: A field guide to genetic programming (2008).
  16. 16.
    Tomassini, M.: Spatially Structured Evolutionary Algorithms. Springer, Heidelberg (2005)zbMATHGoogle Scholar
  17. 17.
    Uy, N.Q., Hoai, N.X., O’Neill, M., McKay, R.I., Galván-López, E.: Semantically-based crossover in genetic programming: application to real-valued symbolic regression. Genetic Program. Evol. Mach. 12(2), 91–119 (2011)CrossRefGoogle Scholar
  18. 18.
    Wilson, G., Banzhaf, W.: A comparison of cartesian genetic programming and linear genetic programming. In: O’Neill, M., Vanneschi, L., Gustafson, S., Esparcia Alcázar, A.I., Falco, I., Cioppa, A., Tarantino, E. (eds.) EuroGP 2008. LNCS, vol. 4971, pp. 182–193. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-78671-9_16 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Faculty of Information Technology, IT4Innovations Centre of ExcellenceBrno University of TechnologyBrnoCzech Republic

Personalised recommendations