A Parallel Skeleton for Genetic Algorithms

  • Alberto de la Encina
  • Mercedes Hidalgo-Herrero
  • Pablo Rabanal
  • Fernando Rubio
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6692)


Nowadays, most users own multicore computers, but it is not simple to take advantage of them to speedup the execution of programs. In particular, it is not easy to provide a parallel implementation of a concrete genetic algorithm. In this paper we introduce a parallel skeleton that given a sequential implementation automatically provides a corresponding parallel implementation of it. In order to do it, we use a parallel functional language where skeletons can be defined as higher-order functions. Thus, the parallelizing machinery is defined only once, and it is reused for any concrete application of the skeleton to a concrete problem.


Genetic Algorithm Functional Programming Functional Language Process Abstraction Coordination Language 
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.
    Chiong, R. (ed.): Nature-Inspired Algorithms for Optimisation. SCI, vol. 193. Springer, Heidelberg (2009)Google Scholar
  2. 2.
    Cole, M.: Bringing skeletons out of the closet: A pragmatic manifesto for skeletal parallel programming. Parallel Computing 30, 389–406 (2004)CrossRefGoogle Scholar
  3. 3.
    de Jong, K.: Evolutionary computation: a unified approach. In: Genetic and Evolutionary Computation Conference, GECCO 2008, pp. 2245–2258. ACM, New York (2008)CrossRefGoogle Scholar
  4. 4.
    Eiben, A.E., Smith, J.E.: Introduction to Evolutionary Computing. Springer, Heidelberg (2003)CrossRefzbMATHGoogle Scholar
  5. 5.
    Goldberg, D.E.: Genetic Algorithms in Search, Optimisation and Machine Learning. Addison-Wesley, Reading (1989)zbMATHGoogle Scholar
  6. 6.
    Hidalgo-Herrero, M., Ortega-Mallén, Y.: Continuation Semantics for Parallel Haskell Dialects. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol. 2895, pp. 303–321. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Hidalgo-Herrero, M., Ortega-Mallén, Y., Rubio, F.: Analyzing the influence of mixed evaluation on the performance of Eden skeletons. Parallel Computing 32(7-8), 523–538 (2006)CrossRefGoogle Scholar
  8. 8.
    Keller, G., Chakravarty, M.T., Leshchinskiy, R., Peyton Jones, S.L., Lippmeier, B.: Regular, shape-polymorphic, parallel arrays in Haskell. In: International Conference on Functional Programming, ICFP 2010, pp. 261–272. ACM, New York (2010)Google Scholar
  9. 9.
    Klusik, U., Loogen, R., Priebe, S., Rubio, F.: Implementation skeletons in Eden: Low-effort parallel programming. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol. 2011, pp. 71–88. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  10. 10.
    Loogen, R., Ortega-Mallén, Y., Peña, R., Priebe, S., Rubio, F.: Parallelism abstractions in Eden. In: Rabhi, F.A., Gorlatch, S. (eds.) Patterns and Skeletons for Parallel and Distributed Computing, pp. 95–128. Springer, Heidelberg (2002)Google Scholar
  11. 11.
    Marlow, S., Peyton Jones, S.L., Singh, S.: Runtime support for multicore Haskell. In: International Conference on Functional Programming, ICFP 2009, pp. 65–78. ACM Press, New York (2009)Google Scholar
  12. 12.
    Peyton Jones, S.L., Hughes, J.: Report on the programming language Haskell 98. Technical report (February 1999),
  13. 13.
    Scaife, N., Horiguchi, S., Michaelson, G., Bristow, P.: A parallel SML compiler based on algorithmic skeletons. Journal of Functional Programming 15(4), 615–650 (2005)CrossRefzbMATHGoogle Scholar
  14. 14.
    Trinder, P.W., Hammond, K., Mattson Jr., J.S., Partridge, A.S., Peyton Jones, S.L.: GUM: a portable parallel implementation of Haskell. In: Programming Language Design and Implementation, PLDI 1996, pp. 79–88. ACM Press, New York (1996)CrossRefGoogle Scholar
  15. 15.
    Trinder, P.W., Hammond, K., Loidl, H.-W., Peyton Jones, S.L.: Algorithm + Strategy = Parallelism. Journal of Functional Programming 8(1), 23–60 (1998)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Alberto de la Encina
    • 1
  • Mercedes Hidalgo-Herrero
    • 2
  • Pablo Rabanal
    • 1
  • Fernando Rubio
    • 1
  1. 1.Dpto. Sistemas Informáticos y Computación, Facultad InformáticaUniversidad Complutense de MadridSpain
  2. 2.Dpto. Didáctica de las Matemáticas, Facultad EducaciónUniversidad Complutense de MadridSpain

Personalised recommendations