Jump to content

Shuffling

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 82.28.31.190 (talk) at 19:10, 1 January 2007 (Shuffling techniques). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A riffle shuffle being performed during a game of poker.

Shuffling is a procedure used to randomize a deck of playing cards to provide an element of chance in card games. Shuffling is often followed by a cut, to ensure that the shuffler has not manipulated the outcome.

A typical sequence between hands of poker, for example, is a wash, two riffles, a strip, a third riffle, and a cut, which an experienced dealer can accomplish in as little as five seconds. [citation needed]

Shuffling techniques

Several techniques are used to shuffle a deck of cards. While some techniques achieve a better randomization, other techniques are easier to learn and handle or better suited for special situations.

Truffle Shuffle

The truffle shuffle is the name given to the dance performed by the character Chunk (Jeff Cohen) in the 1985 Richard Donner film The Goonies. Chunk performs the dance at the request of his friend "Mouth" (Corey Feldman), who refuses him entry to his friends' home until the dance is performed. Chunk reluctantly complies. The dance itself consists of Chunk raising his shirt to expose his pudgy stomach and chest area. He then proceeds to "shuffle," causing his flesh to jiggle. All of this is done while Chunk makes a gurgling sound which complements the dance. After Mouth has gotten his laughs, Chunk is allowed into the Walsh residence.

Riffle

The most common shuffling technique is called a riffle, in which half of the deck is held in each hand with the thumbs inward, then cards are released by the thumbs so that they fall to the table intertwined. Many also lift the cards up after a riffle forming what is called a bridge which puts the cards back into place.

This can also be done by placing the halves flat on the table with their rear corners touching, then lifting the back edges with the thumbs while pushing the halves together. While this method is a bit more difficult, it is often used in casinos because it minimizes the risk of exposing cards during the shuffle.

Stripping or Overhand

Another procedure is called stripping or overhand or slide shuffle, where small groups of cards are removed from the top or bottom of a deck and replaced on the opposite side (or just assembled on the table in reverse order). As this is an effective randomizing procedure, it remains a very common shuffle, especially amongst occasional players.

Pushing or Weave shuffle

Pushing is the procedure of pushing the ends of two halves of a deck against each other in such a way that they naturally intertwine. Sometimes the deck is split into equal halves of 26 cards which are then pushed together in a certain way so as to make them perfectly interweave. This is known as a Faro Shuffle and is quite difficult to master. Eight perfect Faro shuffles in succession will bring the deck back to its original order.

Hindu shuffle

The deck is held face down, with the middle finger on one long edge and the thumb on the other on the bottom half of the deck. The other hand draws off a packet from the top of the deck. This packet is allowed to drop into the palm, and the maneuver is repeated over and over until the deck is all in the second hand.

Pile shuffle

Cards are arranged in piles by putting the top card from the deck in turn on one of several piles. Then the piles are stacked on top of each other. This ensures that cards that were next to each other are now separated. This is the only method of "human" shuffling approved in bridge when four piles are used (each pile is then assigned to the four players in this game). "Machine Shuffling" is also allowed when required (see below).

Beginner shuffle or Wash

This involves simply spreading the cards out face down, and sliding them around and over each other with one's hands. Then the cards are moved into one pile so that they begin to intertwine and are then arranged back into a stack. This method is useful for beginners and small children or if one is inept at shuffling cards. However, the beginner shuffle requires a large surface for spreading out the cards and takes longer than the other methods.

Mongean shuffle

The Mongean shuffle, or Monge's shuffle, is performed as follows (by a right-handed person): Start with the unshuffled deck in the left hand and transfer the top card to the right. Then repeatedly take the top card from the left hand and transfer it to the right, putting the second card at the top of the new deck, the third at the bottom, the fourth at the top, the fifth at the bottom, etc. The result, if one started with cards numbered consecutively , would be a deck with the cards in the following order: .

For a deck of given size, the number of Mongean shuffles that it takes to return a deck to starting position, is known (sequence A019567 in the OEIS).

Faro Shuffle

The Faro Shuffle is performed by cutting the deck into two, preferably equal, packs in both hands as follows (right-handed): The cards are held from above in the right and from below in the left hand. Separation of the deck is done simply lifting up half the cards with the right hand thumb slightly and pushing the left hand's packet forward away from the right hand. The two packets are often crossed and slammed into each other as to align them. They are then pushed together by the short sides and bent (either up or down). The cards will then alternately fall into each other, much like a zipper. A flourish can by added by springing the packets together by applying pressure and bending them from above. The faro is a controlled shuffle which does not randomize a deck.

A perfect Faro Shuffle, where the cards are perfectly alternated, is considered one of the most difficult sleights by card magicians, simply because it requires the shuffler to be able to cut the deck into two equal packets and apply just about the right pressure when pushing the cards into each other. If one does perform 8 perfect Faro Shuffles in a row, the order of the deck will return to the original order, if there are 52 cards in the deck.

False shuffles

Magicians, sleight-of-hand artists, and card cheats employ various methods of shuffling whereby the deck appears to have been shuffled fairly, when in reality one or more cards stays in the same position. It is most commonly to "stack the deck" (place cards into a desirable order) by means of one or more riffle shuffles; this is called "riffle stacking".

Shuffling machines

Because standard shuffling techniques are seen as weak, and in order to avoid "inside jobs" where employees collaborate with gamblers by performing inadequate shuffles, many casinos employ automatic shuffling machines which perform continuous shuffles on a pack of cards, and can produce any number of cards on demand. These machines are also used to lessen repetitive motion stress injuries to a dealer. Note that the shuffling machines have to be carefully designed, as they can generate biased shuffles otherwise: the most recent shuffling machines are computer-controlled.

Randomization

There are exactly 52 factorial (about 8 x 1067) possible ways to order the cards in a 52-card deck. The magnitude of this number means that it is exceedingly improbable that two randomly selected, truly randomized decks, will ever, in the history of cards, be the same. However, while the exact sequence of all cards in a randomized deck is unpredictable, it may be possible to make some probabilistic predictions about a deck that is not sufficiently randomized.

The mathematician and magician Persi Diaconis is an expert on the theory and practice of card shuffling, and an author of a famous paper on the number of shuffles needed to randomize a deck, concluding that it did not start to become random until five good riffle shuffles, and was truly random after seven, in the precise sense of variation distance described in Markov chain mixing time; of course, you would need more shuffles if your shuffling technique is poor. Recently, the work of Trefethen et al. has questioned some of Diaconis' results, concluding that six shuffles is enough. The difference hinges on how each measured the randomness of the deck. Diaconis used a very sensitive test of randomness, and therefore needed to shuffle more. Even more sensitive measures exist and the question of what measure is best for specific card games is still open.

Here is an extremely sensitive test to experiment with. Take a standard deck without the jokers. Divide it into suits with two suits in ascending order from ace to king, and the other two suits in reverse. (Many decks already come ordered this way when new.) Shuffle to your satisfaction. Then go through the deck trying to pull out each suit in the order ace, two, three ... When you reach the top of the deck, start over. How many passes did it take to pull out each suit?

What you are seeing is how many rising sequences are left in each suit. It probably takes more shuffles than you think to both get rid of rising sequences in the suits which were assembled that way, and add them to the ones that were not!

In practice the number of shuffles that you need depends both on how good you are at shuffling, and how good the people playing are at noticing and using non-randomness. 2–4 shuffles is good enough for casual play. But in club play, good bridge players take advantage of non-randomness after 4 shuffles, and top blackjack players literally track aces through the deck; this is known as "ace tracking", or more generally, as "shuffle tracking".

Shuffling algorithms

In a computer, shuffling is equivalent to generating a random permutation of the cards. There are two basic algorithms for doing this, both popularized by Donald Knuth. The first is simply to assign a random number to each card, and then to sort the cards in order of their random numbers. This will generate a random permutation, unless two of the random numbers generated are the same. This can be eliminated either by retrying these cases, or reduced to an arbitrarily low probability by choosing a sufficiently wide range of random number choices.

The second, generally known as the Knuth shuffle or Fisher-Yates shuffle[1], is a linear-time algorithm (as opposed to the previous O(n log n) algorithm if using efficient sorting such as mergesort or heapsort) which involves moving through the pack from top to bottom, swapping each card in turn with another card from a random position in the part of the pack that has not yet been passed through (including itself). Providing that the random numbers are unbiased, this will always generate a random permutation.

Implementation of shuffling algorithms

For a variety of reasons, shuffling algorithms can be particularly difficult to implement. Here are some of the most common pitfalls:

Poorly implemented Knuth shuffles

Notice that great care needs to be taken in implementing the Knuth shuffle; even slight deviations from the correct algorithm will produce biased shuffles. For example, working your way through the pack swapping each card in turn with a random card from any part of the pack is an algorithm with nn different possible execution paths, yet there are only n! permutations, and a counting argument based on using the pigeonhole principle on assignments of execution paths to outcomes shows that this algorithm cannot produce an unbiased shuffle, unlike the true Knuth shuffle, which has n! execution paths which match up one-to-one with the possible permutations.

For an example of how this pigeonhole argument works on the nn shuffle, consider the simple case of shuffling only three cards, so that n=3. Then there are nn = 27 different possible execution paths (these are the 27 things to put in the pigeonholes). But there are only 3! = 6 ways to permute three cards (these are the 6 pigeonholes to put the things in). 27 is odd, and 6 is even, so 27 things cannot be divided evenly into 6 pigeonholes. Therefore, if we assume that the execution paths are equiprobable, then the outcomes cannot be, since at least two of the different outcomes must have different probabilities. Therefore the nn shuffle cannot be unbiased for n=3. Similar reasoning can be applied for other values of n > 2.

Whichever algorithm is chosen, it is important that a source of truly random numbers is used as the input to the shuffling algorithm. If a biased or pseudo-random source of random numbers is used, the output shuffles may be non-random in a way that is hard to detect, but easy to exploit by someone who knows the characteristics of the supposedly "random" number source.

Modulo bias

Another common source of bias in shuffling implementations is to use both a good shuffling algorithm and a true random number generator, but not to correctly reduce the output of the random number generator into the choice of which card to shuffle at a particular step. For example, if a 32-bit random number is used to choose one of 52 choices by using the modulo operator provided in most programming languages, it can be demonstrated using a pigeonhole argument that this choice cannot possibly be unbiased, since 232 cannot be evenly divided by 52. This is sometimes called "modulo bias".

This form of bias can be avoided in a number of ways. Probably the easiest involves deliberately limiting the number of usable outputs of the random number generator to a multiple of the number of choices to be made prior to performing the modulo operator, and re-trying the random number generator until a value within that range is produced. Although this algorithm is, strictly speaking, not guaranteed to terminate, given a true random number generator, the probability of this algorithm not terminating in a reasonable time is so small that that it can be neglected for all practical purposes.

Pseudo-random shuffles

Even if only pseudo-random shuffles are required, there is another potential pitfall: the number of pseudo-random shuffles that can be generated cannot exceed the number of states that the pseudo-random number generator can take. For many older systems, this can be as small as 232, a number which is vastly smaller than 52!, and thus 52-card shuffles generated using this system cannot possibly be unbiased. Indeed, since they can be completely enumerated, it is often possible to tell from the first few cards in such a pseudo-randomly shuffled pack what the remainder of the cards will be. Thus, in addition to all of the implementation problems above, to have any chance at all of generating a plausible pseudo-random shuffle, the pseudo-random generator must have in excess of log2 52! = 225.58 bits of internal state, preferably by a considerable margin.

Shuffling algorithms in online gaming

These issues are of considerable commercial importance in online gambling, where the randomness of the shuffling of packs of simulated cards for online card games is crucial. For this reason, many online gambling sites provide descriptions of their shuffling algorithms and the sources of randomness used to drive these algorithms, with some gambling sites also providing auditors' reports of the performance of their systems.

See also

References

  • D. Aldous and P. Diaconis, "Shuffling cards and stopping times", American Mathematical Monthly 93 (1986), 333–348
  • Trefethen, L. N. and Trefethen, L. M. "How many shuffles to randomize a deck of cards?" Proceedings of the Royal Society London A 456, 2561–2568 (2000)

Mathematics of shuffling