Embedded Grammars for Grammatical Evolution on GPGPU
Abstract
This paper presents an implementation of Grammatical Evolution on a GPU architecture. Our proposal, Embedded Grammars, implements the grammar directly in the code. Although more rigid, it allows to compute the decodification in parallel with the evaluation of the individuals. We tested three different grammars with a set of eight symbolic regression problems. The symbolic regression problems consists on obtaining a mathematical expression in the form \(y=f(x)\), in our case, from a set of 288 pairs x, y. The analysis of the results shows that Embedded Grammars are better not only in terms of execution time, but also in quality when compared with an implementation on a CPU. Speed-up results are also better than those presented in the literature.
Keywords
Grammatical evolution Model identification Symbolic regression Graphic processing unitNotes
Acknowledgements
This work was supported by the Spanish Government Minister of Science and Innovation under grants TIN2014-54806-R, TIN2015-65277-R and CAPAP-H5 network (TIN2014-53522) and TIN2015-65460-C2. J.I. Hidalgo also acknowledges the support of the Spanish Ministry of Education mobility grant PRX16/00216.
References
- 1.Hidalgo, J.I., Fernndez, R., Colmenar, J.M., Cioffi, F., Risco-Martn, J.L., Gonzlez-Doncel, G.: Using evolutionary algorithms to determine the residual stress profile across welds of age-hardenable aluminum alloys. Appl. Soft Comput. 40, 429–438 (2016)CrossRefGoogle Scholar
- 2.Koza, J.R.: Genetic Programming. The MIT Press, Cambridge (1992)zbMATHGoogle Scholar
- 3.O’Neill, M., Ryan, C.: Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language. Kluwer Academic Publishers, Dordrecht (2003)CrossRefzbMATHGoogle Scholar
- 4.Alba, E., Tomassini, M.: Parallelism and evolutionary algorithms. IEEE Trans. Evol. Computat. 6(5), 443–462 (2002)CrossRefGoogle Scholar
- 5.Tsutsui, S., Collet, P.: Massively Parallel Evolutionary Computation on GPGPUs. Springer, Heidelberg (2013)CrossRefGoogle Scholar
- 6.Pospichal, P., Murphy, E., O’Neill, M., Schwarz, J., Jaros, J.: Acceleration of grammatical evolution using graphics processing units: computational intelligence on consumer games and graphics hardware. In: Proceedings of the 13th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO 2011, pp. 431–438. ACM, NY (2011)Google Scholar
- 7.O’Neill, M., Ryan, C.: Grammatical evolution. IEEE Trans. Evol. Computat. 5(4), 349–358 (2001)CrossRefGoogle Scholar
- 8.Ryan, C., O’Neill, M., Collins, J.J.: Grammatical evolution: solving trigonometric identities. In: Proceedings of Mendel 1998: 4th International Conference on Genetic Algorithms, Optimization Problems, Fuzzy Logic, Neural Networks and Rough Sets, pp. 111–119 (1998)Google Scholar
- 9.Ryan, C., Nicolau, M., O’Neill, M.: Genetic algorithms using grammatical evolution. In: Foster, J.A., Lutton, E., Miller, J., Tettamanzi, C. (eds.) EuroGP 2002. LNCS, pp. 278–287. Springer, Heidelberg (2002). doi: 10.1007/3-540-45984-7_27CrossRefGoogle Scholar
- 10.Ryan, C., Collins, J.J., Neill, M.O.: Grammatical evolution: evolving programs for an arbitrary language. In: Banzhaf, W., Poli, R., Schoenauer, M., Fogarty, T.C. (eds.) EuroGP 1998. LNCS, vol. 1391, pp. 83–96. Springer, Heidelberg (1998). doi: 10.1007/BFb0055930CrossRefGoogle Scholar
- 11.Hidalgo, J.I., Maqueda, E., Risco-Martín, J.L., Cuesta-Infante, A., Colmenar, J.M., Nobel, J.: glucmodel: a monitoring and modeling system for chronic diseases applied to diabetes. J. Biomed. Inform. 48, 183–192 (2014)CrossRefGoogle Scholar
- 12.CUDA Nvidia. Programming guide (2008)Google Scholar