artificial life
Chapter 7: The Genetic Images Application
7.4 Evolving the Images
The mechanism for actually mating and mutating the trees is conceptually the same as the methods used in the Symbolic Regression example in Chapter 6. The evaluation process is different in the Genetic Images system because it depends upon user interaction rather than a static evaluation function run by the computer.
The simplest way to use the Genetic Images Application is using mutation of a single parent for each population. When the application begins the user is presented with a grid of 64 genetic images. To generate a new population the user needs only to left-click on the image they feel to be the most interesting or beautiful of the population. A new generation, 1 copy and 63 mutated versions, is then generated and displayed on the grid. Some very interesting individuals can be generated using this method alone. Figure 7.5, 7.6 and 7.7 show examples of images generated in this fashion. Figure 7.5 is an image to be mutated, Figure 7.6 is a screenshot of the resulting population and Figure 7.7 is a detail of four of the most interesting children.

Figure 7.5 : A Genetic Image chosen for mutation

Figure 7.6 : Resulting Population

Figure 7.7 : Detailed Images of Four Mutant children
Figures 7.6 and 7.7 show the great variation capable of the Genetic Images system even within a single generation.
It is possible to analyze individual images by right clicking on the image in the Population Window. This causes a new Node Viewer Window to be opened. “Node” is another name for a function tree. When in the Node Viewer it is possible to save that image’s associated equation or to save the image as a bitmap by using the “File” menu and choosing the appropriate command. It is also possible to view the equation associated with the chosen image by choosing “View Equation” under the “View” menu. Figure 7.8 shows an image with its Equation window.

Figure 7.8 : Genetic Image and Associated Equation Window
After an equation is saved using the Node Viewer it is possible to reload the image through the Population Window using the “Load Genetic Image” command under the “File” menu.
It is possible to allow Genetic Images to mate by using the Parent Window. The Parent Window is accessible from the “File” menu in the main Population window. Using this command creates an empty window. Parent images are placed into this window by saving the equations in the Node Viewer window and then loading them into the Parent Window using the “Load Genetic Image” command under the File menu in the Parent window. After the user loads the desired images into the Parent Window the “Create New Population” command is used. This activates a dialog box that allows the user to choose crossover, mutation or both to generate a new population from the selected images. Figures 7.9, 7.10 and 7.11 show the parents and the result of using only crossover.

Figure 7.9 : Two Genetic Images Chosen to Mate

Figure 7.10 : Screenshot of Population Resulting from Crossover Operation

Figure 7.11 : Detailed Images of Four Children Produced from Crossover Operation
Visually many of these images have traits that are obviously taken from one parent or the other. This is similar to a child who is observed as having “his father’s eyes” or “his mother’s nose”. Some children are not recognizable in relation to their parent images; in these cases the functions trees have combined to create a completely new phenotype unique from the parents.