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.
Similar content being viewed by others
References
N. A. Baricelli, “Symbiogenetic evolutionary processes realized by artificial methods,” Methodos, vol. 9, no. 35–36, pp. 143–182, 1957.
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.
L. J. Fogel, A. J. Owens, and M. J. Walsh, Artificial Intelligence through Simulated Evolution, John Wiley & Sons: New York, 1966.
I. Rechenberg, Evolutionsstrategie: Optimierung Technisher Systeme nach Prinzipien der Biologischen Evolution, Frommann-Holzboog: Stuttgart, 1973 (second edition 1994).
J. H. Holland, Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, 1975 (second edition MIT Press, 1992).
D. E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley: Reading, MA, 1989.
M. Mitchell, An Introduction to Genetic Algorithms, MIT Press, 1996.
Z. Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs, Springer-Verlag, Berlin, 1996, 3rd rev. edition.
R. L. Haupt and S. E. Haupt, Practical Genetic Algorithms, John Wiley & Sons: New York, 1998.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
D. A. Patterson and J. L. Hennessy, Computer Architecture: A Quantitative Approach, Morgan Kaufmann: San Francisco, 1990.
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).
G. Syswerda, “Uniform crossover in genetic algorithms,” in Proc. Third Int. Conf. Genetic Algorithms, Morgan Kaufmann: San Francisco, 1989, pp. 2–9.
T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms, MIT Press: Cambridge, MA, 1990.
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).
O. Coudert, “On solving covering problems,” in Proc. 33rd Design Automation Conf. June 1996, pp. 197–202.
E. L. McCluskey, Jr., “Minimization of boolean functions,” Bell System Tech. J. vol. 35, pp. 1417–1444, April 1959.
W. V. Quine, “On cores and prime implicants of truth functions,” Am. Math. Month. vol. 66, pp. 755–760, 1959.
D. D. Gajski, Principles of Digital Design, Prentice-Hall: Englewood Cliffs, NJ, 1997.
M. Karnaugh, “A map method for synthesis of combinatorial logic circuits,” Trans. AIEE Commun. Electron. vol. 72, part I, pp. 593–599, November 1953.
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.
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.
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.
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.
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.
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.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Shackleford, B., Snider, G., Carter, R.J. et al. A High-Performance, Pipelined, FPGA-Based Genetic Algorithm Machine. Genetic Programming and Evolvable Machines 2, 33–60 (2001). https://doi.org/10.1023/A:1010018632078
Issue Date:
DOI: https://doi.org/10.1023/A:1010018632078