Home > Engineering essays > Enhanced Arithmetic Logical Unit For Hardware Genetic Processor

Essay: Enhanced Arithmetic Logical Unit For Hardware Genetic Processor

Essay details and download:

  • Subject area(s): Engineering essays
  • Reading time: 8 minutes
  • Price: Free download
  • Published: 7 June 2012*
  • Last Modified: 23 July 2024
  • File format: Text
  • Words: 2,205 (approx)
  • Number of pages: 9 (approx)

Text preview of this essay:

This page of the essay has 2,205 words.

Enhanced Arithmetic Logical Unit For Hardware Genetic Processor

Abstract’ Genetic Algorithm is based on natural evolution. The genetic algorithm is a probabilistic search algorithm that iteratively transforms a set (called a population) of mathematical objects (typically fixed-length binary character strings), each with an associated fitness value, into a new population of offspring objects using the Darwinian principle of natural selection. The research in genetic algorithm mainly concentrates on the software implementation, which is lagging in term of speed. Genetic algorithm, processor consists of lots of sub-modules like ALU unit, memory unit and control unit. From all the sub-module, ALU module is responsible of bringing the genetic variation. In this paper, Enhanced ALU unit consisting of Mutation Operator like Flap, Uniform, Virus mutation and Crossover operators like One point, Multi Point, Uniform crossover was designed using VHDL language and was implemented using Spartan 3E FPGA. It utilize just 3% of slices of Spartan3 (3s100ecp132) chip. The circuit operates at frequency of 248.139 MHz.

Index Terms’ ALU (Arithmetic Logic Unit), Crossover, GA (Genetic Algorithm), Mutation

I. INTRODUCTION
The traditional theory of genetic algorithm was first implemented by Holland in year 1975. The basic objective behind designing of algorithm was to understand the natural evoluation process and to design and implement the artificial system, which will be closely related to the natural evoluation process. Genetic algorithm works by discovering, emphasizing and recombining good building blocks of solutions in a highly parallel fashion. [1, 2]. This algorithm works on the principle of natural selection where in searching the best optimum result and giving them the chance to reproduce. The algorithm treats each and every result as the chromosome and for each chromosome value the particular fitness value is calculated. With higher the fitness value, the more likely is the survival of that chromosome for the next generation.

II. GENETIC ALGORITHM
Genetic algorithm is robust problem solving method based on the natural selection [2]. Genetic algorithm had been applied on various applications for solving different type of problems. Any problem in the world, consist of many solution, Genetic Algorithm code these solutions into chromosome using some of encoding technique. Set of chromosomes form the population. This population is passed through generations to get the best solution. Genetic algorithm consists of genetic operators, which are responsible for maintaining the diversity in the population Genetic operators like mutation and crossover acts upon the chromosome of the population in such a way that it continuously brings some change in them.

A. Crossover Module
In genetic algorithms, crossover is a genetic operator used to vary the value of a chromosome or chromosomes from one generation to the next. It is analogous to reproduction and biological crossover, upon which genetic algorithms are based. Cross-over is a process of taking more than one-parent solutions and producing a child solution from them. [3] There are many types of crossover operator possible in GA, these are as follow.
‘ Single Point Crossover: In single point crossover any one place of the chromosome is taken and altered or swapped with the second parent.[3] The single point crossover example related to chromosome is illustrated in figure 1 which clearly illustrate the two parents going to crossover operator and forming two new chromosomes

Figure 1: Single Point Crossover [4]
‘ Multi Point Crossover: In Multi point Crossover the two points in the chromosome are chosen and interchanged or swapped. Its functioning is same as single point with modification as the two points.[3] The multi point crossover example related to chromosome is illustrated in figure 2 which clearly illustrate the two parents going to crossover from two(or multiple) point and forming the new chromosome.

Figure 2: Multi Point Crossover [4]
‘ Uniform Crossover: In Uniform Crossover a random mask is generated. The mask determines which bits are copied from one parent and which from the other parent. [3] Bit density in mask determines how much material is taken from the other parent (takeover parameter). The uniform crossover example related to chromosome is illustrated in figure 3 which clearly illustrate the two parents going to crossover operator related to the mask position which is randomly generated and forming new chromosomes.

Figure 3: Uniform Crossover [5]
B. Mutation
Mutation Operators are type of reproduction operator applied for destroying homogeneity in the population. The mutation operator alters the single bit or group of bits in the chromosome. Usually a Mutation operator leads to improvement of the chromosome value, thus increasing or improving the fitness value of the population. It is also responsible for boosting of the search operation. [6]. There are many types of mutation operator, some are discussed below.
‘ Virus Mutation: From the viewpoint of biology, the major cause of diseases is usually that the virus intrudes into the human’s body and modifies the original codon of DNA sequence as well as reproduces the infected DNA sequence. Figure 4 display the virus operation performed on the chromosome, it clearly depicts the part of unknown part of chromosome is attached to the regular chromosome and thus resulting toward new chromosome.

Figure 4: Virus Operator [7]
‘ Random Flip Bit: This mutation operator will simply inverts the value of the chosen gene. This mutation operator can only be used for binary genes. Figure 5 displays the flipping of the chromosome from random position.

Figure 5: Random Flip bit [5]
‘ Flap Bits: This mutation operator will flap the entire input chromosome to create new chromosome. This will copy lower half of the chromosome to higher half of the chromosome and vice versa.
C. Parameter Tuning
Parameter is the most important decision to be made during the designing as well as application part of the genetic algorithm. Parameters are nothing but the value (constants) like population size, mutation probability and crossover probability and types of the mutation and crossover technique to be decided. The parameter value changes according to the application and is always different for different applications [9].
Figure 6: Types of parameter setting [8]
There are mainly two ways for setting the parameter, one is parameter control and other is parameter tuning. Figure 6 depicts the ways of setting the parameter and also there subparts. By parameter tuning it means the value of parameter are controlled before the actual run of the algorithm. In this the user manually set the parameter value. Parameter control means the value of parameter are controlled during the actual run of the algorithm. Parameter control is further divided into three classes, deterministic, adaptive, and self adaptive.

III. ENHANCED ALU UNIT FOR GENETIC ALGORITHM
Crossover and Mutation operator are designed inside ALU unit, so specific address has to be mentioned to operate them. Operator input pin is declared inside the design and it is two bits. Table 1 tabulates the operator input and the type of operator selected, last two inputs are meant for no operation.

Table 1. Type of operator
Operator Type of Operator
00 Crossover
01 Mutation
10 No Operation
11 No Operation
A. Crossover module
Crossover module is responsible for bringing variation depending upon the two parent input. Two parents will go to crossover producing two new offspring’s. These offspring’s may or may not have higher fitness value but it is sure that it will be different from existing chromosome in the population. This project leads toward designing of three different type of crossover operator.
‘ Single Point Crossover
‘ Multi Point Crossover
‘ Uniform Crossover
The input to the crossover unit is CM-Type input pin which decide the type of crossover module to be used in the project and also the operator input pin value should be given to select the crossover unit.
Table.2 Type of crossover operators
CM-Type Operator
00 Single Point Crossover
01 Multi Point Crossover
10 Uniform Crossover
11 No Crossover

Table 2 clearly depicts the CM-Type values and the operation performed for the particular value. The most interesting case is the last one where no operation is performed. The advantage of this case is whenever no crossover is required user can use that case. The CM-Type is the input for the top-module, where the used will decide the type of crossover needed for the algorithm. The output for crossover unit has the parents input (8 bits) and the different outputs obtained for the single point, multi point and uniform crossover.
B. Mutation Module
Mutation operator is also responsible for bringing variation in the chromosome value, but it is only acting upon the single parent to give rise to new single offspring. This project leads toward design of three types of mutation operator, these are discussed as follow.
‘ Random Flip Mutation
‘ Flap Mutation
‘ Virus Mutation
The input to the crossover unit is CM-Type pin which decide the type of mutation module to be used in the application and also the operator input pin value should be given to select the mutation unit.
Table 3 Type of mutation operators
CM-Type Operator
00 Random Flip
01 Flap
10 Virus
11 No Mutation

Table 3 clearly depicts the CM-Type values and the mutation operation performed for the particular value. The most interesting case is the last one where no operation is performed. The advantage of this case is depicted whenever in algorithm, mutation is not required.
IV. RESULT AND DISCUSSIONS
Implementing Enhanced ALU consist of designing the mutation and crossover module. These modules are future subdivided into various categories. Crossover module is divided into single point crossover, multi-point and uniform crossover. Mutation consists of random, flap and virus mutation. All these modules as been designed using VHDL language and has been tested on NEXYS 2 kit by DIGILENT .Inc with Spartan 3 E FPGA embedded on it. Xilinx ISE tool was used for coding, synthesizing and generating the BIT file for the project.
A. Simulation Results for Crossover Module
Crossover module consists of single-point, multi-point and uniform crossover module. These sub-modules has been designed and simulated and result has been verified. The input for this module is p1, p2 and c1, c2 is the output signal. Signal mut_type is control signal, responsible for controlling the type of crossover type. Signal start_cross is used for initializing the crossover. Figure 7(a), (b), (c) and (d) display the simulation result obtained for single-point, multi’point, uniform and no crossover module respectively.

Figure 7(a) Single Point Crossover

Figure 7(b) Multi Point Crossover

Figure 7(c) Uniform Crossover

Figure 7(d) No Crossover

B. Simulation Results for Mutation Module
Mutation Module consists of three different operators like random flip, flap and virus mutation. The input for this module is parent and child is the output signal. Signal mut_type is control signal, responsible for controlling the type of mutation. Figure 8 (a), (b), (c) and (d) display the output waveform for random flip, flap, virus and no mutation module respectively.

Figure 8(a) Random Flip Mutation

Figure 8(b) Flap Mutation

Figure 8(c) Virus Mutation

Figure 8(d) No Mutation
C. Simulation Results for Top-Level Module
Overall integration of the design has been done in the top module. The top module has been synthesized, implemented and binary file has been generated. Figure 9 displays the output waveform for top module, which clearly depicts the parent input and child output and rest of control signals. Control signal like cmType, operator and covertype are used to control the type of mutation and crossover operator.

Figure 9: Complete Enhanced ALU unit

D. FPGA Implementation
The designed code has been synthesized, implemented and mapped using Xilinx ISE tool and then the bit-stream for the same has been generated. The board pin configuration has been studied from the datasheet of the board. Digilent Nexys 2 with Spartan 3 FPGA has been selected and the code has been dumped on the board. The board gets the power source from the USB of the computer and Adept software has been employed for dumping the BIT file into the FPGA. The input of parents has been given through the switches and the output has been observed over the LED. Figure 10 display the Spartan 3 board on which the input is provided from the switches and output is observed through the LED on the board.

Figure 10: FPGA Implementation of Enhanced ALU Unit for GA

V. CONCLUSION
Genetic algorithm is a method, which is very easy to understand, and it practically does not demand the knowledge of mathematics. The GA requires very intensive computations to perform optimization. Hence, a dedicated VLSI implementation is necessary. We have proposed development of enhanced ALU unit for the hardware genetic algorithm Enhanced ALU unit has been developed and implemented using Spartan 3 kit. The 4 input LUTs utilization is 80 from 1920 available, so utilization is just 3% of slices of Spartan3 (3s100ecp132) chip. The circuit operates at frequency of 248.139 MHz. The maximum arrival time is 4.372ns and maximum output time is 4.282 ns.
REFERENCES

[1] John H. Holland, John Henry Holland (1975), ‘Adaptation in natural and artificial systems’: University of Michigan Press
[2] Melanie Mitchell (1998), ‘An Introduction to Genetic Algorithm’: First MIT Press paperback edition.
[3] Gupta Vikas, Jain Anshul and Chourasia bharti (2011), ‘FPGA Based Implementation of Genetic Algorithm Using VHDL’. International Journal of Electronics Communication and Computer Technology, PP: 15- 18
[4] ‘Genetic Algorithm’, [online], Available: http:// bioinfopakistan.ucoz.com/news/genetic_algorithms/2011-08-22-188
[5] Jaap Hofstede, Beasly, Bull, Martin, ‘Genetic Algorithms and other approaches for similar applications’, [online] Available : <www.ee.pdx.edu/~mperkows/temp/0101. Genetic-Algorithm.ppt>
[6] Alan Piszcz and Terence Soule (2006), ‘A Survey on Mutation Technique in Genetic Programming’. GECCO, USA
[7] Chun-Liang Lin, ‘Self-organizing PID control design based on DNA computing method’. Control Applications 2004. Proceedings of the 2004 IEEE International Conference on, PP: 568 ‘ 573
[8] Agoston Endre Eiben, Robert Hinterding, and Zbigniew Michalewicz (1999), ‘Parameter Control in Evolutionary Algorithms’. IEEE Transaction on Evolutionary Computation (2), 3
.

About this essay:

If you use part of this page in your own work, you need to provide a citation, as follows:

Essay Sauce, Enhanced Arithmetic Logical Unit For Hardware Genetic Processor. Available from:<https://www.essaysauce.com/engineering-essays/design-impementation-enhanced-arithmetic/> [Accessed 19-04-26].

These Engineering essays have been submitted to us by students in order to help you with your studies.

* This essay may have been previously published on EssaySauce.com and/or Essay.uk.com at an earlier date than indicated.