Académique Documents
Professionnel Documents
Culture Documents
ON
BACHELOR OF TECHNOLOGY
ELECTRONICS AND COMMUNICATION
SUBMITTED BY
JYOTTSNA GUPTA (11102228)
1
RIA RUSTAGI (11102305)
CONTENTS
Certificate
Acknowledgement
1. Introduction
1.1.Basic Definition
2. Evolutionary Strategy
2.1.Genetic Algorithm
2.2.Evolutionary Operators
3. Fitness Landscape
3.1.Landscape Analysis
5. NK Fitness Landscape
5.1.Landscape Distribution
8. Outputs
References
2
CERTIFICATE
SIGNATURE OF SUPERVISOR -
DATE -
3
ACKNOWLEDGEMENT
We consider it our profound privilege and express deep sense of gratitude to our project
supervisor Mr Atul Kumar Srivastava without whose proficient guidance, keen and enthusiastic
interest I would have been impossible for us to develop the idea of this project and execute it
successfully.
We would like to extend our gratitude to the E.C.E department for all the help and resources
made available to us and also to the people directly and indirectly related in the completion of
the project.
We also want to thank our parents for their support and assistance throughout the course of the
development of the project.
SIGNATURE OF STUDENTS -
DATE -
4
Chapter-1 Introduction
An evolutionary algorithm manipulates a population of individuals where each individual
describes how to construct a candidate circuit. Each circuit is assigned a fitness, which indicates
how well a candidate circuit satisfies the design specification. The evolutionary algorithm uses
genetic operators to evolve new circuit configurations from existing ones. Done properly, over
time the evolutionary algorithm will evolve a circuit configuration that exhibits desirable
behaviour. It has been shown that the structure of fitness landscape affects the ability of the
evolutionary algorithms to search.
Each candidate circuit can either be simulated or physically implemented in a reconfigurable
device. Typical reconfigurable devices are field-programmable gate arrays (for digital designs)
or field-programmable analog arrays (for analog designs).
Our objective is to evolve a combinational circuit using the principles of evolutionary designs
which can be done by covering the following steps :-
1. Genetic Algorithm
2. Evolutionary Strategy
3. Fitness Landscape
4. Implementation on FPGA, Transistors
5. Evolvable Hardware
5
1.1 Basic Definition
1) Chromosome: Each individual in the population.
5) Optimization: Choosing the best element from some set of available alternatives.
7) Isotropic: An object or substance having a physical property which has the same value
when measured in different directions.
8) Epistatic: the interaction of genes that are not alleles, in particular the suppression of the
effect of one such gene by another.
9) Entropic Measure: A closed system evolves toward a state of maximum entropy. (in
statistical mechanics) a measure of the randomness of the microscopic constituents of a
thermodynamic system.
11) Stochastic process: having a random probability distribution or pattern that may be
analysed statistically but may not be predicted precisely.
6
Chapter-2 Evolutionary Strategy
The concept of assemble and test along with evolutionary algorithm to gradually improve the
quality of a design largely been adopted in the evolvable hardware were the task is to build an
electronic circuit.
2) Extrinsic evolution: the evolution process and the resulting evaluations are implemented
in software. Each individual, design instance generated from the evolution process, is
evaluated by a software simulation of the design described by the individual. When
evolution is complete, the resulting design needs to be implemented in hardware.
7
Reed Muller and Exclusive-OR Logic: When a Boolean logic function is expressed using XOR
gates and uncomplemented variables, it is called a Reed Muller canonical form.
FIGURE 1
In order to build an evolutionary algorithm there are a number of steps that we have to perform:
Design a representation
Decide how to initialize a population
Design a way of mapping a genotype to a phenotype
Design a way of evaluating an individual
Designing a Representation
Representation of an individual can be using discrete values (binary, integer, or any other
system with a discrete set of values).
Following is an example of binary representation.
8
2.1 Genetic Algorithm
It is a type of Evolutionary Algorithm inspired by genetics and the survival of the fittest
(Darwins Theory). Steps involved in Genetic Algorithm are:
1) Represent the problem in the form of chromosomes.
2) Generate initial population with many random chromosomes.
3) Evaluate each chromosomes based on predefined function. This function is called fitness
function.
4) A proportion of chromosomes with higher fitness are accepted and rests are rejected.
5) Accepted chromosomes exchange their genes (attributes) and produce new offsprings. This
step gives more favour to chromosomes with higher fitness. It is known as crossover and is
repeated till the lost population is regenerated.
6) Some genes are selected and are randomly changed. This step is known as mutation. It
saves the population from pre-mature convergence. Usually the probability of mutation is
very low. Increasing the probability of mutation results in random search. Steps 3 to 6 &
are repeated for many times or many generations till accepted results are not achieved.
Genetic Algorithm Flowchart
FIGURE 2
9
2.2 EVOLUTIONARY OPERATORS
2. Crossover: After selection process, the crossover operator is used to generate two
offspring. In one- and two- point crossover, one or two chromosome positions are
randomly selected between one and (L-1), where L is the chromosome length. And the
two parents are crossed at those points.
In one-point crossover, the first child is identical to the first parent up to the crossing
point and identical to the second parent after the crossing point. In uniform crossover,
each chromosome position is crossed with some probability, typically one-half.
10
Mutation: In binary- coded Genetic Algorithm, mutation may be done by flipping a bit,
while in a non-binary coded Genetic Algorithm, mutation involves randomly generating a
new character in a specified position. Mutation produces incremental random changes in
the offspring generated through crossover.
11
Chapter -3 FITNESS LANDSCAPES
One needs to examine about 50 million genotypes for a circuit to achieve a high probability of
success. Thus it becomes essential to understand more about the nature of the fitness landscapes.
A fitness value is assigned to each genotype and the evolutionary algorithm refers to these values
when deciding which phenotype should survive and reproduce. The fitness value of a genotype is
evaluated by a fitness function, f, which measures how good the encoded phenotype is.
The evolutionary design of digital circuits can be considered as a search on a fitness landscape. It
has been shown that the structure of fitness landscapes affects the ability of the evolutionary
algorithms to search. The evolutionary search is easier when the landscapes are smoother.
However, the search becomes more difficult on more rugged landscapes since the population can
be trapped in local optima.
12
Information analysis
The landscape structure can be studied by quantifying the time series that is
obtained by sampling values along a random walk on the landscape, when
the landscape is statistically isotropic. A landscape is statistically isotropic
when the sequence of fitness values, obtained by a random walk on the
landscape, forms a stationary random process for the assumed joint
distribution of fitness values.
From the above figure, we can infer that a fitness landscape, L, can be defined on a graph,
Gf = (V, E), whose vertices are genotypes labelled with fitness values, and the connections are
defined by the evolutionary operator which agrees with the concept one operator, one
landscape. The genotype representation, the neighbourhood relation, and the fitness function
define the structure of a fitness landscape. The structure can be specified in terms of three
13
characteristics of fitness landscapes. These are the landscape smoothness, ruggedness and
neutrality.
Information characteristics
Consider a sequence of fitness values {f t}nt=0 , real numbers from the interval I, that are obtained
by a walk on a landscape, L. The sequence is a time series that represents a path in L, and
contains information about the structure of the landscape. The aim is to extract this information,
by representing the time series as an ensemble of objects. The ensemble can be defined as a
string, S() = s1 s2 s3.sn, of symbols si {-1, 0, 1}, and they are obtained by function.
The parameter is a real number from the interval [0, lI], where l is the length of the interval I.
The parameter determines the accuracy of calculation of the string S(). If =0, the function
will be very t sensitive to the differences between the fitness values and S() will be
determined as precisely as it is possible. When the parameter is lI , S() will be a string of 0s.
Entropic Measures: There are 2 Entropic measures of the ensemble of the sub-blocks of length
two of S(). These are
H ( ) P pq log 6 P pq 2
pq
14
2) SEM: It is an estimate of the smoothness of a landscape with respect to the landscape
neutrality. It is denoted by h().
h( ) P pq log 3 P pq 3
p q
The probabilities P[pq] are frequencies of the possible blocks pq of elements from set {-1, 0, 1}.
They are defined as-
P[pq] = n[pq] / n .4
Where n[pq] is the number of sub-blocks pq in the string S() .
The FEM and the SEM characterise the time series {f t}nt=0 with a certain accuracy. The accuracy
of the estimations can be varied by the parameter that in turn defines the entropic measures as
functions of the accuracy.
For small values of , the function will be very sensitive to the difference between the
fitness values. If is zero then the accuracy of the estimations, obtained by H() and h() , is
high. In contrast, for = l I , the FEM and the SEM of S() are 0, i.e. for such the landscape
path will be determined as relatively flat.
Regular Walk: the FEM and the SEM of a time series generated by a regular walk on the
landscape are positive constants for each [0, *).
The term regularity is defined as follows: a time series, {f t}nt=0, is generated by a regular walk on
a landscape when the time series obeys
ft+1 = ft + kc 5
Where c is a constant and k is a variable which can be 0, 1, or -1. If this equation is not fulfilled,
the landscape path is generated by an irregular walk.
15
In practice regular walks on a landscape are a rare occurrence. Considering the above equation in
the form
ft+1 = ft + ki ci 6
The degree of regularity of a landscape is the number of different kc i , that is to say the number
of all possible differences of fitness values. For instance, the degree of regularity of Nk
landscapes generated by one-point mutation is low, and it decreases as k increases from 0 to N-1
since the number of possible fitness values increases with a higher than linear rate.
Circuit Evolution Landscapes: The genotype is a composition of three different parts which are
responsible for
1) the gates functionality
2) the array internal connectivity, and
3) the array outputs.
The reason for splitting the genotype into parts is the difference in the purposes of the parts. The
chromosomes have different lengths and they are defined over two different alphabets.
The gate functionality chromosomes are strings over alphabet with length the
number of gates. The alphabet size l is the number of allowed logic functions used in the
circuit design.
The internal connectivity and array outputs chromosomes are defined over alphabet
, and they are strings with length the number of gates and the number of array outputs,
respectively. The alphabet is related to the size of the neighbourhood of the cells and
array outputs, which is dependent upon the levels-back parameter.
To avoid the vagueness in the definition of circuit evolution landscapes, the genotype space is
split into three partitions as was done in Stadler and Grunter.
16
Since each genotype consists of three chromosomes it is assumed that the original landscape for
a given evolutionary operator is a superposition of three configuration spaces defined over
alphabets and .
We have done landscape analysis on three-bit multipliers of 24 gates and 21 gates, and try to find
out the fittest landscape structure.
17
Interpretation:
1) H() is an increasing function for small value of . Neutrality prevails over the
ruggedness in a time series, if H() is a decreasing function.
2) The subspaces are characterized with vast neutrality since the FEM H(0) of each
subspace are significantly higher than log62.
3) The information functions H() of the functionality and output connectivity subspaces
increase as increases from 0 to approximately 0.0157, while H() of internal
connectivity subspace decreases as increases.
4) By increasing the scale, the regularity of multiplier landscapes decreases, which is to be
expected since the truth table of these arithmetic functions increases with a rate higher
than linearity. Consequently, by increasing the scale, the corresponding landscape
becomes continuous and perhaps easier for evolutionary search.
More number of gates-> more neutrality->more scalability->less regular.
So, from the points we come to a conclusion that 3 bit multiplier with 21 gates is better
than 3 bit multiplier with 24 gates. Since multiplier having 24 gates will be less regular,
which implies that it will be more rugged and hence it will be difficult to find the fitness
landscape of that multiplier.
5) The degree of regularity of digital circuit evolution landscapes is also related to the set of
logic functions of the gates. The circuit can be easily designed by a simple random
search, when only XNOR gates are allowed.
Figure 6: Only XNOR gate Figure 7: Using gates {6, 9, 12, 15}
From the above graphs we can observe that XNOR gates are more regular than the other gates.
18
Chapter - 4 Fitness Distance Correlation
Fitness distance correlation (FDC) has been offered as a summary statistic with apparent success
in predicting the performance of genetic algorithms for global optimization. Fitness is a function
that declines with the number of switches between 0 and 1 along the bit string. The test function
is GA-easy, in that a GA using only single-point crossover can find the global optimum with a
sample on the order of 10-3 to 10-9 of the points in the search space, an efficiency which increases
with the size of the search space.
Jones (1995) and Jones and Forrest (1995) have proposed fitness distance correlation (FDC) as
a candidate property for predicting the performance of a genetic algorithm in global
optimization. In this approach, the Hamming distances between sets of bitstrings and the global
optimum bitstring are compared with their fitness. Large negative correlations between
Hamming distance and fitness are taken to be indicators that the system is easy to optimize with
a GA. Large positive correlations indicate the problem is misleading and selection will guide
the population away from the global maximum. Near-zero correlations indicate that the GA does
not have guidance toward or away from the optimum, and thus faces the same difficulties as
random search.
The above properties of FDC is both encouraging and alarming encouraging since FDC
appears to work, but alarming since distance is defined without reference to the genetic
operators, the representation of the search space, or any of the dynamics of the genetic algorithm.
So it is recommended that a stronger predictor of GA optimization performance would be FDC
19
analysis using a distance measure based on the genetic operators themselves. Hamming-distance
based FDC is the source of the results.
Hamming distance is strongly related to the mutation operator in classical bitstring genetic
algorithms. The number of times that the mutation operator must be applied to transform a given
string to the global optimum is monotonic with Hamming distance. However, it has been
classically argued that the main role of mutation in genetic algorithms is to prevent premature
convergence, and that recombination is the operator most important for GA performance.
Therefore, one interpretation of Joness results would be that mutation is a much more important
determinant of GA performance, either generally or in the specific examples he examined.
Another interpretation is that there is a deep relationship between Hamming distance and the
recombination operator. Recombination does not fit easily into an FDC framework, because it
involves pairs of bitstrings, so distance cannot be defined simply between individual bitstrings.
And the formation of pairs of bitstrings on which recombination operates depends on the
distribution of bitstrings at each generation of the GA; recombination can thus be considered to
be a frequency-dependent operator. Finally, recombination, including single-point crossover, can
create offspring that are a great Hamming distance from their parents and from each other. Thus
recombination would seem to destroy any relationship between Hamming distance and GA
dynamics.
20
Crossover Distance: Singlepoint crossover can transform any pair of complementary bitstrings
into any other pair of complementary bitstrings through its repeated application. The number of
crossovers needed to transform a complementary pair into the global optimum and its
complement can thus be used to define a crossover distance.
Distance Measure: To make a fitness function that is straightforward to optimize, we would like
each bitstring to have a path to the global optimum (through repeated application of crossover) in
which fitness is monotonically increasing. The expectation is that this will allow the genetic
algorithm to produce the next fittest bitstring along this path using crossover, amplify this
bitstring through selection, and subsequently produce the next fittest bitstring through crossover,
and so forth. The number of crossovers it takes to reach the global optimum can serve as the
distance measure. With this definition of distance, the fitness function should produce a large
negative fitness distance correlation coefficient.
FIGURE 8
21
optimum. A fitness function which decreases with the number of discontinuities between 0s and
1s will have that property.
NK fitness landscapes are stochastically generated fitness functions on bit strings, parameterized
(with N genes and K interactions between genes) so as to make them tunably rugged.
The specific fitness interaction is epistasis, where the effect on fitness from altering one gene
depends on the allelic state of other genes. Epistasis makes it possible for the population to
evolve toward different combinations of alleles, depending on its initial genetic composition.
Stuart Kauffman devised the NK fitness landscape model to explore the way that epistasis
controls the ruggedness of an adaptive landscape.
Two complementary approaches have been used to explore the properties of a fitness landscape
1) Empirical simulation.
2) Mathematical analysis and
The simplest and most common empirical technique used to explore landscapes is an adaptive
walk performed by a hill-climbing algorithm. A hill-climber starts at an arbitrary point on the
landscape and progresses across the landscape until an optimum is reached, by changing the state
of a single component at each step such that the fitness at step t+1 is greater than the fitness at
step t. When a large number of adaptive walks are performed on a single landscape, an estimate
can be made of the number of local optima in the landscape and the probability of reaching them
22
from an arbitrary starting point. The set of starting points that can climb to a given optimum is
known as its basin of attraction. In general, a larger basin of attraction makes an optimum easier
to find.
The landscapes generated using the NK model varies in size according to N and in correlation
according to K. For fixed N, when K = 0, there are no interactions between components, the
resulting fitness landscape is smooth and contains a single global optimum. All points in the
landscape lie in the basin of attraction of the global optima, making it trivially easy to find. As
the number of interactions between components increases, the number of local optima increases
and the resulting landscape becomes more `rugged'. The basin of attraction of each optimum
(including the global optimum) decreases in size, making the landscape increasingly difficult to
search. When the landscape is `maximally rugged' (i.e., when K = N -1), the expected number of
optima is 2N = (N + 1).
Furthermore, as K increases, the level of interaction between loci increases, until it is impossible
to maximise the fitness contributions of all loci simultaneously. The average heights of local
optima decrease as K increases. The highest fitness values are found on landscapes with a low
level of ruggedness (around K = 2). For K < 2, there are less potential fitness for each
component. For K > 2, the increased interaction between components begins to overwhelm the
advantage of having a greater number of potential values at each locus and again, the average
height of the optima decreases.
Performance Measure:
N
1
W=
N
w
i 1
i 7
Where- wi, the contribution of component i to the overall performance of the system depends on
its own state, and
the states of K neighbouring components.
Example
N = 4 and K = 2
23
W (0, 1, 1, 0) = 1/4 [w0(0, 1, 1) + w1(1, 1, 0) + w2(1, 0, 0) + w3(0, 0, 1)]
5.1 Landscape Distribution
A total fitness, W is the average of N fitness contributions, wi, each independently distributed as
U (0, 1) random variables,
N
1
W=
N
w
i 1
i
By the central limit theorem, the total fitness, W, converges in distribution to a standard normal
random variable when appropriately scaled:
W 1/ 2
D
N (0,1) as N , 8
1 / 12 N
For suitably large values of N, we can therefore approximate the total fitness of any single point
on the landscape using a random variable with a Gaussian distribution, with mean 1/2 and
variance 1/ (12N).
Epistatic interactions between loci are a critical feature of NK models, and have the effect of
inducing correlations between the fitnesses of different points on a landscape. When the level of
epistasis, K, is low, each possible fitness contribution appears in a large proportion of the total
fitnesses, up to half, when K = 0. Thus, any fitness has a non-zero correlation with up to half of
the other fitnesses in a landscape. The greater the level of interaction, K, the lesser the correlation
between two nearby fitnesses, such that when K = N - 1, there is no correlation between any
collection of finesses, and in fact the 2N fitnesses are all independent of each other. All
correlations must be positive because dependencies between total fitnesses are due to their
sharing some of the same fitness contributions. Thus, if N is sufficiently large and K = N - 1,
then the landscape consists of 2N independent random variables, each with mean 0:5 and
variance 1/(12N). Because this variance is proportional to 1=N, then as N increases the variance
of a fitness value decreases, and the landscape becomes flatter as values are clustered more
closely around the mean value of 0.5. For K < N-1, the fitnesses is distributed over an entire
24
landscape.
Suppose that Wmax(K) and Wmin(K) are the global maximum and minimum, respectively, for
an NK landscape with parameter K defining the level of epistasis. For K = N - 1, the global
maximum is the largest of 2N independent random quantities, denoted by Wmax(N - 1). Similarly
the global minimum, Wmin(N - 1), is the smallest of the 2N independent values.
By definition, the probability density functions of Wmax(N - 1) and Wmin(N - 1) are
9
N
1
f W max( N 1) ( z ) 2 N f W ( z )( FW ( z )) 2
10
N
1
fW min( N 1) ( z ) 2 N fW ( z )(1 FW ( z )) 2
where fW(z) is the probability generating function of an individual fitness, W, and FW(z) is the
cumulative distribution function of W.
25
FIGURE 9
Interpretation: The above figure shows Gaussian approximations to the probability density
functions of Wmax(N -1) and Wmax(0) for N = 8 for K = N - 1, and for K = 0. The increased
mean (and decreased variance) of the global maximum for K = N - 1 over K = 0 is clearly
shown. And from the figure we can also infer that the mean of Wmax(N - 1) is greater than the
mean of Wmax(0).
26
FIGURE 10
Interpretation: The above figure gives the distributions of global maxima for N = 8 and K =
0, 1......, 7, and indicates that the global maximum is indeed stochastically increasing in K.
3) The mean of the global maximum is largest, and the mean of the global minimum
smallest, in the maximally rugged case, K = N - 1.
27
Evans and Steinsaltz derive a value for the limiting value of the global maximum for K = 1 in the
case where the fitness contributions have the exponential distribution, but more importantly, also
demonstrate that such limiting values exist for all K for general distributions of fitness
contributions. Since the global maximum converges in probability to a constant for fixed K , the
variance of the global maximum goes to zero as N gets large, and so the constant is the limiting
value of the mode of the global maximum. The mode of the global maximum is the critical point,
z*, of the distribution function given by-
N
1
f W max( N 1) ( z ) 2 N f W ( z )( FW ( z )) 2
1 1 (2 N 1) 2
z* 11
2 12 N 2
Thus, as N .
1 ln 2
z* 0.84 12
2 6
As N , the variance of the distribution fWmax(N-1) decreases while the peak of the distribution
approaches z*, so that in the maximally rugged case the highest fitness value is increasingly
likely to be 0.84 as N gets large. The (strong) law of large numbers implies that the average of N
independent random numbers, uniformly distributed on [0, 1], converges to 0.5 as N .
However, the maximum of 2N such averages is not also 0:5; rather, it approaches about 0.84.
Implication of Search
28
On average, hill-climbers on an NK landscape find their highest values for low values of K
(typically K = 2 to K = 4). As K increases, the number of local optima increases while their
average height and size of their basins of attraction decreases, including the basin of the global
optimum. With increasing ruggedness the global optimum becomes exceedingly difficult to find
using evolutionary search algorithms, as K increases the height of this global optimum also
increases, and this expected value is largest when K = N - 1.
The basins of attraction scale in direct proportion to the relative height of the optima. For K = 0
there is only one optimum with a basin of size 2 N. As K increases, the number of optima
increases, up to an expected 2N / (N + 1) optima when K = N - 1. Thus, about one of every N + 1
fitnesses is locally optimal, and these local optima are dispersed throughout the entire landscape
(and the global optimum is just one of these).
FIGURE 11
Interpretation: From the above figure we can infer that as K increases, the global optimum
increases (higher curve) while the average fitness of the local optima decrease (lower curve). The
average optima actually found by hill-climbing tend to be larger than the average of all local
29
optima because larger local optima tend to have larger basins of attraction. For N = 8, the largest
expected optima are found when K = 2.
The height of the global optimum increases with K, while the average height of the local optima
decreases after about K = 2.The average optimum found by single hill-climber attains its highest
value when K = 2. As the ruggedness increases, however, the average fitnesses of the found
optima also decreases. The expected height of the global optimum increases as K increases, and
achieves its maximum value when K = N -1. As a result, higher fitnesses can be found in more
rugged landscapes, but only with a radically increased search effort. In particular, when K = N -
1, the independence of all fitnesses means that there is no guiding structure in the landscape, and
an exhaustive search is required to find the global optimum. Thus, there is a higher payoff to be
had by optimising over more rugged landscapes - provided they can be searched.
The positive correlation between fitnesses for K < N - 1 means that a single point from a low-K
landscape is likely to be more representative of the landscape from which it is sampled than a
similarly sampled point from a high-K landscape. So we came to a result that the very highest
peaks are found in the most rugged landscapes, scattered among the masses of low lying peaks.
At last we have implemented our research of NK Landscape on MATLAB to plot the fitness
landscape curve.
30
Output of Matlab Codes:
Fitness
Fitness
31
NK Fitness Landscape for different values of N and K
Fitness
32
Chapter 6 : Circuit Evolution and Structure of Landscape
Digital circuits are evolved using an evolutionary algorithm. The genotypes of a population of
digital electronic circuits are initially generated at random. The fitness value of each genotype is
evaluated by calculating the percentage of total correct outputs of the encoded electronic circuit
in response to appropriate inputs.
The encoding of a digital combinational circuit into a genotype is presented by a computational
model called Cartesian Genetic Programming (CGP). To encode a digital electronic circuit
into a genotype, a genotype / phenotype mapping is defined. This is a rectangular array of cells
each of which is an atomic two-input logic gate or a multiplexer. Thus the genotype is a linear
string of integers and it consists of two different types of genes that are responsible for the
functionality and the routing of the evolved array.
The genotype is characterized by four parameters of the array of cells: the number of allowed
logic functions, the number of row, the number of columns and levels-back. The first two are
merely the dimensions of the rectangular array and the last is a parameter which controls the
internal connectivity. It determines how many columns of cells to the left of a particular cell may
have their outputs connected to the inputs of that cell. The cells and outputs are maximally
connectable when the number of rows is one and levels-back is equal to the number of columns.
If however number of rows is one and levels-back is one then each cell must be connected to its
immediate neighbour on the left.
33
FIGURE 12
The nI primary circuit inputs X1, X2 , . . . , XnI are allowed to be connected to the input of any cell
or any of the nO primary circuit outputs Y1, Y2 , . . . , YnO. The cells cij may implement any of the
binary functions.
Input n is the input to the gate from immediate previous column. Row number of
immediate previous column is used to specify input. If the cell is in first column then
input n is given a negative numbers to specify external inputs.
Example:
{-1,-2, 3} Cell is in first column and it directly receives external inputs.
Gate type is a digital gate or wire. Look up table is used to identify the gate in
programming languages.
2) Matrix representation of circuit can be transformed into linear format by writing each cell
34
in linear format (starting from First row first column and traversing each column in top to
down manner). This representation is known as the chromosome in GA terminology.
Atomic building blocks of chromosomes are known as genes. Genes represents various
attributes of chromosome. Different permutations of genes generate different circuits with
different behavior (Truth table, delay, power) and different topology (Area, Gates etc).
Representation in chromosome format is also known as genotypic representation.
Schematic representation of circuit is also known as phenotypic representation.
4) In order to simplify our GA algorithm we will further break the matrix representation of
circuit in three different circuits as described below:
a) Matrix describing first input of each cell.
b) Matrix describing second input of each cell.
c) Matrix describing Gate type of each cell using Look up table.
35
Look Up Table for Digital Logic Gates
Gate Type Integer Representation
XOR Gate 10
AND Gate 6
MUX Gate 16
Circuit Representation
36
37
Chromosome Representation:
-0 -1 -0 10 -0 -0 -2 6 3 2 1 10 0 2 3 16
G G G G G G G G G G G G G G G G
E E E E E E E E E E E E E E E E
N N N N N N N N N N N N N N N N
E E E E E E E E E E E E E E E E
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
38
Till now we have studied that -
Genetic algorithms are used in the evolutionary strategies for the digital circuit
evolution.
How landscape fitness analysis is the best way to examine the genotypes using the
one point mutation operator.
We have performed landscape analysis on 2 circuits of 3 bit multiplier using 21 gates
and 24 gates and concluded which one is more fit using the landscape characteristics.
We have implemented the landscape fitness curve on MATLAB.
In future we will be implementing our research work on hardware and implementing a circuit
which will be having better performance based on the landscape fitness result.
References
1. Julian F. Miller, Dominic Job, Vesselin K. Vassilev, Principles in the Evolutionary
39
Design of Digital CircuitsPart I, 1999.
3. Pinacci Majumder, Elizabeth M.Rudnick, Genetic Algorithm for VLSI design, layout
and test automation, pp. 2-35.
7. Benjamin Skellett, Benjamin Cairns, Bradley Tonkes, Nicholas Geard, and Janet Wiles,
Rugged NK landscapes contain the highest peaks.
40