Genetic programming: on the programming of computers by means of natural selection
Genetic programming: on the programming of computers by means of natural selection
An Analysis of the Causes of Code Growth in Genetic Programming
Genetic Programming and Evolvable Machines
Accurate Replication in Genetic Programming
Proceedings of the 6th International Conference on Genetic Algorithms
Complexity Compression and Evolution
Proceedings of the 6th International Conference on Genetic Algorithms
Exons and Code Growth in Genetic Programming
EuroGP '02 Proceedings of the 5th European Conference on Genetic Programming
Introns in Nature and in Simulated Structure Evolution
Biocomputing and emergent computation: Proceedings of BCEC97
Function choice, resiliency and growth in genetic programming
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Resilient Individuals Improve Evolutionary Search
Artificial Life
Code growth, explicitly defined introns, and alternative selection schemes
Evolutionary Computation
Code growth in genetic programming
GECCO '96 Proceedings of the 1st annual conference on Genetic and evolutionary computation
Repeated patterns in tree genetic programming
EuroGP'05 Proceedings of the 8th European conference on Genetic Programming
Genetic programming for medical classification: a program simplification approach
Genetic Programming and Evolvable Machines
Hi-index | 0.00 |
This research examines the behavior of inoperative code (introns) in the evolution of genetically robust solutions. Genetically robust solutions are solutions that are less likely to be degraded by genetic operators, such as crossover. Previous work has shown that there is significant evolutionary pressure in favor of genetically robust solutions and that evolving programs adopt a number of strategies to increase genetic robustness, notably an increase in inoperative 'genes' (individual genetic units that don't influence fitness) and a preference for 'genes' with a relatively small effect on fitness.Here we examine the role of genes that cancel each other out. We find that allowing such 'canceling genes' leads to an overall increase in the rate of code growth, both through the inclusion of self-canceling code and through a general increase in introns. Finally, we find that the evolution generally follows a two-step process. Initially the operative code evolves rapidly to achieve a (near) optimal fitness. Then, the inoperative code begins to evolve most rapidly to increase robustness. In an extreme case of a problem that can be solved with no operative genes, individuals evolve by losing all operative genes and then losing all inoperative genes.