|
How Random is Keno?
It is possible that a given Keno setup may exhibit some bias (as in one ball is significantly heavier than the others or shaped poorly or cracked, causing it to be called more or less often than others).
I'm not sure how often balls are changed out, so these factors may be mitigated rather rapidly.
There are too many chaotic variables involved that would need to be measured in order to predict the next ball, so I believe that for all intense purposes the next ball is chosen at random.
The way the Keno Game Number works puts a lot of weight towards the first number drawn.
The first number is weighted 79 times more than the second number, which is weighted 78 times more than the third number, etc.
Because of this it is very important that a given ball doesn't show up more frequently than another in the first spot.
There is a program called ENT written by John Walker (the founder of AutoDesk) that is designed to run a file through a series of tests to determine how random the data is.
A single KNG can be converted into 15 bytes of data.
John uses an example of ENT being used with 32 kilobytes of data from his HotBits project.
To create a file similar in size, I'll use 2,185 KNG's.
That is about a half a days worth of data.
I sort the data by the time the game finished, effectively mixing all 25 casinos into the same data sample.
| Sample | Entropy | Compression | Chi-Square | Mean | Monte Carlo Pi | Serial Correlation Coefficient |
| #1 | 7.994251 | 0% | 260.22 (50%) | 127.3888 | 3.138777005 (error 0.09%) | 0.004540 |
| #2 | 7.993672 | 0% | 288.55 (10%) | 127.5124 | 3.142438667 (error 0.03%) | 0.003198 |
| #3 | 7.994491 | 0% | 248.47 (50%) | 127.5683 | 3.116074698 (error 0.81%) | -0.001036 |
| #4 | 7.994883 | 0% | 233.28 (75%) | 126.9082 | 3.140241670 (error 0.04%) | 0.001626 |
| #5 | 7.994410 | 0% | 254.55 (50%) | 127.4129 | 3.148297327 (error 0.21%) | 0.003335 |
| #6 | 7.993761 | 0% | 282.48 (25%) | 127.9496 | 3.119736360 (error 0.70%) | 0.003973 |
| #7 | 7.995298 | 0% | 212.01 (97.5%) | 127.5763 | 3.100695716 (error 1.30%) | -0.000327 |
| #8 | 7.994254 | 0% | 260.83 (50%) | 127.5818 | 3.141706335 (error 0.00%) | 0.002540 |
These test results show that KenoRND() is very random.
Compare these results with the results found at Random.org.
Random.org uses 8kb tests, and I am using 32kb tests above, I have 8kb samples below for the individual casinos.
You can read the documentation for ENT for more details (specifically his references), but I'll briefly describe the results.
The closer the entropy is to 8, the less it can be compressed.
Hamming says that random data shouldn't be very compressible.
As mentioned on another portion of this site, you want the Chi-Square statistic to be between 5%-95%.
If each byte can have a range from 0 to 255, then the mean should be close to 127.5 if it is randomly distributed.
The closer to 0% the Monte Carlo Pi error the better.
The Serial Correlation Coefficient should also be as close to 0 as possible.
All of the data used for the 8 tests above were gathered from 5/31/05 to 6/5/05.
I have no plans to do a test on par with the billion bit test used by LavaRND, but I am willing to create a large file for someone else to analyse.
It would take a few years to create a file as big as LavaRND used, so keep that in mind.
Also keep in mind that LavaRND is practical to use in the real world, and KenoRND() is not.
| Sample | Entropy | Compression | Chi-Square | Mean | Monte Carlo Pi | Serial Correlation Coefficient |
| Atlantis | 7.977182 | 0% | 259.66 (50%) | 127.4824 | 3.192392099 (error 1.62%) | 0.005968 |
| Boomtown | 7.978223 | 0% | 248.62 (50%) | 127.6998 | 3.136795903 (error 0.15%) | -0.003114 |
| Boulder Station | 7.978649 | 0% | 243.25 (50%) | 127.8006 | 3.110460863 (error 0.99%) | 0.005979 |
| Carson Nugget | 7.976089 | 0% | 271.77 (25%) | 126.9700 | 3.160204828 (error 0.59%) | 0.013807 |
| Casablanca | 7.977675 | 0% | 251.17 (50%) | 127.4441 | 3.101682516 (error 1.27%) | -0.005231 |
| El Cortez | 7.976240 | 0% | 268.65 (50%) | 128.0199 | 3.092904170 (error 1.55%) | -0.011827 |
| Fiesta Henderson | 7.977091 | 0% | 259.22 (50%) | 127.3127 | 3.133869788 (error 0.25%) | 0.006862 |
| Fiesta Rancho | 7.976117 | 0% | 270.14 (25%) | 125.9110 | 3.204096562 (error 1.99%) | 0.012860 |
| Fitzgeralds Las Vegas | 7.974336 | 0% | 290.18 (10%) | 126.5796 | 3.195318215 (error 1.71%) | -0.018063 |
| Fitzgeralds Reno | 7.979065 | 0% | 233.70 (75%) | 127.8984 | 3.218727140 (error 2.46%) | 0.007293 |
| Foxwoods | 7.977808 | 0% | 249.80 (50%) | 127.0089 | 3.133869788 (error 0.25%) | -0.004336 |
| Horizon | 7.977955 | 0% | 247.45 (50%) | 127.4131 | 3.121301775 (error 0.65%) | -0.004316 |
| John Ascuagas Nugget | 7.976488 | 0% | 267.34 (50%) | 127.8132 | 3.054864667 (error 2.76%) | 0.012713 |
| New York New York | 7.978361 | 0% | 244.87 (50%) | 127.4959 | 3.174835406 (error 1.06%) | 0.001037 |
| Oasis | 7.975882 | 0% | 271.33 (25%) | 126.5605 | 3.145574250 (error 0.13%) | -0.001070 |
| Palace Station | 7.976697 | 0% | 262.47 (50%) | 127.6602 | 3.168983175 (error 0.87%) | -0.000176 |
| Peppermill Reno Blue | 7.977473 | 0% | 258.60 (50%) | 128.6076 | 3.078273592 (error 2.02%) | 0.013080 |
| Peppermill Reno Red | 7.976194 | 0% | 270.77 (25%) | 127.3678 | 3.122165326 (error 0.62%) | -0.004718 |
| Pioneer | 7.978424 | 0% | 241.07 (50%) | 127.0920 | 3.087051939 (error 1.74%) | 0.010710 |
| River Palms | 7.980333 | 0% | 223.28 (90%) | 126.8949 | 3.092904170 (error 1.55%) | 0.008459 |
| SanteFe Station | 7.976768 | 0% | 261.16 (50%) | 127.1115 | 3.133869788 (error 0.25%) | -0.004302 |
| Siena | 7.977411 | 0% | 251.49 (50%) | 126.7796 | 3.163130944 (error 0.69%) | 0.007176 |
| Silver Club | 7.976445 | 0% | 237.98 (75%) | 127.6760 | 3.120661157 (error 0.67%) | 0.007628 |
| Sunset Station | 7.979415 | 0% | 229.71 (75%) | 128.1907 | 3.110460863 (error 0.99%) | 0.000885 |
| Texas Station | 7.976761 | 0% | 259.41 (50%) | 128.2054 | 3.139722019 (error 0.06%) | -0.019143 |
| Virgin River | 7.977943 | 0% | 248.49 (50%) | 127.2572 | 3.104608632 (error 1.18%) | -0.006020 |
It appears as if every casino passed the test.
All of the samples sizes above use 547 KNG's which is 8,205 bytes except for Horizon and Silver Coast because I had slightly less games tracked for them.
|