Dividing max health by average net damage doesn't give you an accurate answer, because it doesn't penalize for damage wasted on overkill (a 90% miss chance and a 10% chance to hit for 10 times the monster's max life does not mean that you kill it in an average of 1 attack).
And subtracting average defense from average damage rolled doesn't even give you the true average net damage dealt, for the same reason (sometimes defense exceeds rolled damage, in which case the extra defense is wasted).
Here's the algorithm I'm using (note: numbers are rounded for purposes of examples):
List every possible combination of die rolls, and the probability of each. For example "the blue die rolls 2 wounds and 3 range, the red die rolls 3 wounds and a surge, and the gray die rolls 1 shield" would be one possible combination, with a probability of (1/6)*(1/6)*(3/6) = 1/72 Determine the amount of damage that will be done if that particular combination of results is rolled (in this example, 5 wounds after spending the surge and subtracting defense, but we cap that at the monster's maximum health, if lower) Use these results to build a table showing every total amount of damage it is possible to do with a single attack, and the probability of doing that amount of damage (e.g. 20% chance of a miss or zero net damage, 9% chance of 1 damage, 17% chance of 2 damage, 54% chance of one-shotting the cave spider) - basically, combine all the die rolls that produce the same net result, adding up their probabilities to get the total probability of that result From that, you can calculate the average number of attacks it would take to kill the spider if it only had one health remaining, ignoring attacks with no effect (so…1 attack) Using that, you can calculate the average number of attacks it would take to kill the spider if it had two health remaining, still ignoring attacks with no effect (.09 / 0.8 = 11% of hits deal 1 damage, which means that it dies in 1 + (the one-health number) attacks, while (.17 + .54) / .8 = 89% of hits kill it outright (1 attack), for a weighted average of 1.11 attacks) Using that, calculate the average number of attacks if it had three health remaining (11% deal 1 damage, killing it in 1+1.11 attacks; .17 / .8 = 21% deal 2 damage, killing it in 1+1 attacks; .54 / .8 = 68% kill it in 1, for a weighted average of 1.33 attacks) And so on, up to the monster's maximum health But that was ignoring the attacks with no effect - actually, 20% of our attacks are completely wasted. So now we need to divide by the fraction of effective attacks (80%), which gives us 1.33 / .8 = 1.67 attacks average for the entire process
As you can probably tell, that's a LOT of math, which is why I have a computer program do it. But the number you get is not an estimate or an extrapolation, it's the actual exact average number of attacks (within the limits of floating point precision, and assuming there are no mistakes in my input data…)
Thank you. I've been going through this thread waiting for someone to actually address probability instead of averages.