Cartesian genetic programming (CGP) is a form of genetic programming where candidate programs are represented in the form of directed acyclic graphs. It was shown that CGP can be accelerated using coevolution with a population of fitness predictors which are used to estimate the quality of candidate solutions. The major disadvantage of the coevolutionary approach is the necessity of performing many time-consuming experiments to determine the best size of the fitness predictor for the particular task. This project introduces a new fitness predictor representation with phenotype plasticity, based on the principles of colearning in evolutionary algorithms. Phenotype plasticity allows to derive various phenotypes from the same genotype. This allows to adapt the size of the predictors to the current state of the evolution and difficulty of the solved problem. The proposed algorithm was implemented in the C language and optimized using SSE2 and AVX2 vector instructions. The experimental results show that the resulting image filters are comparable with standard CGP in terms of filtering quality. The average speedup is 8.6 compared to standard CGP. The speed is comparable to standard coevolutionary CGP but it is not necessary to experimentally determine the best size of the fitness predictor while applying coevolution to a new, unknown task
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.