Elusive Randomness

Computers are built to preserve information, not to be creative, and certainly not to be random. Therefore it is a problem to get a really random number into a computer when you need one. A common source, looking at the hundredth of seconds in the computer's clock, is not all that good as it leads to predictability if you pull two numbers from the hat with a recurrent time interval between them. You really need to link the computer to something non-digital if you want real randomness.

A legendary 80s science fiction computer game, Elite, used pseudo-randomness to generate its world. The game has next to no data on-board as it wouldn't fit into the tiny work memory of the era's home computers. Instead it has a random-number generator that is hard-wired to start with the same input value every time it's run. Thus, instead of generating a new set of numbers every time, it reliably recreates the same fictional universe with the star systems Lave and Leesti and its edible mountain poets.

I once came across a hypothesis (whose status among neuroscientists today I do not know) that the human brain likewise has a localised "crazy box" that allows for creativity while the rest of the wetware works on computer-like principles. According to this hypothesis, your creativity will increase if you perturb the brain's function and allow the crazy box to have greater influence over the machine's output. Thus the Skaldic Mead and Sgt. Pepper and On the Road.

Random.org offers an on-line random number generator for all your creative needs. It takes the numbers from atmospheric noise picked up by three analog radio receivers. Better than perturbing your brain!

[More blog entries about , , , ; , , , .]

More like this

Conveniently, you can get good solid entropy easily enough from a variety of dedicated peripherals. Via has been building them into their CPUs for a while now and crypto accelerator cards commonly include them(though those tend to be pricey).

If you want to do it on the cheap, ordinary webcams can actually be made to work: http://www.lavarnd.org/what/process.html

A common method of generating entropy in ordinary computers is measuring the hard disk's response time very accurately, and mincing the numbers through various hashing functions. This is because the time it takes for the disk heads to seek, and to lock on to, a track is influenced by turbulence in the air that floats over the disk, and this turbulence is considered to be "truly random".

SSDs (solid state devices/disks) have no suck latency jitter to measure, so I guess in-built hardware entropy generators will become quite common soon.

A warning: when generating encryption keys for SSL sessions (or whatever) generate your pseudorandom value with purely local resources. You mustn't derive the keys from a public source, because they would be predictable.

By Lassi Hippeläinen (not verified) on 02 Mar 2009 #permalink

What do you mean by a truly random number? I wouldn't rely on atmospheric noise. That's way too predictable and there are likely many correlations within the data. If nothing else, it varies with solar activity. What statistical properties are you seeking? What patterns are you trying to avoid? Any mathematician would ask the same question. Lord knows, I've had to deal with this enough times over the years.

Also, consider whether you want to be able to recreate your random sequence. This is massively useful and not just for debugging. For example, there are a number of random fonts out there, with each letter built grammatically using a random number generator. If you are using process color, instead of spot color, you need to be able to reset the random number generator for each of the the CMYK primary color layers, or you'll get true garbage when printing colored text.

Finally, what does randomness have to do with creativity? The most creative minds are generally quite systematic. If you've actually watched someone creative hard at work, be they a scientist or an artist, you'll see them applying rules, measuring and thinking, and trying and discarding things. The answer may appear random if you haven't watched the process, but a random approach isn't a good way to get a creative answer.

Randomness is important to creativity, as in order to create something truly new you can't just apply an algorithm to something existing. Computers aren't built to make new information up.

Work has been done to make them do so, more or less by increasing their `crazy' factor by disturbing programs, as you describe for the human brain. The stuff I know of is by a guy called Stephen Thaler, but his website is rivalled only by David Icke's for self-aggrandising overblown promotion, so I've never been able to figure out whether actual scientists take his studies seriously or not...

Well, if you stick enough random mutations into the executable files of Microsoft Word, I guess you might get lucky and end up with Minesweeper... (-;

There is some evidence that animals are able to generate pseudo-random behaviour - it's a potentially huge asset for game-theoretical situations to be able to be unpredictable. The classic example is the "hawks and doves" situation.

By Johan Lundstrom (not verified) on 03 Mar 2009 #permalink

Do fish know they are in water?

As a graphics Creative Director I can tell you an easy way to create; visit another country with a pencil and pad in hand and make notes. You will be surprised the unique observations you will have which are taken for granted by those who live in that environment and to which they are oblivious.

Events subject to turbulence, ie socio-economics or simply economics are not analyzable by statistical methods.

Sorry, but what do you eman by "statistical methods"? I assume not what is studied in statistics - there is a large area of statistics (econometrics) devoted to just this.