## About us

What does it take to nurture trust among folks for a new highly innovative system?

The answer is “A fair and transparent system certified by global leaders of the industry”

Welcome to the THEDRAWZONE , the platform for drawing true random numbers. Developed and designed by the R&D team of Betmacan Limited, the RNG module of THEDRAWZONE is certified by the none other than Itech Labs, Australia. The proven authenticity of randomly generated number is instrumental in building trust for gamers.

What did Itech Labs certify?

Itech Labs carried out rigorous testing and analyzed large data samples to confirm the accuracy and authenticity of the RNG module of MLP. Then they certified that the number drawn online is generated by RNG algorithm which is fair and truly random.

THEDRAWZONE uses this number to serve gaming application like MLP where players put stakes on their lucky numbers. The wins and losses are decided on the basis of what Random number is generated on THEDRAWZONE 's website.

Betmacan innovates to develop a cutting edge technology to create a customer centric system. We aim to make THEDRAWZONE the largest independent RNG platform which offers fair and trusted RNG, fan engagement and many more features in the roadmap.

The website THEDRAWZONE declares a random number every hour as its result. the gaming applications subscribed to it get the outcome in their website/application for the subscribed Drawevents.

THEDRAWZONE draws 24 drawevent outcomes as specified below:

S.No. | DRAW EVENT | DRAW EVENT TIME |
---|---|---|

1 | SILVER | 00:01:00 GMT |

2 | ICECOOL | 01:00:00 GMT |

3 | FUSION | 02:00:00 GMT |

4 | PRISM | 03:00:00 GMT |

5 | TOPAZ | 04:00:00 GMT |

6 | SOLAN | 05:00:00 GMT |

7 | KING | 06:00:00 GMT |

8 | ENJOY | 07:00:00 GMT |

9 | IVORY | 08:00:00 GMT |

10 | FREEDOM | 09:00:00 GMT |

11 | EMERALD | 10:00:00 GMT |

12 | ICE | 11:00:00 GMT |

13 | DIAMOND | 12:00:00 GMT |

14 | SONG | 13:00:00 GMT |

15 | DREAM | 14:00:00 GMT |

16 | RUBY | 15:00:00 GMT |

17 | PYRAMID | 16:00:00 GMT |

18 | FORTUNE | 17:00:00 GMT |

19 | ACE | 18:00:00 GMT |

20 | ROYAL | 19:00:00 GMT |

21 | AROMA | 20:00:00 GMT |

22 | EMPEROR | 21:00:00 GMT |

23 | PLATINUM | 22:00:00 GMT |

24 | PEARL | 23:00:00 GMT |

##### How it happens?

Every hour the inbuilt system triggers process to run the RNG system to generate a true random number. The process takes place online and is available to everybody to see it happening live! It’s indeed an absolute transparent system par excellence!

Each number is displayed in 2-digit format. The right-side digit (indicated as “R”) and the left-side digit (indicated as “L”). For example in the number 52, “5” is L and “2” is R.

The boxes containing the two respective digits have continuous loop of numbers scrolling all the time. This scrolling starts running fast at the draw time of a drawevent. The run continues for few seconds until the scroll stops in both the boxes with a number in each. The number formed by the two numbers is the outcome of the drawevent!

The speed and timing of displaying draw results may vary on different devices and internet speeds.

The last event and the upcoming event are displayed on the THEDRAWZONE website. There is countdown to the next drawevent to keep users informed all the time.

An online report of earlier drawevents is available on the website. One can see the respective results with respective to GMT as well as according to desired country’s time zone.

**Tech aspect explained:**

TheDrawZone has been tested by the best in the industry. After passing a number of tests over millions of data THEDRAWZONE has earned a reliability standard. THEDRAWZONE has accomplished a benchmark which speaks of undisputed fairness. The benchmark has been achieved after successfully passing a series of rigorous testing algorithms. THEDRAWZONE has employed two level testing. 1^{st} level testing has been done by the R&D team of Betmacan Limited. The second level of testing has been done by the Itech Labs Australia.

A brief glimpse of the technical tests results has been mentioned below to get an overview of level of tests carried out to make THEDRAWZONE what it is now.

**Chi square test**: For testing goodness of fit is used to decide whether there is any difference between the observed (experimental) value and the expected (theoretical) value.

**Die-Hard Tests**: Quality of a Random Number Generator is measured by a series of Statistical tests known as DieHard Tests. The battery of tests is listed as below:

**Birthday spacings**: Random points are chosen on a large interval. The spacings between the points should be asymptotically exponentially distributed. The name of this test is based on the birthday paradox.

##### RESULTS OF BIRTHDAY SPACINGS TEST FOR randomdata2.bin

(no_bdays=1024, no_days/yr=2^24, lambda=16.00, sample size=500) | |||

Bits used | mean | chisqr | p-value |
---|---|---|---|

1 to 24 | 15.58 | 21.1130 | 0.221276 |

2 to 25 | 15.99 | 10.4316 | 0.884543 |

3 to 26 | 15.63 | 26.0474 | 0.073601 |

4 to 27 | 15.89 | 23.1292 | 0.145091 |

5 to 28 | 15.76 | 30.8750 | 0.020683 |

6 to 29 | 15.85 | 9.1698 | 0.934785 |

7 to 30 | 15.38 | 31.3200 | 0.018255 |

8 to 31 | 15.62 | 40.0416 | 0.001277 |

9 to 32 | 15.80 | 22.5925 | 0.162993 |

degree of freedoms is: 17 |

**BIRTHDAY SPACINGS TEST **: Combined p-values for 9 p-values observed :

Using KS Test | : 0.038379 |

Using Fisher Method | : 0.000388 |

Using KS Test (Kuiper) | : 0.039830 |

Using KS Test (A-D) | : 0.001609 |

**Overlapping permutations :**This is the OPERM5 test. The sequences of five consecutive random numbers are analysed. There are 120 possible orderings and they should occur with statistically equal probability.

It looks at a sequence of one million 32-bit random integers. Each set of five consecutive integers can be in one of 120 states, for the 5! possible orderings of five numbers. Thus the 5th, 6th, 7th,...numbers each provide a state. As many thousands of state transitions are observed, cumulative counts are made of the number of occurences of each state. Then the quadratic form in the weak inverse of the 120x120 covariance matrix yields a test equivalent to the likelihood ratio test that the 120 cell counts came from the specified (asymptotically) normal distribution with the specified 120x120 covariance matrix (with rank 99). This version uses 1,000,000 integers, twice.

OPERM5 test for file randomdata2.bin

(For samples of 1,000,000 consecutive 5-tuples)

**Sample 1**

chisquare=103.550925 with df=99; p-value= 0.357251

**Sample 2**

chisquare=94.200095 with df=99; p-value= 0.617604

**Ranks of matrices:**Form a matrix of over {0,1} from some selected numbers form bits of random number groups. The ranks of matrices are determined and then they are counted.

This is the BINARY RANK TEST for 31x31 matrices. The leftmost 31 bits of 31 random integers from the test sequence are used |to form a 31x31 binary matrix over the field {0,1}. The rank is determined. That rank can be from 0 to 31, but ranks< 28 are rare, and their counts are pooled with those for rank 28.Ranks are found for 40,000 such random matrices and a chisquare test is performed on counts for ranks 31,30,28 and <=28.

Rank test for binary matrices (31x31) from randomdata2.bin | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |
---|---|---|---|---|

r<=28 | 206 | 211.4 | 0.139 | 0.139 |

r=29 | 5198 | 5134.0 | 0.798 | 0.936 |

r=30 | 23176 | 23103.0 | 0.230 | 1.167 |

r=31 | 11420 | 11551.5 | 1.498 | 2.664 |

chi-square = 2.664 with df = 3; p-value = 0.446 |

This is the BINARY RANK TEST for 32x32 matrices. A random 32x32 binary matrix is formed, each row a 32-bit random integer.The rank is determined. That rank can be from 0 to 32, ranks less than 29 are rare, and their counts are pooled with those for rank 29. Ranks are found for 40,000 such random matrices and a chisquare test is performed on counts for ranks 32,31,30 and <=29.

Rank test for binary matrices (32x32) from randomdata2.bin | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |
---|---|---|---|---|

r<=28 | 182 | 211.4 | 4.093 | 4.093 |

r=29 | 5102 | 5134.0 | 0.200 | 4.293 |

r=30 | 23001 | 23103.0 | 0.451 | 4.744 |

r=31 | 11715 | 11551.5 | 2.314 | 7.057 |

chi-square = 7.057 with df = 3; p-value = 0.070 |

This is the BINARY RANK TEST for 6x8 matrices. From each of six random 32-bit integers from the generator under test, a specified byte is chosen, and the resulting six bytes form a 6x8 binary matrix whose rank is determined. That rank can be from 0 to 6, but ranks 0,1,2,3 are rare; their counts are pooled with those for rank 4. Ranks are found for 100,000 random matrices, and a chi-square test is performed on counts for ranks 6,5 and (0,...,4) (pooled together).

Rank test for binary matrices (6x8) from randomdata2.bin | ||||

bits 1 to 8 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |
---|---|---|---|---|

r<=4 | 978 | 944.3 | 1.203 | 1.203 |

r=5 | 21695 | 21743.9 | 0.110 | 1.313 |

r=6 | 77327 | 77311.8 | 0.003 | 1.316 |

chi-square = 1.316 with df = 2; p-value = 0.518 | ||||

bits 2 to 9 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 925 | 944.3 | 0.394 | 0.394 |

r=5 | 21792 | 21743.9 | 0.106 | 0.501 |

r=6 | 77283 | 77311.8 | 0.011 | 0.512 |

chi-square = 0.512 with df = 2; p-value = 0.774 | ||||

bits 3 to 10 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 940 | 944.3 | 0.020 | 0.020 |

r=5 | 21776 | 21743.9 | 0.047 | 0.067 |

r=6 | 77284 | 77311.8 | 0.010 | 0.077 |

chi-square = 0.077 with df = 2; p-value = 0.962 | ||||

bits 4 to 11 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 950 | 944.3 | 0.034 | 0.034 |

r=5 | 21610 | 21743.9 | 0.825 | 0.859 |

r=6 | 77440 | 77311.8 | 0.213 | 1.072 |

chi-square = 1.072 with df = 2; p-value = 0.585 | ||||

bits 5 to 12 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 932 | 944.3 | 0.160 | 0.160 |

r=5 | 21614 | 21743.9 | 0.776 | 0.936 |

r=6 | 77454 | 77311.8 | 0.262 | 1.198 |

chi-square = 1.198 with df = 2; p-value = 0.549 | ||||

bits 6 to 13 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 948 | 944.3 | 0.014 | 0.014 |

r=5 | 21569 | 21743.9 | 1.407 | 1.421 |

r=6 | 77483 | 77311.8 | 0.379 | 1.800 |

chi-square = 1.800 with df = 2; p-value = 0.406 | ||||

bits 7 to 14 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 952 | 944.3 | 0.063 | 0.063 |

r=5 | 21545 | 21743.9 | 1.819 | 1.882 |

r=6 | 77503 | 77311.8 | 0.473 | 2.355 |

chi-square = 2.355 with df = 2; p-value = 0.308 | ||||

bits 8 to 15 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 943 | 944.3 | 0.002 | 0.002 |

r=5 | 21819 | 21743.9 | 0.259 | 0.261 |

r=6 | 77238 | 77311.8 | 0.070 | 0.332 |

chi-square = 0.332 with df = 2; p-value = 0.847 | ||||

bits 9 to 16 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 885 | 944.3 | 3.724 | 3.724 |

r=5 | 21721 | 21743.9 | 0.024 | 3.748 |

r=6 | 77394 | 77311.8 | 0.087 | 3.835 |

chi-square = 3.835 with df = 2; p-value = 0.147 | ||||

bits 10 to 17 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 897 | 944.3 | 2.369 | 2.369 |

r=5 | 21741 | 21743.9 | 0.000 | 2.370 |

r=6 | 77362 | 77311.8 | 0.033 | 2.402 |

chi-square = 2.402 with df = 2; p-value = 0.301 | ||||

bits 11 to 18 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 896 | 944.3 | 2.470 | 2.470 |

r=5 | 21526 | 21743.9 | 2.184 | 4.654 |

r=6 | 77578 | 77311.8 | 0.917 | 5.571 |

chi-square = 5.571 with df = 2; p-value = 0.062 | ||||

bits 12 to 19 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 887 | 944.3 | 3.477 | 3.477 |

r=5 | 21595 | 21743.9 | 1.020 | 4.497 |

r=6 | 77518 | 77311.8 | 0.550 | 5.047 |

chi-square = 5.047 with df = 2; p-value = 0.080 | ||||

bits 13 to 20 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 924 | 944.3 | 0.436 | 0.436 |

r=5 | 21764 | 21743.9 | 0.019 | 0.455 |

r=6 | 77312 | 77311.8 | 0.000 | 0.455 |

chi-square = 0.455 with df = 2; p-value = 0.797 | ||||

bits 14 to 21 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 968 | 944.3 | 0.595 | 0.595 |

r=5 | 21945 | 21743.9 | 1.860 | 2.455 |

r=6 | 77087 | 77311.8 | 0.654 | 3.108 |

chi-square = 3.108 with df = 2; p-value = 0.211 | ||||

bits 15 to 22 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 969 | 944.3 | 0.646 | 0.646 |

r=5 | 21795 | 21743.9 | 0.120 | 0.766 |

r=6 | 77236 | 77311.8 | 0.074 | 0.840 |

chi-square = 0.840 with df = 2; p-value = 0.657 | ||||

bits 16 to 23 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 932 | 944.3 | 0.160 | 0.160 |

r=5 | 21616 | 21743.9 | 0.752 | 0.913 |

r=6 | 77452 | 77311.8 | 0.254 | 1.167 |

chi-square = 1.167 with df = 2; p-value = 0.558 | ||||

bits 17 to 24 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 925 | 944.3 | 0.394 | 0.394 |

r=5 | 21840 | 21743.9 | 0.425 | 0.819 |

r=6 | 77235 | 77311.8 | 0.076 | 0.895 |

chi-square = 0.895 with df = 2; p-value = 0.639 | ||||

bits 18 to 25 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 932 | 944.3 | 0.160 | 0.160 |

r=5 | 21575 | 21743.9 | 1.312 | 1.472 |

r=6 | 77493 | 77311.8 | 0.425 | 1.897 |

chi-square = 1.897 with df = 2; p-value = 0.387 | ||||

bits 19 to 26 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 923 | 944.3 | 0.480 | 0.480 |

r=5 | 21794 | 21743.9 | 0.115 | 0.596 |

r=6 | 77283 | 77311.8 | 0.011 | 0.607 |

chi-square = 0.607 with df = 2; p-value = 0.738 | ||||

bits 20 to 27 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 945 | 944.3 | 0.001 | 0.001 |

r=5 | 21771 | 21743.9 | 0.034 | 0.034 |

r=6 | 77284 | 77311.8 | 0.010 | 0.044 |

chi-square = 0.044 with df = 2; p-value = 0.978 | ||||

bits 21 to 28 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 925 | 944.3 | 0.394 | 0.394 |

r=5 | 21873 | 21743.9 | 0.767 | 1.161 |

r=6 | 77202 | 77311.8 | 0.156 | 1.317 |

chi-square = 1.317 with df = 2; p-value = 0.518 | ||||

bits 22 to 29 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 907 | 944.3 | 1.473 | 1.473 |

r=5 | 21809 | 21743.9 | 0.195 | 1.668 |

r=6 | 77284 | 77311.8 | 0.010 | 1.678 |

chi-square = 1.678 with df = 2; p-value = 0.432 | ||||

bits 23 to 30 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 908 | 944.3 | 1.395 | 1.395 |

r=5 | 21872 | 21743.9 | 0.755 | 2.150 |

r=6 | 77220 | 77311.8 | 0.109 | 2.259 |

chi-square = 2.259 with df = 2; p-value = 0.323 | ||||

bits 24 to 31 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 925 | 944.3 | 0.394 | 0.394 |

r=5 | 21826 | 21743.9 | 0.310 | 0.704 |

r=6 | 77249 | 77311.8 | 0.051 | 0.755 |

chi-square = 0.755 with df = 2; p-value = 0.685 | ||||

bits 25 to 32 | ||||

RANK | OBSERVED | EXPECTED | (O-E)^2/E | SUM |

r<=4 | 965 | 944.3 | 0.454 | 0.454 |

r=5 | 21766 | 21743.9 | 0.022 | 1.476 |

r=6 | 77269 | 77311.8 | 0.024 | 1.500 |

chi-square = 0.500 with df = 2; p-value = 0.779 | ||||

**TEST SUMMARY**, 25 tests on 100,000 random 6x8 matrices

These should be 25 uniform [0,1] random variates:

0.517980 | 0.774300 | 0.962248 | 0.585215 | 0.549416 |

0.406481 | 0.308039 | 0.847207 | 0.146943 | 0.300857 |

0.061708 | 0.080196 | 0.796531 | 0.211362 | 0.656888 |

0.558004 | 0.639071 | 0.387347 | 0.738372 | 0.978098 |

0.517651 | 0.432087 | 0.323180 | 0.685414 | 0.778832 |

**BINARY RANK - 6X8 TEST :** Combined p-values for 25 p-values observed :

Using KS Test | : 0.670517 |
---|---|

Using Fisher Method | : 0.812796 |

Using KS Test (Kuiper) | : 0.868848 |

Using KS Test (A-D) | : 0.774902 |

- OPSO means overlapping-pairs-sparse-occupancy.
- QQSO means overlapping-quadruples-sparse-occupancy.
- The DNA test considers an alphabet of 4 letters C,G,A,T, determined by two designated bits in the sequence of random integers being tested.

The OPSO test considers 2-letter words from an alphabet of 1024 letters. Each letter is determined by a specified ten bits from a 32-bit integer in the sequence to be tested. OPSO generates 2^21 (overlapping) 2-letter words (from 2^21+1 "keystrokes") and counts the number of missing words---that is 2-letter words which do not appear in the entire sequence.That count should be very close to normally distributed with |mean 141,909, sigma 290. Thus (missingwrds-141909)/290 should be a standard normal variable. The OPSO test takes 32 bits at a time from the test file and uses a designated set of ten consecutive bits. It then restarts the file for the next designated 10 bits, and so on.

OPSO test for file randomdata1.bin | |||

Bits used | No. missing words | z-score | p-value |
---|---|---|---|

23 to 32 | 141967 | 0.1989 | 0.421185 |

22 to 31 | 141488 | -1.4529 | 0.926869 |

21 to 30 | 141940 | 0.1058 | 0.457887 |

20 to 29 | 141591 | -1.0977 | 0.863830 |

19 to 28 | 141745 | -0.5667 | 0.714526 |

18 to 27 | 141496 | -1.4253 | 0.922961 |

17 to 26 | 141851 | -0.2011 | 0.579705 |

16 to 25 | 142102 | 0.6644 | 0.253224 |

15 to 24 | 142125 | 0.7437 | 0.228532 |

14 to 23 | 142086 | 0.6092 | 0.271194 |

13 to 22 | 142307 | 1.3713 | 0.085144 |

12 to 21 | 141357 | -1.9046 | 0.971583 |

11 to 20 | 141889 | -0.0701 | 0.527944 |

10 to 19 | 141788 | -0.4184 | 0.662165 |

9 to 18 | 141758 | -0.5218 | 0.699105 |

8 to 17 | 142185 | 0.9506 | 0.170907 |

7 to 16 | 142414 | 1.7402 | 0.040908 |

6 to 15 | 142517 | 2.0954 | 0.018067 |

5 to 14 | 141669 | -0.8287 | 0.796370 |

4 to 13 | 141862 | -0.1632 | 0.564822 |

3 to 12 | 141863 | -0.1598 | 0.563464 |

2 to 11 | 142143 | 0.8058 | 0.210191 |

1 to 10 | 142024 | 0.3954 | 0.346269 |

**OQSO :** Overlapping-Quadruples-Sparse-Occupancy

The test OQSO is similar, except that it considers 4-letter words from an alphabet of 32 letters, each letter determined by a designated string of 5 consecutive bits from the test file, elements of which are assumed 32-bit random integers. The mean number of missing words in a sequence of 2^21 four- letter words, (2^21+3 "keystrokes"), is again 141909, with sigma = 295. The mean is based on theory; sigma comes from extensive simulation.

OQSO test for file randomdata1.bin | |||

Bits used | No. missing words | z-score | p-value |
---|---|---|---|

28 to 32 | 142483 | 1.9446 | 0.025909 |

27 to 31 | 141798 | -0.3774 | 0.647058 |

26 to 30 | 141861 | -0.1638 | 0.565068 |

25 to 29 | 141917 | 0.0260 | 0.489629 |

24 to 28 | 142182 | 0.9243 | 0.177664 |

23 to 27 | 141641 | -0.9096 | 0.818481 |

22 to 26 | 142264 | 1.2023 | 0.114629 |

21 to 25 | 141939 | 0.1006 | 0.459943 |

20 to 24 | 141825 | -0.2859 | 0.612509 |

19 to 23 | 141816 | -0.3164 | 0.624140 |

18 to 22 | 142087 | 0.6023 | 0.273497 |

17 to 21 | 141667 | -0.8215 | 0.794307 |

16 to 20 | 141431 | -1.6215 | 0.947540 |

15 to 19 | 141692 | -0.7367 | 0.769351 |

14 to 18 | 141847 | -0.2113 | 0.583669 |

13 to 17 | 141694 | -0.7299 | 0.767284 |

12 to 16 | 142017 | 0.3650 | 0.357562 |

11 to 15 | 142171 | 0.8870 | 0.187535 |

10 to 14 | 141668 | -0.8181 | 0.793341 |

9 to 13 | 141521 | -1.3164 | 0.905976 |

8 to 12 | 142064 | 0.5243 | 0.300033 |

7 to 11 | 142014 | 0.3548 | 0.361365 |

6 to 10 | 142172 | 0.8904 | 0.186624 |

5 to 9 | 142083 | 0.5887 | 0.278027 |

4 to 8 | 141920 | 0.0362 | 0.485574 |

3 to 7 | 141753 | -0.5299 | 0.701920 |

2 to 6 | 141556 | -1.1977 | 0.884489 |

1 to 5 | 141910 | 0.0023 | 0.499094 |

The DNA test considers an alphabet of 4 letters: C,G,A,T,determined by two designated bits in the sequence of random integers being tested. It considers 10-letter words, so that as in OPSO and OQSO, there are 2^20 possible words, and the mean number of missing words from a string of 2^21 (over-lapping) 10-letter words (2^21+9 "keystrokes") is 141909. The standard deviation sigma=339 was determined as for OQSO by simulation. (Sigma for OPSO, 290, is the true value (to three places), not determined by simulation.

DNA test for file randomdata1.bin | |||

Bits used | No. missing words | z-score | p-value |
---|---|---|---|

31 to 32 | 142048 | 0.4091 | 0.341249 |

30 to 31 | 141348 | -1.6558 | 0.951123 |

29 to 30 | 141738 | -0.5054 | 0.693360 |

28 to 29 | 142083 | 0.5123 | 0.304220 |

27 to 28 | 141177 | -2.1603 | 0.984624 |

26 to 27 | 141214 | -2.0511 | 0.979872 |

25 to 26 | 141677 | -0.6853 | 0.753435 |

24 to 25 | 141692 | -0.6411 | 0.739268 |

23 to 24 | 141494 | -1.2252 | 0.889743 |

22 to 23 | 142266 | 1.0521 | 0.146371 |

21 to 22 | 142084 | 0.5153 | 0.303189 |

20 to 21 | 141670 | -0.7060 | 0.759902 |

19 to 20 | 142354 | 1.3117 | 0.094809 |

18 to 19 | 141690 | -0.6470 | 0.741181 |

17 to 18 | 141446 | -1.3668 | 0.914149 |

16 to 17 | 141935 | 0.0757 | 0.469820 |

15 to 16 | 142174 | 0.7807 | 0.217478 |

14 to 15 | 141743 | -0.4906 | 0.688163 |

13 to 14 | 142229 | 0.9430 | 0.172846 |

12 to 13 | 141838 | -0.2104 | 0.583327 |

11 to 12 | 142193 | 0.8368 | 0.201357 |

10 to 11 | 141527 | -1.1278 | 0.870301 |

9 to 10 | 142368 | 1.3530 | 0.088026 |

8 to 9 | 141585 | -0.9567 | 0.830647 |

7 to 8 | 142191 | 0.8309 | 0.203019 |

6 to 7 | 142404 | 1.4592 | 0.072255 |

5 to 6 | 142082 | 0.5094 | 0.305253 |

4 to 5 | 141752 | -0.4641 | 0.678712 |

3 to 4 | 141770 | -0.4110 | 0.659465 |

2 to 3 | 142047 | 0.4061 | 0.342332 |

1 to 2 | 142089 | 0.5300 | 0.298056 |

**Count the 1s:**1 bits in each of either successive or chosen bytes are counted. Then the counts are converted to "letters". Now count the occurrences of five-letter "words". This is the COUNT-THE-1''s TEST on a stream of bytes.

Consider the file under test as a stream of bytes (fouper 32 bit integer). Each byte can contain from 0 to 8 1''s, with probabilities 1,8,28,56,70,56,28,8,1 over 256. Now let the stream of bytes provide a string of overlapping 5-letter words, each "letter" taking values A,B,C,D,E. The letters are determined by the number of 1''s in a byte: 0,1,or 2 yield A,3 yields B, 4 yields C, 5 yields D and 6,7 or 8 yield E. Thus we have a monkey at a typewriter hitting five keys with various probabilities (37,56,70,56,37 over 256). There are 5^5 possible 5-letter words, and from a string of 256,000 (over-lapping) 5-letter words, counts are made on the frequencies for each word. The quadratic form in the weak inverse of the covariance matrix of the cell counts provides a chisquare test: Q5-Q4, the difference of the naive Pearson sums of (OBS-EXP)^2/EXP on counts for 5- and 4-letter cell counts.

Test result for the byte stream from randomdata2.bin | |||

(Degrees of freedom: 5^4-5^3=2500; sample size: 2560000) | |||

chisquare | z-score | p-value | |
---|---|---|---|

2483.05 | -0.240 | 0.594719 |

This is the COUNT-THE-1''s TEST for specific bytes.

Consider the file under test as a stream of 32-bit integers.From each integer, a specific byte is chosen , say the left- most: bits 1 to 8. Each byte can contain from 0 to 8 1''s, with probabilitie 1,8,28,56,70,56,28,8,1 over 256. Now let the specified bytes from successive integers provide a string of (overlapping) 5-letter words, each "letter" taking values A,B,C,D,E. The letters are determined by the number of 1''s,in that byte: 0,1,or 2 ---> A, 3 ---> B, 4 ---> C, 5 ---> D, and 6,7 or 8 ---> E. Thus we have a monkey at a typewriter hitting five keys with with various probabilities: 37,56,70, 56,37 over 256. There are 5^5 possible 5-letter words, and from a string of 256,000 (overlapping) 5-letter words, counts are made on the frequencies for each word. The quadratic form in the weak inverse of the covariance matrix of the cell counts provides a chisquare test: Q5-Q4, the difference of the naive Pearson sums of (OBS-EXP)^2/EXP on counts for 5- letter and 4-letter cell counts.

Test results for specific bytes from randomdata2.bin | |||

(Degrees of freedom: 5^4-5^3=2500; sample size: 256000) | |||

bits used | chisquare | z-score | p-value |
---|---|---|---|

1 to 8 | 2589.50 | 1.266 | 0.102809 |

2 to 9 | 2534.88 | 0.493 | 0.310917 |

3 to 10 | 2469.75 | -0.428 | 0.665598 |

4 to 11 | 2583.88 | 1.186 | 0.117758 |

5 to 12 | 2446.52 | -0.756 | 0.775269 |

6 to 13 | 2495.18 | -0.068 | 0.527153 |

7 to 14 | 2370.69 | -1.829 | 0.966282 |

8 to 15 | 2477.89 | -0.313 | 0.622729 |

9 to 16 | 2493.88 | -0.087 | 0.534511 |

10 to 17 | 2445.27 | -0.774 | 0.780531 |

11 to 18 | 2629.66 | 1.834 | 0.033352 |

12 to 19 | 2475.12 | -0.352 | 0.637530 |

13 to 20 | 2453.89 | -0.652 | 0.742831 |

14 to 21 | 2489.39 | -0.150 | 0.559651 |

15 to 22 | 2528.26 | 0.400 | 0.344707 |

16 to 23 | 2561.52 | 0.870 | 0.192138 |

17 to 24 | 2467.54 | -0.459 | 0.676892 |

18 to 25 | 2420.62 | -1.123 | 0.869195 |

19 to 26 | 2549.42 | 0.699 | 0.242323 |

20 to 27 | 2379.35 | -1.706 | 0.956018 |

21 to 28 | 2508.35 | 0.118 | 0.452988 |

22 to 29 | 2575.29 | 1.065 | 0.143477 |

23 to 30 | 2526.18 | 0.370 | 0.355578 |

24 to 31 | 2391.16 | -1.539 | 0.938134 |

25 to 32 | 2421.93 | -1.104 | 0.865219 |

**Parking lot test:**Randomly place unit circles in a 100×100 square. A circle is successfully parked if it does not overlap an existing successfully parked one. After 12,000 tries, the number of successfully parked circles should follow a certain normal distribution. The normal distribution is a probability function that describes how the values of a variable are distributed. It is a symmetric distribution where most of the observations cluster around the central peak and the probabilities for values further away from the mean taper off equally in both directions.

#### THIS IS A PARKING LOT TEST

In a square of side 100, randomly "park" a car---a circle of radius 1. Then try to park a 2nd, a 3rd, and so on, each time parking "by ear". That is, if an attempt to park a car causes a crash with one already parked, try again at a new random location. (To avoid path problems, consider parking helicopters rather than cars.) Each attempt leads to either a crash or a success, the latter followed by an increment to the list of cars already parked. If we plot n: the number of attempts, versus k: the number successfully parked, we get a curve that should be similar to those provided by a perfect random number generator. Theory for the behavior of such a random curve seems beyond reach, and as graphics displays are not available for this battery of tests, a simple characterization of the random experiment is used: k, the number of cars successfully parked after n=12,000 attempts. Simulation shows that k should average 3523 with sigma 21.9 and is very close to normally distributed. Thus (k-3523)/21.9 should be a standard normal variable, which, converted to a uniform variable, provides input to a KSTEST based on a sample of 10.

CDPARK: result of 10 tests on file randomdata2.bin | |||

(Of 12000 tries, the average no. of successes should be 3523.0 with sigma=21.9) | |||

No. succeses | z-score | p-value | |
---|---|---|---|

3517 | -0.2740 | 0.607947 | |

3546 | 1.0502 | 0.146807 | |

3505 | -0.8219 | 0.794438 | |

3543 | 0.9132 | 0.180558 | |

3534 | 0.5023 | 0.307734 | |

3509 | -0.6393 | 0.738676 | |

3519 | -0.1826 | 0.572463 | |

3549 | 1.1872 | 0.117571 | |

3527 | 0.1826 | 0.427537 | |

3547 | 1.0959 | 0.136563 | |

Square side=100, avg. no. parked=3529.60 sample std.=15.67 |

**PARKING LOT TEST : ** Combined p-values for 10 p-values observed :

Using KS Test | : 0.997557 |
---|---|

Using Fisher Method | : 0.300859 |

Using KS Test (Kuiper) | : 0.976896 |

Using KS Test (A-D) | : 0.412500 |

**Minimum distance test :**Place 8000 points randomly in a 10000×10000 square, then find the minimum distance between the pairs. The square of this distance should be exponentially distributed with a certain mean. In probability theory and statistics, the exponential distribution is the probability distribution that describes the time between events in a Poisson point process, i.e., a process in which events occur continuously and independently at a constant average rate. It is a particular case of the gamma distribution.

##### THE MINIMUM DISTANCE TEST

It does this 100 times: choose n=8000 random points in a square of side 10000. Find d, the minimum distance between the (n^2-n)/2 pairs of points. If the points are truly independent uniform, then d^2, the square of the minimum distance|should be (very close to) exponentially distributed with mean .995 . Thus 1-exp(-d^2/.995) should be uniform on [0,1) and a KSTEST on the resulting 100 values serves as a test of uniformity for random points in the square. Test numbers=0 mod 5 are printed but the KSTEST is based on the full set of 100 random choices of 8000 points in the 10000x10000 square.

This is the MINIMUM DISTANCE test for file randomdata2.bin | |||

Sample no. | d^2 | mean | equiv uni |
---|---|---|---|

5 | 0.6756 | 705.3235 | 0.492857 |

10 | 0.6842 | 353.4190 | 0.497225 |

15 | 1.6118 | 235.8947 | 0.802079 |

20 | 0.2914 | 177.0901 | 0.253868 |

25 | 0.0559 | 141.7478 | 0.054656 |

30 | 0.6059 | 118.4439 | 0.456066 |

35 | 0.1134 | 101.6067 | 0.107730 |

40 | 0.8101 | 89.1495 | 0.556990 |

45 | 0.0171 | 79.3203 | 0.016990 |

50 | 3.0041 | 71.5410 | 0.951159 |

55 | 2.1536 | 65.1346 | 0.885179 |

60 | 0.8588 | 59.7980 | 0.578149 |

65 | 0.2024 | 55.2447 | 0.184091 |

70 | 4.5711 | 51.3870 | 0.989888 |

75 | 0.4473 | 48.0007 | 0.362096 |

80 | 0.3222 | 45.0510 | 0.276632 |

85 | 0.3440 | 42.4331 | 0.292290 |

90 | 0.5689 | 40.1105 | 0.435449 |

95 | 1.2712 | 38.0355 | 0.721304 |

100 | 0.0943 | 36.1519 | 0.090448 |

**MINIMUM DISTANCE TEST : **Combined p-values for 100 p-values observed :

Using KS Test | : 0.964865 |
---|---|

Using Fisher Method | : 0.524719 |

Using KS Test (Kuiper) | : 0.881248 |

Using KS Test (A-D) | : 0.609454 |

**Random spheres test :**Select 4000 points randomly in a cube of edge 1000. Center a sphere on each point, whose radius is the minimum distance to another point. The smallest sphere's volume should be exponentially distributed with a certain mean.

##### THE 3DSPHERES TEST

Choose 4000 random points in a cube of edge 1000. At each point, center a sphere large enough to reach the next closest point. Then the volume of the smallest such sphere is (very close to) exponentially distributed with mean 120pi/3. Thus the radius cubed is exponential with mean 30. (The mean is obtained by extensive simulation). The 3DSPHERES test generates 4000 such spheres 20 times. Each min radius cubed leads to a uniform variable by means of 1-exp(-r^3/30.), then a KSTEST is done on the 20 p-values.

The 3DSPHERES test for file randomdata2.bin | |||

Sample no. | r^3 | equiv uni | |
---|---|---|---|

1 | 9.069 | 0.260877 | |

2 | 6.149 | 0.185313 | |

3 | 40.016 | 0.736545 | |

4 | 9.024 | 0.259779 | |

5 | 18.867 | 0.466816 | |

6 | 20.900 | 0.501759 | |

7 | 9.280 | 0.266070 | |

8 | 44.553 | 0.773519 | |

9 | 32.957 | 0.666657 | |

10 | 6.858 | 0.204355 | |

11 | 9.055 | 0.260534 | |

12 | 31.569 | 0.650862 | |

13 | 2.695 | 0.085902 | |

14 | 85.363 | 0.941890 | |

15 | 6.726 | 0.200841 | |

16 | 77.803 | 0.925238 | |

17 | 4.736 | 0.146036 | |

18 | 1.384 | 0.045088 | |

19 | 45.957 | 0.783873 | |

20 | 102.052 | 0.966685 |

**3D SPHERES TEST : **Combined p-values for 20 p-values observed :

Using KS Test | : 0.466600 |
---|---|

Using Fisher Method | : 0.385831 |

Using KS Test (Kuiper) | : 0.515314 |

Using KS Test (A-D) | : 0.657893 |

##### This is the SQUEEZE test

Random integers are floated to get uniforms on [0,1). Starting with k=2^31=2147483647, the test finds j, the number of iterations necessary to reduce k to 1, using the reduction | k=ceiling(k*U), with U provided by floating integers from the file being tested. Such j''s are found 100,000 times, then counts for the number of times j was <=6,7,...,47,>=48 are used to provide a chi-square test for cell frequencies.

RESULTS OF SQUEEZE TEST FOR randomdata2.bin | |||||

Table of standardized frequency counts (obs-exp)^2/exp for j=(1,..,6), 7,...,47,(48,...) | |||||

-0.1 | -0.7 | 0.6 | -0.8 | 0.4 | -0.1 |

3.1 | -1.2 | 2.7 | 0.2 | -1.2 | 0.9 |

0.6 | -1.0 | 1.7 | -1.2 | -0.7 | 0.4 |

0.0 | -0.7 | -0.4 | -0.1 | 1.0 | 1.2 |

-1.5 | -0.2 | -0.0 | -0.5 | 0.2 | -1.3 |

0.3 | -1.1 | -2.3 | 1.2 | 0.8 | -0.8 |

1.0 | 0.2 | -0.8 | -0.7 | -0.6 | 1.0 |

-0.1 | |||||

Chi-square with 42 degrees of freedom:48.957432 | |||||

z-score=0.759118, p-value=0.213974 |

**Overlapping sums test :**A long sequence of random floats are generated on (0,1). Add sequences of 100 consecutive floats. The sums obtained should be normally distributed with characteristic mean and variance.

##### The OVERLAPPING SUMS test

Integers are floated to get a sequence U(1),U(2),... of uniform [0,1) variables. Then overlapping sums, S(1) = U(1) +...+ U(100), S2=U(2)+...+U(101),... are formed.

The S"s are virtually normal with a certain covariance matrix. A linear transformation of the S"s converts them to a sequence of independent standard normals, which are converted to uniform variables for a KSTEST.

Results of the OSUM test for randomdata2.bin | |||

Test no. | p-value | ||
---|---|---|---|

1 | 0.267035 | ||

2 | 0.270890 | ||

3 | 0.056512 | ||

4 | 0.965257 | ||

5 | 0.072476 | ||

6 | 0.430359 | ||

7 | 0.145759 | ||

8 | 0.474969 | ||

9 | 0.056656 | ||

10 | 0.338536 |

** OVERLAPPING SUM TEST : ** Combined p-values for 10 p-values observed :

Using KS Test | : 0.195422 |
---|---|

Using Fisher Method | : 0.051928 |

Using KS Test (Kuiper) | : 0.360573 |

Using KS Test (A-D) | : 0.039317 |

**Runs test:**A long sequence of random floats on (0,1) are generated. Then Count ascending and descending runs. The counts should follow a certain distribution.

This is the RUNS test. It counts runs up, and runs down,in a sequence of uniform [0,1) variables, obtained by floating the 32-bit integers in the specified file. This example shows how runs are counted: .123,.357,.789,.425,.224,.416,.95 contains an up-run of length 3, a down-run of length 2 and an up-run of (at least) 2, depending on the next values. The covariance matrices for the runs-up and runs-down are well known, leading to chisquare tests for quadratic forms in the weak inverses of the covariance matrices. Runs are counted for sequences of length 10,000. This is done ten times. Then another three sets of ten.

The RUNS test for file randomdata2.bin | |||

(Up and down runs in a sequence of 10000 numbers) | |||

Set 1 | runs up; ks test for 10 p's: 0.571798 | runs down; ks test for 10 p's: 0.182346 | |

Set 2 | runs up; ks test for 10 p's: 0.203912 | runs down; ks test for 10 p's: 0.464078 |

**The craps test:**Play 200000 games of craps, counting the wins and the number of throws per game. Each count should follow a certain distribution.

The CRAPS TEST. It plays 200,000 games of craps, counts the number of wins and the number of throws necessary to end each game. The number of wins should be (very close to) a normal with mean 200000p and variance 200000p(1-p), and p=244/495. Throws necessary to complete the game can vary from 1 to infinity, but counts for all>21 are lumped with 21.A chi-square test is made on the no.-of-throws cell counts. Each 32-bit integer from the test file provides the value for the throw of a die, by floating to [0,1), multiplying by 6 and taking 1 plus the integer part of the result.

##### RESULTS OF CRAPS TEST against Random data

No. of wins : Observed Expected

98532 : 98585.858586

z-score=-0.241, pvalue=0.59518

** All Tests : **Combined p-value of 313 individual p-values :

Using KS Test | : 0.092932 - PASS (p value >= 0.05) |
---|---|

Using Fisher Method | : 0.127742 - PASS (p value >= 0.05) |

Using KS Test (Kuiper) | : 0.143287 - PASS (p value >= 0.05) |

Using KS Test (A-D) | : 0.100864 - PASS (p value >= 0.05) |