|
|
Random Number Generation
Random Number Generators (RNGs) or Random Event Generators (REGs) are designed to
produce a sequence of numbers or other outcomes which has no pattern. The sequence
should therefore be entirely unpredictable using any known means. RNGs have a variety
of uses in parapsychological research. Most important are (a) the determination
of sequences of targets in ESP research, and (b) as output that participants in
psychokinesis (PK) research can attempt to influence paranormally. Random numbers
also have many other uses - e.g., in cryptography, computer games, online gambling,
lotteries and simulations.
"True" random numbers must be generated using a method
that, in theory, is completely random and unpredictable. Such methods include those
utilising electronic noise, radio noise, or radioactive decay which are processes
that physicists believe are indeterminate. Researchers have developed various hardware
devices that can be connected to a computer to generate such "true" random
numbers. An example is the
Psyleron REG-1.
"Pseudo" Random Number Generators (PRNGs) produce a sequence of numbers
using a method (usually a software algorithm) which is predetermined and therefore,
in theory, predictable. However the algorithm is sufficiently complex to prevent
the sequence being predicted unless an initial "seed" value is known.
PNRGs use various unpredictable ways to seed the algorithm, such as ambient temperature
or stock market fluctuations. A common seed is the computer's system clock time
at the moment when the generation begins.
The "random numbers" used in all
tests, games and demonstrations on our site are generated by the
JavaScript Math.random()
method. This software PNRG algorithm is seeded by time, and produces a floating
point number between 0 and 1. This number can then be transformed computationally
into the values required for particular applications. For example, the output can
be transformed into integer (whole number) values from 1 to 5, representing the
five different ESP card symbols.
Checking the Output from RNGs
The output from a RNG or PRNG should ideally be checked to ensure that the sequence
shows no evidence of non-randomicity. Usually, two checks are performed. First,
the data are checked for equiprobability to ensure that each number is equally
likely to be generated. Second, the numbers are checked for independence
to ensure that there are no particular sequential patterns.
Of course, data may pass the check for equiprobability but fail the check for independence.
For example, the sequence 01010101 shows the two outcomes (0 and 1) to be equally
likely, but the data are not independent because 0 is always followed by 1 which
is always followed by 0.
When checking for independence it is possible to look for complex sequential
patterns but,
in practice, a check on the independence of pairs of successive numbers will usually
suffice. For example, if generating a sequence of 0s and 1s, the independence check
will see whether the 00, 01, 10, and 11 pairs are equally probable (which they are
not in the above example).
Using the Random Number Generator
Random integers can be generated as (a) Open Sequence, (b) Closed Sequence,
or (c) Unique Values.
-
With the Open Sequence, each integer can appear any number of times.
-
With the Closed Sequence, each integer will appear an equal number of times.
-
With Unique Values, each integer can only appear ONCE. This procedure can be used,
for example, to select lottery numbers.
To generate an Open or Closed Sequence, type in the total number of integers (maximum
100,000 for Open Sequence, or 10,000 for Closed Sequence). Then type in the lowest
and highest integer values (these must be between 0 and 9999). Then click GO.
For example, to generate a target sequence of 25 ESP cards, number of integers
= 25, lowest integer = 1, highest integer = 5. Each integer represents one of the
ESP cards (e.g., 1 = Circle, 2 = Cross, 3 = Waves, 4 = Square, 5 = Star).
A sequence of Unique Values is also generated in the same way. However, a maximum
of 1,000 unique values can be generated. For obvious reasons, the number of different
integer values cannot be less than the number of integers to generate (e.g., you
cannot generate 10 unique values between 1 and 9).
If there are sufficient data in your Open or Closed sequences, you will be given
the option to perform checks for equiprobability (Open Sequence only) and for pairwise
independence. The statistical tests used for these checks are the Chi-Square Goodness
of Fit Test (for equiprobability) and the Chi-Square Contingency Table Test
(for independence). Equiprobability and independence are assumed when the two-tailed
probability associated with Chi-Square is greater than 0.10 (i.e., there is no evidence
of a significant deviation from randomness).
The randomicity checks can also be used to test the JavaScript Math.random()
method used in our tests and games. To do this, generate 100,000 Open Sequence integers
using whichever range of values you prefer. Please note that, by chance,
the randomicity checks will indicate non-random sequences about 1 time in 10. An
occasional non-random outcome does NOT, therefore, indicate a systematic problem
with the Math.random() method.
Disclaimer
While every effort has been taken to ensure the error-free operation of this random
number generator, no warranty of its accuracy or suitability for any purpose is
made or implied, and no liability will be accepted for any inconvenience, loss or
damage caused directly or indirectly from its use.
|