Ask a designer or artist if any aspect of their process is random. The answer will likely reveal a complex relationship between human cognition, digital media, authorship, and even conceptions of reality and the divine. For those of us who work in computational media to make art, the question can be even more focused: When and why do you use a “random()” function when you write code?

Randomness is not a new concept. For example, a method for random selection–essentially drawing one lot from many out of a helmet–is explained in Homer’s Iliad. Even in pre-Newtonian 17th-century discourse relating chance, cause, and necessity, a distinction was made between events which appeared to be random–but merely being unpredictable–and events which were truly random. This philosophical inquiry raised metaphysical questions about human agency in the word. Even today, with science settled on the definition of randomness as a non-repeating, non-biased, non-patterned sequence of values, our assumptions about chance, cause, and effect often conflict with the facts.

Rami Hammour

Random occurrences can be easily found in nature. Randomness within the closed system of a digital computer, however, in which all the forces are known and quantifiable, suddenly becomes elusive. For this reason, random number generating functions in computer languages are said to yield “pseudo-random” rather than “true-random” results. Pseudo-random values are generated, by a mathematical series of operations performed to produce a sequence of numbers that repeat with a long enough period to be effectively random, that is, free of pattern or bias. A “seed” serves as the initial value or starting point in the series. Many people are surprised to learn that pseudo-random numbers are entirely determined by the initial seed value and are therefore completely predictable, if you know the algorithm, and repeatable, if you know the seed. Often the default seed value for a pseudo-random number generator is something like the current time converted to a number. This allows even the first few values of the sequence to be different from one run of the program to the next.

The applications of randomness in statistics, computer science, finance, and mathematics are well established, but less so in art and design.

Imagine a situation in which a design student is asked “why is that shape green?” and the response is “that green color was generated randomly.” This application of randomness is most often an indicator of a design fallacy. Just as ancient courts used random drawings to make judicial decisions, randomness here involves an implicit suggestion that because a value was unauthored, it should be immune from criticism. Although most designers are probably not associating the computational pseudo-random number generating function with (the) God(s) the same way Talmud explains divination in the story of Achan, the result is similar: randomness is fair and good because it’s completely unbiased and free from influence by any contextual factors. “It’s green because it’s random” or the “Lord must know you are guilty because you lost the lottery” somehow seems better than “it’s green because I like the color green” or “he’s guilty because he looks guilty.”

However, a designer’s instincts should not be ignored despite an inability to articulate their source. In a radio interview conducted in 1950, Jackson Pollock made a clear distinction between lack of “classical” order and randomness in his work. The interviewer may have been implying that his work lacked any order by positing that it must me impossible to control the paint when using a stick instead of a brush. Pollock replied, “No, I don’t think so…With experience, it seems possible to control the flow of paint to a great extent–and I don’t use the accident–’cause I deny the accident.” Although Pollock resisted this kind of intellectual laziness, it does not mean that there is no place for randomly generated values in art and design.

Linyi Dai

In an architectural rendering, for example, random values might be used to place blades of grass on the ground. The key here is an intelligent decision about what is ordered and configured versus what is appropriately random. In this kind of situation, a random function directly generates some aspect of the work, but that that aspect is usually not the focus.