An Investigation Into Evolutionary Art
Using Cartesian Genetic Programming
Evolutionary Art with Cartesian Genetic Programming (submitted for EvoMusArt2004)
My Original Dissertation (web version)
Java classes for Evolutionart (my evolutionary art program)
What is Evolutionary Art?
The idea is to use genetic algorithms (GA) to evolve images (or music, or whatever) based on their aesthetics, instead of the usual algorithmically-rigid fitness function. The origins of aesthetic evolutionart computation can be traced back to Richard Dawkin's book, "The Blind Watchmaker", in which he introduced Biomorphs. These went on to influence the famous and impressive work by Karl Sims, William Latham and more recently Steven Rooke. Unlike the majority of evolutionary computation, the fitness function (at least in the majority of the cases) is provided by a user who picks their 'favourite' individuals for reproduction.
Cartesian Genetic Programming (CGP) was developed by Julian Miller and uses a network of nodes to achieve an input to output mapping. Each node consists of a number of inputs, which are used as parameters in a determined mathematical or logical function (e.g. plus, AND, cosine) to create the node output. The functionality and connectivity of the nodes are stored as a string of numbers (the genotype) and evolved to achieve the optimum, or in this case 'most aesthetically pleasing' mapping.
For my purposes the network has two inputs, the x and y pixel co-ordinate. Three outputs from the graph give the red, green and blue colour constituents for the given pixel.
There are a few evolved images on-site. Birmingham University has a page featuring my project as an example of students work, on which can be found several animations created using my software. The full version of the results section from my dissertation can be found here.