管理系统模拟与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 随机数发生器 关于理论检验