• 検索結果がありません。

General Architecture for Hardware Implementation of Genetic Algorithm

N/A
N/A
Protected

Academic year: 2021

シェア "General Architecture for Hardware Implementation of Genetic Algorithm"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)

General Architecture for Hardware Implementation of Genetic Algorithm

Tatsuhiro Tachibana, Yoshihiro Murata, Naoki Shibata

, Keiichi Yasumoto and Minoru Ito

Nara Institute of Science and Technology

Ikoma, Nara 630-0192, Japan

{tatsu-ta,yosihi-m,yasumoto,ito}@is.naist.jp

Shiga University

Hikone, Shiga 522-8522, Japan

shibata@biwako.shiga-u.ac.jp

1

Introduction

In this paper, we propose a technique to flexibly imple-ment Genetic Algorithms (GAs) for various problems on FPGAs. For the purpose, we propose a common architec-ture for GA. The proposed architecarchitec-ture allows designers to easily implement a GA as a hardware circuit consisting of parallel pipelines which execute GA operations. The pro-posed architecture is scalable to increase the number of par-allel pipelines. The architecture is applicable to various problems and allows designers to estimate the size of re-sulting circuits. We give a model for predicting the size of resulting circuits from given parameters. Based on the pro-posed method, we have implemented a tool to facilitate GA circuit design and development. Through experiments using Knapsack Problem and Traveling Salesman Problem (TSP), we show that the FPGA circuits synthesized based on the proposed method run much faster and consume much lower power than software implementation on a PC, and that our model can predict the size of the resulting circuit accurately enough.

2

Genetic Algorithms

GA is a technique for efficiently finding near optimal so-lutions for combinatorial optimization problems. GA uses multiple individuals (i.e., candidate solutions) where each individual includes a chromosome representing a point in a search space of a given problem. GA works as follows: (1) Individuals are generated with randomly decided chro-mosomes. The set of individuals is called population; (2) The fitness value is calculated for each individual. The fit-ness value represents how close to the optimal solution the individual is; (3) The selection operation selects a certain number of individuals with better fitness values from pop-ulation. (4) The crossover operation is applied to generate new individuals. (5) The mutation operation is applied to mutate the chromosome of the new individuals at a certain probability. The above operations from (2) to (5) are repeat-edly applied specified times or until a good approximation close to the optimal solution is obtained.

Crossover

module Mutationmodule Management module fitness address chromosome(parent2) chromosome(offspring2) fitness address (parentworse)

address (parentfitness(parentworse) worse) fitness(offspring2) chromosome (offspring2) chromosome(offspring) fitness address (parentworse) Evaluation module parent1

Figure 1. Basic Architecture

3

Proposed Architecture

The proposed architecture is composed of Basic

Archi-tecture corresponding to a single pipeline of GA

opera-tions and Parallel Architecture which combines multiple GA pipelines efficiently.

In the basic architecture, processes of GA are di-vided into four submodules named management module, crossover module, mutation module and evaluation module, as shown in Figure 1. Each chromosome is coded as a string of n bits. Buses between neighboring modules have width of m bits. n and m are given as parameters.

Each module is designed so that it receives m bits of data every clock, and outputs m bits of data every clock (it may take some clocks to output the first m bit data after the first m bit data is input). Therefore, dmne clocks are used to process each chromosome, where n ≥ m. Each module receives and processes data in pipelined manner.

We adopt simplified Minimal Generation Gap (MGG) model [1] to reduce required memory amount. In this model, two individuals are picked up from the current pop-ulation. Crossover and mutation operations are applied to these individuals to generate a new offspring. This offspring individual is then evaluated. Selection operation selects the individuals with the higher fitness values from the family (an offspring individual and the parent individuals) and re-moves the worst individual in the family.

The management module stores the population in mem-ory. As shown in Figure 1, following items are received from the evaluation module: the address and the fitness

(2)

value of the parent individual with lower fitness value (parentworse), and the chromosome of the newly

gener-ated individual and its fitness value. The fitness value of

parentworseis compared with that of the new individual. If fitness value of the new individual is higher than that of the

parentworse, chromosome and fitness value of the new in-dividual are overwritten to parentworsein the memory and

they are sent to crossover module. Otherwise, chromosome, fitness value and address of randomly selected individual are sent to crossover module.

The crossover module has a register r which retains the chromosome, the address and the fitness value of the lat-est individual received from the management module. It applies the crossover operator to the chromosome received from the management module (parent2) and the some retained in r (parent1), and generates a new chromo-some offspring. The crossover module compares fitness val-ues of parent1 and parent2, and sends the address and the fitness value of parentworse to the mutation module. The

chromosome of offspring is also sent to the mutation mod-ule.

The mutation module applies the mutation operator to the chromosome of offspring and sends the chromosome of the resulting individual (offspring2) to the evaluation mod-ule. Also, the module sends the address and the fitness value of parentworseto the evaluation module.

The evaluation module calculates the fitness value of the new individual offspring2. Also, this module sends follow-ing items to the management module: the address and the fitness value of parentworse and the chromosome and the

fitness value of offspring2.

In the parallel architecture, the GA pipeline developed based on the basic architecture is regarded as an island of the IGA model [2], and the individual exchange mecha-nism between neighboring GA pipelines is implemented. The immigration module is inserted between the manage-ment module and the crossover module. The immigration module is connected to the management modules of its GA pipeline and the neighbor pipeline, and it periodically re-ceives individuals from the neighbor GA pipeline.

4

Prediction Model

In this section we describe the prediction model of GA circuit size. According to preliminary experiment, we con-firmed that we can predict the size of each module with a linear function of a problem size and a population size. Be-cause we adopt simple communication interface between modules, we see that approximate total circuit size can be calculated as the sum of the sizes of modules used in the whole circuit. In our approach, we first synthesize modules with different problem sizes, and then obtain linear func-tions using multiple regression.

460 480 500 520 540 560 580 600 0 100 200 300 400 500 fitness processing time (ms) SGA proposed method (1) proposed method (2) proposed method (4)

Figure 2. search efficiency (TSP, eil51)

5

Experimental Results and Evaluation

In this section, we show the performance of the circuits implemented based on our proposed architecture and the ac-curacy of our prediction model through experiments.

We conducted logic synthesis for the circuit descriptions using Altera Quartus II. We used Altera Cyclone FPGA de-vices as target dede-vices. We used 64bit Knapsack Problem and a TSP instance called eil51. We compared the circuits implemented based on our method with software implemen-tation of traditional GA (see Sect. 2) executed on a PC with Pentium4 2.4GHz and 256MB memory. Hereafter we refer to the software implementation as SGA.

At first, we measured how good solutions can be ob-tained within specified execution time for our circuits and the SGA. For Knapsack Problem, we confirmed that our circuits achieve much better performance than SGA. The results of TSP are shown in Figure 2. In Figure 2, the lower fitness value means the better solution. The number in parentheses indicates the number of concurrent pipelines in the circuit. Figure 2 shows that with our circuits can-didate solutions converge to semi-optimal solutions much more quickly than SGA and that the quality of solutions in our circuits is much better than SGA as long as the same crossover is used. It also shows that the performance of our circuits can be greatly improved by increasing the num-ber of GA pipelines. We also confirmed that the generated circuit consumes 1/80 of TDP (Thermal Design Power) of Pentium4 2.4GHz, at most. Finally, we evaluated our pre-diction model and confirmed that prepre-diction error is within 3% at the maximum for both Knapsack Problem and TSP.

References

[1] Hiroshi Satoh, Isao Ono and Shigenobu Kobayashi, Minimal Generation Gap Model for GAs Considering Both Exploration and Exploitation, Proc. IIZUKA’96, pp.494 –497, 1996.

[2] Erick Cant´u-Paz, A Survey of Parallel Genetic Algo-rithms, Technical Report 97003, Illinois Genetic Al-gorithms Laboratory, 1997.

Figure 1. Basic Architecture
Figure 2. search efficiency (TSP, eil51)

参照

関連したドキュメント

Proof of Theorem 2: The Push-and-Pull algorithm consists of the Initialization phase to generate an initial tableau that contains some basic variables, followed by the Push and

Keywords: Convex order ; Fréchet distribution ; Median ; Mittag-Leffler distribution ; Mittag- Leffler function ; Stable distribution ; Stochastic order.. AMS MSC 2010: Primary 60E05

It is suggested by our method that most of the quadratic algebras for all St¨ ackel equivalence classes of 3D second order quantum superintegrable systems on conformally flat

In this paper, we study the generalized Keldys- Fichera boundary value problem which is a kind of new boundary conditions for a class of higher-order equations with

In Section 3, we show that the clique- width is unbounded in any superfactorial class of graphs, and in Section 4, we prove that the clique-width is bounded in any hereditary

Keywords: continuous time random walk, Brownian motion, collision time, skew Young tableaux, tandem queue.. AMS 2000 Subject Classification: Primary:

Inside this class, we identify a new subclass of Liouvillian integrable systems, under suitable conditions such Liouvillian integrable systems can have at most one limit cycle, and

Our method of proof can also be used to recover the rational homotopy of L K(2) S 0 as well as the chromatic splitting conjecture at primes p > 3 [16]; we only need to use the