|
-
October 17th, 2004, 04:49 PM
#12
Hi
as for "pseudo-random numbers":
It has been stated here, random numbers produced by computers are not completely random,
ie they are deterministic, hence they are called "pseudo-random numbers". This of course,
is completely true. A very simple "pseudo-random-generator"-algorithm is
Code:
long int a,b,c,d;
// initialisation (set the "seed")
a=14;
// pseudo random generator that generates number between 0 and 100
for (i...){
b=23472985; // these two numbers define the "random number generator"
c=394749587; // these two numbers define the "random number generator"
d=a*b % c; // typical pseudo-"random number"-algorithm
a=((d%100)+100)%100; // a is a random number between 0 and 100. Used as the "next" seed.
}
}
With the same initial seed "a", and the same parameteres "b" and "c" you generate the same "random numbers"
always. The quality of a random generator is measured by two characteristics:
- uniformness of the distribution of "random numbers"
- correlation between the "random numbers"
The above algorithm, I haven't tested it, should generate quite a nice uniformness, if I recall correctly.
However, the correlation between the "random numbers" is very high, ie. after producing some (quite) large
numbers of "random numbers", they start to repeat. Set b and c to small values, like b=123 and c=165 and you
will easily recognise a scheme.
For encryption techniques, for simulations of large systems (using socalled "Monte Carlo" techniques), etc., the
important point for a "pseudo-random generator" is a very large correlation time, ie the time where the numbers
start to repeat. Me for example, I use a "pseudo-random generator" with a correlation time that is orders larger
than the number of atoms within the universe - ie if you do not know the "seed", you cannot use information,
for whatever purpose, coming from the random generator itself. However, your algorithm might be restricted in
some "subspace" such that you can try to obtain additional information, for whatever purpose.
Note: Especially in scientific simulations, the "pseudo-randomness" is a fundamental criterion of a random-generator,
since the published results based on simulations have to be reproducible.
as for chaotic systems:
Chaotic behaviour has nothing to do with randomness and/or unpredictability. This has
been pointed out and illustrated nicely by ShagDevil. Chaotic systems are defined as
systems, as it has been stated here, where solutions are heavily dependent of the initial conditions.
Mathematically (however not rigorously spoken):
If I change the initial conditions by some small number ("neighborhood"),
the solutions have no a priori "neighborhood", ie the solution may change from here to mars.
It's just a mathematical phenomenon, and quite a lot chaotic systems can be solved
or at least described analytically.
as for "complete randomness":
There is indeed a source out there, that is "perfectly" random. Namely, quantum effects. As an example, the
radioactive decay of elements is a purely random process and cannot be "fixed" by knowing ALL involving factors,
as with the example of the flipping coin. Actually, "perfect" random numbers are being generated [1].
I hope, I was not too technical.
Cheers.
[1] http://www.randomnumbers.info/content/Press.htm
If the only tool you have is a hammer, you tend to see every problem as a nail.
(Abraham Maslow, Psychologist, 1908-70)
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
|