Thursday, July 19, 2012
Settlers of Catan - probability of bandit attack
* This post seeks to answer the question, "Given that you have more than 7 cards in your hand, what is the likelihood that nobody (including yourself) will roll a 7 before the next turn, forcing you to discard?"
* First we must calculate the probability of anybody rolling a 7 (a seven is the most common roll possible).
* It is the probability that seven will be rolled in any combination of dice.
* Given that any particular outcome (X=a,Y=b)=P(X=a)*P(Y=b)=1/6*1/6=1/36
* That is P(X+Y=7)=P(X=1,Y=6)+P(X=2,Y=5)+P(X=3,Y=4)+P(X=4,Y=3)+P(X=5,Y=2)+P(X=6,Y=1)
* = 1/36 + 1/36 + 1/36 + 1/36 + 1/36 + 1/36 = 6/36 = 1/6
* let's check this
clear
set obs 10000
gen X = ceil(runiform()*6)
gen Y = ceil(runiform()*6)
gen XplusY = X + Y
gen YXis7 = 0
replace YXis7 = 1 if XplusY==7
sum
di 1/6
* Looks pretty close to 1/6 to me.
* So given that 1 out of 6 of the times we roll we will see a 7, what is the probability given z players at the table that you will get all the way around to your turn without rolling a 7?
* If it is just you, then it is easy. P(X1+Y1 != 7)= 1-1/6 = 5/6
* Gets a bit more tricky with more people but in general it is easy to calculate.
* Since the probability of not getting a 7 for any player is independent of not getting a 7 for any other player then the probabily is easy to calculate:
* In the two player case: P(X1+Y1 != 7, X2+Y2 != 7) = P(X1+Y1 != 7)*P(X2+Y2 != 7)=5/6*5/6=(5/6)^2=25/36
di 25/36 " = 69%"
* If you have three players
di "P(X1+Y1 != 7, X2+Y2 != 7, X3+Y3 != 7) = P(X1+Y1 != 7)*P(X2+Y2 != 7)*P(X3+Y3 != 7)=5/6*5/6*5/6=(5/6)^3=125/216 =" 125/216 " about 58%"
* If you have four players
di "P(!=7)=(5/6)^4= " (5/6)^4 " about 48%"
* So with 4 players there is better than 50% chance of rolling a 7 before your turn comes back to you.
* Let's test this with through simulation
set seed 1010
clear
set obs 10000
* This will generate 4 sets of variables
forv i=1/4 {
* X for the first die
gen X`i' = ceil(runiform()*6)
* Y for the second die
gen Y`i' = ceil(runiform()*6)
* The sum of the dice
gen X`i'plusY`i' = X`i' + Y`i'
* An indicator if the sum equals 7
gen Y`i'X`i'is7 = 0
replace Y`i'X`i'is7 = 1 if X`i'plusY`i'==7
}
* If it is just you
gen no7_1 = 0
replace no7_1 = 1 if Y1X1is7 == 0
* If it is you and one other
gen no7_2 = 0
replace no7_2 = 1 if Y1X1is7 == 0 & Y2X2is7 == 0
* If it is you and two others
gen no7_3 = 0
replace no7_3 = 1 if Y1X1is7 == 0 & Y2X2is7 == 0 & Y3X3is7 == 0
* If it is you and three others
gen no7_4 = 0
replace no7_4 = 1 if Y1X1is7 == 0 & Y2X2is7 == 0 & Y3X3is7 == 0 & Y4X4is7 == 0
sum
* We can see that the simulation confirms about 48% is the probability that a 7 will be rolled.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment