Crazy
Vegas Poker provides our clients with the added comfort of an
independent third party review of our shuffling.
To guarantee the fairest in play, a shuffling algorithm is applied
to ensure that a truly random deck is used. Our sort shuffle is
based on using a random number generator that generates 2^32 different
values pulled from a 4096 bit entropy pool. This is different
than the Knuth shuffle used by some other systems, and it has
some advantages.
Here is an example of how the shuffling algorithm works.
We assign a random value to each card, as follows:
- Ace clubs = 289384521
- 2 clubs = 1543421228
- 3 clubs = 410684245
- Jack spades = 306557875
- Queen spades = 1382797013
- King spades = 1886740576
Then we sort the cards by their unique index value. This results
in an ordering like this:
- Ace clubs = 289384521
- Jack spades = 306557875
- 3 clubs = 410684245
- Queen spades = 1382797013
- 2 clubs = 1543421228
- King spades = 1886740576
Our method of shuffling eliminates the problem that a single
pass Knuth shuffle has involving the modulo bias. It's possible
to mitigate the effects of this by using a multi-pass Knuth shuffle,
but there's no reason to do that when you can use a superior algorithm.
Some interesting numbers:
A deck of cards can have 52! (Roughly 8x10^67) permutations.
This number can be determined simply fairly easily. The first
card dealt can be any one of 52 cards. The second card can be
one of any of the remaining 51 cards. At this point there are
51x52 different permutations. The third card can be any of the
remaining 50, so to find the number of possible shuffled decks
you calculate 52x51x50x49 ... 3x2x1 which results in approximately
8x10^67 different combinations.
Given a true random data source, the initial permutation available
using our shuffle method is (2^32)^52. This is roughly 8x10^500.
Since we use a 4096 bit entropy pool, this means we are pulling
our numbers from any one 2^4096 different possibilities which
is significantly larger than the possible number of combinations
we use. This means that there are 10^433 different ways that we
can generate data to get any given random deck.
For comparison, it is 10^382 times as likely that one could randomly
choose the same molecule of water from the ocean twice in a row
than it is that we would ever generate the same set of values
to create a shuffled deck from.
|