Evolving images

We have seen previously three important things:

  1. Pictures can be generated from functions
  2. Functions can be represented as trees
  3. Trees can be "bred" together or mutated to produce new trees

With this information under our belt it will be easy to comprehend how the evolution of images works. Algorithmically we do the following

  1. Generate an initial population of random-function trees
  2. Generate their corresponding pictures
  3. Select the best looking pictures from the current generation
  4. Breed the underlying function trees of those selected
  5. The offspring become the new generation of pictures
  6. Goto 2

Thus we see that the evolution of images proceeds by repeatedly selecting and breeding the best looking pictures. After many hundreds of generations the images gradually improve and become more and more interesting as the underlying genetic forms (function-trees) are evolved.

The process of aesthetic evolution is illustrated below:



In practice the above procedure is executed in a more flexible way; typically one maintains several repositories of good evolved images which can be bought into the current generation at any time. This allows, for example, images from separate runs of the above procedure to be bought together for breeding. One can imagine many branches of image histories which can be recombined at will. By being flexible we enable ourselves to generate amazing pictures.

Now that you understand the basics behind evolving images. Lets take a look at the results.