Skip to content
BY-NC-ND 3.0 license Open Access Published by De Gruyter March 10, 2015

Autonomous Evolution of Digital Art Using Genetic Algorithms

  • Amanda House EMAIL logo and Arvin Agah

Abstract

This paper applies a genetic algorithm (GA) to the autonomous evolution of digital art, eliminating the need for a human in the loop. Creative applications of GAs face the challenge of producing art or music to fit a wide range of human tastes. One approach is to use a human in the loop to determine the fitness function in order to direct the selection and evolution. Another approach, which this paper explores, is to define an objective fitness function to automate evolution without the need for human input. In this paper, several features of digital art are identified and used as the basis for fitness functions. The resulting images are recognizable for the intended evolution of the fitness function used. This indicates the potential of an approach to create more robust algorithmic fitness functions capable of evolving creative applications autonomously.

1 Introduction

A genetic algorithm (GA) is a type of search and optimization based on biological processes. Solutions are encoded into a string of binary numbers, and these representations are treated as chromosomes. The GA replicates natural selection in order to evolve better solutions. The GA uses systematic processes, implemented in ways that yield random results, and have been applied in a wide range of domains. These unique outputs have also attracted attention in applications for creative purposes. GAs and evolutionary computation techniques have been applied to evolving digital arts, in addition to applications within traditional fields of engineering, medicine, science, and mathematics.

The challenge in using a GA to evolve art comes from the fitness function, or the criteria for evaluation. As human tastes vary from person to person, one approach is to use a human in the loop for evaluation to direct evolution, i.e., the human computes the fitness function. While this approach produces art that is a good match for the specific user, it does not reveal much for future implementations of a creative artwork-producing GA. In addition, the human in the loop significantly influences the speed of the evolution process. Another approach is to define the fitness function, based on the fundamentals of art and design. This approach aims to identify characteristics of art that can be evolved to creative designs, without the need for continuous human interaction.

This paper uses an autonomous GA to create artistic designs, based on predetermined fitness functions. Particular aspects of art, such as color or symmetry, are focused on. For each experiment, one aspect is chosen as the criterion for evaluation. The GA evolves the images to better fit the chosen criterion. After the images have been improved, the designs are displayed graphically. Owing to the random element of the GA, the output of every experiment is unique.

2 Background and Related Work

2.1 Genetic Algorithms

The GA is inspired by genetics and natural selection [11, 20]. For each problem, the possible solutions are generally represented as strings of binary numbers. Each of these encoded solutions is called an individual. A group of individuals make up a population. The GA takes a population of individuals (random or predetermined selection), and evolves them through generations. To advance from one generation to the next, three main steps are implemented: selection, crossover, and mutation.

In selection, two individuals are chosen to be replicated. There are various ways to perform selection, including tournament selection, elitist selection, and roulette wheel selection. In each type, the basis for selection is the fitness. Every individual has an associated value called the fitness, which is determined by how well the solution solves the problem. In roulette wheel selection, every individual’s fitness is first evaluated. Then, the roulette wheel is weighted by the fitness. An individual with a higher fitness has a greater likelihood of being chosen. The two selected individuals are called the parents.

In crossover, the GA’s individuals are treated similarly to chromosomes from cellular biology. The selected parents are recombined to form two children. The crossover point is randomly chosen. Both the parents are divided into two segments: before and after the crossover point. The first child receives the genes before the crossover point from the first parent, and the genes after the crossover point from the second parent. The second child receives the reverse: the genes after the crossover point from the first parent, and the genes before the crossover point from the second.

The two children are placed into the pool of individuals for the next generation. Lastly, in mutation, zero or more random genes are flipped. If the original gene is a 0, it becomes a 1, or a 1 becomes a 0. The occasional mutation preserves diversity in the gene pool, and acts as a safeguard against becoming stuck in a local minimum/maximum. A small mutation probability ensures that mutation occurs sparingly.

The simple GA, with its three steps, is the template of the algorithm. The part that changes from application to application is the fitness function. The fitness function evaluates the fitness of the individual. The fitness function is commonly mathematical. The aspects that define a fit individual are determined, and implemented as an operation, which automatically evaluates the individuals. Another type of fitness function involves human in the loop. The interactive GA can utilize user evaluation as the fitness function.

The GA is run to a stopping condition, which varies by the application. A particular fitness value may be desired, or the goal might be to wait for the fitness to level off and converge to a maximum. As GAs frequently become computationally intense and could span multiple days, the stopping condition may also be an amount of time, or a preset number of generations.

GAs have advantages over other search methods, depending on the solution space to be searched. Hill climbing methods cannot be applied to discontinuous functions. If there are multiple peaks, they can converge to a local maximum and miss the global optima. An alternative is the random walk. However, random algorithms are time inefficient for large solution spaces. While GAs incorporate randomized steps, the search is not blindly random [11, 20].

2.2 Art

“Everything that is beautiful is orderly, and there can be no order unless things are in their right relation to each other. Of this right relation throughout the world beauty is born” [15]. These thoughts are similar to the view of the ancient Greeks. They led not only in philosophy, poetry, literature, and the visual arts, but in mathematics and science as well. In the classical period, people studied mathematical beauty in art [14]. Artists emphasized the importance of realism, studying the human body in order to more accurately sculpt marble. They became masters of proportion [4].

A revival of these ideas came in the European Renaissance. “In Renaissance Italy, the desire to know and to match the excellence of the ancients often engendered passionate endeavor” [13]. In their drive to match the old greats, artists used color and lighting to control their pieces. They applied mathematics in their paintings. Many artists were mathematicians, or one could say the mathematicians were artists. In either case, they studied geometry to better portray the depth and perspective of three dimensions onto a two-dimensional surface.

By the ancient Greek and Renaissance traditions, proportions and mathematics are intertwined with beauty. In contemporary painting, systematic techniques have been developed and used by artists. Composition refers to the arrangement of the elements of art, according to the principles of art [10]. The elements are line, value, shape, form, space, color, and texture. The principles are balance, contrast, movement, emphasis, pattern, proportion, and unity.

The elements of color, value, and shape relate to the designs explored in this paper. Colors are all created from the primary colors, which are red, yellow, and blue, in art. The shade of a color, from dark to light, is the value. Shapes are formed when lines combine. The principles of balance, pattern, and proportion are relevant in this work. Balance is the harmony that arises from the positioning of the elements. Pattern is the repetition of elements. Proportion is the harmony that arises from the relative sizes of the elements.

The notion of beauty is closely related to evaluating art. The link between mathematical precision and beauty, along with the systematic techniques employed by contemporary artists, suggest some type of fundamental unification, theory, or principle underlying art. This is a promising idea, which may lead to the possibility of writing optimal fitness functions that could result in aesthetically pleasing images to human viewers.

Just as the term art is notoriously difficult to define, the definition of an artist is uncertain as well [6]. This leads to the question of whether a GA can be an artist. Traditionally, art has been seen as meaningful because it is a product of human expression. “The artist must have the emotional side first,” declared Robert Henri, and “each individual artist’s work is … in language especially chosen by himself and devised best to express him” [15].

However, as technologies develop, people adapt to use them. At a certain point, technology becomes so ubiquitous that it is paid no attention. Paint and pencil, while hardly revolutionary, are still technology, now assimilated for ages. Computers may similarly become a ubiquitous tool; already, concept artists and animators rely heavily on machines. Perhaps gradually, computers could transition from tool to creator.

2.3 Related Work

The Drawing Evolver program uses an interactive GA to combine lines as strokes in drawings, resulting in a large variety of subtly different faces [1]. The fitness function is a user, whose choices determine the parents to be selected for crossover and mutation. Outside of GAs, under the wider class of evolutionary art, compositional pattern-producing networks have been used, in the evolution of three-dimensional objects [5] and a collaborative image evolution program, available online [25]. These two systems are also interactive, utilizing user feedback to evolve the designs.

The JNetic program can be run with user interaction, or automatically [2]. In the automatic evaluation mode, the color values of pixels are compared, between the target image and the current image. The images are made of vector graphics, which allow a variety for the basis of the images, including lines, circles, and rectangles. The next studies use only non-interactive GAs. One painting program by DiPaola and Gabora [7] uses a sitter image to generate a variety of similar images. The goal is not to replicate exact images, but to explore the capabilities of human-like creativity in a GA.

The approach used by Jones and Agah [18] is to evolve recognizable patterns in pixelated images without the need for human interaction. The fitness functions search for geometric shapes and structures in pixelated images. This is done by identifying the patterns of genes that lead to the graphical output of patterns, and using “masks” of the expected patterns to search the genomes for the characteristics.

Analysis of aesthetic measures has been carried out [12]. An evolutionary art system was run with the same parameters each time, except for the aesthetic measure of image quality, which was being tested. The four aesthetic measures, analogous to a GA’s fitness functions, are four different methods of quantifying the fitness of an image. The purpose of that work is not to only evolve images but also to analyze the algorithmic techniques of evaluation, and the success by human standards.

GAs have been used to create music as well as visual art. GenJam, which produces jazz solos, is an early program that uses an interactive GA [3]. The user listens to melodies and gives each a fitness value, which drives the rest of the algorithm. Recent works do not require user evaluation, and instead employ objective fitness functions. The program AMUSE generates melodies using a GA. It contains a user interface to obtain the parameters of evolution, but does not interact with the user during evolution. According to user satisfaction tests, the resulting melodies are comparable to those produced by amateur musicians [21].

Another study that generates jazz melodies uses an objective fitness function, by identifying the parameters of music, such as melody length, pitch intervals, and rhythmic placement of notes, to adjust [22]. The purposes of choosing not to use an interactive GA are for consistency in evaluation; efficiency, as human in the loop systems have a bottleneck for time; and to better understand the results. These all contribute to better research purposes, with the possibility of discovering more human-like creativity.

A program directed at student composers extends users’ melodies. It runs a GA, starting from a provided initial population, rather than a random population. The fitness functions were developed by analyzing a library of melodies, and identifying features. The characteristics of good melodies were assessed, and 21 features were chosen to evaluate. The categories of the features include pitch, tonality, contour, rhythmic, and patterns [26].

The popularity of art created by GAs has even spread outside research purposes. Demonstrations of genetic art have gone online, with the potential of reaching a wider audience. Numerous browser applets use Java plug-ins to evolve images for users [17, 24]. Other art GAs are available as projects for users to download to the desktop [8, 19]. Artists and programmers have generated images using GAs and posted their results online to share with interested audiences [9, 23].

3 Research Methodology

The GA used for the experiments is based on the three-step process of the simple GA. The implementation uses the weighted roulette wheel for the fitness function, and the single-point crossover. The GA is implemented in the Java language, and uses Swing to display the graphic outputs.

Four different classes of designs are generated. The classes are Concentric, Parallel, Pixels, and Canvas. Classes are defined to divide the different types of images that were generated. Images of the same class are similar to one another in terms of the individuals’ length and configuration. Visually, images of the same class can be identified by the number and sizes of ellipses in the frame. See Figure 1 for a comparison of all four classes.

Figure 1: Examples of the Image Representation for the (A) Concentric Class, (B) Parallel Class, (C) Pixels Class, and (D) Canvas Class.
Figure 1:

Examples of the Image Representation for the (A) Concentric Class, (B) Parallel Class, (C) Pixels Class, and (D) Canvas Class.

This section describes the image representation and image evaluation for all four classes. The image representation involves the encoding from the phenotype (visual designs) to genotype (binary strings, or the individuals). The image evaluation consists of the fitness functions. A complete list of fitness functions is shown in Table 1.

Table 1:

Complete List of Fitness Functions.

ClassIndex no.Fitness function
Concentric1Adjacent
2Diagonal
3Horizontal
4Vertical
Parallel5Adjacent
6Gradient
Pixels7Solid
8Column
9Quadrant
Canvas10Color All
11Color Circle
12Position Different Even
13Position Different Range
14Position Same
15Size Different Even
16Size Different Range
17Size Same

The complexity of writing the fitness functions is inherent to the creative application chosen. Humans all have different tastes in art and aesthetics, so a rigid computational fitness function will not produce results that are acceptable to all observers. To address this problem for creative applications, fitness functions are generally evaluated by a human in the loop. This is demonstrated by the examples in Section 2.3. However, while human-in-the-loop fitness functions gain robustness, they lose time efficiency. The time it takes for a human to manually evaluate the fitness of individuals can slow down each generation, for hundreds to thousands of generations.

The approach used here is to identify properties of art that can be manipulated by the GA. These properties included, for example, the color or symmetry. Rather than hardcoding the fitness functions with the particular type of color or symmetry, the parameters were left to be set at runtime. Before the GA begins, the program obtains the preferences of the user. These preferences are passed as parameters to cause the corresponding fitness functions to be set for the GA. This allows the GA to run without interruption, combining time efficiency with the robustness of human choice. This points to a general approach to writing algorithmic fitness functions, which can be applied to other applications in the arts, in order to generate solutions creatively.

3.1 Concentric

3.1.1 Image Representation

A visual example of the Concentric class is shown in Figure 1A. For one individual, the circle is split into four quarters and eight rings, totaling 32 sections. Each section is defined by four binary values, which are referred to as bits. The four bits determine the shade of the section. For the Concentric class, one color, namely, blue, is possible. The shades are determined by splitting the RGB spectrum in equally spaced increments, first by keeping the blue (B) component fixed and decreasing the red (R) and green (G) components to 0, and then decreasing the B component to 0. Mapping the groups of four bits to the sections on the circle relates the genotype to the phenotype. The first group of four bits defines the section in the centermost ring, on the upper right, of the circle. The second group of four bits defines the section to its left, the third group corresponds to the section below, and so on. As the gene goes from left to right, the corresponding section progresses counterclockwise toward the outside of the circle.

3.1.2 Image Evaluation

There are four fitness functions for the Concentric class: Adjacent, Diagonal, Horizontal, and Vertical. For each of the fitness functions, the common step is to loop through the genes of the individual, and convert each group of four bits into a base 10 number, ranging from 0 to 15. Then, the fitness function compares these decimal value shades of each section, and rewards the individuals based on the comparisons. This step is dependent on the specific fitness function.

Adjacent evolves different shades for the sections that share a border. The shades of the sections that share borders are checked, and rewarded proportionally to the difference between the shades. Diagonal, Horizontal, and Vertical evolve for diagonal symmetry, horizontal symmetry, and vertical symmetry, respectively. For the symmetry functions, each section is matched to another section along the diagonal, horizontal, or vertical axis of the circle. The fitness value is inversely proportional to the difference between the shades.

3.2 Parallel

3.2.1 Image Representation

One individual of the Parallel class appears visually as two rows of four circles. An example is shown in Figure 1B. The binary representation follows the same pattern as the Concentric class. As the Parallel class is eight circles, the individuals can be thought of as the genotypes of eight Concentric individuals concatenated together. Similar to the Concentric class, a group of four bits determines the shade of a circle. Within each circle, the positions of the segments progress in the same manner as the Concentric class. Outside the circles, as the gene goes from left to right, the sections correspond to the circles from left to right, then top to bottom.

3.2.2 Image Evaluation

The two fitness functions for the Parallel class are Adjacent and Gradient. Similar to the Concentric class, the first step is to convert the four bits of each section to a base 10 number. Then, the sections are compared, depending on the fitness function. Adjacent evolves neighboring sections to different colors. The fitness function is implemented the same way as the Adjacent fitness function in the Concentric class, with an added check for inter-circle borders. Gradient evolves the shades of the circles to follow a gradient from dark to light, sweeping horizontally from left to right. The shade of each section is checked, and compared to the best shade for its position. For example, the shades on the left should be dark, light on the right, and evenly spaced in between.

3.3 Pixels

3.3.1 Image Representation

An individual of the Pixels class, as shown in Figure 1C, appears as four rows of four circles. In addition to the blue color used in Concentric and Parallel, the Pixels class has three more colors: red, green, and the spectrum of white/gray/black. As with the blue color, the RGB spectrum is divided into 16 values, with the numbers spaced equally apart. It requires two bits to specify one of the four colors. This, in addition to the previous four bits for shade, totals six bits to define one section. The mapping from position of the bits to position of the section is similar to Concentric and Parallel. Moving from left to right on the gene corresponds to cycling through one circle, while going through the circles from left to right, top to bottom.

3.3.2 Image Evaluation

There are three fitness functions for the Pixels class: Solid, Column, and Quadrant. Solid evolves the colors of all sections to the same color. Column evolves the circles into four columns of color. Quadrant evolves the circles into four quadrants of color. Solid, Column, and Quadrant all use similar methods to evolve the colors. First, the colors of each section of the individual are converted from their two-bit representation to a base 10 number. Next, to evolve the colors, the desired color is not chosen by a user. Instead, the color is determined by a majority rule. The colors currently present in the individual are counted. The color that appears the most is set as the color to evolve to. For each section that matches this color, the individual is rewarded.

For Solid, the majority rule is checked over the entire individual. For Column and Quadrant, additional checks are needed. Column divides the 4 × 4 grid into columns of 1 × 4. Using the majority rule within each column, a color is set as the color to evolve to. Individuals are rewarded for sections that match the color of the column in which they are located. The colors that adjacent columns evolve to are checked. There is a reward for neighboring columns to evolve to a different color, ensuring that the columns are distinct from one another and visible. Similarly, Quadrant divides the 4 × 4 grid into quadrants of 2 × 2. The majority rule is applied for each quadrant. Individuals are rewarded for matching their quadrant, and another reward is given if adjacent quadrants are of different colors.

3.4 Canvas

3.4.1 Image Representation

Similar to the Pixels class, the sections in the Canvas class have two bits for color and four bits for shade. Additionally, the circles in the Canvas class are not confined to a determined grid; they have free size and position, as shown in Figure 1D. For each circle, six more bits are necessary. The size is defined by two bits, allowing for four possible sizes. The position is defined by four bits, allowing for 16 different positions. The graphics panel is divided into 16 sections, which correspond to the 16 values of the positions.

3.4.2 Image Evaluation

There are eight fitness functions for the Canvas class. The fitness functions can be grouped by the aspect of the individual that they evaluate: two for color, three for size, and three for position. The color fitness functions only evaluate the two bits per section that define color. Similarly, the position fitness functions only check the four bits per circle that define position, and the size fitness functions only count the two bits per circle that define size. As a color fitness function does not interfere with a position fitness function or with a size fitness function, multiple fitness functions can run simultaneously. Provided that the fitness functions are not in the same category, they can be used in combinations to evolve images.

There are two color fitness functions. Color All evolves the same color for every circle. The color is chosen by the user at the beginning of the GA, unlike the Pixels class. Color Circle evolves the same color for every section, within one circle. These colors are determined by a majority rule. The three position fitness functions are Position Same, Different Even, and Different Range. The three size fitness functions are Size Same, Different Even, and Different Range. For position and size, the Same, Different Even, and Different Range fitness functions operate similarly. Same evolves the same position/size for every circle. Different Even evolves an even distribution of positions/sizes across circles, while Different Range evolves to maximize the difference between the positions/sizes of circles.

4 Experiments

4.1 Experimental Scope

The scope of the experiments included 18 sets. Experiments 1–17 test the fitness functions 1–17, which are listed in Table 1. Experiment 18 is a combination of the fitness functions used in experiments 10, 14, and 16. The stopping criterion for the GA is the fitness graphs leveling off. As the convergence varies for class and fitness function, the generations and populations also vary.

Out of the numerous experiments, a few have been chosen for detailed analysis. These experiments include 2, 6, and 9, which are for the Concentric, Parallel, and Pixels classes respectively. For the Canvas class, experiments 10, 14, and 16 are discussed. The combination of those experiments, which is experiment 18, is presented as well. For all experiments, the maximum possible fitness is a known value. Thus, the fitness values are represented as a ratio from 0 to 1.

4.2 Experimental Results

Experiment 2 tested the Diagonal fitness function for the Concentric class. Figure 2 shows the graphs of the best fitness and average fitness. The best fitness had an upward trend, while fluctuating higher and lower as generations passed. The average fitness was more stable, with a smoother upward trend. Experiment 2 was run for 2000 generations with a population size of 4000. A visual output of the individual with the best fitness from the initial, random population is shown in Figure 3A. The best fitness reached was the value of 1.0, at the generation 1417. The individual with the best fitness is shown in Figure 3B.

Figure 2: Fitness of Generations for Experiment 2.
Figure 2:

Fitness of Generations for Experiment 2.

Figure 3: Best Individual from (A) Initial Population and (B) All Generations, for Experiment 2.
Figure 3:

Best Individual from (A) Initial Population and (B) All Generations, for Experiment 2.

The Gradient fitness function for the Parallel class was tested in experiment 6. The experiment ran 16,000 generations. Figure 4 shows the effect of various population sizes on the fitness. The highest fitness achieved with a population size of 1000 was 0.881. Doubling the population size to 2000 resulted in a best fitness of 0.935. Doubling the size again to 4000 resulted in a best fitness of 0.960. The population of 8000 reached a highest fitness of 0.974, and the population of 16,000 reached the best fitness of 0.975. As the population size increased, doubling the value led to smaller increases in highest fitness. The image results of the population size 16,000 are shown in Figure 5. Figure 5A shows the fittest individual from the initial, random population. Figure 5B shows the individual with the best fitness from the entire experiment, which was the value of 0.975 reached at generation 14,914.

Figure 4: Effect of Population Size on Fitness, for Experiment 6.
Figure 4:

Effect of Population Size on Fitness, for Experiment 6.

Figure 5: Best Individual from (A) Initial Population and (B) All Generations, for Experiment 6.
Figure 5:

Best Individual from (A) Initial Population and (B) All Generations, for Experiment 6.

The Quadrant fitness function of the Pixels class was tested in experiment 9. The graphs of the best and average fitness are shown in Figure 6. Experiment 9 ran for 32,000 generations with a population size of 8000. The best individual from the initial, random population is shown in Figure 7A. The overall best individual is shown in Figure 7B. Its fitness was 0.964, and was reached at the generation 19,803.

Figure 6: Fitness of Generations for Experiment 9.
Figure 6:

Fitness of Generations for Experiment 9.

Figure 7: Best Individual from (A) Initial Population and (B) All Generations, for Experiment 9.
Figure 7:

Best Individual from (A) Initial Population and (B) All Generations, for Experiment 9.

Experiment 18 used the combination of fitness functions tested in experiments 10, 14, and 16. Experiment 10 ran the Color All fitness function of the Canvas class. The duration of the experiment was 32,000 generations, with the population of 16,000. Figure 8 shows the overall best individual, which was reached at the generation 15,400 and had a fitness of 1.0. Experiment 14 tested the Canvas class Position Same fitness function. The GA ran for 16,000 generations with the population size of 8000. The best fitness achieved was the value of 0.989 at the generation 3283. The individual is shown in Figure 9. Experiment 16 tested the Size Different Range fitness function. The experiment ran for 8000 generations with the population of 8000. The best fitness achieved was 0.968 at generation 75. The corresponding individual is shown in Figure 10.

Figure 8: Best Individual from Experiment 10.
Figure 8:

Best Individual from Experiment 10.

Figure 9: Best Individual from Experiment 14.
Figure 9:

Best Individual from Experiment 14.

Figure 10: Best Individual from Experiment 16.
Figure 10:

Best Individual from Experiment 16.

The stopping criterion is the convergence of the fitness; thus, in order to set the parameters for experiment 18, the differences in running time for experiments 10, 14, and 16 were taken into account. The fitness function dealing with size took substantially fewer generations than any other fitness function. This is due to the fewer numbers involved. Size is only represented by two bits, and only for each circle, rather than for each of the 32 sections in a circle. Likewise, position is only four bits per circle, so the fitness function took longer than the size, but much less time than the previous experiments. Of the three fitness functions, the color took the largest population, and the longest number of generations to converge. This is because color is four bits, like position, but for every section in the circle.

The population size for experiment 18 was 16,000, matching the value for the Color All fitness function. The generations were chosen to be 45,000, in order to give all three fitness functions ample time to evolve the individuals. The resulting best and average fitness graphs are shown in Figure 11. Figure 12 illustrates the progression of the evolving images. The first image is the best of the initial, random population. The next 10 images are the best individuals of each 4500 generation interval. The best fitness achieved was 0.987, reached at generation 40,207. This individual is the final image in Figure 12. It is also shown larger in Figure 13.

Figure 11: Fitness Graphs for Experiment 18.
Figure 11:

Fitness Graphs for Experiment 18.

Figure 12: Progression of Evolution for Experiment 18.
Figure 12:

Progression of Evolution for Experiment 18.

Figure 13: Best Individual Overall from Experiment 18.
Figure 13:

Best Individual Overall from Experiment 18.

As shown in Figure 11, the fitness exceeded the value of 0.9 by generation 10,000. Thus, a large amount of the progress of evolution can be viewed in the first three images of Figure 12. The result of the Color All fitness function is easily recognizable; the circles are predominantly red. The progression of images also gives a clear view of the Position Same fitness function, which causes the circles to join in two clusters of the same positions. The result of the Size Different Even fitness function can be seen in Figure 13, which provides a closer look at the sizes of the circles. Though some circles are obscured, due to the position fitness function, the even range across all four sizes is displayed.

Though only a few experiments can be analyzed in detail here, a view of the larger pattern can be gained from Table 2. For every class, Table 2 contains the mean average of the highest fitness values achieved. The mean of highest fitness values is taken across all the fitness functions of one class. For example, for the Parallel class, the values taken into account are the highest fitness achieved in the experiments for the Solid, Column, and Quadrant fitness functions. The mean, rather than the single highest value obtained out of all the fitness functions, was chosen in order to better reflect the spread of the GA’s results.

Table 2:

The Mean of the Highest Fitness Achieved for Each Class.

ClassMean of highest fitness
Concentric1.0
Parallel0.975
Pixels0.988
Canvas0.989

5 Conclusion

The purpose of this paper is to autonomously evolve images, by using predefined fitness functions rather than having a human in the loop. This paper takes steps toward the task of identifying objective measures in art, and automating the evolution of designs according to different sets of criteria chosen by different people. More fit individuals have images that are representative of the fitness functions used to evolve them. The images are indeed recognizable for the intended evolution. Furthermore, the high fitness results demonstrate the success of using a hybrid approach between algorithmic and human in the loop fitness functions. By combining the strengths of the two – incorporating human choice at the beginning, then running efficient algorithmic fitness functions – the results show that it is possible to automate the evolution of digital art. The underlying approach can be extended to other applications to autonomously evolve creative works.

The limitations of this work include the constraint on memory that affected the experiments. The original idea behind the Pixels class was to have a grid of 100 × 100 circles. This would have allowed the evolution of complex patterns, and broad movements of color and shapes, by using the grid like a set of pixels. However, the strain on the memory became an issue. This was due to the amount of numbers required to specify the genes of the 100 × 100 grid. It takes 6 × 32 = 192 binary numbers to define one circle, 100 × 6 × 32 = 19,200 to define one row of circles, and 10 × 10 × 6 × 32 = 1,920,000 to define the entire grid of circles. The computer used to run the experiments was not able to complete a single generation of these large individuals. The grid was reduced from 10 × 10 to 8 × 8. The computer was able to iterate through generations, but quickly ran out of memory, before the fitness could converge. The dimensions of the grid continued to be reduced as memory errors were reached, until they reached 4 × 4. This grid was substantially smaller than the original vision, and limited the complexity of the designs and of the fitness functions.

The memory issue will be addressed in order to handle more complex designs. Possibilities on the hardware side include obtaining a more powerful machine to use to run the GA, or looking into parallelism.

The work done in this paper can lead to developing a more robust system that can, without the need for human intervention, evolve digital art with, perhaps, human-like creativity. In order to do so, it will be necessary to understand how people evaluate art. The tastes of individual people will differ in the specifics, but it may be possible to identify the parameters of preferences. For example, one person may like symmetry, and another may dislike it; though they disagree on which is better, symmetry is a criterion used to judge art. This paper focused primarily on color and symmetry. After studying art and identifying a more complete list of characteristics, then more complex and engaging art can be generated.

A Web application [16] was created by the author based on the program used in this paper. In November 2014, the Web application became the centerpiece of an exhibition in the Spencer Museum of Art, University of Kansas, in Lawrence, Kansas. The gallery housed the full Genetic Art exhibition, which features algorithmic art. The works were chosen by curators of the Spencer Museum in conjunction with the author’s gallery talk.


Corresponding author: Amanda House, Department of Electrical Engineering and Computer Science, University of Kansas, Lawrence, KS 66045, USA, e-mail:

Bibliography

[1] E. Baker and M. Seltzer, Evolving line drawings, in: Graphics Interface, Morgan Kaufmann Publishers Inc., Banff, Canada, 1994.Search in Google Scholar

[2] S. Bergen and B. J. Ross, Automatic and interactive evolution of vector graphics images with genetic algorithms, Visual Comput. 28 (2012), 35–45.10.1007/s00371-011-0597-4Search in Google Scholar

[3] J. A. Biles, GenJam: a genetic algorithm for generating jazz solos, in: Proc. International Computer Music Conf., 1994.Search in Google Scholar

[4] J. Boardman, Classical Art Research Centre, University of Oxford, The classical period (5th–4th century BC) [Online], Last modified 2012, Available: https://www.beazley.ox.ac.uk/sculpture/styles/classical.htm, Accessed 18 February, 2014.Search in Google Scholar

[5] J. Clune and H. Lipson, Evolving three-dimensional objects with a generative encoding inspired by developmental biology, in: Proc. European Conf. on Artificial Life, 2011.10.1145/2078245.2078246Search in Google Scholar

[6] M. Delahunt, Artlex Art Dictionary, Artist [Online], Last modified March 14, 2011, Available: http://www.artlex.com/ArtLex/a/artist.html, Accessed 18 February, 2014.Search in Google Scholar

[7] S. DiPaola and L. Gabora, Incorporating characteristics of human creativity into an evolutionary art algorithm, Genetic Programming and Evolvable Machines 10 (2009), 97–110.10.1145/1274000.1274009Search in Google Scholar

[8] G. Dudek, Genetic art (GA) [Online], Last modified 2000, Available: http://www.cim.mcgill.ca/~dudek/ga.html, Accessed 18 February, 2014.Search in Google Scholar

[9] E. Ellingsen, Genetic art [Online], Last modified 2002, Available: http://www.steike.com/tech/genetic-art/, Accessed 18 February, 2014.Search in Google Scholar

[10] J. Glatstein, Arts Edge, The Kennedy Center, Formal visual analysis: the elements & principles of composition [Online], Last modified 2010, Available: https://artsedge.kennedy-center.org/educators/how-to/from-theory-to-practice/formal-visual-analysis.aspx, Accessed 18 February, 2014.Search in Google Scholar

[11] D. E. Goldberg, Genetic Algorithms in Search, Optimization andMachine Learning, Addison-Wesley, Reading, MA, 1989.Search in Google Scholar

[12] E. D. Heijer and A. E. Eiben, Comparing aesthetic measures for evolutionary art, Applications of Evolutionary Computation 6025 (2010), 311–320.10.1007/978-3-642-12242-2_32Search in Google Scholar

[13] Heilbrunn Timeline of Art History, The Metropolitan Museum of Art, The rediscovery of classical antiquity [Online], Last modified October 2002, Available: http://www.metmuseum.org/toah/hd/clan/hd_clan.htm, Accessed 18 February, 2014.Search in Google Scholar

[14] C. Hemingway and S. Hemingway, Heilbrunn Timeline of Art History, The Metropolitan Museum of Art, The art of classical Greece (ca. 480–323 B.C.) [Online], Last modified January 2008, Available: http://www.metmuseum.org/toah/hd/tacg/hd_tacg.htm, Accessed 18 February, 2014.Search in Google Scholar

[15] R. Henri, The Art Spirit, J. B. Lippincott, Philadelphia, 1930.Search in Google Scholar

[16] A. House, Genetic art: a web application by Amanda House [Online], Available: http://www.spencerart.ku.edu/exhibitions/genetic-art.shtml, Accessed November 2015.Search in Google Scholar

[17] J. Huxtable, Genetic art [Online], Last modified 2005, Available: http://www.jhlabs.com/java/art.html, Accessed 18 February, 2014.Search in Google Scholar

[18] M. E. Jones and A. Agah, Evolution of digital images, Systems, Man, and Cybernetics, Part C: Applications and Reviews 32 (2002), 261–271.10.1109/TSMCC.2002.804449Search in Google Scholar

[19] T. Jourdan, Kandid: a genetic art project [Online], Last modified April 2013, Available: http://kandid.sourceforge.net/, Accessed 18 February, 2014.Search in Google Scholar

[20] Z. Michalewics, Genetic Algorithms+Data Structures=Evolution Programs, 3rd ed., Springer-Verlag, New York, 1996.10.1007/978-3-662-03315-9Search in Google Scholar

[21] E. Özcan and T. Erçal, A genetic algorithm for generating improvised music, Artificial Evolution 4926 (2008), 266–277.10.1007/978-3-540-79305-2_23Search in Google Scholar

[22] G. Papadopoulos and G. Wiggins, A genetic algorithm for the generation of jazz melodies, in: Proc. Science and Technology Education Partnership, 1998.Search in Google Scholar

[23] S. Rooke, The evolutionary art of Steven Rooke [Online], Last modified 2002, Available: http://srooke.com/, Accessed 18 February, 2014.Search in Google Scholar

[24] H. A. Rowley, Genetic art [Online], Last modified 1996, Available: http://www.cs.cmu.edu/~har/GeneticArt.html, Accessed 18 February, 2014.Search in Google Scholar

[25] J. Secretan, N. Beato, D. B. D’Ambrasio, A. Rodriguez, A. Campbell and K. O. Stanley, Picbreeder: evolving pictures collaboratively online, in: Proc. Computer Human Interaction Conference, 2008.10.1145/1357054.1357328Search in Google Scholar

[26] M. W. Towsey and A. R. Brown, Towards melodic extension using genetic algorithms, Educ. Tech. Soc. 4 (2001).Search in Google Scholar

Received: 2014-11-23
Published Online: 2015-3-10
Published in Print: 2016-7-1

©2016 by De Gruyter

This article is distributed under the terms of the Creative Commons Attribution Non-Commercial License, which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Downloaded on 22.2.2025 from https://www.degruyter.com/document/doi/10.1515/jisys-2014-0173/html
Scroll to top button