### Random Computing

July 26, 2010 Random numbers are an important part of scientific simulation and computer modeling. Computer generation of random numbers is an oxymoron, as John von Neumann famously stated[1]Any one who considers arithmetical methods of producing random digits is, of course, in a state of sin.What von Neumann was saying is that the numbers aren't random if we know how to generate them. He used computer-generated random numbers, nonetheless, in his Monte Carlo calculations. Von Neumann invented a nice method, called "Von Neumann Whitening," to increase the randomness of bit streams. I've worked with randomness all my life. At the same time that men first landed on the moon, I was building a random digit display using a common method of generating random voltages (a.k.a., white noise) in analog circuitry. My earliest digital random number generator was a linear feedback shift register (LFSR) that used TTL integrated circuits. Finally, personal computers became available, and it was possible for me to program a computer to act like the hardware LFSRs I had built. The Linear Congruential Generator is an easier way to program random numbers, but its randomness is considered somewhat worse than that of a LFSR. Random number generators are now built into most computer languages, although purists, noting von Neumann's statement, prefer to roll their own. One popular generator is the Mersenne Twister, which seems to have enough code thrown at the problem to make the best random numbers possible.

Sometimes, the unique computer architectures present in gaming systems can lead to improvements in random number generation. David A. Bader, a professor at the Georgia Institute of Technology, and two of his graduate students, Aparna Chandramowlishwaran and Virat Agarwal, adapted the Mersenne twister to the Cell chip used in the Sony PlayStation 3, to substantially increase the speed of Mersenne Twister random number generation.[2] One way to heed von Neumann's advice is to stop using algorithmic methods of generating random numbers and go back to physical noise sources, such as the white noise voltage generator I built forty years ago. It would be nice to build a white noise voltage generator into a computer chip, but the fundamental problem is that these chips are digital, and the required circuitry is analog. Sure, each type of circuit is based on the transistor, but the transistors are optimized for different performance requirements, so digital chips only do digital things well. Intel has devised a way to incorporate analog randomness into a digital random number generator.[3] A research team at Intel's Circuit Research Lab (Hillsboro, Oregon) has built a random number generator using the Intel standard CPU process. This generator can produce billions of random bits per second. Intel's team utilized the randomness inherent in the transistor transition between low voltage (digital "0") and high voltage (digital "1") states. Transistor data are sampled during this period, and, with tuning, the samples are randomly ones or zeros. I'm somewhat suspicious about the "tuning" part, but we'll monitor their progress. I'm certain the cryptographers will be more than willing to analyze the bit stream from this generator when the chip is available.

### References:

- Quotations by John von Neumann on WikiQuote.
- Samuel K. Moore, "PlayStation 3 Processor Speeds Financial-Risk Calculation," IEEE Spectrum Online, November 19, 2008.
- Willie D. Jones, "Intel Makes a Digital Coin Tosser for Future Processors," IEEE Spectrum Online, June 29, 2010.

*Permanent Link to this article*

RSS Feed

### Google Search

Latest Books by Dev Gualtieri

**Previews Availableat Tikalon Press**

*STEM-themed novel for middle-school students*

*Mathematics-themed novel for middle-school students*

*Complete texts of LGM, Mother Wode, and The Alchemists of Mars*

Other Books

- Reverse Sprinkler, April 8, 2024

- T Coronae Borealis, April 1, 2024

- Coffee and Tea, March 25, 2024

- Arno Penzias (1933-2024), March 18, 2024

- Wave-Particle Duality, March 11, 2024

- Offshore Wind, March 4, 2024

- High Entropy Ceramics, February 26, 2024

- Methane Emissions, February 19, 2024

- Thales, Heron, and Experimental Mathematics, February 12, 2024

- Mica, February 5, 2024

- Disk Packing, January 29, 2024

- Is e
^{π}> π^{e}?, January 22, 2024

- Brownian Motion Energy Harvesting, January 15, 2024

- Coin Flip, January 8, 2024

- Holidays 2023, December 18, 2023

- Fast Radio Bursts, December 11, 2023

- Adhesives, December 4, 2023

- MOND and Planet Nine, November 27, 2023

- Earthquake Light, November 20, 2023

- Antimatter Gravitation, November 13, 2023

- Koch Snowflake, November 6, 2023

- Shared Dessert, October 30, 2023

- Quantum Uncertainty, October 23, 2023

- Sulfur Hexafluoride, October 16, 2023

- Cement Supercapacitors, October 9, 2023

- Fifth Force, October 2, 2023

- The Birthday Problem, September 25, 2023

- Iron as a Fuel, September 18, 2023

- Cosmic Asymmetry, September 11, 2023

- Work, September 4, 2023

### Deep Archive

Deep Archive 2006-2008

**Blog Article Directory on a Single Page**