Randomness
From Maze
(Difference between revisions)
(→Works Cited: Added Boyle 'Random Numbers' article) | (→The Emergence of Randomness in Computing) | ||
| Line 59: | Line 59: | ||
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). | 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 (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. | + | John von Neumann was the first to propose the idea of harnessing a computer to generate random numbers (Knuth, 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” (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. | 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. | ||
