Randomness occurs in many physical phenomena. For example, according to many quantum physicists, whether an unstable atom decays is truly random. Also, laws explain the motion of fluids at macroscopic levels but at the atomic scale they are unpredictable to us. Also, in biology, gene mutations can be considered random. Randomness is important in chaos theory, which deals with when minute unpredictable changes in initial conditions result in vastly different outcomes. For example, if a butterfly flaps its wings at one precise moment, it could change the worldwide weather patterns in a month. The same effect can be seen (although delayed longer) if it is a uranium atom that decays at that moment. After a long enough time the weather will change as before. This is what prevents long-term weather predictions.
In mathematics, random processes are often idealised. For example, a coin is simply a process which produces a head 50% of the time and a tail 50% of the time. In the real world there may be a slight bias towards heads or tails and there may be a miniscule chance of landing on its edge. Also, an idealised die is a process producing an integer between 1 and 6, with each occurence having a 1/6 probability. Note that being a random process does not imply that every outcome has an equal probability. For example, in an idealised biased coin, heads has an arbitrary probability of occurence, not necessarily 50%.
It is also possible to get random sequences. For example, a sequence of coin tosses is a random sequence. It is often more convenient to describe how random a sequence is using Kolmogorov complexity. The basic principle behind it is the minimum length of a program written to compute the sequence. For example, HTHHHHTHTTTH is more complex than HTHTHTHTHTHT. In the first case, no obvious short program can be found whereas in the second case a program could be expressed as "repeat HT 6 times". The precise degrees depend on the programming language used. Now use a programming language with syntax that can be encoded in terms of sequences of H and T. A sequence is Kolmogorov random if every program to compute the sequence is at least as long as the sequence. Using a standardised language and encoding, this can be made precise. For example, using C with ASCII will give one form of Kolmogorov randomness. Note, however, that both the syntax and encoding are very inefficient and will only detect very long strings with very predictable patterns.
There is another use of random numbers in science, mathematics, and computer
science. One common statistical test to determine the probability of an
event is known as the Monte Carlo method, which involves a very large
number of random trials. For example, to compute an approximation of the
area of a circle, take a circle inscribed within a square, plot a large
number of points inside the square, and count how many are in the circle.
If a large enough number of trials are needed, a computer is required.
This poses another problem, which is how to generate random numbers using
a computer. Computers are deterministic and thus cannot produce truly
random numbers. However, they can use pseudo-random number generators.
These are complex programs that produce a sequence of numbers that appear
to be random. Having a good pseudo-random number generator is key to the
Monte Carlo method, as it requires a uniform distribution of numbers.
It is also useful for cryptography, but to be secure it must satisfy several
stringent conditions. If someone got hold of a sequence of numbers, it
should be impossible (or computationally infeasible) to predict the next.
Related entriesNon-transitive dice
|Home • Contact|