Creating Images with Self-Modifying Cartesian Genetic Programming
MetadataShow full item record
Self-Modifying Cartesian Genetic Programming (SMCGP) is a form of genetic programming where the program can modify itself. This ability to modify itself is thought to make the program do more complex calculations from a simple starting point. Since its creating SMCGP has been used to solve a smaller set of problems and its ability to self modify has given good results. In this thesis SMCGP s ability to create images is explored. This is done by having an evolutionary algorithm use SMCGP to look for images. Images are split into four groups: single colored image, simple pattern image, complex pattern image and random noise image, and the system is trying to create an image for each group. Should this be possible, then the system has shown it can create a wide variety of images with different properties. The self-modification part is explored by seeing if there s a correlation between the initial graph size and the final product as well as taking a look at whether this property helps evolution or not. A framework to create images using SMCGP has been created for this thesis and all experiments that have been run have used this framework. Experiments show, that by having a simple fitness function to tell the framework if the graph produces and image that is closer or further away form a desired result, images in all four groups are easily found. The ability for the graph to self-modify does seem to help with evolution. These experiments were run with graphs that had different amount of nodes in them at the start, and even the smallest graphs were able to create all desired images. This shows that the initial graph size is not the defining factor in the complexity of the resulting image.