 |
|
1. About our random number generator |
 |
|
Our poker software includes a shuffling algorithm and a random number generator,
which are used to produce random, non-deterministic values used in the process of
shuffling and dealing the cards at each of the poker tables. The purpose of of this
is to guarantee that whilst playing at our site you are being provided with a fair
game and that no players have even the slightest advantage over others. |
 |
|
The quality of our shuffling algorithm and random number generator ensure that over
any period of time the cards dealt are not subject to any particular patterns, and
that therefore it is impossible for a smart observer to identify such patterns and
use them to predict what cards are likely to be dealt in the future. Of course if
such patterns were prevelant in the system it would give others the possibility
to cheat and use this knowledge against other players to their advantage. |
 |
Shuffling |
 |
|
The vast majority of online sites use a technique called the Knuth shuffle.
Specifically they use a single-pass full Knuth shuffle, or an incremental
Knuth shuffle. In actual fact there is a small problem with these methods, as it
can actually produce a bias toward certain lower value cards. On our site we therefore
use a multiple pass Knuth full shuffle algorithm, resulting in a shuffled
deck with no detectable bias.
|
 |
|
Random Number Generator |
 |
|
The random number generator used for poker software is equally as important as a
good shuffling algorithm. |
 |
|
80,658,175,170,943,878,571,660, 636,856,403,766,975,289,505,440, 883,277,824,000,000,000,000.
|
 |
|
To understand why so many 52-card deck sequences are possible, think of it this
way: the first card in the deck is one of 52 possible cards, the second is one of
the remaining 51 cards, the third is one of the remaining 50, etc. So, for each
of the 52 possible first cards, there are 51 possible second cards, and for each
of the 52 x 51 first pairs of cards, there are 50 possible third cards. Continue
with this logic to the last card, and you get: 52 x 51 x 50 x 49 ... x 4 x 3 x 2
x 1 possible card sequences (expressed mathematically as 52!, or 52 factorial) which
when multiplied out, yields the huge number shown above.
|
 |
|
In order to be able to generate all the unique sequences possible in a 52-card deck,
a random-number generation algorithm must be able to yield at least 52! unique random
number sequences.
|
 |
|
To ensure we can randomly generate all the unique sequences possible in a 52-card
deck, we use the widely accepted and widely utilized Mersenne Twister PRNG (described
at: www.wikipedia.org/wiki/Mersenne_Twister), invented by Makoto Matsumoto and Takuji
Nishimura in 1997. |
 |
|
With increased exposure over the past few years, The Mersenne Twister PRNG is increasingly
accepted as the random number generator of choice for all statistical simulations
and generative modeling, especially because it overcomes the shortcomings of prior
pseudorandom number generators. The Mersenne Twister:
|
 |
 |
Has a colossal period of 219937-1 iterations, which is far more than the number
needed to generate the number of possible unique sequences of card decks (2225 compared
to the Mersenne Twister's 219937).
|
 |
Accepts a seed of up to 19,968 bits. Other sites think a 2016 bit seed is overkill,
we go much farther with 19,968 bits.
|
 |
Has a very high order of dimensional equidistribution. In fact, it is proven to
be equidistributed in 623 dimensions (for 32-bit values). Note that this means,
by default, that there is negligible serial correlation between successive values
in the output sequence.
|
 |
Runs faster than all but the least statistically desirable generators.
|
 |
Is statistically random in all the bits of its output.
|
|
 |