3

Me and my friends used to play a "solitaire" and always asked ourselves which are the odds to win, or lose. I studied Maths and many of them did as well, but nobody could find a good answer to this question.

The solitaire goes as follows: get a regular deck of 52 cards and start flipping cards one at a time. When you flip the first card, you say "one": if the card is actually a "one", that is, an ace, then you lose the game. If not, you move on flipping another card and saying "two": as above, you lose if the flipped card is actually a two. You do the same for the number $3$ and then you switch back to one, that is, you say "one" by flipping the fourth card (supposing you haven't lost the game yet).

My questions are:

  • What are the the odds of going through the whole deck of cards without saying the number of the card you are flipping, i.e. the odds of winning this game?
  • Does the number of cards in the deck make a difference? For example, would it be more or less likely to win if I had a deck of $48$ cards, from which I took out the queens?
  • Does the numbers you say make a difference? For example, would it been more or less likely to win if I said "one, two, three, four, one, two, ..." while flipping the cards, instead of "one, two, three, one, ..."?

The only information I got is that it is extremely hard to win this game. Anyway, it is not impossible (so far, I have seen me or my friends win about $5$ times). My attempts to directly calculate probabilities, using combinatorics techniques, failed utterly.

Thanks!

1 Answers1

2

You describe the game called 'frustration solitaire' (or possibly a variation thereof). Google that name and look especially at the Wikipedia and arXive links. Wikipedia claims the probability of winning is only about 1.6%, so your friend is possibly either very lucky or played a lot of games. (Also, see results on this sites suggested in Comments by @MJD.)

One method of solution is to use the inclusion-exclusion rule. Below is a simulation of 100,000 games, with a result that matches the Wikipedia answer.

 call = c(1:13, 1:13, 1:13, 1:13)
 m = 10^5;  nr.hits = numeric(m)
 for(i in 1:m){
   shuf.deck = sample(call, 52)
   nr.hits[i] = sum(shuf.deck == call) }
 mean(nr.hits == 0)
 ## 0.01602

Admittedly, this is a 'lucky' simulation, because 100,000 games is not enough to bet on an accurate third decimal place. (A second simulation gave 0.01651.) A million games would reliably give a closer answer, but my computer is slow and I am impatient.

BruceET
  • 51,500