Our card shuffling is computed using absolutely random numbers. See the very
bottom of this page for details.
Here is some information showing how our shuffling compares to the statistically
expected dealing of cards.
Results for 1216272 hands.
Calculated on September 9, 2002
Streaks and voids
The following table show the percentage of hands where a streak or void of a given size occurred.
This is compared with theoretical values calculated by the laws of probability.
Streak size |
Percentage of hands |
Theoretical percentage |
0 |
5.14% |
5.10% |
1 |
30.88% |
30.79% |
2 |
64.78% |
64.90% |
3 |
74.06% |
72.34% |
4 |
66.65% |
66.66% |
5 |
45.90% |
45.80% |
6 |
16.58% |
16.55% |
7 |
3.56% |
3.52% |
8 |
0.46% |
0.46% |
9 |
0.04% |
0.02% |
Card distribution among players
The following table shows the percentage of hands for which each player received a given card.
Card |
Player1 |
Player2 |
Player3 |
Player4 |
2c |
24.98% |
24.86% |
25.05% |
25.11% |
3c |
25.41% |
24.73% |
24.95% |
24.91% |
4c |
25.18% |
24.92% |
25.23% |
24.67% |
5c |
25.08% |
25.14% |
24.92% |
24.87% |
6c |
24.99% |
24.94% |
24.89% |
25.18% |
7c |
24.84% |
24.92% |
24.85% |
25.39% |
8c |
25.14% |
25.08% |
25.03% |
24.75% |
9c |
25.11% |
24.92% |
24.99% |
24.98% |
Tc |
24.90% |
25.03% |
25.27% |
24.80% |
Jc |
25.02% |
25.03% |
24.98% |
24.98% |
Qc |
25.11% |
24.69% |
25.26% |
24.94% |
Kc |
25.01% |
25.02% |
24.93% |
25.05% |
Ac |
25.27% |
25.01% |
24.94% |
24.78% |
2d |
25.03% |
24.99% |
25.20% |
24.78% |
3d |
25.32% |
25.23% |
24.61% |
24.84% |
4d |
25.43% |
24.81% |
24.76% |
25.00% |
5d |
25.01% |
25.06% |
24.90% |
25.03% |
6d |
24.74% |
24.87% |
25.12% |
25.27% |
7d |
24.75% |
24.84% |
25.26% |
25.15% |
8d |
24.87% |
24.77% |
24.80% |
25.56% |
9d |
24.76% |
25.25% |
24.81% |
25.17% |
Td |
25.07% |
25.07% |
24.88% |
24.98% |
Jd |
25.04% |
24.81% |
24.93% |
25.21% |
Qd |
24.73% |
24.71% |
25.35% |
25.21% |
Kd |
24.92% |
24.81% |
25.25% |
25.02% |
Ad |
24.95% |
25.04% |
24.78% |
25.23% |
2h |
24.85% |
25.35% |
25.06% |
24.73% |
3h |
24.78% |
24.73% |
25.25% |
25.24% |
4h |
24.78% |
25.02% |
25.23% |
24.97% |
5h |
24.77% |
24.93% |
25.05% |
25.25% |
6h |
24.96% |
25.11% |
25.09% |
24.84% |
7h |
25.45% |
24.93% |
24.84% |
24.78% |
8h |
24.74% |
25.10% |
25.16% |
25.00% |
9h |
25.09% |
24.86% |
25.13% |
24.92% |
Th |
24.90% |
25.21% |
24.79% |
25.10% |
Jh |
24.85% |
25.27% |
25.17% |
24.71% |
Qh |
25.26% |
25.11% |
24.53% |
25.11% |
Kh |
24.92% |
25.04% |
25.01% |
25.02% |
Ah |
24.97% |
24.87% |
25.21% |
24.95% |
2s |
25.08% |
25.15% |
24.84% |
24.93% |
3s |
24.63% |
24.93% |
25.21% |
25.23% |
4s |
24.85% |
25.06% |
24.81% |
25.29% |
5s |
24.93% |
24.98% |
25.20% |
24.90% |
6s |
25.13% |
25.01% |
24.75% |
25.12% |
7s |
25.17% |
25.03% |
25.11% |
24.69% |
8s |
25.02% |
25.44% |
24.68% |
24.86% |
9s |
25.03% |
25.16% |
24.89% |
24.92% |
Ts |
24.88% |
25.09% |
25.03% |
25.00% |
Js |
25.06% |
25.21% |
25.02% |
24.72% |
Qs |
24.94% |
25.10% |
25.16% |
24.80% |
Ks |
25.23% |
24.88% |
24.91% |
24.98% |
As |
25.10% |
24.88% |
24.94% |
25.08% |
How We Shuffle Cards
We make sure we are using absolutely random numbers. Here's how we do it!
A radio is tuned into
a frequency where nobody is broadcasting. The atmospheric noise picked up by the
receiver is fed into a Sun SPARC workstation through the microphone port where it
is sampled by a program as an eight bit mono signal at a frequency of 8KHz. The upper
seven bits of each sample are discarded immediately and the remaining bits are gathered and turned into a stream of bits with a high content of entropy. Skew correction is performed on the bit stream, in order to insure that there is an approximately even distribution of 0s and 1s.
The skew correction algorithm used is based on transition mapping. Bits are read two at a time, and if there is a transition between values (the bits are 01 or 10) one of them - say the first - is passed on as random. If there is no transition (the bits are 00 or 11), the bits are discarded and the next two are read. This simple algorithm was originally due to Von Neumann and completely eliminates any bias towards 0 or 1 in the data. It is only one of several ways of performing skew correction, though, and its drawback is that it takes an indeterminate number of input bits. RFC1750 discusses skew correction in general and lists this method as well as three others.