SlideShare a Scribd company logo
By:
Name: VIVEK MAHESHWARI
Branch: 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
modified
offspring
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 EVALUATION
A 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.
Combinational circuit designer using 2D Genetic Algorithm

More Related Content

PDF
Genetic algorithm fitness function
PDF
1 why to_test
PDF
2019 5 testing and verification of vlsi design_fault_modeling
PDF
Selection in Evolutionary Algorithm
PPT
Genetic Algorithms - Artificial Intelligence
PDF
An Automatic Clustering Technique for Optimal Clusters
PDF
Cd4201522527
PDF
CCC-Bicluster Analysis for Time Series Gene Expression Data
Genetic algorithm fitness function
1 why to_test
2019 5 testing and verification of vlsi design_fault_modeling
Selection in Evolutionary Algorithm
Genetic Algorithms - Artificial Intelligence
An Automatic Clustering Technique for Optimal Clusters
Cd4201522527
CCC-Bicluster Analysis for Time Series Gene Expression Data

Similar to Combinational circuit designer using 2D Genetic Algorithm (20)

PDF
AN IMPROVED METHOD FOR IDENTIFYING WELL-TEST INTERPRETATION MODEL BASED ON AG...
PPT
Genetic Algorithms
PDF
Using particle swarm optimization to solve test functions problems
PDF
Genetic algorithm guided key generation in wireless communication (gakg)
PDF
3 article azojete vol 7 24 33
PDF
A general frame for building optimal multiple SVM kernels
PDF
Artificial Neural Networks (ANNS) For Prediction of California Bearing Ratio ...
PDF
Single parent mating in genetic algorithm for real robotic system identification
PDF
An Adaptive Masker for the Differential Evolution Algorithm
PDF
T180203125133
PDF
Using Genetic Algorithm for Shortest Path Selection with Real Time Traffic Flow
PDF
OPTIMIZATION OF QOS PARAMETERS IN COGNITIVE RADIO USING ADAPTIVE GENETIC ALGO...
PDF
Optimal parameter selection for unsupervised neural network using genetic alg...
PDF
Y34147151
PPTX
2. NEURAL NETWORKS USING GENETIC ALGORITHMS.pptx
PDF
On the computation of the automorphisms group of low density parity check cod...
PDF
Accelerating the ant colony optimization by
PDF
Cost Optimized Design Technique for Pseudo-Random Numbers in Cellular Automata
PDF
Multiobjective Optimization Tool for a Free Structure Analog Circuits Design ...
PDF
A genetic algorithm to solve the
AN IMPROVED METHOD FOR IDENTIFYING WELL-TEST INTERPRETATION MODEL BASED ON AG...
Genetic Algorithms
Using particle swarm optimization to solve test functions problems
Genetic algorithm guided key generation in wireless communication (gakg)
3 article azojete vol 7 24 33
A general frame for building optimal multiple SVM kernels
Artificial Neural Networks (ANNS) For Prediction of California Bearing Ratio ...
Single parent mating in genetic algorithm for real robotic system identification
An Adaptive Masker for the Differential Evolution Algorithm
T180203125133
Using Genetic Algorithm for Shortest Path Selection with Real Time Traffic Flow
OPTIMIZATION OF QOS PARAMETERS IN COGNITIVE RADIO USING ADAPTIVE GENETIC ALGO...
Optimal parameter selection for unsupervised neural network using genetic alg...
Y34147151
2. NEURAL NETWORKS USING GENETIC ALGORITHMS.pptx
On the computation of the automorphisms group of low density parity check cod...
Accelerating the ant colony optimization by
Cost Optimized Design Technique for Pseudo-Random Numbers in Cellular Automata
Multiobjective Optimization Tool for a Free Structure Analog Circuits Design ...
A genetic algorithm to solve the
Ad

Recently uploaded (20)

PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPT
Project quality management in manufacturing
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
web development for engineering and engineering
PDF
Well-logging-methods_new................
PDF
composite construction of structures.pdf
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Internet of Things (IOT) - A guide to understanding
CH1 Production IntroductoryConcepts.pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Automation-in-Manufacturing-Chapter-Introduction.pdf
bas. eng. economics group 4 presentation 1.pptx
Project quality management in manufacturing
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
web development for engineering and engineering
Well-logging-methods_new................
composite construction of structures.pdf
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
R24 SURVEYING LAB MANUAL for civil enggi
Operating System & Kernel Study Guide-1 - converted.pdf
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Ad

Combinational circuit designer using 2D Genetic Algorithm

  • 1. By: Name: VIVEK MAHESHWARI Branch: M.Tech (M.E.T.) Enrl. No.: 12305161
  • 2. 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.
  • 3. 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.
  • 4. 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.
  • 5. 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
  • 6. THE EVOLUTIONARY CYCLE selection population evaluation crossover discard deleted members parents modified offspring evaluated offspring initiate & evaluate
  • 7. 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
  • 8. FITNESS EVALUATION A 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
  • 9. 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.
  • 10. 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%
  • 11. 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)
  • 12. MUTATION OPERATOR  Alter specific bit independently with a probability Pm  Pm is called the mutation rate
  • 13.  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.
  • 14. 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.)
  • 15. [5]
  • 16. 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.
  • 17. Representation used for encoding matrix form to linear form
  • 19. 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.
  • 20. 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.
  • 21. 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.
  • 22. 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.
  • 23. 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.
  • 24.  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.
  • 25. THE CORRESPONDING MASK MATRICES ARE:
  • 26. 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
  • 27. 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.
  • 28. 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.
  • 29. 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.