EvoEco | interactive applet | dynamic gallery | image gallery | about

About EvoEco

EvoEco is an interactive evolutionary algorithm, meaning that it is an example of a simplified model of evolution, where "organisms" (individual animated drawings) compete to survive. Initially, a collection of organisms are created randomly, and hence often appear trivial or arbitrary. At each generation, one particular organism is chosen by the user to form the basis of the next generation. That organism is used to create a new population of organisms which use a similar but slightly altered program to generate new images. As generations proceed, images which correspond to a user's preferences emerge.

An organism, under the hood, consists of an simple model ecosystem: several agents, each one pixel large, move and paint in a colour-world. They view a small neighbourhood of pixels around them, and via a genetic program, decide what to do next: which colour to paint, and in which direction to move. Organisms can be "bred" by using sub-components of their programs to create a new program: for instance, mixing agents from different organisms, or swapping portions of their genetic programs.

Each EvoEco organism is an example of a generative system, meaning that a final image is generated from a smaller program through a process, one which we visualize as an animation. This means that small changes to the program usually lead to similar images, but can potentially induce very large changes. Indeed, changing the size of the world in which the program is expressed can sometimes have dramatic effects on the result (you can do so in the interactive applet by clicking on Detailed View on an image in the History).

The particular generative process used to create the individual images is a simple model of ecosystemics. One cause of the diversity of forms of life is believed to be the emergence of ecosystems, where new forms of life evolve to exploit the new niches created by previous forms. Simple computer models of the interaction of species in a shared world quickly show life-like properties, and the spontaneous emergence of multi-level patterns. Because our generative process is based on ecosystemics, we can expect outcomes to have several properties, including the ability to generate novel and multi-scale patterns. This makes ecosystemic models well suited for the generation of art. One such system which was an inspiration to us was E-volver.

We created EvoEco as a means of testing several theories about electronic art and computational creativity via an online survey. Thus, we wanted a system which was both capable of generating pleasing images, but was also simple enough to be used by anyone without additional training. So, EvoEco is designed to be capable of running on any user's home machine, to use only a single click per generation, to fit into small screen resolutions, and so on. We believe that this is a meagre view of the sorts of artistic output a system like EvoEco could be capable of if a more robust and interactive user interface were created (for instance, the ArtiE-Fract UI allows designers to manipulate the organisms directly).

Explicit algorithms, and a discussion of our survey and results, can be found in our publications.


EvoEco and its outputs are © T. Kowaliw, A. Dorin, and J. McCormack, 2010-2012. We hereby give permission for the re-use and re-distribution of results for non-commercial purposes, under the condition that credit be given to us (including a link to this page or a reference to our paper), and that any modifications be noted. This page last modified August 2012.