Combinational circuit designer using 2D Genetic Algorithm
-
Upload
vivek-maheshwari -
Category
Engineering
-
view
201 -
download
0
Transcript of Combinational circuit designer using 2D Genetic Algorithm
2D TECHNIQUE FOR THE DESIGN OF
COMBINATIONAL CIRCUITS USING
GENETIC ALGORITHM
By:Name: VIVEK MAHESHWARIBranch: M.Tech (M.E.T.)Enrl. No.: 12305161
PROBLEM DESCRIPTION
Designing a circuit that performs a desired function
(specified by a truth table), with given a specified
set of available logic gates.
The aim is to design and implement circuits with
least complexity i.e. with minimum number of gates.
The Genetic Algorithm (GA) is used to optimize the
combinations and find the fittest design of the given
circuit.
PREVIOUS TECHNIQUES:
Karnaugh Map method (K-Map)
- based on graphical representation of Boolean
functions.
- Useful in minimizing functions upto 5 or 6 variables.
Quine – McCluskey method (Tabular
method)
- It is a tabular method.
- Useful for functions of any number of variables.
GENETIC ALGORITHMS
1. Genetic algorithms [1] are search techniques
modeled after natural selection, including the
associated genetic operators.
2. Initially GAs were developed by John Holland [2], K.
DeJong, D. Goldberg [3].
3. GAs are stochastic algorithms with very simple
operators that involve random number generation,
and copying and exchanging string structures.
4. The three major operators are : selection, mutation
and crossover, with fitness evaluation.
GA TERMINOLOGY Gene – a single encoding of part of the solution space,
i.e. either single bits or short blocks of adjacent bits that encode an element of the candidate solution. Eg. - 1
Chromosome – a string of genes that represents a solution.
Eg. 0 1 0 1 1 Population – the number of chromosomes available to
test.
Eg. 0 1 0 0 0
1 1 0 0 1
0 1 0 1 0
1 1 0 1 0
1 1 0 1 1
1 0 0 1 1
0 1 0 1 1
1 1 1 1 1
THE EVOLUTIONARY CYCLE
selection
population evaluation
crossover
discard
deleted members
parents
modifiedoffspring
evaluated offspring
initiate &
evaluate
SGA REPRODUCTION CYCLE
1. Form the initial population (also called Mating pool).
2. Calculate the fitness of each individual among the present
generation.
3. Select parents for the mating pool
(size of mating pool = population size)
4. For each consecutive pair apply crossover with probability pc
(otherwise copy parents)
5. For each offspring apply mutation (bit-flip with probability pm
independently for each bit)
6. Replace the whole population with the resulting offspring
FITNESS EVALUATIONA Fitness Function is a particular type of objective function that is used to evaluate as how close a given design solution is to achieving the set aims.
The fitness value of an individual is the value of the fitness function for that individual.
Two main classes of fitness functions: the fitness function is mutable. the fitness function does not change, as in optimizing a
fixed function or testing with a fixed set of test cases
SELECTION
Chromosomes are selected from the population to be parents to crossover and produce offspring
Also known as Selection Operator Parents are selected according to their fitness There are many methods [1] to select the best
chromosomes
1. Roulette Wheel Selection
2. Rank Selection
3. Tournament Selection
4. Elitism The better the chromosomes are, more is the
chance to be selected.
SELECTION Main idea: better individuals get higher
chance Chances proportional to fitness Implementation: Roulette Wheel Technique [1]
Assign to each individual a part of the roulette wheel
Spin the wheel n times to select n individuals
fitness(A) = 3
fitness(B) = 1
fitness(C) = 2
A C
1/6 = 17%
3/6 = 50%
B
2/6 = 33%
CROSSOVER OPERATORS: 1-POINT CROSSOVER
Choose a random point on the two parents Split parents at this crossover point Create children by exchanging tails Pc typically in range (0.6, 1.0)
MUTATION OPERATOR
Alter specific bit independently with a probability Pm
Pm is called the mutation rate
Replace the next generation with the with the new off springs and evaluate their respective fitness.
Repeat the cycle of GA with the new generation as the current one and apply the genetic operators.
This is done until the optimum desired condition is not achieved.
DESIGN REPRESENTATION
The representation used is a bi-
dimensional matrix in which each matrix
element is a gate. A gate set consisting of
5 gates, i.e. AND, OR, NOT, XOR and WIRE
is considered [4] [5].
(WIRE basically indicates a null operation,
or in other words, the absence of a gate.)
[5]
ENCODING [2,3]
Each matrix element is a gate that receives its 2 inputs from any gate at the previous column in the figure.
A chromosomic string encodes the matrix element by using triplets in which the first 2 elements refer to each of the inputs used and the third is the corresponding gate used in that element.
Representation used for encoding matrix form to linear form
[4][6]
The inputs to matrix elements of the first
column are the inputs directly obtained by the
truth table while the inputs to the other
elements are the outputs of any of its
previous level gates [4].
The outputs obtained from the last column are
the final output of the designed circuit.
Once the binary bit strings are obtained from the
encoding, the GA will optimize the population
within the search space.
The optimal bit strings obtained after the required
number of iterations will be decoded back to form
circuit using the gates in predefined gate set.
GA tries to obtain the circuit with maximum
number of WIREs that perform the function
required.
2D TECHNIQUE [7]
Coello [4] worked by the same method but used linear form to represent the chromosomes.
This consumes more computational time. To avoid this demerit the circuit can be
represented as a 2D chromosome itself. It helps in better visualization.
The 2D genetic operators i.e. 2D crossover and 2D mutation are then operated over these 2D chromosomes.
ENCODING IN 2D FORM
The individuals are created randomly which
contains the information about the type of gates
& the corresponding inputs to the gate.
Two individuals ‘A’ and ‘B’ are shown in figure.
2D CROSSOVER
Mask matrices are prepared to find the region of crossover.
A set of 4 random numbers {R1,R2,C1,C2} are generated where R1 & R2, C1 & C2 are numbers between ‘1’ and ‘n’ where n is the size of the parent matrix.
These 4 numbers indicate the start and end of rows and columns of a sub matrix in the parents respectively.
The genes in this sub matrix will be swapped between the parents.
Two mask matrices M1 and M2 are generated. The elements of matrix M1 are 1’s for rows and
columns outside the subset matrix. The rows and columns inside the subset matrix
are filled with 0’s and 1’s randomly.
THE CORRESPONDING MASK MATRICES ARE:
The corresponding offsprings obtained from the parents are:
Offspring 1 = Parent 1 . M1 +Parent 2 . M2 Offspring 2 = Parent 1 . M2 +Parent 2 . M1
A11 A12 A13 A14
A21 B22 A23 A24
A31 B32 B33 A34
A41 A42 B43 A44
B11 B12 B13 B14
B21 A22 B23 B24
B31 A32 A33 B34
B41 B42 A43 B44
2D MUTATION
Since only a small percentage (0.3%) of the population undergo mutation.
Thus only a single mask is needed for mutation. It is prepared in the same way.
This mask operator is superimposed over the offspring to be mutated.
1 indicates a change in characteristic of the offspring. 0 indicates no change in characteristic of the
offspring.
ADVANTAGES:
Using the 2D representation leads to less
computational time.
Increases the total operational speed for the
implementation.
Visualization is much more convenient and
easier.
REFERENCES[1] “Genetic Algorithms for VLSI Design, Layout & Test Automation”
by Pinaki Mazumdar and E. M. Rudnick.
[2] Holland, J. H. (1992) Adaptation in Natural and Artificial Systems. An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence. MIT Press, Cambridge, Massachusetts.
[3] Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization and Machine Learning. Reading, Mass. : Addison-Wesley Publishing Co.
[4] Carlos A. Coello Coello, Alan D. Christiansenz, Arturo Hernandez Aguirrez, “Use of Evolutionary Techniques to Automate the Design of Combinational Circuits”.
[5] Cecília Reis, J. A. Tenreiro Machado J. Boaventura Cunha, “Logic Circuits Synthesis Through Genetic Algorithms”, Proceedings of the 6th WSEAS Int. Conf. on Evolutionary Computing, Lisbon, Portugal, June 16-18, 2005.
[6] Ahmed T. Soliman and Hazem M. Abbas, ”Combinational Circuit Design Using Evolutionary Algorithms”, CCGEI 2003, Montreal, Mayami 2003.
[7] Vijayakumari. C. K, Mythili. P (2012), “A Faster 2D Technique for the design of Combinational Digital Circuits Using Genetic Algorithm.
Thank
You