8 research outputs found

    Gene expression programming for logic circuit design

    Get PDF
    Finding an optimal solution for the logic circuit design problem is challenging and time-consuming especially for complex logic circuits. As the number of logic gates increases the task of designing optimal logic circuits extends beyond human capability. A number of evolutionary algorithms have been invented to tackle a range of optimisation problems, including logic circuit design. This dissertation explores two of these evolutionary algorithms i.e. Gene Expression Programming (GEP) and Multi Expression Programming (MEP) with the aim of integrating their strengths into a new Genetic Programming (GP) algorithm. GEP was invented by Candida Ferreira in 1999 and published in 2001 [8]. The GEP algorithm inherits the advantages of the Genetic Algorithm (GA) and GP, and it uses a simple encoding method to solve complex problems [6, 32]. While GEP emerged as powerful due to its simplicity in implementation and exibility in genetic operations, it is not without weaknesses. Some of these inherent weaknesses are discussed in [1, 6, 21]. Like GEP, MEP is a GP-variant that uses linear chromosomes of xed length [23]. A unique feature of MEP is its ability to store multiple solutions of a problem in a single chromosome. MEP also has an ability to implement code-reuse which is achieved through its representation which allow multiple references to a single sub-structure. This dissertation proposes a new GP algorithm, Improved Gene Expression Programming (IGEP) which im- proves the performance of the traditional GEP by combining the code-reuse capability and simplicity of gene encoding method from MEP and GEP, respectively. The results obtained using the IGEP and the traditional GEP show that the two algorithms are comparable in terms of the success rate when applied on simple problems such as basic logic functions. However, for complex problems such as one-bit Full Adder (FA) and AND-OR Arithmetic Logic Unit (ALU) the IGEP performs better than the traditional GEP due to the code-reuse in IGEPMathematical SciencesM. Sc. (Applied Mathematics

    Explorations in Parallel Linear Genetic Programming

    No full text
    Linear Genetic Programming (LGP) is a powerful problem-solving technique, but one with several significant weaknesses. LGP programs consist of a linear sequence of instructions, where each instruction may reuse previously computed results. This structure makes LGP programs compact and powerful, however it also introduces the problem of instruction dependencies. The notion of instruction dependencies expresses the concept that certain instructions rely on other instructions. Instruction dependencies are often disrupted during crossover or mutation when one or more instructions undergo modification. This disruption can cause disproportionately large changes in program output resulting in non-viable offspring and poor algorithm performance. Motivated by biological inspiration and the issue of code disruption, we develop a new form of LGP called Parallel LGP (PLGP). PLGP programs consist of n lists of instructions. These lists are executed in parallel, and the resulting vectors are summed to produce the overall program output. PLGP limits the disruptive effects of crossover and mutation, which allows PLGP to significantly outperform regular LGP. We examine the PLGP architecture and determine that large PLGP programs can be slow to converge. To improve the convergence time of large PLGP programs we develop a new form of PLGP called Cooperative Coevolution PLGP (CC PLGP). CC PLGP adapts the concept of cooperative coevolution to the PLGP architecture. CC PLGP optimizes all program components in parallel, allowing CC PLGP to converge significantly faster than conventional PLGP. We examine the CC PLGP architecture and determine that performanc

    Desarrollo y simplificación de redes de neuronas artificiales mediante el uso de técnicas de computación evolutiva

    Get PDF
    [Resumen] Esta Tesis propone el uso de técnicas de Computación Evolutiva (CE) con el objetivo de automatizar el proceso de desarrollo de Redes de Neuronas Artificiales (RR,NN.AA.). Tradicionalmente, el desarrollo de RR.NN.AA. es un proceso lento, marcado por el gran trabajo que debe de realizar el experto. Por su parte, los métodos existentes para el desarrollo automatizado de RR.NN.AA. han sido analizados, y como resultado se han hallado una serie de carencias graves. Con el objetivo de paliar estas carencias, y de lograr un sistema totalmente automatizado en todas las etapas de desarrollo de RR.NN.AA., se propone el uso de dos técnicas de CE: Programación Genética (PG) y Algoritmos Genéticos (AA.GG.) para lograr un modelo que tenga dichas características. Los resultados obtenidos en los experimentos realizados, así como en la comparación del modelo desarrollado con los existentes, muestran una alta eficiencia del sistema desarrollado, así como una serie de ventajas tales como una optimización de las redes conseguidas.Esta Tesis propone el uso de técnicas de Computación Evolutiva (CE) con el objetivo de automatizar el proceso de desarrollo de Redes de Neuronas Artificiales (RR.NN.AA.). Tradicionalmente, el desarrollo de RR.NN.AA. es un proceso lento, marcado por el gran trabajo que debe de realizar el experto. Por su parte, los métodos existentes para el desarrollo automatizado de RR.NN.AA. han sido analizados, y como resultado se han hallado una serie de carencias graves. Con el objetivo de paliar estas carencias, y de lograr un sistema totalmente automatizado en todas las etapas de desarrollo de RR.NN.AA., se propone el uso de dos técnicas de CE: Programación Genética (PG) y Algoritmos Genéticos (AA.GG.) para lograr un modelo que tenga dichas características

    Reusing Code in Genetic Programming

    No full text
    In this paper we propose an approach to Genetic Programming based on code reuse and we test it in the design of combinational logic circuits at the gate-level. The circuits evolved by our algorithm are compared with circuits produced by human designers, by Particle Swarm Optimization, by an n-cardinality GA and by Cartesian Genetic Programming
    corecore