You sit down with a well mixed deck containing A cards marked "+" and B cards marked "—". You may draw cards from this deck as long as you want, i.e., you can stop playing at any point. Each time you draw a + card you are given $1 and each time you draw a — card you have to pay $1. Cards are
not replaced after having been drawn.
What would be a fair amount to pay for the right to play (i.e., what is the expected payoff) and under what circumstance should a player cease drawing?
(In reply to
Table of Fair Amount by Leming)
How does one get an expected value of 0.67 (or 2/3, presumably) if the strategy is to quit when one is even or ahead, until the cards run out. For the 6 possible sequence of cards I get:
++ 0
++ 0
++ 0
++ 1
++ 1
++ !
For a net win of 3 for every 6 games played making each one worh 1/2.
Or are you following a strategy different from quitting when one gets even or ahead?
What I get for the cases where A equals B or A is one less than B are:
A B total won plays expected value
2 2 3 6 0.50000000000
2 3 2 10 0.20000000000
3 3 10 20 0.50000000000
3 4 10 35 0.28571428571
4 4 35 70 0.50000000000
4 5 42 126 0.33333333333
5 5 126 252 0.50000000000
5 6 168 462 0.36363636364
6 6 462 924 0.50000000000
6 7 660 1716 0.38461538462
7 7 1716 3432 0.50000000000
7 8 2574 6435 0.40000000000
8 8 6435 12870 0.50000000000
8 9 10010 24310 0.41176470588
9 9 24310 48620 0.50000000000
9 10 38896 92378 0.42105263158
10 10 92378 184756 0.50000000000
10 11 151164 352716 0.42857142857
I note that the A=2, B=3 matches your previous result of 0.2, but not your new values.
DECLARE SUB permute (a$)
DEFDBL AZ
FOR a = 2 TO 10
FOR b = a TO a + 1
deckCt = 0
deck$ = STRING$(a, "+") + STRING$(b, "")
h$ = deck$
totWin = 0
DO
winnings = 0
FOR i = 1 TO LEN(deck$)
IF MID$(deck$, i, 1) = "+" THEN
winnings = winnings + 1
ELSE
winnings = winnings  1
END IF
IF winnings >= 0 THEN EXIT FOR
NEXT
totWin = totWin + winnings
deckCt = deckCt + 1
permute deck$
LOOP UNTIL deck$ = h$
PRINT USING "## ## "; a; b;
PRINT USING " ########"; totWin; deckCt;
PRINT USING " #.###########"; totWin / deckCt
NEXT
NEXT

Posted by Charlie
on 20080311 16:56:09 