3 research outputs found

    Memory with memory in genetic programming

    Get PDF
    We introduce Memory with Memory Genetic Programming (MwM-GP), where we use soft assignments and soft return operations. Instead of having the new value completely overwrite the old value of registers or memory, soft assignments combine such values. Similarly, in soft return operations the value of a function node is a blend between the result of a calculation and previously returned results. In extensive empirical tests, MwM-GP almost always does as well as traditional GP, while significantly outperforming it in several cases. MwM-GP also tends to be far more consistent than traditional GP. The data suggest that MwM-GP works by successively refining an approximate solution to the target problem and that it is much less likely to have truly ineffective code. MwM-GP can continue to improve over time, but it is less likely to get the sort of exact solution that one might find with traditional GP

    genetisch programmeren en codegroei

    Get PDF
    De complexiteit van de problemen waarmee een ingenieur heden in contact komt, neemt steeds toe. Hierdoor wordt de verleiding om een aantal concepten uit de biologie te lenen en zo het probleemoplossend vermogen van de ingenieur aan te scherpen, groter. Reeds vanaf 1960 probeert men computationele systemen te ontwerpen volgens de principes van Charles Darwin. Genetisch programmeren is zo een dergelijke evolutionaire optimalisatiemethode voor het automatisch creëren van computerprogramma's. Echter, wanneer genetisch programmeren wordt gebruikt om steeds complexere taken op te lossen, vertonen deze programma’s een steeds sterker wordende drang om te groeien (codegroei). Het doel van dit werk is de bestrijding van codegroei in al zijn facetten. Het eerste deel van dit werk omvat de ontwikkeling van een nieuwe methode om codegroei te bestrijden zonder de kwaliteit van de geëvolueerde computerprogramma's negatief te beïnvloeden. Deze methode gaat op zoek naar geschikte deelprogramma’s waarbij aan een aantal voorwaarden moet worden voldaan. Een tweede luik van dit werk bestaat uit de ontwikkeling van adaptieve methoden om codegroei te bestrijden. Deze sturingsalgoritmen hebben als primair doel de instellingen voor de gebruiker te beperken en te vereenvoudigen alsook om probleemafhankelijkheden weg te werken. Dankzij codegroei hebben programma's de neiging om overgespecialiseerd te raken. In het derde deel ontwikkelen we een strategie om nieuwe testvoorbeelden aan te maken. We evalueren tevens de invloed die de nieuw ontwikkelde codegroei begrenzer uitoefent op de robuustheid van de bekomen oplossingen

    Function choice, resiliency and growth in genetic programming

    No full text
    corecore