Combinational circuit designer using 2D Genetic Algorithm
Upcoming SlideShare
Loading in...5

Combinational circuit designer using 2D Genetic Algorithm






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds


Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Combinational circuit designer using 2D Genetic Algorithm Combinational circuit designer using 2D Genetic Algorithm Presentation Transcript

  • 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 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.