Dissertação
Programação genética cartesiana com recombinação e mutação guiada aplicada ao projeto de circuitos lógicos combinacionais
Autor
Silva, José Eduardo Henriques da
Institución
Resumen
Several approaches are found in the literature regarding the use of evolutionary computational
techniques for the digital circuits design. However, the scalability problem
remains a bottleneck for evolvable hardware. These techniques have proved promising for
nding designs di erent from those of human conception. Among the digital circuits, the
combinational logic ones comprise a large part including arithmetic circuits (multipliers
and adders), comparators, among others. The Cartesian Genetic Programming (CGP) is
pointed out as the most e cient evolutionary method for the digital circuits design. The
use of CGP in the design of combinational logic circuits is addressed here, as well as the
proposal of methods to assist it. The main contributions are: (i) a study of CGP's di culties
in obtaining feasible circuits, (ii) a recombination operator, (iii) a mutation operator
acting on the worst individuals' subgraph , called Guided Active Mutation (GAM), (iv) an
approach that modi es the Evolutionary Strategy (ES) commonly used in CGP, operating
with two mutation strategies, (v) the use of multiplexers as a logical element in the CGP
function set, and (vi) a new evolving method of logic circuits in three stages by coupling a
multiplexer with two inputs in each circuit output. The computational experiments that
validated the proposed methods were composed of problems widely used in the literature
and benchmark circuits. In the experiments using recombination, this operator shown to
be important to increase the amount of feasible circuits and, when combined with GAM
mutation operator and the modi cation of ES, to decrease the number of evaluations
necessary to obtain feasible solutions. In addition, approaches that use multiplexers decreases
the number of evaluations needed to nd a feasible solution, and they were able
to evolve circuits with more inputs than traditional methods. Diversas abordagens são encontradas na literatura no que tange ao uso de técnicas
de computação evolucionista para o projeto de circuitos digitais. Entretanto, o problema
da escalabilidade continua sendo um gargalo para o hardware evolutivo. Estas técnicas
mostraram-se promissoras por encontrar projetos que fogem a concepção humana. Dentre
os circuitos digitais, os lógicos combinacionais compreendem uma grande parte, incluindo
circuitos aritméticos (somadores e multiplicadores), comparadores, entre outros. A Programação Genética Cartesiana (CGP) e apontada como o método evolutivo mais e ciente
para o projeto de circuitos digitais. O uso da CGP no projeto de circuitos lógicos combinacionais
e abordado aqui, al em da proposta de métodos para auxilia-la. As principais
contribuições: (i) um estudo sobre as difculdades da CGP na obtenção de circuitos
factíveis, (ii) um operador de recombinação, (iii) um operador de mutação que age no pior
subgrafo da CGP, denominado Guided Active Mutation(GAM), (iv) uma abordagem que
módica a Estratégia Evolutiva (ES) comumente usada na CGP passando a operar com
duas estratégias de mutação, (v) o uso de multiplexadores como elemento lógico no conjunto
de funções da CGP, e (vi) um novo método de evolução de circuitos lógicos em três
etapas através do acoplamento de um multiplexador de duas entradas em cada uma das do circuito. Os experimentos computacionais que validaram os métodos propostos
foram compostos de problemas largamente utilizados na literatura e de circuitos benchmark.
Nos experimentos realizados, o operador de recombina c~ao mostra-se importante
para o aumento da quantidade de circuitos factíveis encontrados e, quando combinado
com o operador de mutação GAM e a modificação da ES, para a diminuição no número
de avaliações necessárias para obter soluções factíveis. Além disso, as abordagens que utilizam
multiplexadores, além de também diminuir o numero de avaliações necessárias para
obter factibilidade, foram capazes de evoluir circuitos com maior quantidade de entradas
do que os métodos tradicionais. PROQUALI (UFJF)