Thread: Proc Mechanics
View Single Post
Old 04/14/08, 5:19 AM   #11 (permalink)
 Aldriana
Soda Popinski
 
Night Elf Rogue
 
Proudmoore
Originally Posted by Troffel View Post
The average uptime U, when c>=D, is
E(U) = sum_{i=0}^{\infinity} D/(c+i/v) * p * (1-p)^i

The difference is, that you can not calculate the average as the quotient of the averages.
I disagree. That attempts to answer the question "if I pick an interval between two procs at random, on average what is the expected uptime of buff during that interval" - which is related to, but not identical to, the question we actually want to know the answer to, namely "If I pick a random instant of time, what is the probability that the buff is up". The relevant distinction is that when we choose an instant of time at random, we are not equally likely to wind up in any interval; we are slightly more likely to pick one of the longer ones, and slightly less likely to pick one of the shorter ones.

Thus, my logic is as follows:

Let the average interval between procs be I. Thus, by definition over the course of some long segment of time T, there will be, on average, \frac{T}{I} procs, and thus \frac{DT}{I} total uptime. Hence, if we pick a time at random during this period of time, the probability that the buff is active is the total amount of time when the buff is active divided by the length of our interval, that is, \frac{\frac{DT}{I}}{T}=\frac{D}{I}.

Besides which, even if there is a flaw in my logic (and I'm not going to say for certain that there isn't): it's a far more useful formula than the one you present; even if it is slightly off (and I don't think it is), it's certainly close enough to give good approximations in real world cases, and has the distinct advantage of not requiring the evaluation of infinite sums, which is going to make it much more useful to most members of this community in practice, as my suspicion is that most people here don't necessarily remember how to evaluate an infinite sum.
 
User is offline.
Reply With Quote