A Parallel Processor for Distributed Genetic Algorithm with Redundant Binary Number
1
Tomohiro KAMIMURA,
2Akinori KANASUGI
1
Department of Electronics, Tokyo Denki University, [email protected]
2
Graduate School of Engineering, Tokyo Denki University, [email protected]
Abstract
Genetic algorithm (GA) is one of optimization algorithm based on an idea for evolution of life. GA can be applied various combination optimization problem. This paper proposes a parallel processor for distributed genetic algorithm (DGA) with redundant binary number. Since a redundant binary number has redundancy, solution expression becomes variegated. For this reason, it is expected the algorithm easily find the optimized solution, and the error rates decrease. Since DGA is a parallel algorithm, the performance can be improved by using a specified parallel processor. The effectiveness of the proposed processor was confirmed by some simulations and experiments using FPGA circuit board.
Keywords : P arallel Processor, Distributed GA, Redundant Binary Number
1. Introduction
Genetic algorithm (GA) is one of optimization algorithm based on an idea for evolution of life [1].
GA can be applied various problems such as combination optimization problem, machine learning and so on.
A distributed genetic algorithm (DGA) divides a solution group into some solution groups “island”, and performs genetic operation in each island [2]. In DGA, in order to exchange the solution among each island, migration operation is performed. Since DGA has few numbers of individuals per island, premature convergence takes place easily. However, since diversity is also maintainable by migration, compared with conventional GA, effective solution search is expectable.
This paper proposes a novel DGA with redundant binary number, while conventional DGA expresses chromosomes in binary number. Since a redundant binary number has redundancy, solution expression becomes variegated. For this reason, it is expected the algorithm easily find the optimized solution, and the error rates decrease. In the proposed algorithm, different numerical systems are used on each island. Therefore, since diversity is further maintainable, the further improvement in performance is expectable.
Since DGA is a parallel algorithm, the performance can be improved by using a specified parallel processor. The effectiveness of the proposed processor was confirmed by some simulations and experiments using FPGA circuit board.
2. Distributed genetic algorithm
A Genetic algorithm (GA) is proposed in 1975 by Prof. John Holland. The algorithm is based on Darwin's evolutionary theory and likens solution to gene. The flow chart of GA is shown in figure 1.
The procedure of GA is as follows.
(1) Initialization: The first process decides initial genotype, namely value and genetic length. For example, if we assume values are ‘0’ and ‘1’, and length is 8, a chromosome is shown in figure 2.
(2) Evaluation: The second process calculates the fitness for each individual with the target function.
The evaluation depends on each problem.
(3) Termination Judgment: If the process satisfies the termination condition, the operation finishes and output the individual with the best fitness as the optimized solution.
(4) Selection: To generate the children, this process chooses parents from individuals. For example, if
we assume parents the first generation, children become the second generation. The children
generate the next children again. The children inherited the characteristic of the parents are generated in this way.
(5) Crossover: This process crosses individuals chosen by selection operation and generates the individuals of the next generation. Example of crossover operation is shown in figure 3.
(6) Mutation: This process mutates the chromosome of new generation. The mutation is effective to escape from a local optimum solution. Example of crossover operation is shown in figure 4.
Figure 1. Flow chart of GA
Figure 2. An example of chromosome
Figure 3. Example of crossover operation
Figure 4. Example of mutation operation 2.1. Distributed genetic algorithm
A distributed genetic algorithm (DGA) divides a solution group into some solution groups “island”, and performs genetic operation in each island. In DGA, in order to exchange the solution among each island, migration operation is performed (figure 5). Since DGA has few numbers of individuals per island, premature convergence takes place easily. However, since diversity is also maintainable by migration, compared with conventional GA, effective solution search is expectable.
Figure 5. Concept of distributed genetic algorithm (DGA)
2.2. Redundant binary number
In this paper, redundant binary number system is utilized [3]. The advantage of GA with redundant binary number is increase of total expression number of optimized solution. From this advantage, we can expect that improvement in the searching speed and decrease of the error rate.
The redundant binary number uses values ‘0’, ‘1’ and ‘-1’. However, because hardware cannot deal the value ‘-1’, we express each genetic information in two bits. We assume that ‘0’ sets “00” or “11”,
‘1’ sets “01”, ‘-1’ sets “10”. These correspondences are summarized in table 1. For example, we express decimal number seven in binary number of the four bits precision and redundant binary number, as shown in figure 6.
As shown in figure 6, chromosomes of the redundant binary number become longer in comparison with the normal binary number. However, there are many expression way. For example, there are nine ways in the case of figure 6.
The GA based on redundant binary number is almost the same as conventional GA. However, decoding from redundant binary number to binary number is required. In this paper, we separate chromosomes into odd number bit and even number bit. Then we subtract even number bit from odd number bit. An example is shown in figure 7.
Table 1. Bit strings of genetic information
0 1 -1
Bit String 00,11 01 10
Figure 6. A comparison between binary number and redundant binary number
Figure 7. Decoding method from redundant binary number to binary number
3. Proposed DGA
The concept of DGA proposed in this paper is shown in figure 8. In this figure, GA_B, GA_G, and GA_RB express GA using binary number, GA using Gray code, and GA using redundant binary number, respectively. Figure 9 shows the selection method of a migration place. As shown in Fig. 9, one migration operation is performed in a ring shape. The number of the chromosomes which emigrate is one. The random number ‘r’ chooses the island where a chromosome moves.
A part of solutions are exchanged through the migration unit. Of course in the case of migration,
code conversions are performed. Although search results depend on type of solution code, stable good
results are expected to many problems by the proposed DGA. In Fig. 8, although there are two sets of
GA with binary number, one set of GA with Gray code, and one set of GA with redundant binary
number, this is only an example. Of course, various combinations are possible. In order to suppress the
circuit scale, the composition of figure 8 was illustrated. Namely, since the scale is small, two sets of
Figure 8. Concept of proposed DGA
Figure 9. The selection method of a migration place
4. Simulation
The evaluation by simulation was performed in four GA (binary number, Gray code, redundant binary and proposed DGA). The performance of each GA was evaluated by solving following three functions.
20000 )
( x x
2
f (Solution: x 141 ) (1)
2000000000 )
( x x
2
f (Solution: x 44721 ) (2)
)
240000 )(
100 ( )
( x x x
f (Solution: x 40000 ) (3)
The simulation program was implemented in C language. The error rates of three functions are summarized in figure 10. Each result is the average of 500 times of trial. The parameters are summarized in table 2. In addition, although the solution is denoted by 16 bits in GA with binary number and Gray code, the solution is denoted by 32 bits in GA with redundant binary number.
In calculation of error rate, only the case where a solution is completely same as the optimal
solution is judged as a correct answer. Therefore, if a solution is not in agreement with the optimal
solution, even if very close to the optimal solution, it has judged as an error. Figure 10 shows that good
results were obtained by the proposed DGA in various problems.
Figure 10. Error rate
Table 2. GA Parameters
Parameter Value Generation 100 Population 32 (8 x 4)
Selection Ranking Crossover One point Crossover rate 1
Mutation rate 0.125