Randomness, complexity and recursion

Coding tools for the generative artist

Three of the most important tools for the generative artist to experiment the blend between order and disorder are:

  1. randomness,

  2. complexity, and

  3. recursion.

It is not a coincidence that all of them are abundantly represented in nature. Moreover, they are ways in which control can be ceded to the autonomous system, which becomes in this way an important co-author of the work of art.

Randomness refers to the ability of the machine to produce a sequence of pseudo-random numbers fully determined by a random seed (a number). These numbers can be used to decide shape, length, size, color and other features of the artwork.

For instance, generative artworks in Art Blocks and fxhash use a hash - which is a chaotic sequence of 64 hexadecimal figures - as source (seed) of randomness. The resulting artwork is hence fully determined in terms of the seed hash. An organic form of randomness, frequently adopted by generative artists in their coding, is Perlin noise, a type of gradient noise developed by Ken Perlin while working for the Disney movie Tron.

Complexity refers here more properly to complex systems, another ingredient for the generative artist. Complex systems consist of a large number of interacting actors such that:

  1. Interactions are mostly short-range (information is received and spread primarily from immediate neighbors)

  2. actors are self-organizing (there exists no central authority)

  3. actors have only local information, that is they are ignorant of the behavior of the system as a whole

Complex systems are widespread in biology, society, information and technology. A few examples include the human brain, the metabolic system, the natural language, ecosystems and the biosphere, linked information systems like the Web and Wikipedia, online social networking services such as Twitter, the financial system, as well as the Internet.

Complex systems live at the intersection of order and disorder. If we look at complex systems at the micro level of actors, they appear relatively simple and regular systems. Individual actors operate in a rather elementary way, typically following few plain rules, paying attention to the behavior of their local neighbors only. Such a local simplicity, multiplied by the sheer number of actors that compose the system, interacting through the convoluted structure of relationships among them, produces an unexpected, yet organized, global complexity (this property is called emergence in complexity theory).

Finally, recursion is a fundamental notion in mathematics and computer science. A recursive equation defines something in terms of itself. For instance, PageRank algorithm used in Google’s search engine defines the importance of a Web page in terms of the very same notion of importance of the pages linking to it.

Recursion is also a phenomenon that is often found in nature: in the form of fractals, we find it in trees, in the profile of coasts, in the profile of mountains, in clouds, in ice crystals, in some leaves and flowers. A fractal is a self-similar object, in other words, it repeats itself in the same way on different scales. It is an object at first glance complex, but generated from a very simple ordered source.

Last updated