30
2D TECHNIQUE FOR THE DESIGN OF COMBINATIONAL CIRCUITS USING GENETIC ALGORITHM By: Name: VIVEK MAHESHWARI Branch: M.Tech (M.E.T.) Enrl. No.: 12305161

Combinational circuit designer using 2D Genetic Algorithm

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 3: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 4: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 5: Combinational circuit designer using 2D Genetic Algorithm

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

Page 6: Combinational circuit designer using 2D Genetic Algorithm

THE EVOLUTIONARY CYCLE

selection

population evaluation

crossover

discard

deleted members

parents

modifiedoffspring

evaluated offspring

initiate &

evaluate

Page 7: Combinational circuit designer using 2D Genetic Algorithm

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

Page 8: Combinational circuit designer using 2D Genetic Algorithm

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

Page 9: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 10: Combinational circuit designer using 2D Genetic Algorithm

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%

Page 11: Combinational circuit designer using 2D Genetic Algorithm

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)

Page 12: Combinational circuit designer using 2D Genetic Algorithm

MUTATION OPERATOR

Alter specific bit independently with a probability Pm

Pm is called the mutation rate

Page 13: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 14: Combinational circuit designer using 2D Genetic Algorithm

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

Page 15: Combinational circuit designer using 2D Genetic Algorithm

[5]

Page 16: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 17: Combinational circuit designer using 2D Genetic Algorithm

Representation used for encoding matrix form to linear form

Page 18: Combinational circuit designer using 2D Genetic Algorithm

[4][6]

Page 19: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 20: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 21: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 22: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 23: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 24: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 25: Combinational circuit designer using 2D Genetic Algorithm

THE CORRESPONDING MASK MATRICES ARE:

Page 26: Combinational circuit designer using 2D Genetic Algorithm

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

Page 27: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 28: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 29: Combinational circuit designer using 2D Genetic Algorithm

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.

Page 30: Combinational circuit designer using 2D Genetic Algorithm

Thank

You