A little thought exercise for those who have nothing better to do…
The game is straightforward.
You lay out a deck of 52 playing cards side by side, face down.
Turn the first card over.
Then guess if the next card is higher or lower.
Turn the next card over and credit one point if you are correct, deduct one point if you are wrong or do nothing if the card if the card is the same.
Repeat this for all the cards.
Now the question, which is a little less straightforward: What is the most likely score after making all 51 guesses?
(after a little thought I guesstimate around +20 but would like to see more methodical deliberations from clever dopers)
I think the optimal strategy would be to take the average sum of all remaining cards, and compare that to the last card you turned over, guessing accordingly.
The total of all cards is 364. If you flip over, say, a 4, as the first card, the total drops to 360. The average sum of the 51 cards left is 7(.0588235…), which is higher than 4, so guess higher.
You should always get the last card right, of course.
NOTICE: I am not a qBasic programmer. I haven’t even played with it much before. All that notwithstanding, I was bored . Here’s what I came up with:
CLS
DIM card(52)
RANDOMIZE TIMER
FOR i = 1 TO 13
card(i) = i
NEXT i
FOR i = 14 TO 26
card(i) = i - 13
NEXT i
FOR i = 27 TO 39
card(i) = i - 26
NEXT i
FOR i = 40 TO 52
card(i) = i - 39
NEXT i
FOR i = 1 TO 52
r = INT(RND(1) * 52) + 1
SWAP card(i), card(r)
NEXT i
LET cum = 0
FOR q = 1 TO 100
LET p = 0
FOR i = 1 TO 51
FOR a = 1 TO 52
LET s = 0
s = card(a) + s
NEXT a
FOR b = 1 TO i
LET m = 0
m = card(b) + m
NEXT b
LET avg = (s - m) / (52 - i)
IF avg > card(i) THEN
LET g = 1
ELSEIF avg < card(i) THEN
LET g = 0
ELSE LET g = INT(RND(1) * 2)
END IF
IF card(i + 1) > card(i) THEN
LET h = 1
ELSEIF card(i + 1) < card(1) THEN
LET h = 0
ELSE LET h = 2
END IF
IF g = h THEN
p = p + 1
ELSEIF h = 2 THEN
p = p
ELSE p = p - 1
END IF
NEXT i
cum = cum + p
NEXT q
final = cum / 100
PRINT final
I highly doubt this is the correct coding, but it might be a good jumping off point for someone else. It’s tending to spit out answers all over the place, my guesstimate is that they average a bit on the negative side. I did it once at 10,000 trials (taking the average score) and got -8.
This is interesting though.
…waits for someone who knows what they’re doing to come along…
If anything, it seems that definitely knowing the last card SHOULD skew the results towards the positive. Another possiblility (besides my coding being wrong, which is the most likely, I imagine), is that my optimum strategy really isn’t.
I changed (or attempted to, at least) the code to guess randomly, then ran 100 trials of 100 trials each, and averaged the averages. I got answers of .05, 2, and -4. So either it’s truly random, or there’s something wrong with my code.
Since the OP talks about guessing, and doesn’t mention any strategy, the most likely score will be zero.
Garfield, I suspect the error in your code is that you calculate an average, which doesn’t give a meaningful answer. You should count how many times you get each possible score, and give the highest. ie give the mode rather than the mean.
I ran a simulation in Excel/ VB with 1000 trials, here’s the result
score no of games
-24 1
-23
-22 2
-21
-20 2
-19 2
-18 4
-17 6
-16 12
-15 9
-14 14
-13 14
-12 20
-11 48
-10 65
-9 52
-8 67
-7 82
-6 84
-5 79
-4 106
-3 128
-2 119
-1 121
0 133
1 135
2 136
3 131
4 90
5 105
6 81
7 67
8 53
9 52
10 39
11 36
12 31
13 26
14 17
15 7
16 10
17 6
18 1
19 4
20 1
21 1
22 3
Yeah, now that you mention it, that would be a much better strategy. For example, in my system if you have the eight lowest cards remaining and four kings, the average tells you to choose “high” on a 3, 4, or 5, when it would obviously be to your advantage to pick low.
The simplest strategy is to ignore the cards that have been already seen, and guess lower with King to 8 or 7, and higher with 7 or 6 to Ace. (It doesn’t matter which you guess with 7 – thre are an equal number of cards above and below.) (And I’m assuming that Ace os low: the strategy gets modified in an obvious way if Ace is higher than King.)
Then the chances that you guess right are:
48/51 for Ace or King
44/51 for 2 or Queen
40/51 for 3 or Jack
36/51 for 4 or 10
32/51 for 5 or 9
28/51 for 6 or 8
24/51 for 7
And the chances that you lose a point are
0/51 for Ace or King
4/51 for 2 or Queen
8/51 for 3 or Jack
12/51 for 4 or 10
16/51 for 5 or 9
20/51 for 6 or 8
24/51 for 7
Summing, and taking an average, on each draw you would expect to win 0.50678733 points. Multiplying that by 51, you would expect to win 25.84615385 points over the course of the game.
I should add – if you adopt a better strategy, based on knowing which cards remain in the pack, you would expect to win a little more than 25.84615385 points. However, the calculations would be pretty hard to do compared with what I just did.
The estimate of getting 25.8 guesses right out of 51 seems unlikely. Wouldn’t you get 25.5 guesses right on average if you were guessing completely at random? A system of basing your guess on what the last card turned over was should give you noticably better odds than random guesses.
Guessing at random, you would expect to get around 23.5 right, and 23.5 wrong, with 4 cases where the next card is the same. So guessing at random gives you an expected result of 0 points.
So, I was a little bored and whipped up some code to play the game.
The rules I used:[ul][li]+1 points for correctly guessing guessing higher or lower.[]-1 points for incorrectly guessing higher or lower.[]0 points if card is same rank, no matter the guess.[/ul]The strategy used:[ul][]Guess higher if there are more higher than lower rank cards remaining to be overturned.[]Guess lower if there are more lower.Guess randomly higher or lower if same number of higher and lower cards.[/ul]The results from a 10[sup]7[/sup] Monte Carlo simulation (using about 6 cpu-minutes):[/li]