Playing five-card stud poker with two friends one night, one of them, Kevin, accidentaly drops one of his cards on the table, the ace of hearts. My other friend, Nick, laughs and says, "I also have at least one ace in my hand." I have no reason not to believe him.
Now, I do not have any aces in my hand, but I do have a pair of kings.
Which of my friends is more likely to have at least a pair of aces (that is to say, at least one more ace) in his hand?
(In reply to
I think this is it. by Charlie)
The following program simulates the process, and counts only those instances that meet the observed conditions as trials. Each set of 4 ace positions in the deck account for 5 simulations: one for each possible card that Kevin could have dropped. The results of all these simulations are totaled for the final result. In these simulations Kevin has at least one additional ace about 19% of the time and Nick 11 and a fraction %. This disagrees with my calculated 17% and 9% respectively, but retains Kevin having the larger probability.
DEFDBL A-Z
RANDOMIZE TIMER
k0More = 0: k1More = 0: k2More = 0: k3More = 0: k4More = 0
k0NMore = 0: k1NMore = 0: k2NMore = 0: k3NMore = 0: k4NMore = 0
k0Tries = 0: k1Tries = 0: k2Tries = 0: k3Tries = 0: k4Tries = 0
' 5 sets of experiments at once--Kevin might drop 1st, 2nd,...,5th card
DO
a1 = INT(52 * RND(1))
a2 = INT(52 * RND(1))
a3 = INT(52 * RND(1))
a4 = INT(52 * RND(1))
' Kevin's cards are 0 thru 4: count his aces
kevins = ABS((a1 < 5) + (a2 < 5) + (a3 < 5) + (a4 < 5))
' Nick's cards are 5 thru 9: count his aces
nicks = ABS((a1 > 4 AND a1 < 10) + (a2 > 4 AND a2 < 10) + (a3 > 4 AND a3 < 10) + (a4 > 4 AND a4 < 10))
' My cards are 10 thru 14: count my aces
mine = ABS((a1 > 9 AND a1 < 15) + (a2 > 9 AND a2 < 15) + (a3 > 9 AND a3 < 15) + (a4 > 9 AND a4 < 15))
IF mine = 0 THEN
IF kevins > 0 AND nicks > 0 THEN
IF a1 = 0 OR a2 = 0 OR a3 = 0 OR a4 = 0 THEN
k0Tries = k0Tries + 1
IF kevins > 1 THEN k0More = k0More + 1
IF nicks > 1 THEN k0NMore = k0NMore + 1
END IF
IF a1 = 1 OR a2 = 1 OR a3 = 1 OR a4 = 1 THEN
k1Tries = k1Tries + 1
IF kevins > 1 THEN k1More = k1More + 1
IF nicks > 1 THEN k1NMore = k1NMore + 1
END IF
IF a1 = 2 OR a2 = 2 OR a3 = 2 OR a4 = 2 THEN
k2Tries = k2Tries + 1
IF kevins > 1 THEN k2More = k2More + 1
IF nicks > 1 THEN k2NMore = k2NMore + 1
END IF
IF a1 = 3 OR a2 = 3 OR a3 = 3 OR a4 = 3 THEN
k3Tries = k3Tries + 1
IF kevins > 1 THEN k3More = k3More + 1
IF nicks > 1 THEN k3NMore = k3NMore + 1
END IF
IF a1 = 4 OR a2 = 4 OR a3 = 4 OR a4 = 4 THEN
k4Tries = k4Tries + 1
IF kevins > 1 THEN k4More = k4More + 1
IF nicks > 1 THEN k4NMore = k4NMore + 1
END IF
END IF
END IF
num = k0More + k1More + k2More + k3More + k4More
den = k0Tries + k1Tries + k2Tries + k3Tries + k4Tries
IF den > 0 THEN
PRINT num / den;
num = k0NMore + k1NMore + k2NMore + k3NMore + k4NMore
PRINT num / den
END IF
LOOP
|
Posted by Charlie
on 2005-03-01 21:16:34 |