Example: quiz answers

Evolving Computer Programs using Rapidly Reconfigurable ...

Evolving Computer Programs using Rapidly Reconfigurable field - programmable Gate Arrays and Genetic Programming John R. Koza Forrest H Bennett III Jeffrey L. Hutchings Computer Science Dept. Visiting Scholar Convergent Design, Stanford University Computer Science Dept. 3221 E. Hollyhock Hill Stanford, California 94305-9020 Stanford University Salt Lake City, UT 84121. Stanford, California 94305 hutch@Convergent- http://www-cs- ~koza/. Stephen L. Bade Martin A. Keane David Andre Convergent Design, Martin Keane Inc. Computer Science Division 379 North, 900 East 5733 West Grover University of California Orem, UT, 84097 Chicago, Illinois 60630 Berkeley, California bade@Convergent- ABSTRACT. This paper describes how the massive parallelism of the Rapidly Reconfigurable Xilinx XC6216 FPGA (in conjunction with Virtual Computing's Works board).

Evolving Computer Programs using Rapidly Reconfigurable Field-Programmable Gate Arrays and Genetic Programming John R. Koza Computer Science Dept.

Tags:

  Programs, Computer, Using, Sciences, Field, Programmable, Computer science, Rapidly, Reconfigurable, Computer programs using rapidly reconfigurable, Computer programs using rapidly reconfigurable field programmable

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Evolving Computer Programs using Rapidly Reconfigurable ...

1 Evolving Computer Programs using Rapidly Reconfigurable field - programmable Gate Arrays and Genetic Programming John R. Koza Forrest H Bennett III Jeffrey L. Hutchings Computer Science Dept. Visiting Scholar Convergent Design, Stanford University Computer Science Dept. 3221 E. Hollyhock Hill Stanford, California 94305-9020 Stanford University Salt Lake City, UT 84121. Stanford, California 94305 hutch@Convergent- http://www-cs- ~koza/. Stephen L. Bade Martin A. Keane David Andre Convergent Design, Martin Keane Inc. Computer Science Division 379 North, 900 East 5733 West Grover University of California Orem, UT, 84097 Chicago, Illinois 60630 Berkeley, California bade@Convergent- ABSTRACT. This paper describes how the massive parallelism of the Rapidly Reconfigurable Xilinx XC6216 FPGA (in conjunction with Virtual Computing's Works board).

2 Can be exploited to accelerate the time- consuming fitness measurement task of genetic algorithms and genetic programming. This acceleration is accomplished by embodying 1. Introduction each individual of the Evolving population into field - programmable gate arrays (FPGAs) are often used to hardware in order to perform the fitness facilitate rapid prototyping of new electronic products . measurement task. A 16-step sorting network particularly those for which time-to-market and other for seven items was evolved that has two fewer economic considerations preclude the design and steps than the sorting network described in the fabrication of a custom application-specific integrated 1962 O'Connor and Nelson patent on sorting circuit. networks (and the same number of steps as a Genetic programming (GP) is an extension to the genetic 7-sorter that was devised by Floyd and Knuth algorithm (Holland 1975, Goldberg 1989, Michalewicz subsequent to the patent and that is now 1992, Mitchell 1996, and Gen and Cheng 1997) that known to be minimal).

3 Other minimal sorters automatically creates a Computer program to solve a problem using a simulated evolutionary process (Koza have been evolved. 1992, 1994a, 1994b; Koza and Rice 1992). Genetic programming successively transforms a population of individual Computer Programs , each with an associated value of fitness, into a new population of individuals ( , a new generation), using the Darwinian principle of survival and reproduction of the fittest and analogs of naturally occurring genetic operations such as crossover (sexual recombination) and mutation. and insignificant for an engineer who has spent hours, The dominant component of the computational burden of days, or months on a single prototype design) would solving non-trivial problems with the genetic algorithm or consume 14 hours for even a minuscule population of genetic programming is the task of measuring the fitness of 1,000 that was run for as few as 100 generations.

4 Again, a each individual in each generation of the Evolving run involving a population of 1,000,000 individuals would population. (Relatively little Computer time is expended multiply this already unacceptably long time (14 hours) by on other tasks of the algorithm, such as the creation of the 1,000. What's worse both of these unacceptably long initial random population at the beginning of the run and times (278 hours and 14 hours) are merely preliminary to the execution of the genetic operations during the run). In a the time required by the FPGA for the actual problem- run of the genetic algorithm or genetic programming, the specific fitness measurement. Thus, there is a discrepancy population may contain thousands or even millions of of numerous orders of magnitude between the time individuals and the algorithm may be run for dozens, required for the technology mapping, placement, routing, hundreds, or thousands of generations.

5 Moreover, the bit creation, and downloading tasks and the time available measurement of fitness for just one individual in just one for these preliminaries in the inner loop of a practical run generation typically involves exposing the individual of the genetic algorithm or genetic programming. program to hundreds or thousands of different Reconfigurability is not enough for practical work with combinations of inputs (called fitness cases). Executing genetic algorithms and genetic programming. Rapid one individual program for just one fitness case may, in reconfigurability is what is needed where "rapid" means turn, entail hundreds or thousands of steps. times ranging between microseconds to milliseconds for all field - programmable gate arrays are massively parallel five preliminary tasks (technology mapping, placement, computational devices.)

6 Once an FPGA is configured, its routing, bit creation, and downloading). thousands of logical function units operate in parallel at the Fourth, the genetic algorithm starts with an initial chip's clock rate. The advent of Rapidly Reconfigurable population of randomly created individuals and uses field - programmable gate arrays (FPGAs) and the idea of probabilistic operations to breed new candidate individuals. evolvable hardware (Higuchi et al. 1993; Sanchez and These randomly created individuals typically do not Tomassini 1996; Higuchi 1997; Thompson 1996) opens the conform to the design principles unconsciously employed possiblity of embodying each individual of the Evolving by humans and are often quite bizarre. Most commercially population into hardware. Since the fitness measurement available FPGAs are vulnerable to damage caused by task residing in the inner loop of genetic algorithm or combinations of configuration bits that connect contending genetic programming constitutes the main component of digital signals to the same line.

7 The process of verifying the computational burden of a run, the question arises as to the acceptability of genetically created combinations of whether the massive parallellism of FPGAs can be used to configuration bits is complex and would be prohibitively accelerate this time-consuming task. slow in the inner loop of the genetic algorithm or genetic This alluring possiblity cannot, in practice, be realized with programming. Invulnerability (or near invulnerability) to previously available FPGAs for four reasons. damage is needed in order to make FPGAs practical for the inner loop of the genetic algorithm or genetic First, the encoding schemes for the configuration bits of programming. almost all commercially available FPGAs are complex and kept confidential by the FPGA manufacturers. Section 2 describes genetic programming.

8 Section 3. describes the Xilinx XC6216 Rapidly Reconfigurable FPGA. Second, the tasks of technology mapping, placement, Section 4 discusses the types of problems that may be routing, and creation of the configuration bits, consume so suitable for genetic programming and Rapidly much time as to preclude practical use of an FPGA in the Reconfigurable FPGAs. Section 5 describes one such inner loop of the genetic algorithm or genetic problem a mathematical problem involving minimal programming. Even if these four tasks could be reduced sorting networks. Section 6 outlines the preparatory steps from the usual hours or minutes to as little as 10 seconds for applying genetic programming to the problem of for each individual in the population, these four tasks Evolving sorting networks. Section 7 outlines the mapping would consume 106 seconds (278 hours) in a run of the of the fitness measurement task for sorting networks onto genetic algorithm or genetic programming involving a an FPGA.

9 Section 8 describes the results. Section 9. population as minuscule as 1,000 for as short as 100 discusses an observation on evolutionary incrementalism generations. A run involving a population of 1,000,000 that suggests future work. Section 10 is the conclusion. individuals would multiply the above unacceptably long time (278 hours) by 1,000. 2. Genetic Programming The three steps in executing a run of genetic programming Third, the 500 milliseconds typically required for the task are as follows: of downloading the configuration bits to an FPGA (brief (1) Randomly create an initial population of individual thereby opening the possiblity of exploiting the massive Computer Programs . parallelism of field - programmable gate arrays in the inner (2) Iteratively perform the following substeps (called a loop of the genetic algorithm and genetic programming.))

10 Generation) on the population of Programs until the termination criterion has been satisfied: The Xilinx XC6216 chip contains a 64 64 two- dimensional array of identical cells (Xilinx 1997). Each of (a) Assign a fitness value to each individual the chip's 4,096 cells contains numerous multiplexers and a program in the population using the fitness flip-flop and is capable of implementing all two-argument measure. Boolean functions as well as many useful three-argument (b) Create a new population of individual Programs functions. Each cell can directly receive inputs from its by applying the following three genetic four neighbors (as well as certain more distant cells). operations. The genetic operations are applied to one or two individuals in the population The functionality and local routing of each cell is selected with a probability based on fitness controlled by 24 configuration bits whose meaning is (with reselection allowed).


Related search queries