我有n台服务器,我想知道服务器的数量,我需要使至少10台服务器处于活动状态的概率为0.99。服务器发生故障的概率等于0.01。
所以到目前为止,我知道我至少需要10台服务器才能活动。因此,概率为:
sum (from k = 10 to n) of (n choose k)*(0.99 ^ k)*(0.01^(n-k)) = 0.99
并且我必须对从10到n的每个n执行此操作。我想知道还有什么更短的方法吗?就像如果我确定恰好有9台服务器发生故障的概率,而我做了一个减去该概率的概率一样,则该怎么办:
1 - (n choose 9)*(0.01^9)*(0.99^(n-9)) = 0.99
这会给我正确的答案吗?请帮助:)
更新,我使用了一个在线计算器来解决后一个方程式(1-恰好9个发生故障的概率),并且我获得了可用于使至少10台服务器处于活动状态的概率最大的服务器数量大于0.99的服务器将是380台服务器,超过0.99的服务器将有至少10台服务器处于活动状态的可能性小于0.99。
不过,我不确定这是否正确。 :)
由于您希望在n个试验中至少有X = 10个成功,所以每个成功p = 0.99的试验,您可以考虑共轭并找出n in(P(X <= 9 | n = N,p = 0.99)<0.01)。
您可以在此部分中使用二项式cdf
就您而言,它变成
现在,我们要弄清需要多少次试验才能使上述cdf的评估值小于0.01。
例如,您可以使用python进行数字搜索:
from scipy.stats import binom
for n in range(1000):
p = binom.cdf(9, n, 0.99)
if p < 0.01:
print(n)
break
而且您会看到不需要多于11台服务器来确保至少有10台服务器处于活动状态的概率为0.99:])>