RandomSwede's comment is accurate, but maybe the below can help add some 'flesh' to their response.
Basically, the problem is that you can't just multiply it all together.
(1/6) ^ 3 is correct, and the probability of rolling 3 sixes is indeed 1/216 today, but if you repeat independent events, you don't just add up the probability.
Imagine instead of dice it's coins, and it's only two. Your odds of getting HH today are 1/4, but the odds of getting HH by day four are not now 4/4. We know that it's possible, although unlikely, you could flip coins for the rest of your life and NEVER get two heads. So we know that you can't ever have odds of 4/4 (or 1), only odds that approach 1. So that means that we can't say 216 days from now will be 216/216.
Instead, you need to work out the probability of the event NOT happening, and then repeatedly NOT happening independently (so we can multiply together to get the probability.
For our four coins, the probability of NOT getting HH is 3/4. On Day 2, the probability of NOT getting HH on both occasions will be (3/4)×(3/4), (9/16, 56.25%). By day 3, it will be (3/4) × (3/4) × (3/4), or 27/64. On day 4, it'll be 81/256, or 31.6%. Now we can subtract from 1, to work out that by day 4, the odds of us having hit HH are almost 70%.
As RandomSwede explains, there's a 50% chance that you will have rolled three sixes by day 149. By day 496, you're down to 10%.
runs <- 10000
x <- vector(mode = "numeric", length = runs)
for (i in 1:runs){
while (sum(sample(1:6, size = 3, replace = TRUE)) != 18){
x[i] <- x[i] + 1
}
}
summary(x)
quantile(x, c(0.5, 0.8, 0.9))
> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0 62.0 149.0 216.2 300.0 1902.0
> quantile(x, c(0.5, 0.8, 0.9))
50% 80% 90%
149 350 495
A simple simulation. Run 10K times. Count the number of times it takes for three dice to add up 18.
The numbers very much agree with you. The median is 149. The 90th is 495 in the simulation, which is close enough to 496. There is very much a long tail in the data. So, the median and the average will not be the same. Is it a coincidence that mean is a 216?
No, I don't think this is a coincidence, but I'm not completely confident in saying that.
Thinking about it doesn't make me feel like I'm solving a maths problem. I start stacking ideas and concepts in a way which makes me feel like I'm overlaying them in a way which is incorrect.
It makes me feel like I'm solving a riddle, which hints to me that maybe it's actually a question of semantics and definitions rather than a maths problem.
Dice (typically) do not have a memory, so whatever happened yesterday will not influence what happens today. If you roll it daily, your chance of surviving at least N days is (215/216)^N, for the specific case of "rolling three 6 on three 6-sided dice" that puts you at ~50% at 149 days and at ~10% at 496 days.
At sufficient scale, even incredibly unlikely things become quite probable.
runs <- 10000
x <- vector(mode = "numeric", length = runs)
for (i in 1:runs){
while (sum(sample(1:6, size = 3, replace = TRUE)) != 18){
x[i] <- x[i] + 1
}
}
summary(x)
quantile(x, c(0.5, 0.8, 0.9))
> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0 62.0 149.0 216.2 300.0 1902.0
> quantile(x, c(0.5, 0.8, 0.9))
50% 80% 90%
149 350 495
A simple simulation. Run 10K times. Count the number of times it takes for three dice to add up 18.
The numbers very much agree with you. The median is 149. The 90th is 495 in the simulation, which is close enough to 496. There is very much a long tail in the data. So, the median and the average will not be the same. Is it a coincidence that mean is a 216?
Off the top of my head, I don't know. It MAY be related to the fact that 6*3 is 216, but I don't have deep enough statistics knowledge to say for sure. You coudl try it again with 3 8-sided dice and rolling 24, that should give you ~50% at 344 iterations, and ~90% at 1177 iterations. If my supposition that the mean is related to the possible rolls, then the mean should end up being 512.
Iteration counts gathered with Python and a (manual) binary search (actually faster than writing code).
Basically, the problem is that you can't just multiply it all together.
(1/6) ^ 3 is correct, and the probability of rolling 3 sixes is indeed 1/216 today, but if you repeat independent events, you don't just add up the probability.
Imagine instead of dice it's coins, and it's only two. Your odds of getting HH today are 1/4, but the odds of getting HH by day four are not now 4/4. We know that it's possible, although unlikely, you could flip coins for the rest of your life and NEVER get two heads. So we know that you can't ever have odds of 4/4 (or 1), only odds that approach 1. So that means that we can't say 216 days from now will be 216/216.
Instead, you need to work out the probability of the event NOT happening, and then repeatedly NOT happening independently (so we can multiply together to get the probability.
For our four coins, the probability of NOT getting HH is 3/4. On Day 2, the probability of NOT getting HH on both occasions will be (3/4)×(3/4), (9/16, 56.25%). By day 3, it will be (3/4) × (3/4) × (3/4), or 27/64. On day 4, it'll be 81/256, or 31.6%. Now we can subtract from 1, to work out that by day 4, the odds of us having hit HH are almost 70%.
As RandomSwede explains, there's a 50% chance that you will have rolled three sixes by day 149. By day 496, you're down to 10%.