Skip to main content

Automatic Random Tree Generator on FPGA

  • Chapter
  • First Online:
Book cover NEO 2015

Part of the book series: Studies in Computational Intelligence ((SCI,volume 663))

Abstract

In this work we propose the implementation of an automatic random tree generator on an FPGA for genetic programming (GP). While most authors in specialized literature avoid the use of the tree data structure in their implementations of GP on Field Programmable Gate Arrays (FPGAs), due to the impossibility of using pointers (references) in the Very High Speed Integrated Circuit Hardware Description Language (VHDL), we propose two methods for a single matrix implementation and one for a vector implementation. All trees in the population are created in concurrent processes leading to significant time savings. We present pseudocode and results of hardware consumption for matrix and vector implementations. Results show that up to 100 trees can be implemented in a Spartan-6 FPGA using the representation of one tree in a single matrix in parallel processes. Moreover, this implementation requires less resources than the apparently simpler vector representation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Massachusetts (1992)

    Google Scholar 

  2. Poli, R., Langdon, W.B., McPhee, N.F.: A Field Guide to Genetic Programming. Lulu Enterprises Ltd, UK (2008)

    Google Scholar 

  3. Poli, R., McPhee, N F., Vanneschi, L.: Analysis of the effects of elitism on bloat in linear and tree-based genetic programming. In: Genetic Programming Theory and Practice VI, Chap. 7. pp. 91–111 (2008)

    Google Scholar 

  4. Jin, Y.: A comprehensive survey of fitness approximation in evolutionary computation. Soft Comput. 9(1), 3–12 (2005)

    Article  Google Scholar 

  5. Hrbacek, R., Sikulova, M.: Coevolutionary cartesian genetic programming in FPGA. In: 12th European Conference on Artificial Life Proceedings. pp. 431–438 (2013)

    Google Scholar 

  6. Sidhu, R.P., Mei, A., Prasanna, V. K.: Genetic programming using self-reconfigurable. In: FPGAs, in 9th International Workshop on Field Programmable Logic and Applications, pp. 301–312 (1998)

    Google Scholar 

  7. Augusto, D.A., Barbosa, H.J.C.: Accelerated parallel genetic programming tree evaluation with OpenCL. J. Parallel Distrib. Comput. 73(1), 86–100 (2013)

    Article  Google Scholar 

  8. Heywood, M.I., Zincir-Heywood, A.N.: Register based genetic programming on FPGA computing platforms. In: Genetic Programming, Proceedings of EuroGP’2000, pp. 44–59 (2000)

    Google Scholar 

  9. Harding, S.: Evolution of image filters on graphics processor units using cartesian genetic programming. In: Evolutionary Computation, IEEE World Congress on Computational Intelligence, pp. 1921–1928 (2008)

    Google Scholar 

  10. Harding, S., Banzhaf, W.: Fast genetic programming on GPUs. In: Proceedings of the 10th European Conference on Genetic Programming (EuroGP’07), pp. 90–101 (2007)

    Google Scholar 

  11. Perry, D.: VHDL: Programming By Example. McGraw-Hill Education, New York (2002)

    Google Scholar 

  12. Moraglio, A., Krawiec, K., Johnson, C.G.: Geometric semantic genetic programming. In: Proceedings of the 12th International Conference on Parallel Problem Solving from Nature, vol. I, pp. 21–31 (2012)

    Google Scholar 

  13. Castelli, M., Silva, S., Vanneschi, L.: A C++ framework for geometric semantic genetic programming. Genet. Program. Evolv. Mach. 16(1), 73–81 (2015)

    Google Scholar 

  14. Garcia-Arnau, M., Manrique, D., Rios, J., Rodriguez-Paton, A.: Initialization method for grammar-guided genetic programming. Knowl. Based Syst. 20(2), 127–133 (2007)

    Article  Google Scholar 

  15. Chellapilla, K.: Evolving computer programs without subtree crossover. IEEE Trans. Evol. Comput. 1(3) (1997)

    Google Scholar 

  16. Kazimipour, B., Li, X., Qin, A.K.: A review of population initialization techniques for evolutionary algorithms. In: IEEE Congress on Evolutionary Computation (CEC), pp. 2585–2592 (2014)

    Google Scholar 

  17. Munoz, D.M., Llanos, C.H., Coelho, L. dos S., Ayala-Rincn, M.: Hardware opposition-based PSO applied to mobile robot controllers. Eng. Appl. Artif. Intell. 28, 64–77 (2014)

    Google Scholar 

  18. Golomb, S.: Shift Register Sequences. Holden-Day, Inc., San Francisco (1967)

    Google Scholar 

  19. Brown, S., Vranesic, Z.: Fundamentals of digital logic with VHDL design. McGraw Hill (2008)

    Google Scholar 

  20. Scheuermann, B., So, K., Guntsch, M., Middendorf, M., Diessel, O., ElGindy, H., Schmeck, H.: FPGA implementation of population-based ant colony optimization. Appl. Soft Comput. 4(3), 9303–9322 (2004)

    Article  Google Scholar 

  21. Castelli, M., Vanneschi, L.: Sara silva prediction of high performance concrete strength using genetic programming with geometric semantic genetic operators. Expert Syst. Appl. 40, 6856–6862 (2013)

    Google Scholar 

  22. Castelli, Mauro, Vanneschi, Leonardo: Sara silva prediction of the unified parkinsons disease rating scale assessment using a genetic programming system with geometric semantic genetic. Expert Syst. Appl. 41, 4608–4616 (2014)

    Article  Google Scholar 

  23. Castelli, M., Henriques, R., Vanneschi, L.: A geometric semantic genetic programming system for the electoral redistricting problem. Neurocomputing 154, 200–207 (2015)

    Google Scholar 

  24. Spartan-3E FPGA Family Data Sheet. Xilinx (2013)

    Google Scholar 

  25. Spartan-6 FPGA Configurable Logic Block. Xilinx (2010)

    Google Scholar 

Download references

Acknowledgments

The authors want to thank the Instituto Tecnológico de Tijuana, and PRODEP with the projet “Reducción del área de sistemas reconfigurables” with number ITTIJ-PTC-007 for supporting our research activities. Also wants to thank the CONACYT for the funding for this work with the project No. 178323, the TecNM(México) Research projects 5861.16P, Prodep(México) ITTIJ-PTC-007, and the FP7-Marie Curie-IRSES 2013 European Commission program through project ACoBSEC with contract No. 612689.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yazmin Maldonado .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Goribar, C., Maldonado, Y., Trujillo, L. (2017). Automatic Random Tree Generator on FPGA. In: Schütze, O., Trujillo, L., Legrand, P., Maldonado, Y. (eds) NEO 2015. Studies in Computational Intelligence, vol 663. Springer, Cham. https://doi.org/10.1007/978-3-319-44003-3_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-44003-3_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-44002-6

  • Online ISBN: 978-3-319-44003-3

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics