管理系统模拟与GPSS语言 引言 问题?当已知数据的概率分布后, 如何在模拟中方便有效地产生需要 的随机变量的值? 计算机模拟的关系 模拟〈-随机变量〈IDU(0,1) MSSV10
管理系统模拟与 1 GPSS语言 MSSV1.0 引 言 ➢问题?当已知数据的概率分布后, 如何在模拟中方便有效地产生需要 的随机变量的值? ➢计算机模拟的关系: ➢模拟<-随机变量<-IIDU(0,1)
管理系统模拟与GPSS语言 米第章随机数发生器及随机变量的产生 本章主要内容: 1.随机数发生器 2产生随机变量的方法 3.GPSS语言的随机变量 MSSV10
管理系统模拟与 2 GPSS语言 MSSV1.0 第5章 随机数发生器及随机变量的产生 1. 随机数发生器 2.产生随机变量的方法 3. GPSS 语言的随机变量 本章主要内容:
管理系统模拟与GPSS语言 3 第5章随机数发生器及随机变量的产生 5-1随机数发生器 什么是随机数发生器 产生(0,1]间均匀分布随机数的程序称为随机 数发生器。(所谓随机数,就是具有给定概率分布的 随机变量的可能值。) 2.为什么需要随机数发生器 因为所有各类随机变量都是以随机数发生器产生 的[0,1)间均匀分布随机数为基础而得来的。因此要 生各类随机变量必须首先要有产生(0,1]间均匀分 布随机数的随机数发生器。 MSSV10
管理系统模拟与 3 GPSS语言 MSSV1.0 第5章 随机数发生器及随机变量的产生 1. 什么是随机数发生器 产生 ( 0, 1 ]间均匀分布随机数的程序称为随机 数发生器。(所谓随机数,就是具有给定概率分布的 随机变量的可能值。) 2. 为什么需要随机数发生器 因为所有各类随机变量都是以随机数发生器产生 的 [0, 1) 间均匀分布随机数为基础而得来的。 因此要 产生各类随机变量必须首先要有产生 ( 0, 1 ]间均匀分 布随机数的随机数发生器。 5-1 随机数发生器
管理系统模拟与GPSS语言 4 5-1随机数发生器 5.11对随机数发生器的要求 1.产生的随机数必须是均匀分布 2.产生的随机数必须是独立同分布(ID) 3.可产生相同的数列,又可产生不同的数列 4.数列具有足够长的(重复)周期 5.速度快 6.占有内存小 MSSV10
管理系统模拟与 4 GPSS语言 MSSV1.0 5-1 随机数发生器 5.1.1 对随机数发生器的要求 1. 产生的随机数必须是均匀分布 2. 产生的随机数必须是独立同分布(IID) 3. 可产生相同的数列, 又可产生不同的数列 4. 数列具有足够长的(重复)周期 5. 速度快 6. 占有内存小
管理系统模拟与GPSS语言 5 5-1随机数发生器 512常见的随机数发生器 1.平方取中法将一个四位数平方后,取中间四位数 为第一个随机数,然后再平方取中间四位 数为第二个随机数,以此类推。 X1=[X2/101mod1023) Un1=X1/1023 例:X=5234 2=27394756 X1=3947 2=15578809 X=5788 平方取中法易退化,且均匀分布的差异显著。 MSSV10
管理系统模拟与 5 GPSS语言 MSSV1.0 5.1.2 常见的随机数发生器 1.平方取中法 将一个四位数平方后,取中间四位数 为第一个随机数,然后再平方取中间四位 数为第二个随机数,以此类推。 例: X0=5234 X0 2=27394756 X1=3947 X1 2=15578809 X2=5788 …… 平方取中法易退化,且均匀分布的差异显著。 5-1 随机数发生器 s i i s s i i U X X X 2 1 1 2 2 1 /10 [ /10 ](mod 10 ) + + + = =
管理系统模拟与GPSS语言 6 5-1随机数发生器 2.同余数法 Zi=(azi-+c)(modm 其中:a,c-常数u1为[0,1)间随机数 z1--任意数,z0为随机数种子 m-发生器的模,近似于发生器的周期,因此越大越好 mod是一种运算,其算法如下: A 对于Z= A mod m则 MSSV10
管理系统模拟与 6 GPSS语言 MSSV1.0 Zi = (aZi− + c)(modm) 1 其中: a, c -- 常数 ui 为 [0,1) 间随机数 Zi ---- 任意数, Z0 为随机数种子 m ---- 发生器的模, 近似于发生器的周期, 因此越大越好 mod 是一种运算, 其算法如下: 对于 Z=A mod M 则 Z A A M = − M * 2. 同余数法 5-1 随机数发生器
管理系统模拟与GPSS语言 7 5-1随机数发生器 同余数法的讨论 A 例Z=A(MODM) Z= A M A=o A(modM)=0 A=1 a(mod M) 可见,数列是循环的, A=2 A(mod M)=2 有周期 AM-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 MSSV10
管理系统模拟与 7 GPSS语言 MSSV1.0 同余数法的讨论 例 Z= A (MOD M) 当 A=0 A (mod M) = 0 A=1 A (mod M) = 1 A=2 A (mod M) = 2 : : : : 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 可见, 数列是循环的, 有周期 Z A A M = − M * 5-1 随机数发生器
管理系统模拟与GPSS语言 8 5-1随机数发生器 常用同余式随机数发生器 z1=(521+1)(mod2) =(3141592691+453806245)(mod23) 由上可见,计算机随机数发生器产生的随机数是一个具有一定周期 的循环数列,从这个意义上说,计算机产生的随机数是一个伪随机数 所谓伪随机数就是说它并不是真正意义上随机数)它必须经过检验 才能使用 BASC语言的随机数发生器是函数RND() RND()的种子可由 RANDOMIZE设定 MSSV10
管理系统模拟与 8 GPSS语言 MSSV1.0 常用同余式随机数发生器 Z Z Z Z i i i i = + = + − − ( )(mod ) ( )(mod ) 5 1 2 314159269 453806245 2 15 1 35 1 31 由上可见, 计算机随机数发生器产生的随机数是一个具有一定周期 的循环数列, 从这个意义上说, 计算机产生的随机数是一个伪随机数. (所谓伪随机数就是说它并不是真正意义上随机数)它必须经过检验 才能使用. BASIC 语言的随机数发生器是函数 RND( ) RND( ) 的种子可由 RANDOMIZE 设定. 5-1 随机数发生器
管理系统模拟与GPSS语言 9 5-1随机数发生器 513随机数发生器的检验 随机数发生器的经验检验方法 1.K-S检验均匀性检验(内容不要求) 2.x检验均匀性检验 3.顺序检验独立性检验(内容不要求) 4.距离检验均匀性检验(内容不要求) 5.自相关检验独立性检验(内容不要求) 关于理论检验 MSSV10
管理系统模拟与 9 GPSS语言 MSSV1.0 5.1.3 随机数发生器的检验 随机数发生器的经验检验方法 1. K-S 检验 均匀性检验 (内容不要求) 2. 检验 均匀性检验 3. 顺序检验 独立性检验 (内容不要求) 4. 距离检验 均匀性检验 (内容不要求) 5. 自相关检验 独立性检验 (内容不要求) 2 5-1 随机数发生器 关于理论检验
管理系统模拟与GPSS语言 10 米5-2产生随机变量的方法 1.逆转换法 假设数据的分布类型已经 通过某些方法确定下来, 如何从这个分布中产生模 F(X) 拟所需的随机变量? U MSSV10
管理系统模拟与 10 GPSS语言 MSSV1.0 5-2 产生随机变量的方法 1. 逆转换法 1 U X F(X) x 假设数据的分布类型已经 通过某些方法确定下来, 如何从这个分布中产生模 拟所需的随机变量?