第5章 随机数发生器及随机变量的产生

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

13
5-2 产生随机变量的方法
对于第二章的银行汽车窗口例子来说, 反函数为:p37
F 1(u) G(u) 0.399ln(u)
因此, 现在可用随机数发生器产生一系列的 ( 0, 1 ] 间随机数 Ui , 即可求出一系列的指数分布的随机变量.
对于一些不能求得反函数的分布来说, 利用逆转法 会遇到困难, 这时可借助于数值分析。
MSSV1.0
管理系统模拟与GPSS语言
14
5-2 产生随机变量的方法
2. 合成法(Composition)
当我们要研究的样本的分布 F 可以表示成几个其他分 布 F1,F2,…的组合形式时,我们可以采用合成法。
小面积1
f(x) 小面积2
小面积3
MSSV1.0
管理系统模拟与GPSS语言
15
5-2 产生随机变量的方法
.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
GENERATE QUEUE
ENTER DEPART ADVANCE
LEAVE TERMINATE
100, FN$1 LINE
S1 LINE 80, FN$2
S1 1
进入存储器, 即加油器 离开存储器, 即加油器
2
FUNCTION RN$2,C24
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38
.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2
管理系统模拟与GPSS语言
引言
1
➢ 问题?当已知数据的概率分布后, 如何在模拟中方便有效地产生需要 的随机变量的值?
➢ 计算机模拟的关系:
➢ 模拟<-随机变量<-IIDU(0,1)
MSSV1.0
管理系统模拟与GPSS语言
2
第5章 随机数发生器及随机变量的产生
本章主要内容:
1. 随机数发生器 2.产生随机变量的方法 3. GPSS 语言的随机变量
MSSV1.0
管理系统模拟与GPSS语言
轴承寿命的数据样本
工作时间 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200
轴承损坏比例‰ 0
15 65 125 225 360 535 685 810 900 975 995 1000
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38
.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2
.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
GPSS 语言的随机变量是利用GPSS函数形式产生的
GPSS 指数分布函数随机变量
1 FUNCTION RN$1, C24 0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38 .8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2 .97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
1. 确定随机过程中该变量的拟合分布. 2. 确定拟合分布的参数及分布函数 F(X). 3. 求出分布函数的反函数 X= G(u) =F -1(U). 4. 用随机数发生器产生 ( 0, 1 ] 间均-1匀分布的随机数 Ui 5. 用 Xi=G(U)=F-1(Ui) 来计算, 求得该分布的随机变量 Xi.
F(X) 0 0.015 0.065 0.125 0.225 0.360 0.535 0.685 0.810 0.900 0.975 0.995 1.000
17
MSSV1.0
管理系统模拟与GPSS语言
18
5-2 产生随机变量的方法
经验分布随机变量产生示意图
FHale Waihona Puke X) 1U1000
1500
2000
X
MSSV1.0
MSSV1.0
管理系统模拟与GPSS语言
9
5-1 随机数发生器
5.1.3 随机数发生器的检验
随机数发生器的经验检验方法
1. K-S 检验 均匀性检验 (内容不要求) 2. 2 检验 均匀性检验 3. 顺序检验 独立性检验 (内容不要求) 4. 距离检验 均匀性检验 (内容不要求) 5. 自相关检验 独立性检验 (内容不要求)
X02=27394756 X12=15578809
……
平方取中法易退化,且均匀分布的差异显著。
MSSV1.0
管理系统模拟与GPSS语言
6
5-1 随机数发生器
2. 同余数法
Zi (aZi1 c)(mod m)
其中: a, c -- 常数 ui 为 [0,1) 间随机数 Zi ---- 任意数, Z0 为随机数种子 m ---- 发生器的模, 近似于发生器的周期, 因此越大越好
程序中调用函数时如下:
GENERATE ADVANCE
80, FN$1 100, FN$2
MSSV1.0
管理系统模拟与GPSS语言
22
例题
例 5.2 并联排队系统
汽车站有二台效率相同的加油器, 汽车排一个队. 这种情况可有多 种解法, 本例将加油器做为存 储器来对待. 其容量为 2 . 标号 为 S1。 分二种情况:
5-3 GPSS 语言的随机变量
GPSS 语言正态分布随机变量函数
2 FUNCTION RN$2, C24 0, -40/ .001, -30/ .006, -25 / .022, -20 / ,066, -15 / .115, -12 .158, -10 / .211, -8 / .274, -6 / .344, -4 / .420, -2 / .500, 0 .579, 2 / .655, 4 / .725, 6 / .788, 8 / .841, 10 / .889, 12 / .933, 15 .977, 20 / .993, 25 / .998, 30 / .999, 40 / 1, 50
3. 结合法
若某个分布的随机变量可以由几个其他分布的 随机变量结合而成, 且其他分布的随机变量容易 产生, 则可用结合法.
例: 均值为 的 ERLANG 分布 (m - Erlang ) , 可由 m 个均值
为 / m 的 IID 指数随机变量结合而成, 这样, 只要先产生 m 个参数为 / m 的指数分布随机变量 Y1, Y2, Y3, .....
MSSV1.0
管理系统模拟与GPSS语言
12
5-2 产生随机变量的方法
例: 指数分布函数随机变量的产生
已知指数分布分布函数为:
F(x) 1 ex/
(X>=0)
则可求得该分布函数的反函数如下:
F 1(u) G(u) ln(1 u)
或者:
F 1(u) G(u) ln(u)
MSSV1.0
管理系统模拟与GPSS语言
关于理论检验
MSSV1.0
管理系统模拟与GPSS语言
10
5-2 产生随机变量的方法
1. 逆转换法
F(X) 1
U
假设数据的分布类型已经 通过某些方法确定下来, 如何从这个分布中产生模 拟所需的随机变量?
x X
MSSV1.0
管理系统模拟与GPSS语言
11
5-2 产生随机变量的方法
逆转换法是利用拟合分布的分布函数的 反函数来产生随机变量. 其步骤如下:
MSSV1.0
管理系统模拟与GPSS语言
3 第5章 随机数发生器及随机变量的产生
5-1 随机数发生器
1. 什么是随机数发生器
产生 ( 0, 1 ]间均匀分布随机数的程序称为随机 数发生器。(所谓随机数,就是具有给定概率分布的 随机变量的可能值。)
2. 为什么需要随机数发生器
因为所有各类随机变量都是以随机数发生器产生 的 [0, 1) 间均匀分布随机数为基础而得来的。 因此要 产生各类随机变量必须首先要有产生 ( 0, 1 ]间均匀分 布随机数的随机数发生器。
GPSS 指数分布函数由 24 个点的连续函数组成, 均值 为 1. RN$1 为一号 0, 1 间均匀分布随机函数, 这样的 随机函数 GPSS 允许同时使用多组, 如 RN$1, RN$2, RN$3, RN$4, ....., 每组都必须事先定义.
MSSV1.0
管理系统模拟与GPSS语言
21
加油器2
1. 到达时间与加油时间为均匀分布
2. 到达时间与加油时间为指数分布
100/10 加油器1
MSSV1.0
管理系统模拟与GPSS语言
23
例题
均匀分布 SIMULATE
LINE EQU S1 EQU S1 STORAGE
GENERATE QUEUE ENTER DEPART ADVANCE LEAVE TERMINATE
START
100
END
MSSV1.0
管理系统模拟与GPSS语言
25
上机前的准备
1. 掌握好 GPSS 系统的进入,执行和退出的指令。 2. 编制好 GPSS 程序,可设计几个方案,并分别编制
:
:
:
:
A=M-1 A (mod M) = M-1
A=M A (mod M) = 0
A=M+1 A (mod M) = 1
:
:
A=2M A (mod M) = 0
可见, 数列是循环的, 有周期
MSSV1.0
管理系统模拟与GPSS语言
8
5-1 随机数发生器
常用同余式随机数发生器
Zi (515 Zi1 1)(mod 235 ) Zi (314159269Zi1 453806245)(mod 231)
mod 是一种运算, 其算法如下:
对于 Z=A mod M 则
Z
A
A M
*
M
MSSV1.0
管理系统模拟与GPSS语言
7
5-1 随机数发生器
同余数法的讨论
例 Z= A (MOD M)
Z
A
A M
*
M
当 A=0 A (mod M) = 0
A=1 A (mod M) = 1
A=2 A (mod M) = 2
管理系统模拟与GPSS语言
5
5-1 随机数发生器
5.1.2 常见的随机数发生器
1.平方取中法 将一个四位数平方后,取中间四位数 为第一个随机数,然后再平方取中间四位 数为第二个随机数,以此类推。
X i1
[
X
2 i
/10s
](mod
102s )
Ui1 X i1 /102s
例:
X0=5234 X1=3947 X2=5788
由上可见, 计算机随机数发生器产生的随机数是一个具有一定周期 的循环数列, 从这个意义上说, 计算机产生的随机数是一个伪随机数. (所谓伪随机数就是说它并不是真正意义上随机数)它必须经过检验 才能使用.
BASIC 语言的随机数发生器是函数 RND( ) RND( ) 的种子可由 RANDOMIZE 设定.
MSSV1.0
管理系统模拟与GPSS语言
4
5-1 随机数发生器
5.1.1 对随机数发生器的要求
1. 产生的随机数必须是均匀分布 2. 产生的随机数必须是独立同分布 (IID) 3. 可产生相同的数列, 又可产生不同的数列 4. 数列具有足够长的(重复)周期 5. 速度快 6. 占有内存小
MSSV1.0
Ym , 则 m - Erlang 分布的随机变量可求得如下:
X= Y1 + Y2 + Y3+ ...... + Ym
MSSV1.0
管理系统模拟与GPSS语言
16
5-2 产生随机变量的方法
4. 经验分布随机变量的产生
若只有实验数据, 得不到拟合分布, 则可直接从数据中产生 随机变量.
例 5.1 一个表示轴承寿命的样本如下页所示. 其经 验分布图如下下页 所示。 则随机变量可按如下方 法产生。
START END
1 1 2
100,10 LINE S1 LINE 80,8 S1 1
进入存储器, 即加油器 离开存储器, 即加油器
100
MSSV1.0
管理系统模拟与GPSS语言
24
例题
指数分布
SIMULATE
LINE EQU
1
S1 EQU
1
S1 STORAGE 2
1 FUNCTION RN$1,C24
管理系统模拟与GPSS语言
19
5-2 产生随机变量的方法
经验分布随机变量产生方法
1. 先产生一 (0, 1 ] 间均匀分布的随机变量 U 2. 判断 U 落入那一个区间, 既可确定寿命的随机变量
以下方法不要求:
D. 取舍法 E. 近似法 F. 内插法
MSSV1.0
管理系统模拟与GPSS语言
20
5-3 GPSS 语言的随机变量
相关文档
最新文档