Welcome to the World Wide Web Random Number Generator


What is it for?

Short answer:

It's a downloadable random number table

Long answer:

Though it seems easy enough to make random errors, to make them continuously, well-defined and on demand is not so easy. This is the job of a random number generator (RNG) There are basically two types:

1) Software. These are the so-called pseudo RNGs because they inevitably have non-random subsequences. They are non-random because each "random" number is in principle totally predictable, as it is produced by an algorithm. However, pseudo RNGs are cheap, readily available and if carefully programmed they may be quite adequate for most types of problems.

2) True, i. e. physical, RNGs. They are gemerated by electronic noise or radioactive decay. Even true RNGs, especially if they are carelessly constructed, have their problems. Unless precautions are taken the random numbers may act non-randomly, i. e. show a bias. A further price you pay for the advantage of getting rid of the algorithmic structure imposed by a pseudo RNG is the higher cost and the necessity for a free port on your computer.

This World Wide Web RNG is of the second type (otherwise it would be quite pointless) and offers you the chance to find out whether developing or purchasing a physical RNG is worth the effort for your problem.

What format is the data in?

Ther are currently two formats available.

ASCII

This is a table of 7776 decimal digits, equally distributed among 0,1, ... , 9. In fact it is not pure ASCII, but an preformated ASCII table which is embedded in a simple HTML file. That means that if you want to import the file into a word processor program, you'll probably want to choose a non-proportional font like Courier in order to to get a table with straight lines.

Please note that the file is cyclically renewed, so that the file RNTABLE.HTM you get now may differ from the RNTABLE.HTM that you get a few hours later. Each RNTABLE.HTM file, however, contains the date and time of its actual production.

Binary

Each random number file consists of 65536 bytes, with the 256 different possible bytes equally distributed. A file can be viewed as an 8*65536 bit long snippet from an infinite series of 0s and 1s, where for every natural number n every n-bit sequence has the same probability of appearing as every other n-bit sequence. This format should make it easy to get an equal distribution on the unity interval to any required number of significant digits. To do this you simply interpret sub-sequences of sufficiently many bits as binary numbers. From this all other desired distributions can then be calculated by the usual F-inverse method.

The file names are DOS compliant. The first six digits give the date of production of the file in the form ttmmyy. The last two hexadecimal digits number the files in the order in which they have been produced. The file name extension is always RN. Please note that the files are cyclically renewed, so that the file ttmmyy00.RN you get now may be different from the ttmmyy00.RN that you get a few hours later.

The ASCII and the binary data are created separately so that there is no interdependency between them.

How do I get the data?

ASCII

Binary

You will be offered a list of at most 16 files, each of them 64KB. Click on one of the file names in order to start download. If your WWW browser insists on showing you the file while downloading, you may see some rather weird things. Don't worry, that's perfectly normal.

The binary random numbers will most probably not be useful for you as they are. However, they are a good starting point from which to convert in other formats. Such conversions should be done locally after you have downloaded the file. This saves the hard disk space which would otherwise be required to hold the data in a variety of different formats. We hope in the future to be able to offer C sources and DOS executables in order to produce the most popular file formats for downloading. Feel free to tell us what you need and we will see what we can do. But please note that we are running this project on the back burner so that it might take considerable time till we get around to installing the appropriate converters.

Please note that the files are cyclically renewed, so if you wait too long before choosing the file name the corresponding file may no longer exist and you get an error. In this case simply go back to the list of all the files, reload it and choose another random number file.

How does the RNG work.?

Basically it is a binary noise generator with a duty cycle of approximately 50% which is produced by XORing independent unstable periodic signals (which is a euphemism for lousy frequency generators). Here's a simplified circuit diagram. By XORing enough counters one should theoratically come very close to the desired 50% duty-cycle without the problem of finet uning which plagues those RNGs using a threshold to evaluate the noise. However, this is not precise enough. To eliminate the remaining first order bias the resulting signal is sampled two bits at a time and all combinations in which the bits are equal (like 00 or 11) are discarded and an 0 or 1 is outputed if the combinations 01 or 10 appear in the series.

Original output of RNG:

01101110010111011110001001101010111100110111111000010001

Splitted into sequences of 2 bits:

01 10 11 10 01 01 11 01 11 10 00 10 01 10 10 10 11 11 00 11 01 11 11 10 00 01 00 01

00 and 11 thrown out:

01 10 __ 10 01 01 __ 01 __ 10 __ 10 01 10 10 10 __ __ __ __ 01 __ __ 10 __ 01 __ 01

01 replaced by 0 and 10 by 1 gives the final string:

0  1     1  0  0     0     1     1  0  1  1  1              0        1     0     0

This method of eliminating bias has replaced the one we used earlier in which the signal drove a counter, of which only the least significant bit was used. The current method increases the speed of production of the random numbers and guarantees elimination of first order bias. The old counter method only made it very improbable, and so far we have not been able to find any indication that it is inferior in eliminating higher order bias.

Are the random numbers guaranteed to ... ?

No. Forget it. Five page standard disclaimers about no warranty, no responsibility and no free drinks apply here, too.
More to the point: we are constantly in the process of testing the RNG for bias. Should you note any unusual behaviour, please inform us at the address given below. Any other thoughts and suggestions are cordially welcome.

Now included is an online option which gives an overview of first order bias by giving the number of zeros for each binary random number file and the one-sided as well as two-sided probability of this outcome for an ideal RNG.

Geraldo_Hubero@ro.mauso.de

Last update: June 16 1999