Sep 25, 2000 - circuit design, as indicated by Kalganova & Miller (1999). In this paper, we ... another GA (Miller, Thomson & Fogarty 1997). Then, we present a ...
Design of Combinational Logi Cir uits through an Evolutionary Multiobje tive Optimization Approa h Carlos A. Coello Coello Laboratorio Na ional de Inform ati a Avanzada Rebsamen 80, A.P. 696 Xalapa, Vera ruz, Mexi o 91090
oelloxalapa.lania.mx Arturo Hern andez Aguirre Department of Ele tri al Engineering and Computer S ien e Tulane University New Orleans, LA 70118, USA hernandaee s.tulane.edu September 25, 2000
Abstra t
In this paper, we propose a population-based evolutionary multiobje tive optimization approa h to design ombinational ir uits. Our results indi ate that the proposed approa h an signi antly redu e the omputational eort required by a geneti algorithm (GA) to design ir uits at a gate level while generating equivalent or even better solutions (i.e., ir uits with a lower number of gates) than a human designer or even other GAs. Several examples taken from the literature are used to evaluate the performan e of the proposed approa h.
Keywords: ir uit design, evolutionary multiobje tive optimization, geneti algorithms, evolvable hardware, multiobje tive optimization.
1
Introdu tion
The geneti algorithm (GA) has been widely used for optimization tasks (Goldberg 1989) and is known to be a very powerful tool in ertain domains. In our urrent work we wish to nd a way to use the GA as a design tool, with parti ular emphasis in the design of digital ombinational ir uits. As it is known, there are several standard graphi al design aids su h as the Karnaugh Maps (Karnaugh 1953, Veit h 1952), whi h are widely used by human 1
designers. There are also other tools more suitable for omputer implementation su h as the Quine-M Cluskey Method (Quine 1955, M Cluskey 1956), Espresso (Brayton, Ha htel, M Mullen & Sangiovanni-Vin entelli 1984) and MisII (Brayton, Rudell, Sangiovanni-Vin entelli & Wang 1987). Despite the drawba ks of lassi al ir uit design te hniques, some of them
an handle truth tables with hundreds of inputs, whereas evolutionary algorithms are restri ted to relatively small truth tables (Miller, Job & Vassilev 2000). However, the most interesting aspe t of evolutionary design is the possibility of studying its emergent patterns (Miller et al. 2000, Coello, Christiansen & Aguirre 2000). The goals are, therefore, dierent when we design ir uits using evolutionary algorithms. First, we aim to optimize ir uits (using a ertain metri ) in a dierent way, and intuitively, we an think of produ ing novel designs (sin e there is no human intervention). Su h novel designs have been shown in the past (Miller et al. 2000, Miller, Kalganova, Lipnitskaya & Job 1999, Coello et al. 2000). Se ond, it would be extremely useful to extra t design patterns from su h evolutionary-generated solutions. This ould lead to a pra ti al design pro ess in whi h a small (optimal) ir uit is used as a building blo k to produ e omplex ir uits. Su h a divide-and- onquer approa h has also been suggested in the past (Torresen 1998, Miller et al. 2000). However, in the previous work on evolutionary design of ombinational ir uits, eÆ ien y has been an important issue. The main approa hes reported so far in the literature require a signi ant amount of tness fun tion evaluations. The motivation of this work was pre isely to on eive an approa h that ould redu e the amount of tness fun tion evaluations, while keeping the apabilities of a GA to generate novel (and ompa t) designs. This does not mean that we
laim that our approa h will solve the s alability problem that has hara terized evolvable hardware (Thompson, Layzell & Zebulum 1999, Miller et al. 2000). Nevertheless, we believe that approa hes su h as the one presented in this paper, may ontribute to the development of alternative te hniques that ould improve the performan e of a GA at least when solving relatively small ir uits (under the assumption that they ould be used as building blo ks to produ e larger
ir uits). In the past, we have approa hed this problem using a GA with a matrix en oding s heme, and an - ardinality alphabet (after a series of experiments, we found this - ardinality representation s heme to be more robust than the traditional binary representation (Coello 1996, Coello, Christiansen & Aguirre 1997, Coello et al. 2000)). Our original GA-based approa h presents great resemblan e with the one proposed by Miller (1997) and further developed by Miller and his olleagues (2000, 1999, 1998). The two main dieren es between the two approa hes are the en oding s heme and the tness fun tion as we will explain later in this paper. However, Miller's initial work emphasized generation of fun tional ir uits, rather than optimization. It was until re ently, that Kalganova & Miller (1999) experimented with a two-stage (or multiobje tive, as they all it) tness fun tion. We adopted that sort of tness fun tion sin e the beginning of our resear h in this area (Coello 1996, Coello et al. 1997). However, the use of truly n
n
2
multiobje tive optimization te hniques (e.g., based on the on ept of Pareto optimality (Coello 1999)) remained as an open area of resear h in ombinational
ir uit design, as indi ated by Kalganova & Miller (1999). In this paper, we propose the use of an evolutionary multiobje tive optimization te hnique (rather than just a multiobje tive tness fun tion) to design
ombinational ir uits. There is some (relatively s ar e) previous work on using multiobje tive te hniques to handle onstraints. This work, however, has
on entrated on numeri al optimization only. Our approa h is probably the rst attempt to use this kind of te hnique in the design of ir uits, and it seems to onsiderably redu e the amount of tness fun tion evaluations required by a GA (at least ompared to our previous GA (Coello et al. 2000) and to Miller et al.'s approa h (1997)). Our proposal is to handle ea h of the mat hes between a solution generated by a GA and the values spe i ed by the truth table as equality onstraints. This, however, introdu es some dimensionality problems for onventional multiobje tive optimization te hniques (this is be ause he king for dominan e is an ( 2) pro ess), and therefore the idea of using a (more eÆ ient) populationbased approa h similar to the Ve tor Evaluated Geneti Algorithm (VEGA) (S haer 1985). The remainder of this paper is organized as follows: rst, we give some basi de nitions related to multiobje tive optimization. Then, we des ribe some of the previous related work on using multiobje tive optimization te hniques to handle
onstraints. After that, we state the problem of interest to us, and introdu e our approa h, giving some examples of its performan e. Results are ompared against those produ ed by our previous approa h (a GA with an - ardinality alphabet and a two-stage tness fun tion that we will simply denote as NGA) and against designs produ ed by humans (using Karnaugh Maps (Karnaugh 1953), the Quine-M Cluskey Pro edure (Quine 1955, M Cluskey 1956)) and another GA (Miller, Thomson & Fogarty 1997). Then, we present a short dis ussion of our results, our on lusions and some of the possible paths of future resear h. O n
n
2
Multiobje tive Optimization
Multiobje tive optimization (also alled multi riteria optimization, multiperforman e or ve tor optimization) an be de ned as the problem of nding (Osy zka 1985): a ve tor of de ision variables whi h satis es onstraints and optimizes a ve tor fun tion whose elements represent the obje tive fun tions. These fun tions form a mathemati al des ription of performan e riteria whi h are usually in on i t with ea h other. Hen e, the term \optimize" means nding su h a solution whi h would give the values of all the obje tive fun tions a
eptable to the designer. 3
Formally, we an state the general multiobje tive optimization problem (MOP) as follows: De nition 1 (General MOP): Find the ve tor ~x = [x1 ; x2 ; : : : ; x ℄ whi h T
will satisfy the
m
inequality onstraints:
( )0
gi ~ x
the
p
n
=1 2
i
;
(1)
;:::;m
equality onstraints
( )=0
hi ~ x
i
=1 2 ;
(2)
;:::;p
and optimizes the ve tor fun tion
( ) = [ 1( ) 2( ) ( )℄ (3) where = [ 1 2 ℄ is the ve tor of de ision variables. 2 In other words, we wish to determine from among the set F of all num whi h yields the bers whi h satisfy (1) and (2) the parti ular set 1 2 optimum values of all the obje tive fun tions of the problem. Another important on ept is that of Pareto optimality, whi h was stated by Vilfredo Pareto in the XIX entury (Pareto 1896), and onstitutes by itself the origin of resear h in multiobje tive optimization: ~ ~ f x
~ x
f
x ; x ; : : : ; xn
~ x ;f
~ x ; : : : ; fk ~ x
T
T
x ; x ; : : : ; xn
k
De nition 2 (Pareto Optimality:): We say that ~x 2 , R ! R,
6= ;, is Pareto optimal if for every ~x 2 and I = f1; 2; : : : ; kg either, n
i
or, there is at least one
i
2
^2 I ( ( ) = ( )) fi ~ x
I
(4)
fi ~ x
su h that
()
(5) 2 In words, this de nition says that is Pareto optimal if there exists no feasible ve tor whi h would de rease some riterion without ausing a simultaneous in rease in at least one other riterion. fi ~ x
( )
> fi ~ x
~ x
~ x
~ u = (u1 ; : : : ; uk ) is said to dominate ~v = (v1 ; : : : ; vk ) (denoted by ~u ~v ) if and only if u is partially less than v, i.e., 8i 2 f1; : : : ; kg; ui vi ^ 9i 2 f1; : : : ; kg : ui < vi . 2
De nition 3 (Pareto Dominan e): A ve tor
De nition 4 (Pareto Optimal Set): For a given MOP f~(~x), the Pareto optimal set (P ) is de ned as:
P := f 2 j :9 0 2 ( 0 ) ( )g ~ x
~ x
4
~ ~ f x
~ ~ f x
:
(6) 2
De nition 5 (Pareto Front:): For a given MOP f~(~x) and Pareto optimal
set
P , the Pareto front (PF ) is de ned as: PF := f = ( ) = ( 1 ( )
( )) j 2 P g
(7) 2 Pareto optimal solutions are also termed non-inferior, admissible, or eÆ ient solutions (Horn 1997); their orresponding ve tors are termed nondominated. These solutions may have no learly apparent relationship besides their membership in the Pareto optimal set. This is the set of all solutions whose
orresponding ve tors are nondominated with respe t to all other omparison ve tors. When plotted in obje tive spa e, the nondominated ve tors are olle tively known as the Pareto front. ~ u
3
~ ~ f x
f
~ x ; : : : ; fk ~ x
~ x
:
Multiobje tive optimization to handle onstraints
The idea of using multiobje tive optimization te hniques to handle onstraints is not new. Some resear hers have proposed to rede ne the single-obje tive optimization of ( ) as a multiobje tive optimization problem in whi h we will have +1 obje tives, where is the number of onstraints. Then, we an apply any multiobje tive optimization te hnique (Fonse a & Fleming 1995, Coello 1999) to the new ve tor = ( ( ) 1 ( ) ( )), where 1 ( ) () are the original onstraints of the problem. An ideal solution would thus have ( )=0 for 1 and ( ) ( ) for all feasible (assuming minimization). Surry et al. (1995, 1997) proposed the use of Pareto ranking (Fonse a & Fleming 1993) and VEGA (S haer 1985) to handle onstraints using this te hnique. In their approa h, alled COMOGA, the population was ranked based on onstraint violations ( ounting the number of individuals dominated by ea h solution). Then, one portion of the population was sele ted based on onstraint ranking, and the rest based on real ost ( tness) of the individuals. Parmee and Pur hase (1994) implemented a version of VEGA (S haer 1985) that handled the onstraints of a gas turbine problem as obje tives to allow a geneti algorithm to lo ate a feasible region within the highly onstrained sear h spa e of this appli ation. However, VEGA was not used to further explore the feasible region, and instead Parmee and Pur hase (1994) opted to use spe ialized operators that would reate a variable-size hyper ube around ea h feasible point to help the geneti algorithm to remain within the feasible region at all times. Camponogara & Talukdar (1997) proposed the use of a pro edure based on an evolutionary multiobje tive optimization te hnique. Their proposal was to restate a single obje tive optimization problem in su h a way that two obje tives would be onsidered: the rst would be to optimize the original obje tive fun tion and the se ond would be to minimize the total amount of onstraint violation of an individual. On e the problem is rede ned, non-dominated solutions with respe t to the two new obje tives were generated. The solutions found de ned a sear h dif ~ x
m
m
~ v
f ~ x ;f
~ x ; : : : ; fm ~ x
f
~ x ; : : : ; fm ~ x
~ x
fi ~ x
i
m
f ~ x
5
f ~ y
~ y
re tion = ( )j j, where 2 , 2 , and and are Pareto sets. The dire tion sear h is intended to simultaneously minimize all the obje tives (Camponogara & Talukdar 1997). Line sear h is performed in this dire tion so that a solution an be found su h that dominates and (i.e., is a better ompromise than the two previous solutions found). Line sear h takes the pla e of rossover in this approa h, and mutation is essentially the same, where the dire tion is proje ted onto the axis of one variable in the solution spa e (Camponogara & Talukdar 1997). Additionally, a pro ess of eliminating half of the population is applied at regular intervals (only the less tted solutions are repla ed by randomly generated points). Jimenez and Verdegay (1999) proposed the use of a min-max approa h (Chankong & Haimes 1983) to handle onstraints. The main idea of this approa h is to apply a set of simple rules based on onstraint violation to de ide the sele tion pro ess (individuals with the lowest amount of onstraint violation would be preferred in a binary tournament). In the ontext of ombinational logi ir uits design, we are not aware of any work in whi h the dire t use of a multiobje tive optimization te hnique had been proposed, ex ept for the single ir uit solved in (Coello 2000). The idea was, however, suggested by Kalganova and Miller (1999). Nevertheless, evolutionary multiobje tive optimization approa hes have been used by several resear hers to solve some other related problems. For example, Wilson and Ma leod (1993) used Pareto ranking (Goldberg 1989) to design multiplierless IIR lters; Zebulum et al. (1998) used a GA with a target ve tor approa h (with adaptive weights) for the synthesis of low-power operational ampli ers; Harris and Ifea hor (1996) used Pareto ranking to design nonlinear Finite Impulse Response (FIR) lters; et . d
xi
xj = x i
xj
xi
Si
xj
Sj
Si
Sj
d
x
xj
x
d
4
xi
x
j
Statement of the Problem
The problem of interest to us onsists of designing a ir uit that performs a desired fun tion (spe i ed by a truth table), given a ertain spe i ed set of available logi gates. In ir uit design, one an use various riteria to de ne minimal- ost expressions. For example, from a mathemati al perspe tive, one ould minimize the total number of literals or the total number of binary operations or the total number of symbols in an expression. The minimization problem is diÆ ult for all su h ost riteria. In gate networks one ould minimize the total number of gates subje t to su h restri tions as fan-in, fan-out, number of levels, or the total number of SSI pa kages. In general, it is very diÆ ult to nd su h minimal networks or to prove the minimality of a given network (Brzozowski & Yoeli 1976). In spite of this, it is possible to solve a number of minimization problems using systemati te hniques, provided that we are satis ed with less general solutions. The omplexity of a logi ir uit is a fun tion of the number of gates in the ir uit. The omplexity of a gate generally is a fun tion of the number 6
Input
Output
Figure 1: Matrix used to represent a ir uit. Ea h gate gets its inputs from either of the gates in the previous olumn. of inputs to it. Be ause a logi ir uit is a realization (implementation) of a Boolean fun tion in hardware, redu ing the number of literals in the fun tion should redu e the number of inputs to ea h gate and the number of gates in the
ir uit|thus redu ing the omplexity of the ir uit. In this work, we propose a GA that uses a population-based approa h to design ir uits. The results produ ed are ompared against those produ ed by another GA ( alled - ardinality GA or NGA (Coello et al. 2000)). We also ompare our results against with those generated by a human designer using Karnaugh maps and another one using the Quine-M Cluskey Pro edure (unless indi ated otherwise in the examples). The omparison against human designers is in many ways unfair be ause of diering apabilities of man and ma hine. For example, a human designer tends to use only the gates NOT, AND, OR and has more diÆ ulties using XOR be ause the Karnaugh Map and the Quine-M Cluskey Pro edure do not support the identi ation of XOR terms as well as they support \seeing" simple produ t terms. The omputer, using a GA-based approa h, and not being restri ted by human pattern re ognition abilities, uses many XOR gates, often disregarding the NOT gate. Our overall measure of ir uit optimality is the total number of gates used, regardless of their kind. This is approximately proportional to the total part ost of the
ir uit. Obviously, we perform this analysis for only fully fun tional ir uits. n
5
The Geneti Algorithm Used
We used a matrix to represent a ir uit also adopted in previous work (Coello et al. 2000, Coello et al. 1997), as shown in Figure 1. This matrix is en oded as a xed-length string of integers from 0 to 1, where refers to the number of rows allowed in the matrix (we all it - ardinality alphabet). More formally, we an say that any ir uit an be represented as a bidimensional array of gates , where indi ates the level of a gate, so that those gates
loser to the inputs have lower values of . (Level values are in remented from left to right in Figure 1). For a xed , the index varies with respe t to the N
N
n
Si;j
j
j
j
7
i
Input 2
Input 1
Gate Type
Figure 2: En oding used for ea h of the matrix elements that represent a ir uit. gates that are \next" to ea h other in the ir uit, but without being ne essarily
onne ted. Ea h matrix element is a gate (there are 5 types of gates: AND, NOT, OR, XOR and WIRE1 .) that re eives its 2 inputs from any gate at the previous olumn as shown in Figure 1. Although our GA implementation allows gates with more inputs and these inputs might ome from any previous level of the ir uit, we limited ourselves to 2-input gates and restri ted the inputs to
ome only from the previous level. This restri tion ould, of ourse, be relaxed, but we adopted it to allow a fair omparison with our previous GA-based approa h (it should be kept in mind that the main motivation of this work was to improve the eÆ ien y of our previous GA). A hromosomi string en odes the matrix shown in Figure 1 by using triplets in whi h the 2 rst elements refer to ea h of the inputs used, and the third is the orresponding gate as shown in Figure 2. The matrix representation adopted in this work was originally proposed by Louis (1991, 1993, 1993). He applied his approa h to a 2-bit adder and to the parity he k problem (for = 4 5 6). This representation has also been adopted by Miller et al. (1997, 2000) with some dieren es. For example, the restri tions regarding the sour e of a ertain input to be fed in a matrix element varies in ea h of the three approa hes: Louis (1993) has strong restri tions, Miller et al. (1997) have no restri tions and we have relatively light restri tions. The en oding is also dierent in all ases. Louis (1993) only en oded information regarding one input and the type of gate to be used at ea h matrix position. He also used binary representation. In our ase, we used an - ardinality alphabet and de ided to en ode the gate to be pla ed at ea h matrix lo ation plus its two inputs. Miller et al. (1997) en ode a full Boolean operation using a single integer. This representation is more ompa t, but it has the problem of requiring that mutation takes the pla e of rossover to introdu e enough diversity in the population, so that the evolutionary algorithm an approa h the feasible region. That is the reason why Miller et al. (2000) have adopted an evolutionary strategy in their re ent work. Finally, the last dieren e among the three approa hes previously mentioned is regarding the tness fun tion. Louis (1993) simply maximizes the number of mat hes between the outputs produ ed by the ir uit and those indi ated in the truth table. We have used a tness fun tion that works in two stages: rst, it maximizes the number of mat hes (as in Louis' ase). However, on e feasible solutions are found, we maximize the number of WIREs in the ir uit. By doing n
n
;
;
n
1 WIRE
basi ally indi ates a null operation, or in other words, the absen e of gate, and
it is used just to keep regularity in the representation used by the GA that otherwise would have to use variable-length strings.
8
Old Sub-populations 1
f(x)
2
o1(x)
3
New Sub-populations 1
f(x)
2
o (x)
3
o (x)
Apply
o2(x)
1
2
genetic operators
m+1
m+1
o (x) m
o (x) m
Figure 3: Graphi al representation of the approa h proposed in this paper. this, we a tually optimize the ir uit in terms of the number of gates that it uses. Miller et al. (1997) did something similar to Louis until re ently (they have re ently introdu ed a two-stage tness fun tion like the one adopted by us (Kalganova & Miller 1999)). Thus, we an say that our goal was to produ e a fully fun tional design (i.e., one that produ es all the expe ted outputs for any ombination of inputs a
ording to the truth table given for the problem) whi h maximizes the number of WIREs. We also aimed to redu e the omputational ost of our previous GAbased approa h.
6
Des ription of the approa h
The main idea behind our proposed approa h is to use a population-based multiobje tive optimization te hnique su h as VEGA (S haer 1985) to handle ea h of the outputs of a ir uit as an obje tive. In other words, we would have an optimization problem with equality onstraints, where is the number of values (i.e., outputs) of the truth table that we aim to mat h. So, for example, a ir uit with 3 inputs and a single output, would have = 23 = 8 values to mat h. The te hnique may be better illustrated by Figure 3. At ea h generation, the population is split into + 1 sub-populations, where is de ned as indi ated before (we have to add one to onsider also the obje tive fun tion). Ea h subpopulation is on harge of optimizing a onstraint of the problem (in this ase, an output of the ir uit). Therefore, the main goal of ea h sub-population is to mat h its orresponding output with the value indi ated by the user in the truth table. Although the size of ea h sub-population may be variable, it was de ided to allo ate the same size to ea h of them in the experiments reported in this paper, but the use of dierent subpopulation sizes is also possible. The obje tive fun tion in our ase is de ned as in previous work (Coello m
m
m
m
m
9
et al. 1997, Coello et al. 2000): it is the total number of mat hes (between the outputs produ ed by an en oded ir uit and the intented values de ned in the truth table de ned by the user). For ea h mat h, we in rease the value of the obje tive fun tion by one. If the en oded ir uit is feasible (i.e., it mat hes the truth table ompletely), then we add one (the so- alled \bonus") for ea h WIRE present in the solution. Using the proposed s heme, a fra tion of the population will be sele ted using the obje tive fun tion as its tness (i.e., it will try to maximize the total number of mat hes); another fra tion will use the mat h of the rst output as its tness and so on (sin e they are all binary values, we only he k if it mat hes or not, without omputing any extra values as required in numeri al optimization). The main issue here is how to handle the dierent situations that ould arise. Our proposal is the following: if o (~x) 6= t then else if v 6= 0 then else j
j
tness( ) = 0 tness( ) = tness( ) = ( ) ~ x
~ x
v
~ x
f ~ x
where ( ) refers to the value of output for the en oded ir uit ; is the value spe i ed for output in the truth table; and is the number of outputs that are not mat hed by the ir uit ( ). Finally, ( ) is the tness fun tion des ribed before: if ( ) is infeasible (8) ( ) = ( ) + 0 ( ) otherwise In this equation, ( ) refers to the number of mat hes between the ir uit and the values de ned in the truth table, and ( ) is the number of WIREs in the ir uit . There are a few interesting things that an be observed from this pro edure. First, ea h sub-population asso iated with an output of the ir uit will try to mat h it with the value de ned in the truth table. On e this is a hieved, then the tness fun tion will try to maximize the number of mat hes of the rest of the outputs. In other words, this sub-population will ooperate with the others that are having diÆ ulties to mat h their outputs. If the ir uit is feasible, then all the sub-populations will join eorts to maximize the number of WIREs in the ir uit. It is important to larify that the urrent approa h does not use dominan e to impose an order on the onstraints based on their violation (like in the ase of COMOGA (Surry, Rad lie & Boyd 1995)) whi h is a more expensive pro ess (in terms of CPU time) that also requires additional parameters. In fa t, the
urrent approa h does not rank individuals, but it uses instead dierent tness fun tions for ea h of the sub-population allo ated (whose number depends on the number of outputs in a ir uit) depending on the feasibility of the individuals ontained within ea h of them. This is easier to implement, does not require spe ial operators to preserve feasiblity (like in the ase of Parmee and Pur hase's approa h (1994)), makes unne essary the use of a sharing fun tion to oj ~ x
j
~ x
j
~ x
f ~ x
h ~ x
tj
v
m
f ~ x
f ~ x
w ~ x
h ~ x
~ x
w ~ x
~ x
10
preserve diversity (Deb & Goldberg 1989) (like with traditional multiobje tive optimization te hniques (Fonse a & Fleming 1995)), and does not require extra parameters to ontrol the mixture of feasible and infeasible individuals (like in the ase of COMOGA (Surry et al. 1995)). Although VEGA is known to have diÆ ulties in multiobje tive optimization problems due to the fa t that it tries to nd individuals that ex el only in one dimension regardless of the others (the so- alled \middling" problem (S haer 1985, Fonse a & Fleming 1995, Coello 1999)), that drawba k turns out to be an advantage in this ontext, be ause what we want to nd are pre isely ir uits that are fully fun tional, instead of good ompromises that may not satisfy one of the outputs (whi h are the kinds of solutions that a Pareto ranking strategy would normally produ e) (Coello 1999). Also, the use of sub-populations is mu h more eÆ ient than using Pareto dominan e, be ause of the potentially high number of obje tives involved (this will be illustrated in the examples shown in this paper).
7
Comparison of Results
We have used several ir uits of dierent degrees of omplexity to test our approa h. For the purposes of this paper, 5 examples were hosen to illustrate our approa h ( alled multiobje tive geneti algorithm, or MGA for short), and the results produ ed were ompared with those generated by human designers and by our previous - ardinality GA ( alled NGA) (Coello et al. 1997, Coello et al. 2000). In ea h ase, the size of the matrix used to t the ir uit was determined using the following pro edure: 1. Start with a square matrix of size 5. 2. If no feasible solution is found using this matrix, then in rease the number of olumns by one. 3. If no feasible solution is found using this matrix, then in rease the number of rows by one. 4. Repeat steps 2 and 3 until a suitable matrix is produ ed. As we will see in the following examples, it was normally the ase that for small ir uits a matrix of 5 5 was suÆ ient. However, in one of the examples, it was ne essary to rea h a matrix size of 6 7. This made ne essary to run the GA for more generations, performing, in onsequen e, more tness fun tion evaluations. This situation normally arises with ir uits having several outputs, although in some ases, su h as in the 2-bit multiplier of our fourth example, even a 5 5 matrix may be enough to nd the best known ir uit. To hoose the size of ea h sub-population in the MGA, we started with 10, and performed 20 runs. If we did not nd feasible solutions in at least one fourth of our runs, we would in rease the sub-population size by 10 and would perform n
11
Table 1: Truth table for the ir uit of the rst example. X Y Z F
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 0 0 1 0 1 1 0
20 more runs. This pro ess was repeated until a suitable sub-population size was found. The other issue is regarding the rossover and mutation rates. After a series of experiments, we de ided to use a rossover rate of 50% and a mutation rate su h that ea h string had a 50% probability of being mutated at a ertain position. Sin e mutation was applied on a single-gene basis, we used as our probability of mutation the result of dividing this 50% by the length of the string. For example, when a 5 5 matrix was used, the length of the hromosomi string was 75. Therefore, the probability of mutation would be 0.006667. 7.1
Example 1
Our rst example is a 3-even parity problem, whose truth table with 3 inputs and one output is shown in Table 1. In this ase, the matrix used was of size 55, and the length of ea h string representing a ir uit was then 3 5 5 = 75. The
ardinality used for this problem was ( ), where refers to the number of rows in the matrix and to the number of allowable gates in the ir uit (sin e only the inputs from the previous level are onsidered, the number of olumns does not ae t the ardinality used). Sin e = 5, and = 5 for this example, then the size of the intrinsi sear h spa e for this problem is = 575 2 61052 . Results are ompared in Table 2. Human Designer 1 used Karnaugh Maps plus Boolean algebra identities to simplify the ir uit, whereas Human Designer 2 used the Quine-M Cluskey Pro edure. In both ases, they produ ed solutions with more gates than the MGA or the NGA. A sub-population size of 10 was enough for the MGA. Sin e the ir uit has 8 outputs, there were 9 obje tives. Therefore, the total population size was set to 90. We set the maximum number of generations to 300. To make a fair omparison, the same representation s heme and the same geneti operators (two-point rossover with a probability of 0.5, and uniform mutation with a probability of 0.006667) were used for both the MGA and the NGA (for more details on the NGA, refer to (Coello et al. 2000)).
max r; g
r
g
g
12
l
:
X F Y
Z
Figure 4: Graphi al representation of the best ir uit found by the MGA and the NGA for the rst example. MGA
NGA
( + ) ( ) 4 gates 2 ANDs, 1 OR, 1 XOR, 1 NOT X
Y
Z
= ( + )( ) 4 gates 2 ANDs, 1 OR, 1 XOR
XY
F
Human Designer 1
F
Y
Y
X
Y
XY
Human Designer 2
= ( )+ ( ) 5 gates 2 ANDs, 1 OR, 2 XORs Z X
Z X
+ ( ) 6 gates 3 ANDs, 1 OR, 1 XOR, 1 NOT
Z
F
=
0
X Y Z
X Y
Z
Table 2: Comparison of the best solutions found by the - ardinality GA (NGA), our multiobje tive geneti algorithm (MGA), and two human designers for the ir uit of the rst example. A population size of 90 was used with both GAs. n
The MGA onsistently found a solution with a tness value of 29 (75% of the time), and it produ ed feasible ir uits 100% of the time. The average tness of the 20 runs performed was 28.75, with a standard deviation of 0.433012. The graphi al representation of this solution is depi ted in Figure 4. On the other hand, the best solution that the NGA ould nd using the same population size had also a tness of 29 (i.e., a ir uit with 4 gates), but it appeared only 10% of the time. Also, 20% of the time, the best solution found was infeasible. The average tness of these 20 runs was 21.4, with a standard deviation of 8.438009244. 7.2
Example 2
Our se ond example has 4 inputs and one output, as shown in Table 3. A matrix of the same size as before was used (i.e., 5 5). The omparison of the results produ ed by the MGA, the NGA, a human designer using Karnaugh Maps, and Sasao's approa h (1993) are shown in Table 4. Sasao (1993) has used this ir uit to illustrate his ir uit simpli ation te hnique based on the use of ANDs & XORs. His solution uses, however, more 13
Z W X Y F
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0
Table 3: Truth table for the ir uit of the se ond example.
X F Y
Z
W
Figure 5: Cir uit produ ed by our MGA for the se ond example.
14
F
F
MGA
) (( + )( )))0 7 gates 2 ANDs, 2 ORs, 2 XORs, 1 NOT
= (( + W
XY
X
Y
X
Z
Human Designer 1
)) + (( )( )) 11 gates 4 ANDs, 1 OR, 2 XORs, 4 NOTs
= ((
0 Z X
)(
0 0 Y W
0 X Y
Z
0 W
F
=(
WY X
0
NGA
(( + ) ( + + )))0 W
Y
Z
F
=
0 X
Sasao
0 0 Y W
0 0
XY Z
n
gates than the ir uit produ ed by the NGA or the MGA. Sin e this example has 16 outputs, there are 17 obje tives for the MGA. A population size of 170 was enough to solve this ir uit. The maximum number of generations in this ase (for both the MGA and the NGA) was set to 400. The MGA found a solution with a tness value of 34 (i.e., a ir uit with 7 gates) 15% of the time, and solutions with 8 gates were found 25% of the time. The MGA produ ed feasible ir uits 100% of the time. The average tness of the 20 runs performed was 32.1, with a standard deviation of 1.252366. The graphi al representation of the best solution found is depi ted in Figure 5. The best solution that the NGA ould nd using the same population size had a tness of 31 (i.e., a ir uit with 10 gates), and it appeared only on e in the 20 runs performed. Also, 95% of the time, the best solution found was infeasible. The average tness of these 20 runs was 15.55, with a standard deviation of 3.677456. Example 3
Our third example has 4 inputs and one output, as shown in Table 5. A matrix of the same size as before was used (i.e., 5 5). The omparison of the results produ ed by the MGA, the NGA and two human designers (the rst, using Karnaugh Maps and the se ond using the Quine-M Cluskey Pro edure) are shown in Table 6. Sin e this example has 16 outputs, there are 17 obje tives for the MGA. We used a sub-population size of 10 (total population size of 170). We set the maximum number of generations to 400. The MGA found a solution with a tness value of 34 (i.e., a ir uit with 7 gates) 35% of the time, and it produ ed feasible ir uits 100% of the time. The average tness of the 20 runs performed was 33.1, with a standard deviation of 0.768114. The graphi al representation of the best solution found by the MGA is depi ted in Figure 6. 15
Y
0
0
X Y W
12 gates 3 XORs, 5 ANDs, 4 NOTs
Table 4: Comparison of the best solutions found by the - ardinality GA (NGA), our multiobje tive geneti algorithm (MGA), a human designer (using Karnaugh Maps), and Sasao for the ir uit of the se ond example. A population size of 170 was used with both GAs.
7.3
X
10 gates 2 ANDs, 3 ORs, 3 XORs, 2 NOTs
Z
A B C D F
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1
Table 5: Truth table for the ir uit of the third example.
A F
B
C
D
Figure 6: Cir uit produ ed by our MGA for the third example.
16
MGA
F
= (( ) + )0 + (( ) ( + )) 7 gates 1 AND, 2 ORs, 3 XORs, 1 NOT A
D
C
B
D
A
D
NGA
F
= ( )0 ((( ) ( )) + (( + ) )) 8 gates 2 ORs, 5 XORs, 1 NOT A
B
A
B
B
D
B
C
A
Human Designer 1
F
= (( ) (( A
)( + ))) + (( + ) + )0 9 gates 2 ANDs, 4 ORs, 2 XORs, 1 NOT B
AD
B
C
A
C
D
Human Designer 2
+ ( 0 0+ 0 ) 10 gates 4 ANDs, 2 ORs, 4 NOTs
F
=
0
A B
A B D
C D
Table 6: Comparison of the best solutions found by the - ardinality GA (NGA), our multiobje tive geneti algorithm (MGA), and two human designers for the ir uit of the third example. A population size of 170 was used with both GAs. n
On the other hand, the best solution that the NGA ould nd using the same population size of 170 had a tness of 33 (i.e., a ir uit with 8 gates). This solution appeared only on e in the 20 runs performed. In most ases (95% of the runs performed), the best solution found was infeasible. The average tness of these 20 runs was 15.55, with a standard deviation of 3.677456215. 7.4
Example 4
Our fourth example has 4 inputs and 4 outputs, as shown in Table 7. A matrix of the same size as before was used (i.e., 5 5). Sin e this example has 64 outputs, there are 65 obje tives for the MGA. A sub-population size of 10 (i.e., total population size of 650), was suÆ ient for the MGA. The maximum number of generations in this ase (for both the MGA and the NGA) was set to 500. The MGA found a solution with a tness value of 82 (i.e., a ir uit with 7 gates) 15% of the time, and it produ ed feasible ir uits 100% of the time. The average tness of the 20 runs performed was 80.4, with a standard deviation of 1.142481141. The graphi al representation of the best solution found by the MGA is depi ted in Figure 7. On the other hand, the best solution that the NGA ould nd using the same population size of 650 had a tness of 80 (i.e., a ir uit with 9 gates). This solution appeared only twi e in the 20 runs performed. In most ases (70% of 17
A1 A0 B1 B0 C3 C2 C1 C0
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0
0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0
0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
Table 7: Truth table for the 2-bit multiplier of the fourth example.
C0 A1 C1 A0 C2 B1 C3 B0
Figure 7: Cir uit produ ed by our MGA for the fourth example.
18
A
F1
B
F2
C F3 D
Figure 8: Cir uit produ ed by our MGA for the fth example. the runs performed), the best solution found was infeasible. The average tness of these 20 runs was 66.65, with a standard deviation of 7.638372657. The omparison of the results produ ed by the MGA, the NGA, two human designers, and Miller et al. (1997) are shown in Table 8. It should be mentioned that Miller et al. (1997) onsidered their solution to ontain only 7 gates be ause of the way in whi h they en oded their Boolean fun tions (the reason is that they en oded NAND gates in their representation). However, sin e we onsidered ea h gate as a separate hromosomi element, we ount ea h of them, in luding NOTs that are asso iated with AND & OR gates. Regardless of that fa t, it is more important to point out that Miller et al. (1997) found their solution with runs of 3,000,000 tness fun tion evaluations ea h, whereas in our ase, we performed runs of only 325,000 evaluations ea h. 7.5
Example 5
Our fth example has 4 inputs and 3 outputs, as shown in Table 9. In this
ase, the matrix used was of size 6 7, and the hromosomi length was 126 ( = 6 = 7 = 6 7 = 42 = 3 = 126). The ardinality = ( )=6 The size of the intrinsi sear h spa e for this problem is = 6126 1 1 1098 . The omparison of the results produ ed by the MGA, the NGA, and two human designers are shown in Table 10. Sin e this example has 48 outputs, there are 49 obje tives for the MGA. A sub-population size of 10 (i.e., total population size of 490), was suÆ ient for the MGA. The maximum number of generations in this ase (for both the MGA and the NGA) was set to 2000. The MGA found a solution with a tness value of 81 (i.e., a ir uit with 9 gates) 15% of the time, and it produ ed feasible ir uits 100% of the time (55% of the time, the MGA found better solution than the best found by the NGA). The average tness of the 20 runs performed was 78.9, with a standard deviation of 1.020835571. The graphi al representation of the best solution found by the MGA is depi ted in Figure 8. r
;q
;t
;l
t
19
l
max r; g :
MGA
=
C0
=
C1
C2
=
A 0 B0
A0 B1
A 1 B1
(
A1 B0
A0 B0 A1 B1
= 0 0 1 1 7 gates 5 ANDs, 2 XORs C3
)
A B A B
NGA
C1
= C2
C0
=
A1 A0 B0 B1
=(
A 0 B0
+
A 0 B0
(
A 0 B1
A 1 B1
)
+
A1 B0
)
A0 B0
= 1 1 0 0 9 gates 5 ANDs, 2 ORs, 2 XORs C3
A B A B
Human Designer 1
0 = 0 0 = 0 1 1 0 0 2 = 1 1( 0 0) 3 = 1 0 1 0 8 gates 6 ANDs, 1 XORs, 1 NOT C
A B
C1
A B
C
A B
C
A B
A B
A A B B
Human Designer 2
C1
0 = 0 0 = ( 1 + 0 )( 1 + 0 )(( 1 0 ) ( 1 0 )) 0 2 = 1 1( 0 0) 3 = 1 1 0 0 12 gates 8 ANDs, 1 XOR, 2 ORs, 1 NOT B
B
C
A B
A
A
C
A B
C
A A
B B
A B
A B A B
Miller et al.
0 = 0 0 = 1 0 0 1 0 2 = ( 0 0) ( 1 1) 0 3 = ( 1 0 0 1) ( 1 0) 9 gates 6 ANDs, 1 XORs, 2 NOTs C
C1
C
C
A B
A B
A B
A B
A B
A B
A B
A B
Table 8: Comparison of the best solutions found by the - ardinality GA (NGA), our multiobje tive geneti algorithm (MGA), two human designers, and Miller et al. for the ir uit of the fourth example. A population size of 650 was used with both GAs. n
20
A B C D F1 F2 F3
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0
Table 9: Truth table for the ir uit of the fth example. On the other hand, the best solution that the NGA ould nd using the same population size of 490 individuals had a tness of 78 (i.e., a ir uit with 12 gates). This solution appeared only on e in the 20 runs performed. In most ases (80% of the runs performed), the best solution found was infeasible. The average tness of these 20 runs was 52.15, with a standard deviation of 11.92641915.
8
Dis ussion of Results
Sin e one of the main aspe ts of the approa h proposed in this paper is its apability to improve the eÆ ien y of the GA to design ombinational ir uits, we de ided to perform another omparison in whi h we analyzed the omputational
ost required by our original NGA and our proposed MGA to obtain equivalent results (in terms of optimality). The analysis was ondu ted on the ve examples presented in this paper, and onsidering only the minimum number of tness fun tion evaluations required (\minimum" in this ase refers to the ombination of population size and maximum number of generations that produ ed the lowest result when multiplied). Sin e the best results in all ases orrespond to the MGA, we established a methodology to try dierent parameters for the NGA, so that we ould rea h similar results (our methodology was similar to the one des ribed in previous work (Coello 2000)). The omparison of omputational osts for the MGA and the NGA (rea hing the best results reported in this paper for ea h of the ve examples hose) is 21
MGA
1 = (( ) + ( ))0 3 = (( ) + ( ))((( ) + ( )) )) 2 = 3 (( ) + ( )) 9 gates 3 XORs, 3 ORs, 2 ANDs, 2 NOTs F
F
B
B
D
A
F
D
A
C
F
A
B
C
C
D
A
A
B
C
C
NGA
1 = (( ) + ( ))0 2 = (( ) + ( )) (( ) + ( ))(( + ( ))0 + ( 0 + )0) 3 = (( ) + ( ))(( + ( ))0 + ( 0 + )0 ) 12 gates 3 XORs, 4 ORs, 1 AND, 4 NOTs F
F
B
D
F
A
B
B
C
B
D
A
D
A
D
A
C
D
C
C
D
A
C
A
C
A
A
C
C
Human Designer 1
1 = ( ) 0 ( )0 2= 0 ( 0+ )+ 0 3 = 0( + 0) + 0 19 gates 2 XORs, 4 ORs, 7 ANDs, 6 NOTs F
A
C
F
B D A
F
BD
A
B
C
C
D
A C AC
Human Designer 2
1 = ( ) 0 ( )0 2 = 0 + ( )0 ( 0 ) 3 = ( 1 + 2)0 13 gates 2 XORs, 2 ORs, 4 ANDs, 5 NOTs F
F
A
C
A C
F
B
A
F
C
D
B D
F
Table 10: Comparison of the best solutions found by the - ardinality GA (NGA), our multiobje tive geneti algorithm (MGA), and two human designers for the ir uit of the fth example. A population size of 490 was used with both GAs. n
Example No.
1 2 3 4 5
MGA
NGA
27,000 27,000 68,000 500,000 68,000 600,000 325,000 600,000 980,000 5,600,000
Table 11: Comparison of the number of tness fun tion evaluations required to rea h the optimum by ea h of the two GA-based approa hes ompared in this paper. 22
presented in Table 11. In all ases, the number of tness fun tion evaluations indi ated orrespond to the omplete run of the GA (even if, like in most ases,
onvergen e to the best result obtained was a hieved before rea hing the last generation). It an be learly appre iated that the MGA outperforms the NGA in most ases. The dieren e in terms of performan e, be omes more signi ant as we attempt to solve more omplex ir uits. We believe that the good performan e obtained with this algorithm is mainly due to an emergent behavior obtained from the ooperation of the dierent subpopulations aiming to satisfy a simple goal. This line of thought is onsistent with the re ent work by Potter & DeJong (2000), a
ording to whi h the resolution of omplex problems with evolutionary algorithms requires a ooperative eort. Additionally, the urrent te hnique an also be onsidered a variation of the divide-and- onquer approa h to evolvable hardware suggested by Torresen (1998). In this approa h, a system is evolved through its smaller omponents. Only that in our ase, these smaller omponents happen to be individual outputs of a ir uit. Torresen (1998) also showed that a s heme of this sort ould substantially redu e the omputational power required to evolve a system.
9
Con lusions and Future Work
We have proposed a multiobje tive optimization te hnique to design ombinational logi ir uits. The proposed approa h uses a population-based te hnique to split the sear h task among several (small) sub-populations. The approa h
ompared well with respe t to two human designers, and a previous GA developed by us whi h uses and - ardinality alphabet and a two-stage tness fun tion. Our approa h, alled MGA, onsistently found better solutions than the human designers, and was able to nd the same or even better solutions than our previous GA ( alled NGA), using a lower number of tness fun tion evaluations. The proposed approa h seems very suitable for parallelization, and that will probably be a path of resear h that we will explore in the near future. Also, we are interested in oupling this approa h with another system based on geneti programming that is urrently under development. We aim to bene t from a more powerful hromosomi representation while keeping an eÆ ient sele tion me hanism. Finally, we are interested in extra ting design patters from the solutions generated by our GA. We are urrently studying the use of ase-based reasoning (CBR) to do this (Kolodner 1993). Regarding this resear h area, it is important to add that Louis (1993) also ondu ted a study of the use of CBR te hniques to extra t design patterns from a GA. In his dissertation, Louis tested his CBR system with a 5-bit parity he ker (Louis 1993). Some related work has also been done re ently by Thomson (2000), but using a visual approa h instead of CBR. n
23
10
A knowledgements
The rst author a knowledges partial support from REDII-CONACyT and from CONACyT proje t I-29870 A. The se ond author a knowledges support for this work to DoD EPSCoR and the Board of Regents of the State of Louisiana under grant F49620-98-1-0351
Referen es Brayton, R. K., Ha htel, G. D., M Mullen, C. T. & Sangiovanni-Vin entelli, A. L. (1984), Logi Minimization Algorithms for VLSI Synthesis, Kluwer A ademi Publishers, Dordre ht, The Netherlands. Brayton, R. K., Rudell, R., Sangiovanni-Vin entelli, A. & Wang, A. R. (1987), `MIS: A multiple-level logi optimization system', IEEE Transa tions on Computer-Aided Design CAD-6 (6), 1062{1081. Brzozowski, J. A. & Yoeli, M. (1976), Digital Networks, Prenti e Hall, Englewood Clis, New Jersey. Camponogara, E. & Talukdar, S. N. (1997), A Geneti Algorithm for Constrained and Multiobje tive Optimization, in J. T. Alander, ed., `3rd Nordi Workshop on Geneti Algorithms and Their Appli ations (3NWGA)', University of Vaasa, Vaasa, Finland, pp. 49{62. Chankong, V. & Haimes, Y. Y. (1983), Multiobje tive De ision Making: Theory and Methodology, Systems S ien e and Engineering, North-Holland. Coello, C. A. C. (1996), An Empiri al Study of Evolutionary Te hniques for Multiobje tive Optimization in Engineering Design, PhD thesis, Department of Computer S ien e, Tulane University, New Orleans, LA. Coello, C. A. C. (1999), `A Comprehensive Survey of Evolutionary-Based Multiobje tive Optimization Te hniques', Knowledge and Information Systems. An International Journal 1(3), 269{308. Coello, C. A. C. (2000), `Treating Constraints as Obje tives for Single-Obje tive Evolutionary Optimization', Engineering Optimization 32(3), 275{308. Coello, C. A. C., Christiansen, A. D. & Aguirre, A. H. (1997), Automated Design of Combinational Logi Cir uits using Geneti Algorithms, in D. G. Smith, N. C. Steele & R. F. Albre ht, eds, `Pro eedings of the International Conferen e on Arti ial Neural Nets and Geneti Algorithms', SpringerVerlag, University of East Anglia, England, pp. 335{338. Coello, C. A. C., Christiansen, A. D. & Aguirre, A. H. (2000), `Use of Evolutionary Te hniques to Automate the Design of Combinational Cir uits', International Journal of Smart Engineering System Design 2(4), 299{314. 24
Deb, K. & Goldberg, D. E. (1989), An Investigation of Ni he and Spe ies Formation in Geneti Fun tion Optimization, in J. D. S haer, ed., `Pro eedings of the Third International Conferen e on Geneti Algorithms', George Mason University, Morgan Kaufmann Publishers, San Mateo, California, pp. 42{50. Fonse a, C. M. & Fleming, P. J. (1993), Geneti Algorithms for Multiobje tive Optimization: Formulation, Dis ussion and Generalization, in S. Forrest, ed., `Pro eedings of the Fifth International Conferen e on Geneti Algorithms', University of Illinois at Urbana-Champaign, Morgan Kauman Publishers, San Mateo, California, pp. 416{423. Fonse a, C. M. & Fleming, P. J. (1995), `An Overview of Evolutionary Algorithms in Multiobje tive Optimization', Evolutionary Computation 3(1), 1{ 16. Goldberg, D. E. (1989), Geneti Algorithms in Sear h, Optimization and Ma hine Learning, Addison-Wesley Publishing, Reading, Massa husetts. Harris, S. P. & Ifea hor, E. C. (1996), Nonlinear FIR Filter Design by Geneti Algorithm, in `1st Online Conferen e on Soft Computing'. Horn, J. (1997), Multi riterion De ision making, in T. Ba k, D. Fogel & Z. Mi halewi z, eds, `Handbook of Evolutionary Computation', Vol. 1, IOP Publishing Ltd. and Oxford University Press, pp. F1.9:1 { F1.9:15. Jimenez, F. & Verdegay, J. L. (1999), Evolutionary te hniques for onstrained optimization problems, in `7th European Congress on Intelligent Te hniques and Soft Computing (EUFIT'99)', Springer-Verlag, Aa hen, Germany. Kalganova, T. & Miller, J. (1999), Evolving more eÆ ient digital ir uits by allowing ir uit layout and multi-obje tive tness, in A. Stoi a, D. Keymeulen & J. Lohn, eds, `Pro eedings of the First NASA/DoD Workshop on Evolvable Hardware', IEEE Computer So iety Press, Los Alamitos, California, pp. 54{63. Kalganova, T., Miller, J. & Fogarty, T. (1998), Some Aspe ts of an Evolvable Hardware for Multiple-Valued Combinational Cir uit Design, in M. Sipper, D. Mange & A. Perez-Uribe, eds, `Pro eedings of the Se ond International Conferen e on Evolvable Systems (ICES'98)', Springer-Verlag, Lausanne, Switzerland, pp. 78{89. Karnaugh, M. (1953), `A Map Method for Synthesis of Combinational Logi Cir uits', Transa tions of the AIEE, Communi ations and Ele troni s 72 (I), 593{599. Kolodner, J. (1993), Case-Based Reasoning, Morgan Kaufmann Publishers. 25
Louis, S. J. (1993), Geneti Algorithms as a Computational Tool for Design, PhD thesis, Department of Computer S ien e, Indiana University. Louis, S. J. & Rawlins, G. J. (1991), Using Geneti Algorithms to Design Stru tures, Te hni al Report 326, Computer S ien e Department, Indiana University, Bloomington, Indiana. Louis, S. J. & Rawlins, G. J. E. (1993), Pareto Optimality, GA-easiness and De eption, in S. Forrest, ed., `Pro eedings of the Fifth International Conferen e on Geneti Algorithms', Morgan Kaufmann Publishers, University of Illinois at Urbana-Champaign, pp. 118{123. M Cluskey, E. J. (1956), `Minimization of Boolean Fun tions', Bell Systems Te hni al Journal 35 (5), 1417{1444. Miller, J. F., Job, D. & Vassilev, V. K. (2000), `Prin iples in the Evolutionary Design of Digital Cir uits|Part I', Geneti Programming and Evolvable Ma hines 1(1/2), 7{35. Miller, J. F., Thomson, P. & Fogarty, T. (1997), Designing Ele troni Cir uits Using Evolutionary Algorithms. Arithmeti Cir uits: A Case Study, in D. Quagliarella, J. Periaux, C. Poloni & G. Winter, eds, `Geneti Algorithms and Evolution Strategy in Engineering and Computer S ien e', Wiley, Chi hester, England, pp. 105{131. Miller, J., Kalganova, T., Lipnitskaya, N. & Job, D. (1999), The Geneti Algorithm as a Dis overy Engine: Strange Cir uits and New Prin iples, in `Pro eedings of the AISB Symposium on Creative Evolutionary Systems (CES'99)', Edinburgh, UK. Osy zka, A. (1985), Multi riteria optimization for engineering design, in J. S. Gero, ed., `Design Optimization', A ademi Press, pp. 193{227. Pareto, V. (1896), Cours D'E onomie Politique, Vol. I and II, F. Rouge, Lausanne. Parmee, I. C. & Pur hase, G. (1994), The development of a dire ted geneti sear h te hnique for heavily onstrained design spa es, in I. C. Parmee, ed., `Adaptive Computing in Engineering Design and Control-'94', University of Plymouth, Plymouth, UK, pp. 97{102. Potter, M. & DeJong, K. (2000), `Cooperative oevolution: An ar hite ture for evolving oadapted sub omponents', Evolutionary Computation 8(1), 1{29. Quine, W. V. (1955), `A Way to Simplify Truth Fun tions', Ameri an Mathemati al Monthly 62 (9), 627{631. Sasao, T., ed. (1993), Logi Synthesis and Optimization, Kluwer A ademi Press. 26
S haer, J. D. (1985), Multiple Obje tive Optimization with Ve tor Evaluated Geneti Algorithms, in `Geneti Algorithms and their Appli ations: Pro eedings of the First International Conferen e on Geneti Algorithms', Lawren e Erlbaum, pp. 93{100. Surry, P. D. & Rad lie, N. J. (1997), `The COMOGA Method: Constrained Optimisation by Multiobje tive Geneti Algorithms', Control and Cyberneti s 26(3). Surry, P. D., Rad lie, N. J. & Boyd, I. D. (1995), A Multi-Obje tive Approa h to Constrained Optimisation of Gas Supply Networks : The COMOGA Method, in T. C. Fogarty, ed., `Evolutionary Computing. AISB Workshop. Sele ted Papers', Le ture Notes in Computer S ien e, SpringerVerlag, SheÆeld, U.K., pp. 166{180. Thompson, A., Layzell, P. & Zebulum, R. S. (1999), `Explorations in Design Spa e: Un onventional Ele troni s Design Through Arti ial Evolution', IEEE Transa tions on Evolutionary Computation 3(3), 167{196. Thomson, P. (2000), Cir uit Evolution and Visualisation, in J. Miller, A. Thompson, P. Thomson & T. C. Fogarty, eds, `Evolvable Systems: From Biology to Hardware', Springer-Verlag, Edinburgh, S otland, pp. 229{240. Torresen, J. (1998), A Divide-and-Conquer Approa h to Evolvable Hardware, in M. Sipper, D. Mange & A. Perez-Uribe, eds, `Pro eedings of the Se ond International Conferen e on Evolvable Systems (ICES'98)', Springer-Verlag, Lausanne, Switzerland, pp. 57{65. Veit h, E. W. (1952), `A Chart Method for Simplifying Boolean Fun tions', Pro eedings of the ACM pp. 127{133. Wilson, P. B. & Ma leod, M. D. (1993), Low implementation ost IIR digital lter design using geneti algorithms, in `IEE/IEEE Workshop on Natural Algorithms in Signal Pro essing', Chelmsford, U.K., pp. 4/1{4/8. Zebulum, R. S., Pa he o, M. A. & Vellas o, M. (1998), A multi-obje tive optimisation methodology applied to the synthesis of low-power operational ampli ers, in I. J. Cheuri & C. A. dos Reis Filho, eds, `Pro eedings of the XIII International Conferen e in Mi roele troni s and Pa kaging', Vol. 1, Curitiba, Brazil, pp. 264{271.
27