排队论——随机时间概率
2016-08-29 14:19
211 查看
排队论中在模拟时顾客到达时间,服务时间时,有两个结论:
1. 单位时间内平均到达的顾客数如果为 n ,那么到每两个顾客的达时间的时间间隔这个随机变量是服从参数为 1/n 的泊松分布;
2. 每个顾客平均需要的服务时间如果为 t,那么 t 应该服从 参数为 1/t 的指数分布。
[b]泊松分布:[/b]
,
lambda是单位时间内的平均数,
是2.71828...(Euler's number)。
三种实现,首先第一种是一个产生随机柏松分布数的简单算法(伪随机数抽样),由Knuth提出。
第二种,有一些微小的差别。
第三种,
实现如下:
指数分布:
当
时,
;否则,
lambda是单位时间内的数目。
实现:
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; }
相关文章推荐
- 获取随机时间,且不同时间段的概率不等的计算方法
- 随机等概率的输出m个不重复的数
- Alias Method解决随机类型概率问题
- 概率随机问题
- Alias Method解决随机类型概率问题
- 自动生成编码、日期;随机生成时间
- Oracle 取随机数 |获取时间格式+三个随机数: 组成随机数据
- 微信小程序 随机字符串产生函数 时间戳产生函数
- 【转】给定一个函数rand5(),使函数rand7()可以随机等概率的生成1-7的整数
- 编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出
- 随机时间(java代码)
- 随机生成1~10的数字,数字5出现的概率为30%
- 随机趋势的时间序列模拟
- C++中的srand(time(null))利用时间设置随机种子产生随机数
- 简单整人,鼠标随机乱动,随机发出错误提示音,到达一定时间后,强行关闭电脑
- sql 数据去重并且保留一条(在一定的时间范围随机获取时间)
- 【通俗向】假设检验(四):概率、随机、t检验
- 多核编程中的任务随机竞争模式的概率分析
- 第一章 随机事件和概率
- 随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。