1 / 28

第七章 伪随机数生成

第七章 伪随机数生成. 本章研究如何通过( 0, 1)区间上均匀分布的随机数,获得其它各种分布的随机变量的方法。 随机变量是模拟模型的输入变量,而且是以随机变量的样本输入模型的。模拟模型输入分析: 1. 是否随机变量? 2. 分布是否已知? 3. 参数是否已知? 4. 伪随机数产生 假定随机变量的分布是已知的。 问题:要找出从已知分布中产生随机样本的方法。. 常用随机数产生的方法. 逆变换法,函数变换法,组合法,取舍法,近似法. 逆变换法. 定理:

Download Presentation

第七章 伪随机数生成

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第七章伪随机数生成

  2. 本章研究如何通过(0,1)区间上均匀分布的随机数,获得其它各种分布的随机变量的方法。 随机变量是模拟模型的输入变量,而且是以随机变量的样本输入模型的。模拟模型输入分析: 1. 是否随机变量? 2. 分布是否已知? 3. 参数是否已知? 4. 伪随机数产生 假定随机变量的分布是已知的。 问题:要找出从已知分布中产生随机样本的方法。

  3. 常用随机数产生的方法 • 逆变换法,函数变换法,组合法,取舍法,近似法

  4. 逆变换法 定理: 若 X是任意分布的随机变量, 其CDF为 F(x) =P {X ≤x}, 则Y = F (x)是在(0,1)区间内的均匀分布的随机变量,并且它与X的分布特征无关。 证明: Fig.

  5. 反变换法步骤 1 确定随机变量X的CDF, F(x); 2 产生(0,1)随机数u; 令 u = F(x) 3 求反函数 X= F-1(u) 则在任意分布函数中进行模拟采样可以通过(0,1)之间均匀分布的模拟采样来达到。

  6. 1. (a,b) 区间上的均匀分布

  7. 2 指数分布

  8. 3 Weibull分布

  9. 4 离散分布

  10. 5 函数变换法 以正态分布为例

  11. 6 卷积法 • 先产生多个0-1均匀分布,再利用中心极限定理

  12. U(0,1)均匀分布随机数的产生 • 有哪些要求?

  13. §6.1 随机数及其产生 如何产生随机数 1)兰德公司:从随机数库中随机抽取(50年代) 美国兰德公司在1950年曾将100万个在(0,1)区间内的实数存入计算机外存储器,以便在仿真过程中进行随机调用。 由于效率太低,并且不能保证均匀分布的性质,这种方法不久即被淘汰。 2)科学家建议将计算机连接到物理效应设备(如噪声源)上获得随机数流. 这种方法的随机性和均匀性最好,但产生过程太复杂,也未能得到推广。 3)通过数学算法由计算机产生随机数。 这种方法具有简单易行,占用内存少,运行速度快的优点,因此得到广泛的应用。

  14. §6.1 随机数及计算机产生伪随机数 其产生 • 种子 • 迭代 • 均匀性? • 独立性? • 范围?

  15. §6.1 随机数及其产生– 0~1间隔均匀分布随机数 (1)随机数值是0到1的范围内的实数,包括0,或者包括或者不包括1。 (2)在所定义的区间内,要具有均匀性。即将区间 [0,1] 分隔为n个等长的子区间,则在每一个子区间得到的观察值的个数的期望值应该等于N / n, (3)在所定义的区间内,要具有独立性。即每个观察值落在某一子区间的概率和前一观察值无关。

  16. 伪随机数发生器的要求 (1)较长的循环周期 (2)再现性 (3)产生伪随机数的算法过程应尽可能简单,以便减少所占用的内存和提高仿真效率。

  17. §6.1 随机数及其产生 5.均匀分布随机数生成算法举例 1). 平方取中法 2). 乘法取中法 3). Fibonacci序列法 4). 线性同余法。

  18. 平方取中法 • 由冯·纽曼在40年代中期提出

  19. 缺点 • 利用这个方法产生的伪随机数序列的重复周期通常较短。 • 对于较长的伪随机数序列,利用这种方法可能无法通过随机性的统计检验。 • 生成一定数目的随机数之后,往后产生的数可能都为0。这种现象的出现称为“退化为零”。

  20. 退化为零 • 例利用“平方取中法”产生两位数的随机数序列,种子数取为x0=44。

  21. 退化为恒值 • 例设在产生四位数的随机数过程中,得到了一个xi 值为4500,即

  22. 乘积取中法

  23. 常数相乘法

  24. 斐波那契序列法 例取x0 =1,x1 =3,m=8,求由上述递推公式可以得到不同的随机数。

  25. 线性同余法 • 线性同余法在1951 年由菜默尔首先提出,目前大多数随机数发生器都采用这种方法 • 初始值x0 称为种子,常数a 称为乘子,常数c 称为增量,而常数m 称为模数。

  26. 例设a=5,c=3,m=16,取x0=7,利用线性同余法产生随机数序列。例设a=5,c=3,m=16,取x0=7,利用线性同余法产生随机数序列。

  27. 一般来讲,存在重复性。合理地选择a,c,x0 和m,可以使重复周期充分长 • m:取值尽量大,为(2k-1)最好,k最大字位数 • a 和c 的选取:当且仅当下列条件满足重复周期为m(这是最好的情况)。 • c 与m 互质 • (a-1)是每个能整除m的质数的倍数。 • 如果m能被4整除,则(a-1)也能被4整除。

  28. 乘同余法 • 对于乘同余法,由于c=0,无论怎样选择m,都无法满足c 与m 互质的条件,因而不可能得到满周期 • 若选择m=2k,则所产生的随机数序列的周期p≤m/4=2k-2,即在0 至m-1 之间的整数 • 至多只有四分之一可能成为xn的值,而且这四分之一的整数在0 至m-1 之间是如何分布的尚难确定。这与种子数x0的选取有关。

More Related