by Steve DiPaola

creativeGP - Evolving Creative Computer Programs using cGP

About :: Automatic Fitness Function :: Exploration Over Optimization :: System Goals & Uses :: Downloads

Source Darwin portrait (the fitness function image) followed by GP evolved portraits created via an automatic creative process.

This research uses creative evolutionary systems to explore computer creativity for various applications (in our first pass - evolving a family of abstract portrait panter programs). We use relatively new form of Genetic Programming (GP) called Cartesian Genetic Programming (CGP) first developed by Julian Miller . CGP uses typical GP Darwinian evolutionary techniques (crossover, mutation, and survival), but has several features that allow the GP system to favour creative solutions over optimized solutions including: accommodating for genetic drift where different genotypes (i.e. genetic codes or recipes) map to the same phenotype (i.e. the working computer program or individual), visual mapping modules and knowledge of a painterly colour space. Portrait painting was chosen for this project as it limits the creative space of all art paintings, weighs towards resemblance, and has a known portrait sitter/painter relationship well suited to explore computer creativity. This work with its specific goal of evolving portrait painter programs to create a portrait 'sparked' by the famous portrait of Darwin (the resemblance fitness function), speaks to the evolutionary processes as well as creativity, as seen by our early results in which the evolving programs use recurring, emergent and merged creative strategies to become good abstract portraitists. This technique has uses in computer creativity, art making as well as educational applications for hands-on understand of evolutionary and creative processes.

CGP allows different genotypes to map to the same phenotype, so if 'A' is
caught in a local maxima, 'genetic drift' can map to other genes outside that maxima.

Automatic Fitness Function
Most creative evolutionary systems, use a human (often the artist or viewer under interactive control) to make the aesthetic decisions after each population. In contrast, we are specifically researching creative evolutionary systems that use an automatic fitness function where the computer judges aesthetic or creativity fitness, which is a more open-ended research problem. Our main research direction is to explore computer creativity as a technique to better understand how human creativity works.

Exploration Over Optimization
Creative systems need to favour exploration over optimization, finding innovative or novel solutions over a preconceived notion of a specific optimal solution. Using CGP with genetic drift has a double benefit for our portrait painter program system. Evolutionary systems like ours are most creative when they use a simple function set of low-level components (as opposed to a complex parameterized set). This has the disadvantage of being more susceptible to being caught in local maximas because of the large search space. Genetic drift allows our system the potential to escape from local maxima but in addition, drift also allows our abstract portrait system to be more creative or novel in its evolutionary search as it is forced to drift to other plateaus.

System Goals
The goal of our first pass system (based on the work of Ashmore and Miller) is not to remake the portrait of Darwin, but to explore a family tree of related portraits which all share and pass-on painting strategies that are created through a blind evolutionary process. Most of Ashmore and Miller’s efforts involve initializing a population and then letting the user take over. Our initial prototype was based upon their approach, but expanded it with a more sophisticated similarity and creativity function, and revised their system for a portrait painter process. Our second iteration, which is the focus of the paper below, introduces a fitness function algorithm that incorporates the findings from creativity research discussed earlier, including contextual focus (a variable level of fluidity and control over different phases of the creative process). The fitness function varies fluidly from tightly focusing on resemblance (similarity to the sitter image, which in this case is the Darwin portrait), to swinging (based on functional triggers) toward a more associative process, intertwining, and at times contradicting, ‘rules’ of abstract portrait painting (details below). Different genotypes map to the same phenotype allows us to vary the degree of creative fluidity because it offers the capacity to move though the search space via genotype (small ordered movement) or phenotype (large movement but still related). For example, in one set of experiments this is implemented as follows: if the fittest individual of a population is identical to an individual in the previous generation for more than three iterations, other genotypes that map to this same phenotype are chosen over the current non-progressing genotype. The papers discuss other areas that we incorporated from research on creativity.

Our 2nd generation fitness function mimics human creativity by moving between
restrained focus (resemblance) to more unstructured associative focus
(resemblance + more ambiguous art rules of composition, tonality and color theory).

Two portrait programs taking randomly from the Darwin run that were mated
together to produce new paintings. Note how strategies have merged in the offspring.

We believe there are educational uses of the system for 'hands-on" interactive experimentation to learn how evolution works. While this is true for our portrait painting prototype where art museum patrons might explore artistic creativity in an interactive kiosk, but it can be extended into other areas. For instance we have begun working with the Vancouver Aquarium in Canada, planning out an interactive learning system prototype that evolves ocean creature locomotion and survival strategies, allowing children to understand and explore, in a playful and open-ended way, how ocean animals evolve differently. Our main research direction however is to keep exploring computer creativity as a technique to better understand how human creativity works. We have new work (w/ Master Student: Nathan Sorenson) using GP creativity techniques to look at creative level design creation in video games. Also the GP/Creativity/Darwin work has been displayed and discussed worldwide including Cambridge University (Darwin Festival), MIT Museum (featured piece in the largest science festival in the US), UofToronto and an invited talk at the National Gallery in London. See papers and main website below, or click on the Creativity tag for additional work.

Downloads and Links

Papers and Links
  Main Project Website WebLink: Main Evolved Portrait Painter Programs WebSite. w/ MIT Museum and Cambridge exhibtions
  Journal Paper PDF: DiPaola S, Gabora L,"Incorporating Characteristics of Human Creativity into an Evolutionary Art Algorithm", Genetic Programming and Evolvable Machines Journal, Vol 10, No 2, pp 97-110, 2009.

creativeGP Contact:

Steve DiPaola :: sdipaola @

Click on images for larger versions.