概率论基础-泊松分布计算近似概率


为保证设备的正常运行,必须配备一定数量的设备维修人员,现有同类设备300台,且各台设备工作相互独立,任一时刻发生故障的概率都是0.01,假设一台设备的故障由一人进行修理,问至少应配备多少名修理人员,才能保证设备发生故障后能得到及时修理的概率不小于0.99?


概率论基础-泊松分布计算近似概率_第1张图片


当N大,p小时,可以用此公式,是近似的二项分布计算,相对的计算量会少一些。

当然,对于此题,精确计算应该是用二项分布,但是计算C(n,k)过大,会溢出。

下面的程序得出至少需要8名人员。


#include 
#include 
using namespace std;

int m[101] = {1,1};

int main() {
	int N = 300;
	double p = 0.01;
	double r = N * p;

	//计算阶乘, 预测结果不会太大,计算到50即可
	for(int i=2; i<=50; i++)
		m[i] = m[i-1] * i;

	double ke = exp(-r);

	double ans = 0;
	//使用泊松分布公式计算
	for(int i=0; i<300; i++){
		ans += ke * pow(r, i) / m[i];
		if(ans >= 0.99){
			cout << i<< endl;
			break;
		}
	}


	return 0;
}





你可能感兴趣的:(概率论基础-泊松分布计算近似概率)