Digital Circuit Evolution and Fitness Landscapes Vesselin K. Vassilev School of Computing Napier University 219 Colinton Road Edinburgh, EH14 1DJ, UK
[email protected]
Julian F. Miller School of Computing Napier University 219 Colinton Road Edinburgh, EH14 1DJ, UK
[email protected]
Abstract- We study the fitness landscapes generated by evolving digital circuits using an idealised model of a fieldprogrammable gate array. It appears that the fitness landscapes of this engineering problem are quite different from many recently studied landscapes, often defined over simplified combinatorial and optimisation problems. The difference stems from the genotype representation which allows us to evolve the functionality and connectivity of an array of logic cells. Here, the genotypes are sequences which are defined over two completely different alphabets. We propose a model for studying the structure of these landscapes and measure correlation characteristics of the landscapes. It is furthermore shown that the evolutionary search can be improved when the results of the analysis are taken into account.
1 Introduction Digital circuit evolution refers to the design of electronic circuitry in which configurations of logic gates for some prespecified computational task can emerge in a population of gate arrays using artificial evolution. Various evolutionary techniques for circuit design have been employed (Sipper et al., 1997; Yao and Higuchi, 1998), and different aspects for attaining efficient evolutionary synthesis of digital circuits have been reported (Thompson, 1998; Miller and Thomson, 1998). A digital circuit based on an array of cells can be described in terms of the functionality and the routing of the array. These refer to the logic functions utilised in the array's cells, and the connections between the inputs, cells and outputs, respectively. To evolve a circuit to perform a computational task a suitable genotype representation needs to be chosen which captures the aforementioned characteristics of the gate array. In the process of modeling circuit evolution this is probably the most important stage which predetermines the success in solving this engineering problem (Miller et al., 1997). Thus, in recent research the relationship between the architectural platform used for circuit evolution and the ease with which circuit function can be evolved has been studied (Miller and Thomson, 1998). Circuit evolution can be considered as a search on a fitness landscape. In evolutionary computation the nature of a fitness landscape has a strong relationship with the effectiveness of the evolutionary search (Kauffman, 1989;
Terence C. Fogarty School of Computing Napier University 219 Colinton Road Edinburgh, EH14 1DJ, UK
[email protected]
Manderick et al., 1991; Mitchell et al., 1991). There are three aspects associated with the structure of the fitness landscapes: the encoding scheme of the problem, the fitness function, and lastly, the connectivity determined by the evolutionary operators. We model the fitness landscapes generated by evolving digital circuits and study their structure by measuring correlation characteristics of these landscapes. It appears that the fitness landscapes of this engineering problem are quite different from many recently studied landscapes (Kauffman, 1989; Weinberger, 1990; Hordijk, 1997). The difference stems from the genotype representation which is a sequence of letters taken from the two completely different alphabets responsible for the functionality and connectivity of the array of logic cells. It gives rise to a complicated mixture of epistasis characteristics of the genotype which makes the study of the corresponding landscapes much more convoluted. This paper presents results on the characteristics of the fitness landscapes which are specified by evolutionary search for synthesis of electronic circuits on gate arrays. We chose the 2-bit multiplier because it is a fundamental building block in many digital systems. The next section introduces the concept of fitness landscapes. Section 3 explains how circuit design by evolution is performed and what is the genotype structure of the encoded digital circuits. The fitness landscapes are modelled in section 4 where results of studying the 2-bit multiplier landscape structure are presented. Section 5 demonstrates how the results of the analysis can promote successful circuit evolution. In the last section we give conclusions and suggestions for future work.
2 Fitness Landscapes The notion of a fitness landscape, introduced by Wright (1932), has become an important concept in evolutionary computation. The metaphor is taken from biology and it expresses the idea that evolution can be considered as a population flow on a surface in which the altitude of a point qualifies how well the corresponding organism is adapted to an environment. In evolutionary computation the fitness landscapes are simply search spaces with elements called phenotypes which are represented by their genotype. The genotype is a sequence of elements taken from a finite alphabet. A fitness value is assigned to each genotype and it refers to the ability of the phenotype to survive and reproduce. The fit-
ness value of a genotype is evaluated by a fitness function, f , which measures how good the encoded phenotype is. The population of genotypes flow on a landscape guided by an evolutionary operator. In other words, the connections between the genotypes are determined by an operator that is employed to search in the landscape. Following Stadler (1995), Stadler and Wagner (1997), we consider that a fitness landscape, L, is defined on a graph, Gf = (V; E ), whose vertices are genotypes labeled with fitness values, and the connections are defined by the evolutionary operator which agrees with the concept ”one operator, one landscape” (Jones, 1995). 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 two characteristics of fitness landscapes. These are the ruggedness and the neutrality of the landscapes. The ruggedness is related to the fitness differences between neighbouring points whereas the neutrality refers to the flat landscape areas. The landscape structure can be studied by measuring the correlations of time series obtained by a random walk on the landscape (Weinberger, 1990; Stadler, 1995). If the landscape is rugged then the correlations are low, whereas the correlations are high when the landscape is smooth. It has been shown that the structure of fitness landscapes reflects on the ability of the evolutionary algorithms to search (Kauffman, 1989; Manderick et al., 1991; Mitchell et al., 1991). When the landscape is smooth the evolutionary search should lead to promising landscape areas. In such a case, we say that the population performs adaptation on the landscape.
3 Evolving Digital Circuits In (Miller et al., 1997) digital circuits are evolved using a genetic algorithm (Holland, 1992). In short, a population of individuals is maintained, the genotypes of which are initially generated at random. The fitness value of each individual is evaluated, by calculating the percentage of total correct outputs of the encoded electronic circuit in response to appropriate inputs. Then a new population is generated by applying uniform crossover with probability 0:5 and onepoint mutation to individuals selected from the parent population. The selection is tournament with size two in which the winner of the tournament is chosen with a certain probability. Here we consider that the fitness values are scaled in the interval [0; 1]. There exist different encoding schemes for representing a gate array. We consider a genotype representation based on that proposed in (Miller and Thomson, 1998). The genotype is a composition of two different types of genes which are responsible for functionality and routing the evolved gate array. It is important to note that the representation is restricted to allow only feed-forward circuits since only combinational design is considered. The characteristics of the genotype are dependent on the parameters of the gate array. These are the number of inputs, the number of rows and columns, the num-
ber of allowed logic functions, the radius range of internal connectivity which is also known as levels-back parameter, and of course the functionality of the evolved circuit or the fitness function, which also determines the number of outputs. An example of n m gate array with nI inputs and nO outputs is given in Figure 1. The gate array is a composition of cells where each cell can be any allowed two-input logic gate or alternatively a 2-1 multiplexer (two input plus a single control input). The allowed functionality of cells is given in Table 1. The first sixteen letters in the list represents all Letter
Function
Letter
0
0
11
1
1
12
2 3 4 5 6 7 8 9 10
x y :x :y x^y x 6! y x6 y x#y xy
13 14 15 16
? 19
20 21 22 23 24
Function
x$y x_y x y x!y xjy fL (x; y; z ) fM (x; y; z ) fH (x; y; z ) fI (x; y; z ) fJ (x; y; z ) fK (x; y; z )
Table 1: The allowed functionalities of cells. boolean functions of two arguments (see Andrews (1986)). The remainder of the list are the six possible basic universallogic-gate 2 logic functions (capable of realising all functions of n 2 inputs) as given in (Chen and Hurst, 1982), where configuration fL is taken several times with differently inverted inputs x and y . Some of the functions, for instance fL(x; y; z ) = (x ^ :z ) _ (:y ^ z ), can be identified as multiplexers. The internal connectivity in the gate array is specified by the connections among the array cells. The inputs of each cell are only allowed to be the array inputs or the outputs of cells with lower column numbers. The array connectivity is also related to the levels-back parameter which determines the neighbourhood size of the cells. Hence, if we assume that the gate array inputs are outputs of cells with column number 0 and the levels-back parameter is L (L has nothing to do with configuration fL from Table 1), then the inputs of cells fcij g8i;j are chosen from all possible outputs of ”preceding” 00 0 cells with column numbers j for which j j 0 < j where j 00 = j ? L if j > L, otherwise j 00 = 0. The gate array output connections are specified in a similar way. They could be any outputs of cells or array inputs which come from the array outputs neighbourhood given by the levels-back parameter. Consider, for instance, the gate array in Figure 1. If the levels-back is m + 1 then the array outputs can be any of the outputs of cells fcij g8i;j and the gate array inputs. On the contrary, if the levels-back is 1 then only the cells of column m may contribute to the array outputs. Consider the notation given above. The genotype construction is straightforward. We number all inputs and cells
of the gate array with integers in the following way: each array input Ik is labelled with k ? 1 where 1 k nI , and each cell cij is labelled with nI + n(j ? 1) + i ? 1 where 1 i n and 1 j m. For instance, if the gate array has 5 inputs the first cell has number 5 since the last array input is labeled with 4. So, the genotype consists of two parts. The first part is split into groups of four integers where each group codes one cell of the gate array. The first three values of each group represent the points to which the inputs of the gate are connected. If the gate is two-input, then the third connection is not taken into account. The last value of the group represents the logic function of the gate. The second part of the genotype is a sequence of integers that represent the labels of the cells connected to the gate array outputs. An example of the genotype structure is given in Figure 1.
to the size of the neighbourhood of the cells and array outputs, which is dependent upon the levels-back parameter. Again, the alphabet is a set of integers, however, they are reference numbers of the elements of a neighbourhood. Hence, the size n nL; L m ; where n is the number of of is l = nm + nI ; ifotherwise rows, m is the number of columns, nI is the number of inputs of the gate array, and L is the levels-back. An example of a genotype of an evolved 2-bit multiplier on a 4 4 gate array with fitness value 1:00 (the highest possible fitness) is given in Table 2. To obtain this genotype, we allowed the first 21 logic functions as they are listed in Table 1, and set the levels-back parameter to 2. Consequently, the alphabets and have size l = 21 and l = 8, respectively. Cell
inputs
(a)
outputs
I1 I2 I3
In
C 11
C 12
C 13
C 1m
C 21
C 22
C 23
C 2m
C 31
C 32
C 33
C 3m
O1 O2 O3
On
I
C n1
C n2
cells
C n3
O
C nm
internal connections
cells C 11
C 12
C nm
(b) logic function
outputs
input connections
Figure 1: The genotype-phenotype mapping: (a) a n m geometry of logic cells with nI inputs and nO outputs, and (b) the genotype structure of the array. We consider that the genotype is a composition of three different parts which are responsible for first, the gates functionality, second, the array internal connectivity, and third, the array outputs. The reason for splitting the genotype into parts is the difference in the purposes of the parts. For convenience, we adopt the term chromosome to mean a genotype part. Thus, each genotype becomes a composition of three chromosomes with different length which are defined over two completely different alphabets. The ”gate functionality” chromosomes are strings over alphabet with length the number of gates. 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 a set of integers which represents the allowed functions listed in Table 1. Therefore, the alphabet size, l , is the number of logic functions used in the circuit design. The alphabet is given in a different way. It is related
Allel(Gene)
4
0(0)
0(1)
2(2)
5
0(4)
1(5)
0(6)
15(3) 4(7)
6
0(8)
2(9)
0(10)
19(11)
7
1(12)
2(13)
1(14)
19(15)
8
2(16)
3(17)
0(18)
4(19)
9
0(20)
7(21)
2(22)
6(23)
10
3(24)
4(25)
0(26)
14(27)
11
3(28)
1(29)
3(30)
6(31)
12
4(32)
7(33)
4(34)
11(35)
13
11(36)
11(37)
6(38)
16(39)
14
9(40)
7(41)
10(42)
17(43)
15
5(44)
6(45)
6(46)
16(47)
16
15(48)
13(49)
8(50)
9(51)
17
10(52)
14(53)
10(54)
6(55)
18
14(56)
12(57)
9(58)
2(59)
19
15(60)
13(61)
15(62)
8(63)
Outputs
19(64)
16(65)
14(66)
13(67)
Table 2: An example of a genotype with fitness value 1:00 for 2-bit multiplier evolved on 4 4 gate array. The column ”Cell” gives the label of the cell whose genetic information is listed on the right side at column ”Allel(Gene)”. The column ”Allel(Gene)” represents the genotype where the number of gene is given in parenthesis. The corresponding phenotype of the evolved 2-bit multiplier is shown in Figure 2. The figure reveals the construction of the circuit in the gate array with respect to the genotype representation. Each cell in the array is depicted by a box where the number in the top-right corner is the cell's label. Thus, the relationship between the phenotype and its genotype could be easily revealed. Obviously, the circuit is not the optimal one, since the optimisation task is defined on 4 4 array. Examples of much better solutions of combinatorial circuits such as ”adders” and ”multipliers” are given in (Miller et al., 1997). The best ever known 2-bit and 3-bit multipliers consisting of 7 and 24 two-inputs logic gates, respectively, are given in appendix A1 . 1 When we allowed the use of 2-1 multiplexers we were able to evolve 3-bit multipliers with 21 logic gates. We are still not sure at this time that even better circuits are not possible.
Input 1
0
4
8
12
16
Output 1
the genotype space with respect to the hypercube. The landscapes are
Input 2
Input 3
Input 4
1
5
9
13
17
14
18
15
19
MUX
2
6
10
MUX
3
MUX
7 MUX
11 MUX
Output 2
Output 3
Output 4
value. The fitness values are provided by fitness functions ffi g8i , fgi g8i and fhi g8i which are defined as follows
Figure 2: A 2-bit multiplier evolved on 4 4 gate array. The levels-back parameter is 2 and the allowed functional gates are the first 21 logic functions as they are listed in Table 1.
(1)
4 The Structure of Circuit Evolution Landscapes
(3)
We study the 2-bit multiplier fitness landscapes generated by onepoint mutation and uniform crossover with probability 0:5. The 2-bit multiplier is evolved on 4 4 gate array where the levels-bask is 2 and the allowed functional gates are the first 21 logic functions, listed in Table 1. The number of inputs is 4. A major impediment in studying the structure of circuit evolution landscapes stems from the genotype structure. We mentioned above that each genotype is a composition of three different chromosomes responsible for completely different phenotype features. Obviously, it defines a complicated mixture of epistasis characteristics of the genotype which is almost insurmountable impediment if we consider the genotype as an inseparable chain. The landscapes are highly nonisotropic which was also revealed by measured autocorrelations of random walks. We performed vast numbers of random walks with length 100; 000 and we observed that the autocorrelation functions differed from each other in a significantly wide range. In order to avoid the vagueness in the definition of our landscapes we split the genotype space into three partitions as it was done in (Stadler and Gr¨unter, 1993). Since each genotype consists of three chromosomes we assume that the original landscape for a given genetic operator is a superposition of three configuration spaces defined over alphabets and . So we consider the Hamming hypernO 3nm cubes Glnm , Gl , and Gl , which represent the configuration spaces of the chromosomes responsible for functionality, connectivity, and output connections, respectively. Now, let denote a genetic operator. Following Stadler (1995), Stadler and Wagner (1997), we consider that a landscape is defined on a hypergraph in which each point is a string and the connections are determined by the operator . Further, for each hypercube we define a family of landscapes that represents
3nm+nO
fGfi ; fi ; gli =0 ?1 n lnm l O ?1 (2) fGgi ; gi ; gi=0 lnm l3nm ?1 : (3) fGhi ; hi ; gi=0 (1) The graphs Gfi , Ggi , and Ghi are obtained by assigning each nO 3nm vertex from Glnm , Gl , and Gl , respectively, with a fitness (1)
(2)
8i(ci 2 Gl3 nm Gln O ); 8x 2 Glnm : fi (x) = F (x ci ) nm 8i(ci 2 Gl Gln O ); 8x 2 Gl3 nm : gi (x) = F (x ci ) 3nm 8i(ci 2 Glnm Gl ); 8x 2 Gln O : hi (x) = F (x ci ):
(2)
The function F is defined over the genotype space (the operator " " is considered to merge the strings in a special way so that the genotype structure as given in Figure 1 to be obtained) and it evaluates the percentage of correctness of the represented circuit. Note that for each family of landscapes we have a group of fitness functions, and each fitness function estimates only a part of the genotype. Hence, its index is determined by the constant string ci which is the remainder of the genotype. The structure of the fitness landscapes can be investigated by measuring autocorrelations of time series obtained by random walks on the landscapes (Weinberger, 1990; Stadler, 1995). The autocorrelation function of time series fftgnt=0 is
(s) = E [ft ft+s ] V?[Ef []ft ]E [ft+s ] t
(3)
where E [ft ] and V [ft ] are the expectation and variance, respectively. To gather statistics of the landscapes with respect to the outlined landscape families we performed 1; 000 random walks per family, each of them with length 100; 000. The initial genotypes were chosen randomly, with fitness values uniformly distributed in the interval [0; 1]. Thus, for each family of landscapes, we performed random walks on 1; 000 instances. The random walk on the mutation landscape is implemented as follows: start from a randomly chosen point on the landscape, generate all neighbours of the current point by mutation and evaluate their fitness values, choose randomly one neighbour and record its fitness, generate all neighbours of the new point, which becomes ”current”, and so on (Weinberger, 1990). The random walk on the crossover landscape is different. In this case, the random walk is implemented by mapping R, explicitly defined in (Stadler and
1 (1) (2) (3)
(a)
Autocorrelations
0.8
0.6
0.4
0.2
0 0
0.2
0.4 0.6 Scaled distance
0.8
1
0.1 (1) (2) (3) 0.08
(b)
Standard deviations
Wagner, 1997) (pp. 248). The algorithm is given by Wagner and Stadler (1998) and can be described as follows: start with an arbitrary pair of parents, generate a set of offsprings by R (applying the crossover operator) and evaluate their fitness values, from those choose randomly one (record its fitness) and mate it with a randomly chosen genotype, etc. until the termination conditions are satisfied. The walks were performed with respect to the investigated genotype partitions. The autocorrelation functions of walks on onepoint mutation and uniform crossover landscapes are depicted in Figures 3 and 4, respectively. Additionally, standard deviations are given since the autocorrelations are averaged over 1; 000 random walks per landscape family. The results are depicted with scaled Hamming distance, d=n, as was suggested in (Stadler and Gr¨unter, 1993). Our data indicate that the autocorrelation functions and their deviations converge toward the depicted plots in approximately 20 walks after which insignificant changes were observed.
0.06
0.04
0.02 1 (1) (2) (3)
0 0
(a)
Autocorrelations
0.8
0.2
0.4 0.6 Scaled distance
0.8
1
Figure 4: Crossover: (a) autocorrelations and (b) standard deviations with scaled distance of uniform crossover landscapes (probability 0:5) with respect to (1) functionality, (2) connectivity, and (3) output connectivity landscapes.
0.6
0.4
0.2
0 0
0.2
0.4 0.6 Scaled distance
0.8
1
0.1 (1) (2) (3)
(b)
Standard deviations
0.08
0.06
0.04
than the functionality and internal connectivity landscapes, this is valid for both: mutation and crossover. On the contrary, the internal connectivity landscapes are the most rugged. The scaled standard deviations reveal how the chromosomes of the genotype are related to each other. The figures reveal that the smoother the landscape is, the weaker the dependence on the structure of the other landscapes. Consequently, the epistasis between the genotype partitions are different.
5 Landscape Structure and Search
0.02
0 0
0.2
0.4 0.6 Scaled distance
0.8
1
Figure 3: Mutation: (a) autocorrelations and (b) standard deviations with scaled distance of onepoint mutation landscapes with respect to (1) functionality, (2) connectivity, and (3) output connectivity landscapes. The figures reveal that the correlations of uniform crossover landscapes are low, and therefore, the landscapes could be difficult for evolutionary search since they are rugged. It agrees with Miller et al. (1997) who suggested that the crossover operator might be dropped in order to improve the search. The plots of the autocorrelations also show that the 2-bit multiplier landscapes are compositions of three sub-landscapes with different ruggedness. It can be seen that the output connectivity landscapes are significantly smoother
The results presented in the previous section show that the 2bit multiplier landscapes are defined on three sub-landscapes with different ruggedness (Figures 3 and 4). This means that the search on these landscapes will be inefficient if the genotype partitions are treated equally by the corresponding evolutionary operator. We also saw that the uniform crossover landscapes are rugged, and hence, we suggest that better search will be attained if a mutation operator only is employed2. In (Miller et al., 1997) mutation with a certain probability to mutate a genotype was used. Here, we suggest that the three chromosomes must be mutated with different probabil2 Note that we do not discuss the usefulness of mutation and crossover operators in general. Our conclusion concerns only the usage of onepoint mutation and uniform crossover operators for this particular problem. We have not ruled out the feasibility of designing a ”clever” crossover operator with better landscape characteristics.
1 3 2 :
1400 1200 1000
Number
ities since they contribute differently to the structure of the landscapes. However, what should the probabilities for mutation be? Let us denote the probabilities to mutate genes of functionality, internal connectivity, and output connectivity chromosomes with 1 , 2 , and 3 , respectively. In order to determine how the mutation probabilities are related to each other we consider the standard deviations depicted in Figure 3. Note that the deviations indicate what the relationship among the three sub-landscapes is. It is obvious that the epistasis of the internal connectivity chromosome is strongly dependent on the remainder of the genotype. Consequently, to attain efficient evolutionary search we suggest that the probabilities 1 and 3 must be lower than 2 , even though the smoothness of the functionality and output connectivity landscapes would tolerate higher values for 1 and 3 . Thus we state the hypotheses H1 : 1 2 and H2 : 3 2 . Now, if the mutation probability 2 is low enough to attain high and sufficiently stable correlations when genotype loci are flipped, we could expect that such correlations would occur for the functionality and output connectivity chromosomes since 1 2 and 3 2 . The relatively high correlations and low standard deviations of the output connectivity landscapes suggest that the probability 3 can be more freely tuned compared to 1 . Hence, since the functionality landscapes are more rugged than the output connectivity landscapes (Figure 3), we suggest that 1 3 which is hypothesis H3 . So, according to hypotheses H1 , H2 , and H3 , we suggest that the probabilities must have the order
800 600 400 200 0 1
2
2) 3) 4) 5) 6)
1 2 3 , 1 3 2 , 2 1 3 , 2 3 1 , 3 1 2 , 3 2 1 .
The distribution of the solutions by classes, and the mutation probabilities averaged over all evolutionary runs for which our algorithm attained genotypes with fitness values 1:0 are given in Figure 5 and Table 3, respectively. The figure reveals that class 2 dominates which agrees with our suggestion stated in equation 4. Note that the number of genotypes in classes 1 and 5 are also high which stresses the significance of the relation 1 2 . The predicted relation (equation 4)
5
6
Figure 5: The ditribution of the attained genotypes with fitness values 1:0. Class 1 2 3 4 5 6
1
0:007 0:011 0:007 0:021 0:008 0:029 0:006 0:019 0:008 0:029 0:006 0:011
2
0:007 0:031 0:006 0:012 0:007 0:012 0:008 0:031 0:006 0:021 0:008 0:023
3
0:006 0:008 0:032 0:006 0:020 0:008 0:009 0:007 0:011 0:007 0:034 0:020
Table 3: Mutation probabilities for which genotypes with fitness 1:0 were attained. is also supported by the diagram in Figure 6, which reveals how the stated hypotheses relate to the distribution of the attained solutions given in Figure 5. It seems that the structure
(4) Hypotheses
In order to test our conclusion, we performed 10 evolutionary runs per triple of mutation probabilities where each probability was varied from 0:0 to 0:04 with step 0:001. The experiment generated 5144 solutions - genotypes with fitness value 1:0 - attained for different probabilities for mutation. The solutions were classified with respect the order of the mutation probabilities in the following way:
4 Classes
1
1)
3
2
Classes 3 4
5
6
H1 H2 H3
Figure 6: A diagram of the supported hypotheses by classes 1 ? 6. of internal connectivity landscapes are much more dependent on the functionality chromosomes. This can be easily explained with the genotype redundancy. Note that in changing one logic function from a multiplexer to a 2-input gate, the gene responsible for the third input of the cell becomes redundant, which has a direct influence on the structure of the internal connectivity landscape. As it turns out, the optimisation process performed by the evolutionary algorithm can be considered as a search for a correct gate array connectivity when a functionality chromosome is chosen.
6 Conclusions and Future Work The goal of this paper has been threefold. First, it presents a model for studying the circuit evolution landscapes obtained by evolving digital circuits on a gate array. Like many engineering problems, the synthesis of electronic circuits can be described in terms of several characteristics of the prob-
lem, which in our case are the functionality and the routing of the gate array. It often gives rise to irregular landscape structure which makes the study of the landscapes much more involved. Second, the structure of the circuit evolution landscapes that result from searching for a 2-bit multiplier on a 4 4 gate array is investigated. We modelled the landscape as a composition of three sub-landscapes, and studied their structure. We feel that understanding the structure of the 2bit multiplier landscape may prove to be an essential requirement, if we are to attempt even more difficult problems (3-bit multiplier) (Miller et al., 1997). By measuring correlations we showed that the ruggedness of the landscapes are different. Third, it is shown how a characterisation of the structure of the landscapes can help in explaining and improving the evolutionary search on these landscapes. The ruggedness of the 2-bit multiplier landscape can be investigated by studying the landscapes derived from its Fourier transformation. We surmise that the amplitude spectrum will tell us more about the relationship between the functionality and connectivity landscapes. Another aspect in studying the structure of the 2-bit multiplier landscape is the neutrality which is due to the redundancy of the evolved digital circuits. We also suggest that the structure of the circuit evolution landscapes strongly relate to the constraints and the scalability of this optimisation problem. How is the landscape structure related to the number of evolved logic functions and the array geometry, and how will it be changed, if a 3-bit multiplier is evolved? These are directions for future work.
A The Best Known 2-Bit and 3-Bit Multipliers In this appendix we present two very efficient designs for multiplier circuits. The two circuits shown in Figures 7 and 8 are extremely unusual in structure in that they do not model the multiplication process in the conventional way (Miller et al., 1999). Note the designs are very efficient in term of gate usage. The most efficient conventional design for the 2bit and 3-bit multipliers require 7 and 30 gates, respectively. We see that Figures 7 depicts a circuit which equals the efficiency of the best conventional design. The 3-bit multiplier design is however 20% more efficient then the best known conventional design (Figure 8). The 2-bit multiplier is evolved on 3 4 array of logic cells. The levels-back parameter is 4, and the allowed functional gates are the logic functions with labels 6 ? 16 as they are listed in Table 1. The genotype is shown in Table 4 and the corresponding phenotype is depicted in Figure 7. The most significant bits are inputs 1 and 3, and output 1. The 3-bit multiplier consisting of 24 logic gates is evolved on 1 25 array of logic cells. The levels-back parameter is 25, and the allowed functional gates are the logic functions with labels 6, 7, and 10, listed in Table 1. In this configuration the allowed connectivity of the circuit is maximum - the most freely connected feed-forward circuit possible. The genotype is shown in Table 5 and the corresponding phenotype is de-
Cell
Allel(Gene)
4
3(0)
0(1)
3(2)
5
0(4)
3(5)
1(6)
15(3) 6(7)
6
2(8)
0(9)
2(10)
6(11)
7
2(12)
4(13)
1(14)
9(15)
8
1(16)
2(17)
2(18)
6(19)
9
5(20)
6(21)
5(22)
15(23)
10
4(24)
1(25)
7(26)
14(27)
11
8(28)
4(29)
2(30)
7(31)
12
3(32)
1(33)
7(34)
6(35)
13
4(36)
8(37)
8(38)
11(39)
14
6(40)
11(41)
12(42)
7(43)
15
0(44)
12(45)
9(46)
15(47)
Outputs
11(48)
14(49)
13(50)
12(51)
Table 4: The genotype of the 2-bit multiplier evolved on 3 4 gate array.
Input 1
Input 2
Output 1
Output 2
Input 3 Output 3
Input 4
Output 4
Figure 7: The schematic of the 2-bit multiplier, obtained by artificial evolution. picted in Figure 8. The most significant bits are inputs 1 and 4, and output 1.
References Andrews, P. B. (1986). An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof . Orlando, Florida: Academic Press. Chen, X. and Hurst, S. L. (1982). A comparison of universallogic-module realizations and their application in the synthesis of combinatorial and sequential logic networks. IEEE Trans. on Computers C-31 (2), 140–147. Holland, J. (1992). Adaptation in Natural and Artificial Systems. Cambridge, MA: MIT Press. Second edition. Hordijk, W. (1997). Correlation analysis of the synchronising-ca landscape. Physica D 107, 355– 264. Jones, T. (1995). Evolutionary Algorithms, Fitness Landscapes and Search. Ph.D. thesis, University of New Mexico, Albuquergue, NM. Kauffman, S. (1989). Adaptation on rugged fitness landscapes. In: Stein, D. (ed.), Lectures in the Sciences of Complexity, pp. 527–618. Reading, MA: AddisonWesley.
Cell
Allel(Gene)
6
2(0)
3(1)
4(2)
6(3)
7
0(4)
4(5)
0(6)
6(7)
8
4(8)
1(9)
0(10)
6(11)
9
5(12)
1(13)
0(14)
6(15)
10
3(16)
1(17)
2(18)
6(19)
11
0(20)
3(21)
10(22)
6(23)
12
4(24)
2(25)
5(26)
6(27)
13
10(28)
7(29)
4(30)
10(31)
14
5(32)
0(33)
2(34)
6(35)
15
8(36)
11(37)
3(38)
10(39)
16
5(40)
2(41)
12(42)
6(43)
17
14(44)
6(45)
4(46)
10(47)
18
8(48)
16(49)
8(50)
7(51)
19
18(52)
17(53)
6(54)
6(55)
20
4(56)
17(57)
19(58)
7(59)
21
16(60)
15(61)
10(62)
6(63)
22
19(64)
21(65)
4(66)
10(67)
23
11(68)
18(69)
0(70)
7(71)
24
18(72)
17(73)
23(74)
10(75)
25
13(76)
22(77)
19(78)
10(79)
26
22(80)
13(81)
19(82)
6(83)
27
23(84)
26(85)
0(86)
10(87)
28
27(88)
8(89)
13(90)
7(91)
29
28(92)
11(93)
18(94)
10(95)
30
12(96)
9(97)
17(98)
10(99)
Outputs Outputs
29(100)
27(101)
25(102)
24(103)
30(104)
16(105)
Table 5: The genotype of the 3-bit multiplier evolved on 1 25 gate array. Manderick, B., de Weger, M. and Spiessens, P. (1991). The genetic algorithm and the structure of the fitness landscape. In: Belew, R. K. and Booker, L. B. (eds.), Proc. of the 4th International Conference on Genetic Algorithms, pp. 143–150. San Mateo, CA: Morgan Kaufmann. Miller, J. F., Kalganova, T., Lipnitskaya, N. and Job, D. (1999). The Genetic Algorithm as a Discovery Engine: Strange Circuits and New Principles. Tech. rep., Napier University. To appear in the Proc. of AISB' 99 (Creative Evolutionary Systems). Miller, J. F. and Thomson, P. (1998). Aspects of digital evolution: Evolvability and architecture. In: Eiben, A. E., B¨ack, T., Schoenauer, M. and Schwefel, H.-P. (eds.), Parallel Problem Solving from Nature V, pp. 927–936. Berlin: Springer. Miller, J. F., Thomson, P. and Fogarty, T. (1997). Designing electronic circuits using evolutionary algorithms. arithmetic circuits: A case study. In: Quagliarella, D., Periaux, J., Poloni, C. and Winter, G. (eds.), Genetic Algorithms and Evolution Strategies in Engineering and Computer Science, pp. 105–131. Chechester, UK: Wiley. Mitchell, M., Forrest, S. and Holland, J. (1991). The royal road for genetic algorithms: Fitness landscapes and ga performance. In: Varela, J. and Bourgine, P. (eds.), Proc.
Input 1
Output 1
Input 2
Output 2
Input 3
Output 3
Input 4
Output 4
Input 5
Output 5
Input 6
Output 6
Figure 8: The schematic of the 3-bit multiplier, obtained by artificial evolution. of the 1st European Conference on Artificial Life, pp. 245–254. Cambridge, MA: MIT Press. Sipper, M., Sanchez, E., Mange, D., Tomassini, M., P´erezUribe, A. and Stauffer, A. (1997). A phylogenetic, ontogenetic, and epigenetic view of bio-inspired hardware systems. IEEE Trans. on Evolutionary Computation 1 (1), 83–97. Stadler, P. F. (1995). Towards theory of landscapes. In: Lop´ez-Pena, R., Capovilla, R., Garc´ia-Pelayo, R., Waelbroeck, H. and Zertuche, F. (eds.), Complex Systems and Binary Networks, pp. 77–163. Berlin: Springer-Verlag. Stadler, P. F. and Gr¨unter, W. (1993). Anisotropy in fitness landscapes. J. Theor. Biol. 165, 373–388. Stadler, P. F. and Wagner, G. P. (1997). Algebraic theory of recombination spaces. Evolutionary Computation 5 (3), 241–275. Thompson, A. (1998). Hardware Evolution: Automatic Design of Electronic Circuits in Reconfigurable Hardware by Artificial Evolution. London: Springer-Verlag. Wagner, G. P. and Stadler, P. F. (1998). Complex adaptations and the structure of recombination spaces. In: Nehaniv, C. and Ito, M. (eds.), Algebraic Engineering. Singapore: World Scientific. SFI Report 97-03-029. Weinberger, E. D. (1990). Correlated and uncorrelated fitness landscapes and how to tell the difference. Biological Cybernetics 63, 325–336. Wright, S. (1932). The roles of mutation, inbreeding, crossbreeding and selection in evolution. In: Jones, D. F. (ed.), Proc. of the 6th International Conference on Genetics, vol. 1, pp. 356–366. Yao, X. and Higuchi, T. (1998). Promises and challenges of evolvable hardware. IEEE Trans. on Systems, Man and Cybernetics 28 (4).