AI, NLG, and Machine Learning

How Creative Computers Really Are

How creative are computer programs nowadays, and how far can they go?

By Ivan Guerrero
March 26, 2021

Creativity, understood as the ability to create something that can be considered novel, surprising, and valuable (Boden, 1991), is a characteristic that distinguishes us as human beings from a vast number of species. The dawn of our history is related to the creation of tools, cave paintings, music, and many other creative artifacts. For many years, this quality belonged to us almost exclusively. However, with the arrival of computers, researchers devised algorithms and techniques so that computers have this tool within their growing catalog. But how creative are computer programs nowadays, and how far can they go?

There is an area within artificial intelligence (AI) to study this subject—computational creativity. It is responsible for the conception of computational models, software, and aesthetic metrics for the study, generation, and reproduction of behaviors that, if performed by humans, would be considered creative. In this area, results have been obtained in both science and art. Models have been developed for proving mathematical theorems, for discovering physical laws (from the data of the original experiments), and for the automatic generation of music, poetry, narratives, painting, or video games. This leads us to asking ourselves questions on the existence of a single type of creativity common to all these tasks and about how we can compare the creativity of these models with respect to humans.

Boden (1991) distinguishes two types of creativity—that which produces results that are considered creative for the author, psychological creativity (P- creativity), in contrast to that which produces results considered creative for all humanity, historical creativity (H-creativity). In addition, Colton (2012) distinguishes different places where the creative process takes place. It is possible to distinguish creativity in the result of the execution of a software program but also in the process of generating such result, in the process of evaluation of the results, and finally, in the framing surrounding the generation process.

In my opinion, these classifications leave aside an important aspect of creativity—the identification of the responsibility for the creative process in the following components: knowledge representation, the rules for manipulating such knowledge, the generation of the inputs, and the similarities between inputs and outputs.

One of the earliest examples of creative software was probably ELIZA (Weizenbaum, 1966). The system is a chatbot to automatically hold a conversation. It works from a set of rules of which one is chosen to continue with the conversation. The decision relies on a set of keywords identified within the text written as input.

Being that ELIZA is one of the first chatbots, it can be considered H-creative. It can also be seen as a creative product in its outputs (although after repeated use, it becomes predictable and boring) and in the generation process. But what about the person responsible for creativity? Weizenbaum, in devising the rules and knowledge representations, actually performed a process of transferring creativity from his person to the computer. The creative work is not being carried out by the software itself but by a human. Besides, its inputs are texts written in English that are transformed into keywords. These keywords are used to select one of the available “canned texts” to be used as output. So we classify ELIZA as a model whose rules and knowledge representation are of external origin, with inputs and outputs of the same type, and having a partial internal representation of them. (The system is aware of almost nothing about the inputs and outputs.)

Around the year 1970, John Conway (Gardner, 1970) devised a set of rules in order to simulate the behavior of artificial cells within a bidimensional mesh. The originally proposed set comprised four rules: birth (a cell surrounded by three living cells, originates a new cell), survival (a cell with two or three neighbors, survives), and death (a cell with less than two neighbors or with more than three neighbors, dies).

The Game of Life (GoL) can be classified as H-creative, as it is one of the first models of its kind. There is creativity in the outputs produced, in the simplicity of its rules, and in the framing of the problem as a living cell model. However, both the rules and the framing were generated by Conway to later transfer them to the computer system. Something remarkable about this model is that its inputs can be random patterns that eventually generate creative outputs. Yet, it is also possible to use intricate input patterns to generate outputs that solve specific problems. (It has been proven that GoL is a programming language as powerful as any other.) In this way, we classify it as a system of rules and representation of external origin but with more complex outputs than its inputs.

NEvAr (Machado and Cardoso, 2002) is an automatic generator of paintings based on an evolutionary model. It uses mathematical functions applied to each coordinate of a canvas to generate its outputs. This system starts with simple functions (for example, f (x, y) = x where x and y are the coordinates of each pixel) that are combined at each iteration in a coordinated way with a human evaluator.

NEvAr can be classified as P-creative, as there are several systems prior to it with similar characteristics. Some people find their outputs and the process followed to generate them to be creative. Something interesting about the model is that the rules to manipulate knowledge are generated internally, although the knowledge representation is determined by its authors. Also, the outputs are more complex than its inputs since it generates drawings from mathematical functions and selections from a human evaluator.

Nowadays, there is a growing interest in the use of neural networks within the field of computational creativity. In particular, systems like GPT-3 emerge as projects with the aim of getting closer to the so-called general intelligence—the idea of having a model capable of performing any task that could be considered intelligent if performed by a human. Unfortunately, publications on this system are still mostly private and it is difficult to obtain full descriptions from their authors. In general, it is known that crawlers (programs for the automatic extraction of content from websites) are used for their training. That is, information obtained from multiple websites is used for the model to “learn” how to make predictions about missing elements that are removed randomly.

This system can be classified as P-creative since there are multiple systems working in similar ways, although with simpler structures. There is creativity in its generated outputs even though they are of the same type as its inputs. Something remarkable in this model is the internal representation of both inputs and outputs, as it follows a complex process of machine learning. However, it is necessary to ask to what degree this representation—and the rules used during the training process—can be considered of internal origin. In my opinion, this is not the case and it is still far from being considered a system of rules and knowledge representation of internal origin, although it is an important step in that direction.

We should ask whether computer systems with creative behaviors actually own that creativity, or as in most cases, this was transferred from a human to streamline the process. It is worth taking a look at nature to find examples of rules and knowledge representation of internal origin, such as DNA. It would be important to analyze what characteristics of DNA allow this type of generation and later replicate these behaviors in computational languages.