Dawkins by Evolution
Generation 58500 |
---|
Generation 40000 |
Generation 20000 |
Generation 10000 |
Generation 1000 |
Generation 1 |
'Dawkins by Evolution' is an image that has been generated by a genetic algorithm, attempting to recreate a photograph of Richard Dawkins (the famous and influential evolutionary biologist).
To produce the image a java program has been written which mimics the process of evolution, where a photograph of Richard Dawkins represents a fitness criteria, and an array of code that describes the position, size, color and transparency of an increasing number of circles represents a genome.
First the program randomly positions a circle on a canvas with a random colour, size and transparency, and then compares the resulting image with a Wikipedia Commons photograph (taken by David Shankbone) of Richard Dawkins. The program repeats this operation a hundred times, and then decides to keep several of the images that more closely resemble the photograph while discarding the rest.
Next it uses these images to produce another series of a hundred. These one hundred images all resemble the most successful images from the previous series (or generation), but with slight random alterations (or mutations). These images are compared to the same photograph again, several of the best ones are kept and the process repeates from generation to generation.
Once the program is no longer making progress with the provided number of circles it throws another random circle into the mix. Once 1000 circles have been used the painting is considered finished and the program closes (after just under 60,000 generations, taking over a week to complete on an old laptop).
This video > marks the evolutionary progress, showing the most successful image of every 50 generations in quick succession. Notice how the algorithm re-evaluates the position of earlier circles based on the influence of newer circles, in an apparently semi-intelligent manner (particularly at the early stages towards to corners of the image). Yet the design process is completely driven by random, 'blind' evolution.