2012-10-26 115 views
1

我试图计算出一个合适的超时时间,我正在写一个实时模拟器:超时概率

对于p =成功的概率,时间为一个成功的请求= M,而对于时间失败的尝试= f。 5次成功申请的平均时间是多少?

+1

这可能更适合Stack Exchange的数学部分,因为它与编程没有直接关系。 – Shaded

+0

请注意,平均时间可能不是超时的最佳指标,我会对分位数更感兴趣(例如,足够完成90%成功请求的时间)。 – Mathias

回答

0

我们调用总尝试次数x。

x = 5p + (x-5)(1-p) 
x = 5/p 

的总时间将是

t = 5m + (x-5)f 

t = 5m + (5/p - 5)f 

若m = 1,F = 2,并且p = 0.1,答案应为5×1 + 45 * 2 = 95.结束检查。

这里可能有错误,但我尽了全力。

0

这可能是对统计数据交换更合适的,顺便说一下,但这里的答案:

如果你想的平均时间,你需要平均值得到您的五个需要试验的可能的总数成功。这可能是从5到无限的任何地方(它需要至少5次试验才能获得5次成功,并且理论上可能会有无穷无尽的失败次数)。我建议你可以高兴地在合理的点解决这个问题,以得到一个精确到小数点后几位的答案,除了p的病理值。设n是我们想要观察x = 5次成功的试验次数。 n次试验中5次成功的概率由binomial distribution给出,由x,n和p参数化。让Bin(x; n,p)是二项式概率,那么与此相关的时间是:

5m + (n-5)f 

为了得到这个数量的期望(平均),那么你要的总和:

Bin(5; n,p) * 5m + (n-5)f 

为N = 5到n = inf。根据你的p值,你应该能够在n = 20到30之间停下来,并且仍然可以获得相当准确的答案。请注意,如果您正在使用二项式概率的简单实现,那么涉及n!项的二项式系数的计算可能会失败,因此您可能需要考虑二项式的正态近似。