Skip to main content

Advertisement

Log in

HW/SW co-design of reconfigurable hardware-based genetic algorithm in FPGAs applicable to a variety of problems

  • Published:
Computing Aims and scope Submit manuscript

Abstract

This paper describes the implementation of a reconfigurable hardware-based genetic algorithm (HGA) accelerator using the hardware-software (HW/SW) co-design methodology. This HGA is coupled with a unique TRNG that extracts random jitters from a phase lock loop (PLL) to ensure proper GA operation. It is then applied and benchmarked with several case studies, which include the optimization of a simple fitness function, a constrained Michalewicz function, and the tuning of parameters in finger-vein biometrics. A HGA solution is necessary in systems that demand high performance during the optimization process. However, implementations that are completely designed in hardware will result in a very rigid architecture, making it difficult to reconfigure the system for use in different applications. This paper aims to solve this issue by proposing a HGA design that provides reconfigurability and flexibility by moving problem-dependent processes into software. The prototyping platform used is an Altera Stratix II EP2S60 FPGA prototyping board with a clock frequency of 50 MHz. The HW/SW co-design technique is applied, and system partitioning is done based on aspects such as system constraints, operational intensity, process sequencing, hardware logic utilization, and reconfigurability. Experimental results show that the proposed HGA outperforms equivalent software implementations compiled with an open-sourced C++ GA component library (GAlib) running on the same prototyping platform by 102 times at most. In the final case study, the application of the proposed HGA in tunable parameter optimization in finger-vein biometrics improved the matching rate, reducing the equal error rate (EER) value from 1.004% down to 0.101%.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21

Similar content being viewed by others

References

  1. Ahmadi F, Tati R, Ahmadi S, Hossaini V (2011) New hardware engine for genetic algorithms. In: Genetic and Evolutionary Computing (ICGEC), 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE , pp 122–126

  2. Alam NM (2009) Implementation genetic algorithms in fpga-based reconfigurable computing systems. Master’s thesis, Graduate School of Clemson University

  3. Bedaux J (2003) C++ mersenne twister pseudo-random number generator. Published online http://www.bedaux.net/mtrand

  4. Chopra S, Marfurt KJ (2008) Gleaning meaningful information from seismic attributes. SEG Techn Prog Expand Abstr 27(1):1501–1505. doi:10.1190/1.3059381

    Google Scholar 

  5. Cole N, Louis S, Miles C (2004) Using a genetic algorithm to tune first-person shooter bots. In: Evolutionary Computation, 2004. CEC2004. Congress on Evolutionary Computation, vol. 1. pp. 139–145. doi:10.1109/CEC.2004.1330849

  6. De Jong KA, Spears WM (1989) Using genetic algorithms to solve np-complete problems. In: JD Schaffer (ed.) ICGA.Morgan Kaufmann, California, pp 124–132

  7. Fernando P, Katkoori S, Keymeulen D, Zebulum R, Stoica A (2010) Customizable fpga ip core implementation of a general-purpose genetic algorithm engine. IEEE Trans Evolut Comput 14(1):133–149

    Article  Google Scholar 

  8. Goldberg D (1989) Genetic algorithms in search, optimization, and machine learning. Addison-Wesley Professional, Upper Saddle River

    MATH  Google Scholar 

  9. Graham P, Nelson B (1996) Genetic algorithms in software and in hardware-a performance analysis of workstation and custom computing machine implementations. In: FPGAs for Custom Computing Machines, 1996. Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines, pp. 216–225. doi:10.1109/FPGA.1996.564847

  10. Hau YW, Khalil-Hani M (2009) SystemC-based HW/SW co-simulation platform for system-on-chip (SoC) design space exploration. IJICT 2(1/2):108–119

    Article  Google Scholar 

  11. Hau YW, Khalil-Hani M, Marsono MN (2011) SystemC-Based Hardware/Software Co-Design of Elliptic Curve Cryptographic System for Network Authentication. Malaysian J Comput Sci 24(2):111–130

    Google Scholar 

  12. Holland J (1975) Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor

    Google Scholar 

  13. Hong JH, Cho SB (2004) Evolution of emergent behaviors for shooting game characters in robocode. In: Evolutionary Computation, 2004. CEC2004. Congress on Evolutionary Computation, vol. 1. pp. 634–638. doi:10.1109/CEC.2004.1330917

  14. Ibez L, Schroeder W, Ng L, Cates J, Consortium, TIS (2003) The ITK Software Guide. Kitware Inc

  15. Jain AK, Flynn P, Ross AA (2007) Handbook of Biometrics. Springer-Verlag, Secaucus

    Google Scholar 

  16. Jimnez JL (2009) Hardware/Software Architectures for Iris Biometrics. Ph.D. thesis, Departmento de Technologa Electrnica, Universidad Carlos III de Madrid

  17. Kanasugi A, Tsukahara A (2007) A processor for genetic algorithm using dynamically reconfigurable memory. JCIT 2(1):4–15

    Google Scholar 

  18. Khalil-Hani M, Eng PC (2010) Fpga-based embedded system implementation of finger vein biometrics. In: Industrial Electronics Applications (ISIEA), 2010 IEEE Symposium on Industrial Electronics Applications, pp. 700–705 (2010). doi:10.1109/ISIEA.2010.5679376

  19. Knuth DE (1997) The art of computer programming, vol 2, 3rd edn. seminumerical algorithms. Addison-Wesley Longman Publishing Co., Inc., Boston

  20. Kowalczyk R (1997) Constraint consistent genetic algorithms. In: Evolutionary Computation, 1997. IEEE International Conference on Evolutionary Computation. pp. 343–348. doi:10.1109/ICEC.1997.592333

  21. Louis S, Miles C (2005) Playing to learn: case-injected genetic algorithms for learning to play computer games. IEEE Trans Evolut Comput 9(6):669–681. doi:10.1109/TEVC.2005.856209

    Article  Google Scholar 

  22. Martin P (2001) A hardware implementation of a genetic programming system using fpgas and handel-c. Genetic Programming and Evolvable Machines 2:317–343. doi:10.1023/A:1012942304464

    Article  MATH  Google Scholar 

  23. Matsumoto M, Nishimura T (1998) Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans Model Comput Simul 8(1):3–30

    Article  MATH  Google Scholar 

  24. Megson G, Bland I (1997) Generic systolic array for genetic algorithms. IEE Proc Comput Digi Techn 144(2):107–119. doi:10.1049/ip-cdt:19971126

    Article  Google Scholar 

  25. Meysenburg MM, Foster JA (1999) Randomness and GA performance, revisited. In: Banzhaf W, Daida J, Eiben AE, Garzon MH, Honavar V, Jakiela M, Smith RE (eds) Proceedings of the Genetic and Evolutionary Computation Conference, vol 1. Morgan Kaufmann, Orlando, pp 425–432

    Google Scholar 

  26. Michalewicz (1996) Genetic Algorithms + Data Structures = Evolution Programs, 3rd edn. Springer, Berlin

  27. Thamrin MN, Ahmad I, Khalil-Hani M (2006) A True Random Number Generator for Crypto Embedded Systems. Regional Postgraduate Conference on. Engineering and Science :253–256

  28. Nambiar VP, Khalil-Hani M, Zabidi MM (2009) Accelerating the AES encryption function in OpenSSL for embedded systems. Int J Info Commun Technol (IJCTS) 2009 2(1/2): 83–93

    Google Scholar 

  29. Nareyek A (2004) Ai in computer games. Queue 1(10):58–65. doi:10.1145/971564.971593

    Article  Google Scholar 

  30. Nedjah N, de Macedo Mourelle L (2007) An efficient problem-independent hardware implementation of genetic algorithms. Neurocomputing 71(1–3):88–94

    Article  Google Scholar 

  31. Samarah A, Habibi A, Tahar S, Kharma N (2006) Automated coverage directed test generation using a cell-based genetic algorithm. In: High-Level Design Validation and Test Workshop, 2006. Eleventh Annual IEEE International, pp. 19–26. doi:10.1109/HLDVT.2006.319996

  32. Scheidat T, Engel A, Vielhauer C (2006) Parameter optimization for biometric fingerprint recognition using genetic algorithms. In: Voloshynovskiy S, Dittmann J, Fridrich JJ (eds.) MM & Sec. ACM,New York, pp. 130–134

  33. Schmitz T, Hohmann SG, Meier K, Schemmel J, Schrmann F (2003) Speeding up hardware evolution: A coprocessor for evolutionary algorithms. In: Tyrrell AM, Haddow PC, Torresen J (eds.) ICES, Lecture Notes in Computer Science, vol. 2606. Springer, Boston, pp. 274–285

  34. Scott S, Samal A, Seth S (1995) Hga: A hardware-based genetic algorithm. In: Field-Programmable Gate Arrays, 1995. FPGA ’95. Proceedings of the Third International ACM Symposium on Field-Programmable Gate Arrays. pp. 53–59. doi:10.1109/FPGA.1995.241945

  35. Shackleford B, Snider G, Carter RJ, Okushi E, Yasuda M, Seo K, Yasuura H (2001) A high-performance, pipelined, fpga-based genetic algorithm machine. Genetic Programming and Evolvable Machines 2(1):33–60

    Google Scholar 

  36. Sivanandam SN, Deepa SN (2008) Introduction to genetic algorithms. Springer, Boston

  37. Tajiri Y, Saito M, Serikawa S (2007) Proposal of Optimization Method of Image Processing Parameter by Polytope Method. In: International Symposium on Advanced Intelligent Systems, Sokcho, Korea. Korean Institute of Intelligent Systems, pp. 105–108

  38. Thibault D, Prasad K (1996) Hardware structures for genetic algorithms. University of Massachusetts, Lowell

    Google Scholar 

  39. Torresen J (2002) A scalable approach to evolvable hardware. Genetic Programming and Evolvable Machines 3:259–282. doi:10.1023/A:1020163325179

    Article  MATH  Google Scholar 

  40. Vavouras M, Papadimitriou K, Papaefstathiou I (2009) High-speed fpga-based implementations of a genetic algorithm. In: Najjar WA, Schulte MJ (eds.) ICSAMOS. IEEE, New York, pp. 9–16

  41. Wall M (2007) Galib, a c++ library of genetic algorithm components. http://lancet.mit.edu/ga/

  42. Wang K, Gao L, Pian Z, Guo L, Wu J (2007) Edge detection combined entropy threshold and self-organizing map (som). In: Proceedings of the 4th international symposium on Neural Networks: Part II-Advances in Neural Networks, ISNN ’07. Springer-Verlag, Berlin, pp. 931–937

  43. Weise T (2009) Global Optimization Algorithms - Theory and Application. it-weise.de (self-published): Germany. http://www.it-weise.de/projects/book.pdf

  44. Zhu Z, Mulvaney DJ, Chouliaras VA (2007) Hardware implementation of a novel genetic algorithm. Neurocomput 71:95–106

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vishnu P. Nambiar.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nambiar, V.P., Balakrishnan, S., Khalil-Hani, M. et al. HW/SW co-design of reconfigurable hardware-based genetic algorithm in FPGAs applicable to a variety of problems. Computing 95, 863–896 (2013). https://doi.org/10.1007/s00607-013-0305-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-013-0305-5

Keywords

Mathematics Subject Classification

Navigation