[Date Index] [Thread Index] [Author Index]
Re: random numbers?
Hi Your question is not silly at all! I am not an expert in randomness, but I can probably give a reasonable overview. Random number are very useful. Random numbers are used in cryptography (for generating keys), in computer-based scientific experiments (the application for which I use them) and more trivial things, like computer games (e.g. a simple betting game based on simulating throwing a fair die). The 'quality' of the random numbers you require depends upon the application. In a computer game, we'd probably be happy with numbers that appear to be random, but might actually be numbers drawn from a predefined pattern which would eventually repeat. In scientific experiments, we may be happy with the predefined sequence, but we'd probably prefer to have much more confidence in the quality of the randomness (again, the application determines the required quality). In military-grade cryptography, such simple approaches could result in messages being decrypted by the 'enemy', and this could have devastating consequences. Most computer languages provide random number generators which are better termed "pseudo-random": this emphasises that the numbers are not really random, but appear to be. They are typically generated by an algorithm, and are therefore largely deterministic. It is possible (though difficult), to generate 'really' random numbers. Usually, these are not produced via an algorithm, but by measuring a physical phenomenon that is known to be governed by a random process. For example, we might time the interval between emissions of quanta of radiation from a radioactive source (which follows a Poisson distribution). Such methods are not provided on a typical computer! There are services on the internet that will provide you with random numbers generated from such sources. (But if you are into cryptography, how do you establish that you are not receiving these from the 'enemy'!) I have already mentioned the Poisson distribution. This raises the question of what you mean by randomness. Really, what is meant is that the source of the random numbers follows a particular distribution (i.e. uniform distribution, Normal distribution, Poisson distribution, etc.). Once you have defined the distribution from which you want to sample, and have a method for generating number that follow that distribution, you need to be able to compare the two, to verify that your source is random enough. Here, one can use statistical tests. I'm not a Mathematica user, but you'll almost certainly find a pseudo-random number generator that can draw from a number of distributions. These random numbers will probably be of a high quality, but they will not be truly random. Here are some links you may find interesting: www.random.org/ en.wikipedia.org/wiki/Random documents.wolfram.com/v5/Built-inFunctions/MathematicalFunctions/RandomNumbers/Random.html