Randomness
From Maze
(Difference between revisions)
(→Randomness and Aesthetics Before Computing) | (→The Emergence of Randomness in Computing) | ||
| Line 51: | Line 51: | ||
An obvious question to ask about randomness is why bother at all? Chance might produce stunning poetry, breathtaking art, and uncanny music, but what is the role of chance in the sciences? Why give a computer the ability to generate random numbers in the first place? Computers are supposed to calculate with exactitude. Computers are supposed to order the world. Computers are supposed to sift through reams of data and model possible outcomes, possible futures. 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. Why? It turns out to be impossible to simulate a wide variety of situations and systems without taking into account randomness. | An obvious question to ask about randomness is why bother at all? Chance might produce stunning poetry, breathtaking art, and uncanny music, but what is the role of chance in the sciences? Why give a computer the ability to generate random numbers in the first place? Computers are supposed to calculate with exactitude. Computers are supposed to order the world. Computers are supposed to sift through reams of data and model possible outcomes, possible futures. 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. Why? It turns out to be impossible to simulate a wide variety of situations and systems without taking into account randomness. | ||
| − | Quite simply, randomness is necessary for any statistical endeavor or any simulation that involves unknown variables. And ''everything'' involves unknown variables. The meteorological conditions at rocket launch site, the flow of air under a bomber's wings, the vector of an infectious disease. But also the traffic, the cost of bread, and a 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. And one or two random numbers are not enough. Large-scale statistical calculations or simulations require large batches of random numbers. In her history of humans’ quest for randomness--which Bennett suggests goes as far back as ancient Babylonia (17)--Bennett highlights one of the early and largest set of random numbers, the RAND Corporation’s ''A Million Random Digits with 100,000 Normal Deviates'' (135). Generated in 1955 “by random frequency pulses of an electronic roulette wheel,” the RAND’s set of random 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: | + | Quite simply, randomness is necessary for any statistical endeavor or any simulation that involves unknown variables. And ''everything'' involves unknown variables. The meteorological conditions at rocket launch site, the flow of air under a bomber's wings, the vector of an infectious disease. But also the traffic, the cost of bread, and a 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. And one or two random numbers are not enough. Large-scale statistical calculations or simulations require large batches of random numbers. In her history of humans’ quest for randomness--which Bennett suggests goes as far back as ancient Babylonia (p. 17)--Bennett highlights one of the early and largest set of random numbers, the RAND Corporation’s ''A Million Random Digits with 100,000 Normal Deviates'' (p. 135). Generated in 1955 “by random frequency pulses of an electronic roulette wheel,” the RAND’s set of random 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: |
<blockquote>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. (RAND Corporation)</blockquote> | <blockquote>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. (RAND Corporation)</blockquote> | ||
| − | It would likely detract from the weighty aura of ''A Million Random Digits'' if the RAND Corporation revealed that its tables were also used by poets and artists, most notably Jackson Mac Low, who often turn toward ''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). | + | It would likely detract from the weighty aura of ''A Million Random Digits'' if the RAND Corporation revealed that its tables were also used by poets and artists, most notably Jackson Mac Low, who often turn toward ''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, p. 236). Mac Low's "Sade Suit" similarly used playing cards and ''A Million Random Digits'' to rewrite the Marquis de Sade (p. 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" (RAND). Once again, it's randomness all the way down. This seemingly 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” (RAND Corporation). 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 (such as Green et al’s work at MIT, with joint support of the U.S. Army, Navy, and Air Force). | + | 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" (RAND). Once again, it's randomness all the way down. This seemingly 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 (such as Green et al’s work at MIT, with joint support of the U.S. Army, Navy, and Air Force). |
| − | As Donald Knuth relates in ''The Art of Computer Programming'', 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 determine the countless random factors that arise during 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," called the middle-square method. It worked by squaring an initial random 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” (Knuth 3)--a phenomenon known today as “pseudo-randomness,” which arguably describes any human or machine attempt to generate random numbers. | + | As Donald Knuth relates in ''The Art of Computer Programming'', John von Neumann was the first to propose the idea of harnessing a computer to generate random numbers (p. 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 determine the countless random factors that arise during 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, pp. 138-139). Von Neumann’s solution was to design a computer program to produce random numbers "on the fly," called the middle-square method. It worked by squaring an initial random 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” (p. 3)--a phenomenon known today as “pseudo-randomness,” which arguably describes any human or machine attempt to generate random numbers. |
| − | Knuth gamely admits that his own attempts to generate random numbers through software algorithms—using what he hoped to be a “’super random’ number generator”--failed, though it’s worth noting that he wanted his machine language program “to be so complicated that a man reading a listing of it without explanatory comments would not know what the program was doing” (Knuth 5). It does not take a leap of imagination to see in Knuth’s desire for obscure code an early version of the same kind of mystery residing in 10 PRINT. | + | Knuth gamely admits that his own attempts to generate random numbers through software algorithms—using what he hoped to be a “’super random’ number generator”--failed, though it’s worth noting that he wanted his machine language program “to be so complicated that a man reading a listing of it without explanatory comments would not know what the program was doing” (p. 5). It does not take a leap of imagination to see in Knuth’s desire for obscure code an early version of the same kind of mystery residing in 10 PRINT. |
| − | 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 (Knuth, 1969, 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. As journalist John Pfeiffer noted in a book released two years after the documentary, SAGA II, the script-writing program behind the mini-Westerns, took programmers Douglas Ross and Harrison Morse two months and fifty-five hundred instructions to develop (Pfeiffer, 1962, 130-138). The key to SAGA II were 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). | + | 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 (pp. 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. As journalist John Pfeiffer noted in a book released two years after the documentary, SAGA II, the script-writing program behind the mini-Westerns, took programmers Douglas Ross and Harrison Morse two months and fifty-five hundred instructions to develop (Pfeiffer, pp. 130-138). The key to SAGA II were its thirty “switches,” which made “various alternative or branching paths” possible (p. 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” (p. 136). |
=== Computational Randomness in Aesthetic Design === | === Computational Randomness in Aesthetic Design === | ||
