# A High-Performance, Pipelined, FPGA-Based Genetic Algorithm Machine

- 347 Downloads
- 49 Citations

## Abstract

Accelerating a genetic algorithm (GA) by implementing it in a reconfigurable field programmable gate array (FPGA) is described. The implemented GA features: random parent selection, which conserves selection circuitry; a steady-state memory model, which conserves chip area; survival of fitter child chromosomes over their less-fit parent chromosomes, which promotes evolution. A net child chromosome generation rate of one per clock cycle is obtained by pipelining the parent selection, crossover, mutation, and fitness evaluation functions. Complex fitness functions can be further pipelined to maintain a high-speed clock cycle. Fitness functions with a pipeline initiation interval of greater than one can be plurally implemented to maintain a net evaluated-chromosome throughput of one per clock cycle. Two prototypes are described: The first prototype (c. 1996 technology) is a multiple-FPGA chip implementation, running at a 1 MHz clock rate, that solves a 94-row × 520-column set covering problem 2,200× faster than a 100 MHz workstation running the same algorithm in C. The second prototype (Xilinx XVC300) is a single-FPGA chip implementation, running at a 66 MHZ clock rate, that solves a 36-residue protein folding problem in a 2-d lattice 320× faster than a 366 MHz Pentium II. The current largest FPGA (Xilinx XCV3200E) has circuitry available for the implementation of 30 fitness function units which would yield an acceleration of 9,600× for the 36-residue protein folding problem.

## Preview

Unable to display preview. Download preview PDF.

## References

- 1.N. A. Baricelli, “Symbiogenetic evolutionary processes realized by artificial methods,” Methodos, vol. 9, no. 35–36, pp. 143–182, 1957.Google Scholar
- 2.G. E. P. Box, “Evolutionary operation: A method for increasing industrial productivity,” Journal of the Royal Statistical Society C, vol. 6, no. 2, pp. 81–101, 1957.Google Scholar
- 3.L. J. Fogel, A. J. Owens, and M. J. Walsh, Artificial Intelligence through Simulated Evolution, John Wiley & Sons: New York, 1966.Google Scholar
- 4.I. Rechenberg, Evolutionsstrategie: Optimierung Technisher Systeme nach Prinzipien der Biologischen Evolution, Frommann-Holzboog: Stuttgart, 1973 (second edition 1994).Google Scholar
- 5.J. H. Holland, Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, 1975 (second edition MIT Press, 1992).Google Scholar
- 6.D. E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley: Reading, MA, 1989.Google Scholar
- 7.M. Mitchell, An Introduction to Genetic Algorithms, MIT Press, 1996.Google Scholar
- 8.Z. Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs, Springer-Verlag, Berlin, 1996, 3rd rev. edition.Google Scholar
- 9.R. L. Haupt and S. E. Haupt, Practical Genetic Algorithms, John Wiley & Sons: New York, 1998.Google Scholar
- 10.H. Mühlenbein, “Parallel genetic algorithms, population genetics, and combinatorial optimization,”. in Proc. Third Int. Conf. Genetic Algorithms, Morgan Kaufmann: San Francisco, 1989, pp. 416–421.Google Scholar
- 11.B. Shackleford, E. Okushi, M. Yasuda, H. Koizumi, K. Seo, and T. Iwamoto, “Hardware framework for accelerating the execution speed of a genetic algorithm,” IEICE Trans. Electron. vol. E80-C, no. 7, pp. 962–969, July 1997.Google Scholar
- 12.B. Shackleford, E. Okushi, M. Yasuda, H. Koizumi, K. Seo, T. Iwamoto, and Y. Yasuura, “A highperformance implementation of a survival-based genetic algorithm,” in Proc. Int. Conf. Neural Information Processing (ICONIP'97), November 1997, pp. 686–691.Google Scholar
- 13.P. Graham and B. Nelson, “A hardware genetic algorithm for the traveling salesman problem on Splash 2,” in Field-Programmable Logic and Applications, W. Moore and W. Luk (eds.), Springer: Oxford, 1995, pp. 352–361.Google Scholar
- 14.J. M. Arnold, D. A. Buell, and E. G. Davis, “Splash 2,” in Proc. 4th Annu. ACM Symposium Parallel Algorithms and Architectures, June 1992, pp. 316–324.Google Scholar
- 15.N. Sitkoff, M. Wazlowski, A. Smith, and H. Silverman, “Implementing a genetic altorithm on a parallel custom computing machine,” in Proc. IEEE Workshop FPGAs for Custom Computing Machines, 1995, pp. 180–187.Google Scholar
- 16.M. Wazlowski, A. Smith, R. Citro, and H. Silverman, “Armstrong III: A loosely coupled parallel processor with reconfigurable computing capabilities,” Technical Report, Division of Engineering, Brown University, 1994.Google Scholar
- 17.O. Kitaura, H. Asada, M. Matsuzaki, T. Kawai, H. Ando, and T. Shimada, “A custom computing machine for genetic algorithms without pipeline stalls,” in 1999 IEEE Int. Conf. Systems, Man, and Cybernetics, October 1999, pp. 577–584.Google Scholar
- 18.N. Yoshida, T. Yasuoka, T. Moriki, and T. Shimokawa, “VLSI hardware design for genetic algorithms and its parallel and distributed extensions,” Int. J. Knowledge-Based Intelligent Eng. Syst. to appear 2000.Google Scholar
- 19.I. Kajitani, M. Murakawa, D. Nishikawa, H. Yokoi, N. Kajihar, M. Iwata, D. Keymeulen, H. Sakanashi, and T. Higuchi, “An evolvable hardware chip for prosthetic hand controller,” in Proc. Seventh Int. Conf. Microelectronics for Neural, Fuzzy and Bio-inspire Systems, April 1999, pp. 179–186.Google Scholar
- 20.M. Murakawa, S. Yoshizawa, I. Kajitani, and T. Higuchi, “Evolvable hardware for generalized neural networks,” Fifteenth Int. Joint Conf. Artificial Intelligence, 1997, pp. 1146–1151.Google Scholar
- 21.M. Murakawa, S. Yoshizawa, I. Kajitani, X. Yao, N. Kajihara, M. Iwata, and T. Higuchi, “The GRD chip: genetic reconfiguration of DSPs for neural network processing,” IEEE Trans. Comput. vol. 48, no. 6, pp. 628–639, June 1999.Google Scholar
- 22.M. Salami, “Genetic algorithm processor on reprogrammable architectures,” in Proc. Fifth Annu. Conf. Evolutionary Programming, L. J. Fogel, P. J. Angeline, and T. Bäack (eds.), March 1996, pp. 355–361.Google Scholar
- 23.I. M. Bland and G. M. Megson, “Implementing a generic systolic array for genetic algorithms,” in Proc. First On-Line Workshop on Soft Computing, 1996, pp. 268–273.Google Scholar
- 24.S. D. Scott, A. Samal, and S. Seth, “HGA: A hardware-based genetic algorithm,” in Proc.1995 ACM/SIGDA Third Int. Symposium on Field-Programmable Gate Arrays, 1995, pp. 53–59.Google Scholar
- 25.P. K. Chan, “A field-programmable prototyping board: XC4000 BORG user's guide,” Board of Studies in Computer Engineering, University of California, Santa Cruz, April 1994.Google Scholar
- 26.B. C. H. Turton and T. Arslan, “A parallel genetic VLSI architecture for combinatorial real-time application.disc scheduling,” in Proc. IEE Colloquium on Genetic Algorithms in Image Processing and Vision, October 1994, pp. 11/1–6.Google Scholar
- 27.G. Tufte and P. C. Haddow, “Prototyping a GA pipeline for complete hardware evolution,” in Proc. First NASA/DoD Workshop on Evolvable Hardware, July 1999, pp. 18–25.Google Scholar
- 28.S. Forrest and M. Mitchell, “Relative building block fittness and building block hypothesis,” in L. D. Whitley (ed.), Foundations of Genetic Algorithms 2, Morgan Kaufmann: San Francisco, 1993.Google Scholar
- 29.M. Mitchell, S. Forrest, and J. H. Holland, “The royal road for genetic algorithms: Fitness landscapes and GA performance,” in F. J. Varela and P. Bourgine (eds.), Towards a Practice of Autonomous Systems: Proceedings of the First European Conference on Artificial Life, MIT Press: Cambridge, MA, 1992.Google Scholar
- 30.M. Mitchell, J. H. Holland, and S. Forrest, “When will a genetic algorithm outperform hill climbing?” in J. D. Cowan, G. Tesauro, and J. Alspector (eds.), Advances in Neural Information Processing Systems 6, Morgan Kaufmann: San Francisco, 1994.Google Scholar
- 31.D. A. Patterson and J. L. Hennessy, Computer Architecture: A Quantitative Approach, Morgan Kaufmann: San Francisco, 1990.Google Scholar
- 32.S. Wolfram, “Random sequence generation by cellular automata,” Advances Appl. Math., vol. 7, pp. 123–169, 1986 (also in S. Wolfram, Theory and Applications of Cellular Automata, World Scientific: Singapore, 1986).Google Scholar
- 33.G. Syswerda, “Uniform crossover in genetic algorithms,” in Proc. Third Int. Conf. Genetic Algorithms, Morgan Kaufmann: San Francisco, 1989, pp. 2–9.Google Scholar
- 34.T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms, MIT Press: Cambridge, MA, 1990.Google Scholar
- 35.T. Iwamoto, “Genetic algorithms for set covering problems,” The Sixth Intelligent System Symposium, The Japan Society of Mechanical Engineers, Osaka, pp. 73–74, October 1996, pp. 73.74 (in Japanese).Google Scholar
- 36.O. Coudert, “On solving covering problems,” in Proc. 33rd Design Automation Conf. June 1996, pp. 197–202.Google Scholar
- 37.E. L. McCluskey, Jr., “Minimization of boolean functions,” Bell System Tech. J. vol. 35, pp. 1417–1444, April 1959.Google Scholar
- 38.W. V. Quine, “On cores and prime implicants of truth functions,” Am. Math. Month. vol. 66, pp. 755–760, 1959.Google Scholar
- 39.D. D. Gajski, Principles of Digital Design, Prentice-Hall: Englewood Cliffs, NJ, 1997.Google Scholar
- 40.M. Karnaugh, “A map method for synthesis of combinatorial logic circuits,” Trans. AIEE Commun. Electron. vol. 72, part I, pp. 593–599, November 1953.Google Scholar
- 41.K. F. Lau and K. A. Dill, “Theory for protein mutability and biogenesis,” Proc. Natl. Acad. Sci. USA vol. 87, pp. 638–642, January 1990.Google Scholar
- 42.R. Unger and J. Moult, “A genetic algorithm for 3d prote in folding simulations,” in Proc. Fifth International Conf. Genetic Algorithms, S. Forrest (ed.), pp. 581–588, 1993.Google Scholar
- 43.R. Unger and J. Moult, “Finding the lowest free energy conformation of a protein is an NP-hard problem: proof and implications,” Bulletin of Mathematical Biology, vol. 55, no. 6, pp. 1183–1198, 1993.Google Scholar
- 44.W. B. Culbertson, T. Osame, Y. Otsuru, J. B. Shackleford, and M. Tanaka, “The HP Tsutsuji logic synthesis system,” Hewlett-Packard Journal, pp. 38–51, Aug. 1993.Google Scholar
- 45.H. Koizumi, K. Seo, F. Suzuki, Y. Ohtsuru, and H. Yasuura, “A proposal for a co-design method in control systems using combination of models,” IEICE Trans. Inf. and Systems, vol. E78-D, No. 3, pp. 237–247, March 1995.Google Scholar
- 46.G. Snider, B. Shackleford, R. J. Carter, “Attacking the semantic gap between application programming languages and configurable hardware,” submitted to 2001 ACM/SIGDA Eighth International Symposium on Field Programmable Gate Arrays, 11 pages, February 2001.Google Scholar