Programação genética cartesiana com recombinação e mutação guiada aplicada ao projeto de circuitos lógicos combinacionais - Silva, José Eduardo Henriques da (2019)
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.