您的位置:首页 > 其它

排队论——随机时间概率

2016-08-29 14:19 211 查看
排队论中在模拟时顾客到达时间,服务时间时,有两个结论:

1. 单位时间内平均到达的顾客数如果为 n ,那么到每两个顾客的达时间的时间间隔这个随机变量是服从参数为 1/n 的泊松分布;

2. 每个顾客平均需要的服务时间如果为 t,那么 t 应该服从 参数为 1/t 的指数分布。

[b]泊松分布:[/b]






lambda是单位时间内的平均数,

是2.71828...(Euler's number)。

三种实现,首先第一种是一个产生随机柏松分布数的简单算法(伪随机数抽样),由Knuth提出。



第二种,有一些微小的差别。



第三种,



实现如下:

static double poisson(double lambda) {
int x = 0;
double p = exp(-lambda);
double s = p;
double u = std::rand() * 0.1 / RAND_MAX;
while (u > s) {
x++;
p = p*lambda / x;
s += p;
}
return x;
}


指数分布



时,

;否则,


lambda是单位时间内的数目。

实现:

static double exponentail(double lambda) {
return -log(1 - (std::rand() * 0.1 / RAND_MAX)) / lambda;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐