Randomness
From Maze
Contents[hide] |
An essential element of 10 PRINT CHR$(205.5+RND(1));: GOTO 10 is randomness; the program could not produce its mesmerizing visual effect without it. Randomness is built into the Commodore 64's BASIC programming language via the RND function. The RND function is not unique to the Commodore 64; it was present in the original Dartmouth BASIC, and similar random functions can be traced back past the 1950s. In the case of the Commodore 64, random numbers are not only supplied within BASIC. In the computer's ROM is its operating system, the intentionally misspelled KERNAL, which can be poked and prodded into generating random numbers and which is ultimately invoked by the BASIC RND function. The C64's sound chip, the SID, can also be harnessed to generate random values. It almost seems to be randomness all the way down.
This chapter explores the nature of randomness, both within and outside of computing. The role of randomness in games, literature, and the arts is considered, as well as the origins of random number generation in modern mathematics, engineering, and computer science. The nature of "pseudo-randomness" is described -- an approximation of randomness, a production of random-like values which sounds as if it were a sad, failed attempt at randomness, but which is actually useful in many cases. Through a nuanced discussion of randomness, the chapter argues that the maze pattern that 10 PRINT produces is entwined with a complex history of aesthetic and utilitarian coin flips and random processes.
Since a random occurrence is hap, the root of happy, it might seem that "random" would have a happy etymology. But this is not so. In centuries past, before the philosophers and mathematicians in the Age of Enlightenment sought to rationalize chance, randomness was a nightmare. Likely ancestors of the word "random" are found in Anglo-Norman, Old French, and Middle French and include randoun, raundun, raundoun, randon, randun, and rendon -- words signifying speed, impulsiveness, and violence. These early forms are found beginning around the 12th century and probably derive from randir, to run fast or gallop (OED Online). Bumper stickers implore drivers to "practice random acts of kindness," but only because people in our culture fear random acts of violence so much that this other phrase has become ingrained and can be punned upon -- and at a deeper level, perhaps, because the speed and violence of other vehicles are to be feared. While today it might be harmless to encounter "a random" sitting in the computer lab exploring a system at random, a "random encounter" centuries ago was more likely to resemble a random encounter in Dungeons & Dragons: a figure hurtling on horseback through a village, delivering death and destruction.
Only recently have the meanings of the word "random" coalesced around science and statistics. Its history is strewn with obsolete meanings: the degree of elevation of a gun that maximizes its range; the direction of a metallic vein in a mine; the sloping board on the top of a compositor's frame where newly arranged pages are stored before printing. These particular randoms kill opponents, create wealth, or help assemble texts. The RND command in 10 PRINT selects one of two graphical characters -- a kind of textual composition that recalls the last of these meanings of random: Flip or flop, a symbol like a slash forward or backward (but fortunately less fearsome than the horseman's random slash). 10 PRINT splays each random figure across the screen with the PRINT command, another echo of the printing press and a legacy of the early days of BASIC, when PRINT literally meant putting ink on paper. Although RND on the Commodore 64 may seem remote from these early meanings of "random," there are, beneath the surface, connections to speed, violence, devastation, and even printing.
Games of Chance
Life itself is full of randomness and the inexplicable, and it is no small wonder that children and adults alike incorporate chance into their daily lives, as if to tame it. Games of chance are one of the four fundamental categories of games that all humans play, according to the French cultural historian Roger Caillois. Whereas agon are competitive games dependent upon skill, mimicry, games of imagination, and ilinx are games causing disorder and loss of control, alea are games of chance. Craps, roulette, the lottery -- these are games with unpredictable outcomes. Taken from the Latin name for dice games, alea "negates work, patience, experience, and qualifications" (17). All is said to depend on luck. There are no assignable causes.
In his Arcades Project on nineteenth-century Paris, Walter Benjamin devotes an entire section to dice games and gambling, a curious assemblage of notes and extracts with sources ranging from Casanova to Friedrich Engels. "Gambling," Benjamin quotes Anatole France as saying, "is a hand-to-hand encounter with Fate" (498 [O4A]). Every spin of the roulette wheel is an opportunity to show that fate smiles upon the player. Fortunes rise and fall in the blink of an eye, the roll of the die, or the cut of the cards. Every gambler knows this, accepts it, and even relishes it.
The allure of gambling -- and more generally, the allure of chance in all games -- lies in the role of uncertainty. Uncertainty is so compelling that even otherwise skill-based games usually incorporate formal elements of chance, such as the coin toss at the beginning of a football game. As Katie Salen and Eric Zimmerman put it, uncertainty "is a key component of meaningful play" (174). Once the outcome of a game is known, the game becomes meaningless. And the incorporation of chance into the game helps delay the moment when the outcome will become obvious.
Consider the case of George Hurstwood in Theodore Dreiser's Sister Carrie. Driven by "visions of a big stake," Hurstwood visits a poker room:
Hurstwood watched awhile, and then, seeing an interesting game, joined in. As before, it went easy for awhile, he winning a few times and cheering up, losing a few pots and growing more interested and determined on that account. At last the fascinating game took a strong hold on him. He enjoyed its risks and ventured on a trifling hand to bluff the company and secure a fair stake. (374)
What is intriguing about Dreiser's account is that it is only when Hurstwood's good fortune wavers that his interest in the game grows, and he begins to enjoy it. Losing a few hands makes a winning streak all that much more thrilling. "A series of lucky rolls gives me more pleasure than a man who does not gamble can have over a period of several years," Edouard Gourdon stated in one sexually-charged extract in the Arcades Project. "These joys," he continued, "vivid and scorching as lightning, are too rapid-fire to become distasteful, and too diverse to become boring. I live a hundred lives in one" (498 [O4a]).
Unlike the early, purely malevolent associations of randomness described in the beginning of this chapter, randomness here involves the masochistic interplay between pleasure and pain. There is also a monumental compression of time: a hundred lives in one. Anatole France calls gambling "the art of producing in a second the changes that Destiny ordinarily effects only in the course of many hours or even many years" (498 [O4A]). Benjamin himself declares that "the greater the component of chance in a game, the more speedily it elapses" (512 [O12a,2]). In other words, time accelerates during the high stakes game of chance. Waiting, boredom, monotony -- these frustrations disappear as "time spills from his [the gambler's] every pore" (107 [D3,4]).
Perhaps Benjamin describes games of chance with a bit more whimsy than is useful for critical discussion of the role of randomness in culture. Although words like randomness, chance, and uncertainty may be casually interchanged, not all forms of chance are actually the same. To highlight distinctions between various forms of chance, consider the anthropologist Thomas Malaby's account of gambling in a small Greek city on the island of Crete -- an appropriate site of exploration, given alea's Greek etymology. Malaby's goal is to use gambling as a "lens through which to explore how social actors confront uncertainty in…key areas of their lives" (7). How do people account for the unaccountable? How do we deal with the unpredictable? And what are the sources of indeterminacy in our lives?
Malaby presents a useful framework for understanding indeterminacy, based on four categories. The first category is formal indeterminacy, what we commonly refer to as chance. This is any form of random allotment, which often can be understood and predicted through statistical methods. Malaby argues that the ascendancy of statistical thinking in the social sciences has skewed our conception of indeterminacy in gambling (in particular) and in our lives (in general) so much that formal indeterminacy has become a stand-in for other types of indeterminacies. The second category is social indeterminacy, the impossibility of knowing or understanding someone else's point of view or intentions. A bluff is a type of social indeterminacy. The third category is performative indeterminacy, that is, the unreliability of one's own or of another's actions, say a fumble in football game or misreading the information in plain view on a chess board. Finally, the fourth category Malaby describes, cosmological indeterminacy, refers to skepticism about the fairness and legitimacy of the rules of the game in the first place at a local, institutional, or cosmological level. Suspicion that a game is rigged, for example, is concern about cosmological indeterminacy (15-17).
Privileging of the stochastic principles of formal determinacy means that players, scholars, and even programmers dismiss social and performative indeterminacies altogether. In the case of 10 PRINT, thinking about social indeterminacy can reveal several new layers of randomness, such as the idiosyncratic line numbers in the 1982 and 1984 versions of the program. Likewise, understanding performative indeterminacies may account for the textual variants of the program, for example, the version that appeared in Commodore Free that in fact will not execute as printed.
Cosmological indeterminacy is perhaps the most difficult form of indeterminacy to apply to 10 PRINT. The rise of the scientific method can be seen as one enduring struggle to impose a more rational view upon the world, abolishing cosmological indeterminacy. From Aristotle to Galileo to Newton, classical mechanics defined the universe as an organized system without random actions. Even Einstein declared that "God does not play dice with the universe." Yet, as a closer examination of randomness on the Commodore 64 will reveal, there is evidence that randomness on the Commodore 64 -- and indeed, on any computer -- is fundamentally "rigged" in a way that echoes Malaby's idea of cosmological indeterminacy. Randomness and chance operations are so necessary to daily life, well beyond the realm of games, that randomness itself must be fixed, repeatable, and knowable.
Randomness and Aesthetics Before Computing
Just as the different categories of indeterminacy in games are often reductively called "chance," so too in the visual arts, music, and other aesthetic practices is the word "chance" used instead of "randomness." In his 1956 chapbook Chance Imagery, the conceptual artist George Brecht described two distinct types of chance operations by which an artist might create a work: "one where the origin of images is unknown because it lies in deeper-than-conscious levels of the mind" and a second "where images derive from mechanical processes not under the artist's control." The first definition describes the work of the surrealists and abstract expressionists, who allow subconscious processes to dictate the work. The second definition is closer to the typical concept of randomness in computing; it describes the process of the artists most directly connected to 10 PRINT and its random process. These two senses are worth noting because it difficult to pull on one of the two senses of "chance" without the other one -- the unconscious, in this case -- at least feeling a tug.
The tension between these two chance operations is best captured in an anecdote from William Burroughs about a surrealist rally in the 1920s. Tristan Tzara suggested writing a poem "on the spot by pulling words out of a hat" and, as Burroughs tells it, "a riot ensued" and "wrecked the theater." André Breton, one of the leading surrealists "expelled" Tzara from the group, his purely mechanistic chance operation being an affront to the power and vagaries of the Freudian unconscious. Burroughs goes on to describe a similarly unpredictable mode of composition, the cut-up method, also proposed by Tzara in his 1920 "To Make a Dadaist Poem." Take any poem, Burroughs implores his readers, and cut out each line, and rearrange the slices of the text, and "you will find that it says something and something quite definite" (90). Tzara himself suggests pulling the slices of text blindly from a bag, each random selection becoming the next line of the new poem. The generative possibilities of this cut-up technique resemble the collage in art and the montage in film, and have become far more mainstream today than Tzara might have imagined in 1920. Thom Yorke, for instance, wrote the lyrics to "Kid A" in 1999 by pulling fragments of text out of a top hat.
Though Yorke employed this method to address severe writer's block, artistic experimentation with randomness in the early part of the twentieth century can be seen as a response to the sterile functionality of rationality and empiricism wrought by the Industrial Age, and later, as a deliberate reaction against World War I. Consider Marcel Duchamp's Three Standard Stoppages (1913-1914). According to his description of the piece, Duchamp dropped three meter-long pieces of string from the height of one meter and let gravity and chance dictate the paths of the twisting string downward. Then he glued the twisted string onto canvas, the shape and length of which he preserved in 1918 in wooden cutouts, creating three new "stoppages," parodying the supposed rationality of the meter. When Duchamp described his method in 1914, he observed that the falling thread distorts "itself as it pleases" and the final result becomes "the meter diminished," subverting both the straightness and the length of what commonly goes unquestioned. On his use of randomness, Duchamp said, "Pure chance interested me as a way of going against logical reality." Duchamp, like the other Dada artists with whom he associated, saw "logical reality" as a failure, epitomized by the horrors of World War I. Satire, absurdity, and the embrace of indeterminacy seemed to the Dadaists to be the most "reasonable" response to Modernity. In the words of the Dada musician Gabrielle Buffet-Picabia, "Dada wished to destroy the reasonable frauds of men and recover the natural, unreasonable order. Dada wished to replace the logical nonsense of the men of today with an illogical nonsense." To Jean (Hans) Arp, a Dada artist, individual authorship was synonymous with authoritarianism and random elements were used to liberate the work.
In music and randomness, the major twentieth-century figure was certainly composer John Cage. He was strongly influenced by Duchamp. From Cage's point of view, random elements can remove individual bias from creation; they may be used to go beyond the limitations of the taste and bias through "chance operations". In additional to his work as a composer following these ideas, Cage influenced generations of artists through his writing, lectures, and classes. In this text "Experimental Music," Cage wrote, "Those involved with the composition of experimental music find ways and means to remove themselves from the activities of the sounds they make. Some employ chance operations, derived form sources as ancient as the Chinese Books of Changes, or as modern as the tables of random numbers used also by physicists in research" (10). Cage's style of random composition was to create a system of parameters and then leave the results to circumstance. Cage explained, "This means that each performance of such a piece of music is unique, as interesting to its composer as to others listening. It is easy to see again the parallel with nature, for even with leaves of the same tree, no two are exactly alike" (11). Random components are used to transform a single composition into a space of potential compositions. Over the decades, Cage used an array of techniques to insert unexpected elements into this compositions. He defines the range of techniques used by himself and his contemporaries in the 1958 lectures "Composition as Process." There are generally two methods for using random values in music: to define the work at the time of composition or to allow for variation when the work is performed. The most obvious use of randomness in 10 PRINT is in the second category, as random decisions are made during the program's execution, that is, while the BASIC instructions are performed by the Commodore 64.
Within two-dimensional visual art, atists explored mechanical random processes for the reasons championed by Cage. The eminent contemporary painter Gerhard Richter provided a simple answer to this method's benefits when he said, "I'm often astonished to find how much better chance is than I am." There are precedents for chance used within visual works dating back to collage works by Arp from 1916, but the two early works most relevant to 10 PRINT are the Spectrum of Colors Arranged by Chance collage series (1951) by Ellsworth Kelly and Random Distribution of 40,000 Squares Using the Odd and Even Numbers of a Telephone Directory (1961) by François Morellet. These works start with an even grid and fill the grid carefully with elements based on the algorithms developed by the artists. Kelly uses squares of colored paper, placed according to a system he designed. He assigns a number to each color and plots the numbers on the grid according the a pseudo-mathematical system (Malone 133). Morellet employs a stricter system, reading a series of numbers from the telephone book. He makes a grid of 200 vertical and horizontal lines, painting a square blue if its assigned number is even, and painting it red if it is odd. In both of these artworks and in 10 PRINT, the structure of the grid is what makes it possible to focus on the variability created through the random operations.
Randomness Comes to Computing
The RND command acts as the algorithmic heart of 10 PRINT, its flip-flopping beat powering the construction of the maze. The RND function is as fully specified as any BASIC keyword, but its output is, by that definition, unpredictable. This somewhat paradoxical function manifests a much deeper and latent sequence that resides under the surface of the machine.
An obvious question to ask about randomness is why a computer would need to implement it in any form. Chance might produce stunning poetry, breathtaking art, uncanny music, and compelling games, but what is its role in the sciences? Why provide a calculating machine with the ability to generate random numbers in the first place? The stereotype of computing is that it is done exactly, repeatedly, with perfect precision and accuracy. Computers are supposed to order the world. Computers are supposed to sift through reams of data and model possible outcomes, possible futures, providing certain answers where there seem to be none. Yet a function to create random numbers was present in the first Dartmouth BASIC. Every version of BASIC since then has had one or more ways to create random numbers. Nearly every contemporary programming language, including Python, Perl, Java, JavaScript and C++, has a way to generate randomness.
Quite simply, randomness is necessary for any statistical endeavor or any simulation that involves unknown variables. Practically everything involves unknown variables: the meteorological conditions at rocket launch site, the flow of air under a bomber's wings, and the vector of an infectious disease. Additionally, there is the flow of traffic, the cost of bread, and the drip of water from the kitchen faucet. Forecasting any of these phenomena requires reckoning with uncertainty, which in turn requires a pool of random numbers that can be plugged into sampling algorithms and tests of probability. One or two random numbers are not enough. Large-scale statistical calculations or simulations require large batches of random numbers. In Deborah Bennett's history of humans' quest for randomness -- which she suggests goes as far back as ancient Babylonia (17) -- she highlights one of the early and largest set of random numbers, A Million Random Digits with 100,000 Normal Deviates (135). Generated in 1955 "by random frequency pulses of an electronic roulette wheel" by the very appropriately-named RAND Corporation, this series of numbers was an important contribution to any study of probability and is still in use today. As the forward to the undated online edition of the table notes:
The tables of random numbers in the book have become a standard reference in engineering and econometrics textbooks and have been widely used in gaming and simulations that employ Monte Carlo trials. Still the largest known source of random digits and normal deviates, the work is routinely used by statisticians, physicists, polltakers, market analysts, lottery administrators, and quality control engineers.
It would likely detract from the weighty aura of A Million Random Digits if the RAND Corporation mentioned that its tables were also used by poets and artists, most notably Jackson Mac Low, who often turn to A Million Random Digits to generate chance operations whose sophistication far outstripped Tzara's hat. "Converging Stanzas," for example, used A Million Random Digits to generate the structures of sixty stanzas, randomly populated with words from the 1930 850-word Basic English Word List (Mac Low 236). Mac Low's "Sade Suit" similarly used playing cards and A Million Random Digits to rewrite the Marquis de Sade (46).
Considering its sophisticated origins and uses, A Million Random Digits suggests a surprisingly unscientific method of using its tables: "In any use of the table, one should first find a random starting position. A common procedure for doing this is to open the book to an unselected page of the digit table and blindly choose a five-digit number." Once again, it seems to be randomness all the way down. This benign instruction aside, the RAND report ominously explains that its one million random numbers were originally "prepared in connection with analyses done for the United States Air Force." Like so many other advances in computing, randomness, it turns out, is intimately linked to Cold War military strategies. In fact, most of the early work on computer-based random number generation was performed under the auspices of the U.S. Atomic Energy Commission (see, for example, Rotenberg's work in the late fifties) or the U.S military (see Green et al.'s work at MIT, with joint support of the U.S. Army, Navy, and Air Force).
John von Neumann was the first to propose the idea of harnessing a computer to generate random numbers (Knuth 3). It was around 1946 and von Neumann was fresh off the Manhattan Project and soon to begin his lead work on the hydrogen bomb. Seeking a way to statistically model each stage of the fission process, Von Neumann and his colleague Stanislaw Ulam originally relied the Monte Carlo method to generate tables of random numbers. These tables, however, soon grew too large to be stored on computers (Bennett 138-139). Von Neumann's solution was to design a computer program to produce random numbers on the fly, using the middle-square method. It worked by squaring an initial seed number and extracting the middle digits; this number was then squared again, and the middle digits provided a new random number. The disadvantage of this method soon became apparent: because each number is a function of the one before it, the sequence, as Knuth explains, "isn't random, but it appears to be" (3) -- that is, it is "pseudo-random."
To those interested in randomness and expressive culture, perhaps the most intriguing element of Knuth's magisterial discussion of random number appears in a footnote. Knuth recalls a CBS television documentary in 1960 called "The Thinking Machine" which featured "two Western-style playlets" written by a computer (158-160). In fact, three playlets were acted out on national television that day in October, 1960, generated by a TX-0 computer housed at MIT's Electronics Systems Laboratory. SAGA II, the script-writing program behind the mini-Westerns, took programmers Douglas Ross and Harrison Morse two months to develop and consisted of fifty-five hundred instructions (Pfeiffer 130-138). The key to SAGA II was its thirty "switches," which made "various alternative or branching paths" possible (136). "Among other things," Pfeiffer observed, "the robber may go to the window and look out and then go to the table, or he may go to the table directly. You cannot tell in advance which one of these alternatives the program will select, because it does the equivalent of rolling a pair of dice" (136).
Computational Randomness in Aesthetic Design
Even before the SAGA II playlets, there were other literary experiments with randomness and computers. Noah Wardrip-Fruin identifies the British computer scientist Christopher Strachey as the creator of the first work of electronic literature, a series of "love letters" generated by the Ferranti Mark I computer at Manchester University in 1952 (Wardrip-Fruin 2005). Affectionately known as M.U.C., the Manchester University Computer could produce the evocative love letters at a pace of one per minute, for hours on end, without producing a duplicate. The "trick" is, as Strachey put it, the two model sentences (e.g. "My adjective noun adverb verb your adjective noun" and "You are my adjective noun") in which the nouns, adjectives, and adverbs are randomly selected from a list of words Strachey had culled from Roget's Thesaurus. Adverbs and adjectives randomly drop out of the sentence as well, and the computer randomly alternates the two sentences. On the whole, Strachey is dismissive of his foray into the literary use of computers, using the example of the love letters simply to illustrate his point that simple rules can generate diverse and unexpected results (Strachey 29-30). Nonetheless, a decade before Raymond Queneau's landmark combinatory work One Hundred Thousand Billion Poems, Strachey had unwittingly laid the foundation for the combinatory method of composition, a use of randomness that would grow more central to literature and the arts in the following decades.
The 1960s were a time of radical experimentation with randomness in the visual arts. Even though computers were available at that point for the exploration of chance operations, they were used in a very limited way because it was difficult to gain access to the machines and there was a general distrust of computer technology in the arts. The 10 PRINT program is remarkable because it was created later, when these barriers were greatly reduced. The Commodore 64 was relatively inexpensive and accessible. Furthermore, the public image of the computer was changing from a machine that supported technocracies to a tool for self-empowerment and creativity. Before personal computers, calculating machines could only be found in universities and research labs and because of the cost and perceived use. They were typically used exclusively for serious work, not for creating aesthetic images. When artists did gain access to these machines, it was typically through artists-in-residence programs at companies such as Bell Labs and IBM, and through infrastructures such as Experiments in Art and Technology (E.A.T.) based in New York or the Los Angeles County Museum of Art's Art and Technology initiative in Los Angeles. Many of the first aesthetic computer graphics were made not by artists, but by mathematicians and engineers who were curious about other uses to which the machines at their labs could be put.
Within the first years that computer images were made, random processes were explored thoroughly. The first two exhibitions of computer-generated graphics appeared in art galleries in 1965; both shows included pieces that were created using random values. In New York, the works of A. Michael Noll and Bela Julesz, both researchers at Bell Labs, were exhibited at the Howard Wise gallery from 6-24 April under the title "Computer-Generated Pictures." In Stuttgart, the works of Georg Nees and Frieder Nake were exhibited at the Wendelin Niedlich Gallery from 5-26 November under the title "Computer-Grafik Programme."
In 1962, Noll published a technical memorandum at Bell Labs entitled "Patterns by 7090," the number referring to the IBM 7090 digital computer. He explained a series of mathematical and programming techniques that use random values to draw "haphazard patterns" to a Carlson 4020 Microfilm Printer. The eight patterns documented in the memo are the basis for his Gaussian Quadratic image, which was exhibited in the 1965 exhibition. Noll used existing subroutines of the printer to draw a sequence of lines to connect a series of x- and y-coordinates that he calculated and stored inside an array. The x-coordinates in the array were generated by a custom subroutine he wrote called WNG (White Noise Generator), which produced random values within the range of its parameters, and the y-coordinates were set using a quadratic equation. Through this series of patterns, Noll explored a tension between order and disorder, regularity and random values.
In 1965, Nake created his Fields of Rectangular Cross Hatchings series, which succeeds through pairing ordered patterns with random placement. Nake explained the way random values are used in the images:
Within a given (arbitrarily chosen) image size, a random number of hatchings were generated. Each one of them was determined by the following random variables: location (x, y), size (a, b), orientation of lines within rectangle (horizontal or vertical), number of lines, pen. So for each rectangle there were seven random numbers determining its details.
After the first wave of visual images were created on plotters and microfilm at universities and research labs, a few professional artists independently started to gain access to computers and use them in their practice. The artists with the most success integrating a computer into their work had previously created drawings with logical systems. These artists continue to use computers in their work to this day. Manfred Mohr started as a jazz musician and later studied art in Paris; he began writing software to create drawings in 1969, at the Meteorological Institute of Paris, during the night after researchers had left for the day. Edward Zajec studied painting in Slovenia and the United States; he starting working with computers while teaching at Carleton College in 1968. Other artists who worked seriously with computers in the late 1960s, either individually or with technical collaborators, include Lillian Schwartz, Colette Bangert, Stan Vanderbeek, and Harold Cohen. All of them employed random numbers in their early works created with software.
In 1971, Mohr's work was featured in "Une Esthétique Programmée" at the Musée d'Art Moderne de la Ville de Paris. This exhibition is distinguished as the first solo show of artworks created with a computer to be shown at a museum. Random values are used extensively in the creation of the work. Charles Csuri's Random War (1967) is another early notable work of computer art to use random values. Like much of Csuri's early computer work and unique in relation to his contemporaries, the work is figurative rather than abstract. This plotter drawing comprises outlined military figures, patterned off of the little green army men toys popular at the time. Each figure, named after a real person, is placed randomly on the page and given a random status: dead, wounded, or missing. The soldiers of one army are drawn in red, of the other in black; the name and status of each soldier appears at the top of the drawing. In general terms, Csuri's work comments on the often arbitrary nature of war through both its form and content; more specifically, with his reliance on random number generation, Csuri gestures toward the days of computers and random numbers, and their inextricable link to the Cold War.
While the first decade of computer-generated art was well documented in magazines, books, and exhibition catalogs, there are fewer source materials from the 1970s as public interest veered, and the energy needed to publish and exhibit waned. Later in the decade, computer graphics started to make their way into advertising and films. The 1982 film Tron is a landmark in the history of computation and aesthetics. This film pushed graphics to a new aesthetic level and therefore revealed the limitations of computer imagery at that time. Specifically, Tron's images are purely geometric and cold; they lack the organic qualities of our natural world. Ken Perlin, one of the programmers for the graphics in Tron, was frustrated with the clean look. Later, in 1983, he developed a technique called Perlin Noise to generate organic textures that have a random appearance but are fully controllable to allow for careful design. Perlin Noise allows computer graphics models to have the subtle irregularities of real objects; it is used to create hard surfaces such as rocks and mountains and softer systems like fire and clouds. By the 1990s, it was used extensively in Hollywood special-effects films and had been incorporated into most off-the-shelf modeling software.
Today, within the traditional visual arts, the most widely known artists to use random values still do so without computers. For example, 2002 Turner Prize winner Keith Tyson has designed sculptures entirely through rolling dice. One reason for this reluctance to use computers, certainly, is the stigma surrounding their use in art. Manfred Mohr, the pioneer of computer-generated art discussed earlier, remarked in an interview, "I called my work generative art, or occasionally also algorithmic works. The problem was that no-one understood either of these terms, and I was forced -- so to speak -- to declare my drawings as art from the computer... people accused me of degrading art, because I was employing capitalistic instruments of war -- computer was a word non grata!" (35). While Mohr was referring to the 1970s, the aversion to computers remains strong today within contemporary art.
Within the last decade, however, as a new generation of visual artists have started to program their work, computed random numbers are playing an increased role in the visual landscape. The most prominent programming languages visual artists are using have functions for generating random numbers and noise values, as well as setting the random seed value to repeat a sequence. With the perspective of time, it seems that aesthetic computational work and random values are intertwined. Writing in 1970, Noll highlights randomness as an essential feature of the computer in relation to the arts: "The computer is a unique device for the arts since it can function solely as an obedient tool with vast capabilities for controlling complicated and involved processes, but then again, full exploitation of its unique talents for controlled randomness and detailed algorithms could result in an entirely new medium – a creative artistic medium."
Randomness in Contemporary Computing (Sidebar)
In the many examples of randomness given here, the random element of the process -- whether computational, literary, or aesthetic -- is often foregrounded, or at least obvious. Randomness is not always visible, however, even though it is often used in ordinary computing tasks. Randomness plays an essential role in the security of networked computers, for instance, and is also a part of popular computer games. Other uses of randomness lie beyond the everyday computing experience, but security, networking, and gaming are a few of the ones that are closest at hand.
When a computer needs to generate a new password for a user, a URL that will let someone reset a password, or a CAPTCHA to keep automated spammers at bay, randomness is invoked. A non-random password could easily be predicted, but a random password, URL, or distorted word is much harder to crack through guessing or brute force. Randomness also plays a role behind-the-scenes of protocols such as SSH (Secure Shell) and SSL (Secure Sockets Layer) in a few ways, including the generation of keys for encryption and padding out the rest of a block when a plain-text message is too short to complete it. Without randomness, it would not be possible to complete a secure credit card transaction on the Web, which happens over an SSL connection. In fact, early versions of SSL as implemented in the Netscape browser suffered from being insufficiently random. The seeds for random number generation were the current time, the process ID, and the parent process ID, which were sufficiently predictable to leave the browser vulnerable to attack. Better randomness was the solution to this problem.
Computers using Ethernet -- almost all of those that are plugged into wired networks -- communicate with one another thanks to randomness, too. All systems on a single local area network send information over the same wire. If two of them start sending at the same time, what is known as a "collision" occurs; the data sent is not intelligible to the intended recipients. When a collision happens, the computer that detects the problem sends a jamming signal and tries to restart the transmission. But rather than restarting immediately, the computer chooses at random to start or wait -- and the other computer that was trying to send does the same. If there is another collision, the computers either send immediately or wait for one of three intervals. The increasing number of intervals is part of the technique of exponential backoff; the selection of one of these intervals at random is an essential part of this method of avoiding network congestion.
A typical computer user of the 2010s will encounter randomness in many computer games. Randomness will shuffle the cards in poker or solitaire, for example, and will be invoked to arrange jewels and tiles in casual games. Randomness may used to determine the behavior of computer opponents, whether in poker or chess. Some action, arcade-style, open-world, and other games incorporate randomness in other ways to determine what happens. Many early games and certain contemporary ones, however, are entirely deterministic. As those who discovered and exploited Pac-Man patterns know, it is deterministic; Ms. Pac-Man, in contrast, uses randomness.
The Commodore 64's RND Function
The way that 10 PRINT invokes the randomness provided by the Commodore 64 is of interest for reasons that will each be explored in turn. First, using randomness is aesthetically necessary in this program; there is no other way to achieve a similar effect. Second, the methods used in Commodore 64 BASIC are historically quite typical of computational approaches to pseudo-randomness since the 1950s. Finally, out of several common approaches to randomness available on the Commodore 64, 10 PRINT uses a very standard method that is well-suited to experimentation, debugging, and the production of canonical results, although this method is not without its deficiencies.
10 PRINT prints a wrapping series of diagonal lines that alternate between left and right unpredictably. This unpredictability is crucial to producing the impression of a maze. Looking at variations of 10 PRINT that have regular or no alternation make it clear that the randomness in the program is significant.
This aesthetic issue extends to the appearance of the final output and the code. It is possible to implement one's own pseudo-random number generator in a BASIC program, but it would lengthen and complicate 10 PRINT considerably if someone did dd such code to it. It would certainly not be a concise and elegant one-liner that suited the MAGIC section of RUN.
In 10 PRINT, random numbers are provided through RND, one of ten mathematical functions available in BASIC since the earliest version of the language. As described the original Dartmouth BASIC manual (1964), RND produces a "new and different random number" between 0 and 1 "each time it is used in a program" (39). Thus, calling RND(1) might return 0.185564016 the first time, 0.0468986348 the second, and 0.827743801 the third, with no apparent pattern between one number and the next. (These are in fact the numbers that RND(1) returns initially on the Commodore 64.) These numbers could then be used to drive unpredictable processes, as in fact they do drive the coin-toss decision between diagonal lines in 10 PRINT output. A similar process might also determine the direction changes of ghosts in Ms. Pac-Man or the way other game elements appear or behave.
RND is, like most computational sources of randomness, a pseudo-random number generator. While there may be no apparent pattern between any two numbers, each number is generated based on the previous one using a deterministic process. When the first number is the same, the entire sequence will always be the same. In the case of the Commodore 64, this is particularly important because the same seed and thus the same first number is set startup. This means that, when RND(1) is invoked immediately after startup, or before any other invocation of RND, it will always produce the same result: 0.185564016. The next invocation will also be the same, no matter what Commodore 64 is used or how long the system has been on. The next invocation -- and all others -- will also be the same. Since the sequence is deterministic, the pattern produced by the 10 PRINT program typed in and run as the first program is always the same, on every computer or well-functioning emulator.
When called on any positive number, as when RND(1) is invoked in 10 PRINT, RND produces the next number in this sequence. RND(8), RND(128), or RND(.333) do exactly the same as RND(1). However, RND has two other modes besides the one used in 10 PRINT. The second is stopwatch-based: when RND(0) is called, the clock time since the computer was powered on is used in generating a new seed, meaning that if RND(0) replaces RND(1), each run 10 PRINT at a different second should generate a different output. After a single call to RND(0), subsequent calls to RND(1) will continue generating numbers in that new sequence.
The third mode for RND applies when any negative number is called. A call to RND(-17) stores -17 as the seed value for the random number generator, directly, and produces a new number. This negative seeding must be followed by positive RND(1) calls in order to provide a useful sequence. Because negative calls simply set the seed, calling RND(-0.123) repeatedly will always return 0.544630526. For this reason, 10 PRINT could not be a single-line loop that calls a negative RND value; that program would output the same diagonal again and again. However, a single call to any negative number, followed by running the normal 10 PRINT program, will generate a unique (and repeatable) 10 PRINT pattern.
While the "pseudo" prefix would seem to denigrate this type of randomness as "not really" random, pseudo-randomness is generally acceptable and in many situations desirable. Engineers running a computer simulation, for example, often need random variables, but they need those random variables to be the same with every run of the simulation; otherwise it is impossible to narrow down what process is actually being modeled. Pseudo-random number generators are also highly useful in hashing, since they allow data to be distributed widely but also placed in known locations. Similarly, they are useful in cryptography, where it is vital that sequences be repeatable if (and only if) the initial conditions are known.
The Commodore 64 Users Guide introduces the concept of randomness using an example that sidesteps the origins of randomness in computing. There is no mention of the hydrogen bomb, computer-generated literature, or prime numbers. Randomness comes into play in the shape of a game, when it is necessary to, as the manual puts it, "simulate the throw of dice" (48). This example takes us back to pre-industrial notions of randomness. Yet, centuries ago, Sir Walter Raleigh wrote of a throw of the dice as apocalyptic -- long before Mallarmé assured us that it would not abolish chance: "Dead bones shall then be tumbled up and down, / In every city and in every town." Fortune's wheel and what Paul Auster called The Music of Chance have long been considered a life and death matter. As 10 PRINT scrolls its playful, pleasing maze pattern upon the screen, there may be the faintest echo of the dead bones of the dice and the random simulation of the hydrogen bomb. And perhaps, as well, there is the transformation of this grim, military use of randomness into a thing of beauty.
Works Cited
Benjamin, Walter. 1999. The Arcades Project. Ed. Rolf Tiedemann. Trans. Howard Eiland and Kevin McLaughlin. Cambridge, Massachusetts: Belknap-Harvard UP.
Bennett, Deborah. 1998. Randomness. Cambridge Mass.: Harvard University Press.
Boyle, Neil. 1986. Random Numbers In Machine Language For Commodore 64. Compute! no. 72: 77. http://www.atarimagazines.com/compute/issue72/random_numbers.php
Brecht, George. 1966. Chance Imagery. A Great Bear Pamphlet. New York: Something Else Press.
Burroughs, William S. 2003. The Cut-Up Method of Brion Gysin. In The New Media Reader, ed. Noah Wardrip-Fruin and Nick Montfort, 90-91. Cambridge, MA: The MIT Press.
Cage, John. Silence. Cambridge, Mass.: MIT Press, 1966
Caillois, Roger. 2003. Man, Play, and Games. Trans. Meyer Barash. New York: The Free Press.
Dreiser, Theodore. Sister Carrie. New York: Penguin. 1981.
Ekeland, Ivar. 1996. The Broken Dice, and Other Mathematical Tales of Chance. Chicago, Ill.: University of Chicago Press, June 15.
Felder, H. 1968. The GPSS/360 random number generator. In Proceedings of the second conference on Applications of simulations, 21–28.
Glowski, Janice, ed. 2006. Charles A. Csuri: Beyond Boundaries, 1963-present. Westerville, OH: College of the Arts, The Ohio State University.
Green Jr, B. F, J. E. Smith, and L. Klem. 1959. Empirical tests of an additive random number generator. Journal of the ACM (JACM) 6, no. 4: 527–537.
Isida, Masatugu, and Hiroji Ikeda. 1956. Random number generator. Annals of the Institute of Statistical Mathematics 8, no. 1 (12): 119-126. doi:10.1007/BF02863577. http://www.springerlink.com/content/02510157q12768k4/.
Knuth, Donald E. 1969. The Art of Computer Programming. Vol. 2. Reading, Massachusetts: Addison-Wesley.
Lord, E. A., and S. Ranganathan. 2006. Truchet tilings and their generalisations. Resonance 11, no. 6 (6): 42-50. doi:10.1007/BF02838881. http://www.springerlink.com/content/w1577r5g78rx2033/.
Lord Ronin from Q-Link. 2008. "In the Beginning Part 8." Commodore Free Magazine, September. http://commodorecomputerclub.co.uk/view.php?art=commodore_free_23&loc=magazine.
Low, Jackson Mac, and Anne Tardos. 2009. Thing of Beauty: New and Selected Works. University of California Press.
Malaby, Thomas M. 2003. Gambling Life: Dealing in Contingency in a Greek City. Urbana: University of Illinois Press.
Malone, Meredith. 2009. Chance Aesthetics. St. Louis: Mildred Lane Kemper Art Museum.
Motherwell, Robert, and Jack D. Flam. 1989. The Dada Painters and Poets: An Anthology. Belknap Press of Harvard University Press.
Neumann, John von. 1961. Various Techniques Used in Connection with Random Digits. In Collected Works: Design of Computers, Theory of Automata and Numerical Analysis, ed. A.H. Taub, 5:768-769. Oxford: Pergamon Press.
Noll, Michael A. "Patterns by 7090." Bell Telephone Laboratories Technical Memorandum, MM-1234-14, August 28, 1962.
Noll, Michael A. 1970. "Art Ex Machina." IEEE Student Journal 8 (4): 10-14.
Pfeiffer, John E. 1962. The Thinking Machine. Lippincott.
RAND Corporation. 1955. A Million Random Digits with 100,000 Normal Deviates. http://www.rand.org/pubs/monograph_reports/MR1418/index2.html.
"random, n., adv., and adj.". OED Online. June 2011. Oxford University Press. http://www.oed.com/view/Entry/157984?rskey=E5xiD1&result=1 (accessed July 13, 2011).
Salen, Katie, and Eric Zimmerman. 2004. Rules of Play: Game Design Fundamentals. Cambridge: MIT Press.
Rotenberg, A. 1960. A new pseudo-random number generator. Journal of the ACM (JACM) 7, no. 1: 75–77.
Smith, Cyril Stanley, and Pauline Boucher. 1987. The Tiling Patterns of Sebastien Truchet and the Topology of Structural Hierarchy. Leonardo 20, no. 4: 373-385.
Strachey, Christopher. 1954. "The ‘Thinking' Machine." Encounter III (4) (October): 25-31.
Wardrip-Fruin, Noah. 2005. Christopher Strachey: The First Digital Artist? Grand Text Auto. August 1. http://grandtextauto.org/2005/08/01/christopher-strachey-first-digital-artist/.
