nbhkdz.com冰点文库

第三章 随机数的产生


第 3 章 随机数的产生

3.1 随机数概述
3.1.1 随机数定义及特性
? 随机数的定义

随机数是指从每一数出现几率相等的一系列数中,靠
随机的方法抽取出来的数。 ? 随机数的性质 一个随机数序列R1,R2,…必须满足两个重要的统 计性质:均匀性和独立性。 [0,1]均匀分布的随机数可以用来生成其它分

布的随机 数。

3.1 随机数概述
例 设随机变量X~B(1, 0.5), 模拟该随机变量X的一组 样本值. 一种简单的方法是

抛一枚均匀硬币,观察出现正反面的情况,出现正面记
为数值“1”,否则记为“0”得: 1,0,0,0, 0,0,1,0,1,1,1,0,

0,1,1,0,1,0, …

可看成总体X 的一系列样本值,或称产生了一系列具有两 点分布的随机数.

3.1 随机数概述
[0,1]均匀分布概率密度函数
?1 f (x) ? ? ?0
1

0 ? x ?1
其他

f(x) 1 0 1 x

x2 1 1 E ( R) ? ? xdx ? ? 0 2 0 2
V ( R) ? ?
1 2 2

x3 1 1 2 1 1 1 x dx ? [ E ( R)] ? ?( ) ? ? ? 3 0 2 3 4 12

关于均匀性和独立性的两个结论: 1、如果将区间[0,1]分为n类或等长的子区间,那么在每个 区间的期望观测次数为N/n,其中N为观测的总次数。 2、观测值落在某个特定区间的概率与以前的观测值无关。

3.1 随机数概述
3.1.2 随机数的分类

随 机 数

真随机数 准随机数 伪随机数

3.1 随机数概述
真随机数: ? 真随机数数列是不可预计的,因而也不可能重 复产生两个相同的真随机数数列。 ? 真随机数只能用某些随机物理过程来产生。 ? 如果采用随机物理过程来产生真随机数,理论 上不存在什么问题。但在实际应用时,要做出 速度很快,而又准确的随机数物理过程产生器 是非常困难的。

3.1 随机数概述
准随机数:
准随机数概念是来自如下的事实:要实现严格数学意义上 的随机数,在理论上虽然可行,但在实际中却是不可行的, 也没有这个必要。关键是要保证“随机”数数列具有能产生 出所需要的结果的必要特性。准随机数序列并不具有随机性 质,仅仅是它用来处理问题时能够得到正确结果。
例如,在大多数模拟研究中,模拟事例被认为是相互独 立的,而这些事例的顺序则似乎并不重要。因而我们可以在 大多数运算中,放心地置随机性的概念于不顾。同样,我们 也可以不考虑对某些分布均匀性的涨落程度。 事实上在许多情况下,超均匀的分布比真随机数的均匀 分布更合乎实际需要。

3.1 随机数概述
伪随机数: ? “伪”的意思是假,这里产生的是假的随机数! ? “伪”意味着使用某种已知的方法产生随机数的特别 做法去除了真正随机性的可能。 ? 如果该方法已知,则随机数构成的集合就会重复。 实际应用的随机数通常都是通过某些数学公式计 算而产生的伪随机数。这样的伪随机数从数学意义上 讲已经一点不是随机的了。但是,只要伪随机数能够 通过随机数的一系列的统计检验,我们就可以把它当 作真随机数而放心地使用。这样我们就可以很经济地、 重复地产生出随机数。

3.1 随机数概述
在伪随机数的产生过程中,一定会出现一些与 理想随机数的背离: 1.可能并不是均匀分布的。 2.可能是离散的,而不是连续的。 3.平均值可能太大或太小。 4.方差可能太大或太小。 5.数字之间可能不是相互独立的,如: (a)数字之间自相关; (b)数字接连大于或小于相邻的数字; (c)若干大于均值的数跟着若干小于均值的数。

3.1 随机数概述
3.1.2 仿真中伪随机数的特性
随机数作为仿真的一部分,通常由计算机产生。方法 有很多,但必须具备以下特性: ⑴程序的速度必须快。 ⑵程序的可移植性要强。 ⑶程序必须有足够长的周期。 ⑷随机数必须是可重复的。 ⑸尽可能逼近理想的均匀性和独立性统计性质。

3.2 产生随机数的方法
3.2.1 均匀随机数的方法
1.产生均匀随机数的一般方法
(1)随机数表法 (2)在计算机中附加一个产生最技术的硬设备,即 从真实的物理现象中产生均匀随机数 (3)用位移寄存器产生均匀随机数 (4)利用数学公式产生均匀随机数

3.2 产生随机数的方法
2.产生均匀随机数的要求
(1)所产生的随机数应当有较理想的随机性,并且 数与数之间不应当出现任何相关性 (2)发生器有较快的速度和不需要很大的存储空间 (3)要求能够够重复完全一致的给定随机数列,调 试方便,能够实现在不同的仿真运行中重复使用相同 的随机数。

3.2 产生随机数的方法
3.用数学公式产生随机数
1)平方取中法

一个二进制n位数X自乘后一般得到一个2n位数X2。 设X0 =b1b2…bn 则X02=c1c2…cn…c2n 取X02中间的n位数(设n为偶数) X1=cn/2+1cn/2+2…cn/2+n 重复上述步骤,可得X0,X1,X2,…。 令yn=Xi2-n,则y0,y1,y2,…就是(0,1)均匀分布的 随机数样本。

3.2 产生随机数的方法
十进制数的平方取中法: 设X0=675248 则X02=455 959861 504 X1=959861 X12=921 333139 321 X2=333139 …… 将X0,X1,X2,…乘以10-6可得到y0=0.675248, y1=0.959861,y2=0.333139 ……
应用平方取中法 时,产生的数列 具有周期性,且 可能遇到“退化” 的危险,即出现 中间所取得值都 为0,或形成重 复循环样本的现 象。

3.2 产生随机数的方法
2)倍积取中法 例 取N=4,K=1234,w0=5678,

则w1=K*w0 =1234*5678=70 0665 2 ,
取中间4位数字0665为w1, 从而 u1=w1/104=665/104=0.0665 而 w2=1234*665=8 2061 0, 得 u2=2061/104=0.2061, 再 得 w3=1234*2061=25 4327 4,得u3=4327/104=0.4327,…。

3.2 产生随机数的方法
例:取模计算 当m=100时,对以下各数进行取模。 1197 56821 258 66 当m为10的幂(即m=10b)时,保留最右面的b位(十进 制)数字,就可以完成取模运算。 对于二进制计算机,当m=2b时,取模效率最高。

3.2 产生随机数的方法
3)同余数法 (1)加同余法 Xi+k=(Xi+Xi+1+…+Xi+k-1)modM
式中,初值X0,X1,…,Xk-1为任意正值

例 设X0=1, X1=1,k=2
X2= X0+ X1=1+1=2 X3= X1+ X2=1+2=3 产生的随机数列为 1,1,2,3,5,8,13,21,34,55,89,44,33,77,10,87,97,84,81,65,46,11,57

3.2 产生随机数的方法
(2)二次同余法

式中d、a和c都是常数。由于此发刚计算复杂,速 度慢,所以实际中也很少使用。
(3)线性同余法

该方法又称混合同余法;当c=0时,称为乘同余法。 是目前备受重视的两种产生伪随机数的方法。

3.2 产生随机数的方法
3.2.2 线性同余法
乘同余法 递推公式为
用M 除λxn后得
到的余数记为 xn+1

? x n ? 1 ? ? x n (mod M ) ? ? rn ? x n M

其中λ是乘因子, M为模数(modulus),第一式是以M为模数 的同余式. 给定初值x0 (称为种子),递推计算出 r1,r2,…即在(0, 1)上均匀分布的随机数序列.

3.2 产生随机数的方法
1. 乘同余法 递推公式为

? x n ? 1 ? ? x n (mod M ) ? ? rn ? x n M

用M 除λxn后得 到的余数记为 xn+1

其中λ是乘因子, M为模数(modulus),第一

式是以M为模数的同余式.
给定初值x0 (称为种子),递推计算出 r1,r2,… 即在(0, 1)上均匀分布的随机数序列.

3.2 产生随机数的方法
例 取x0=1,λ=7,M=103,有
λx0=7×1=7 , λx1=7×7=49, λx2=7×49=343 , x1=7 , x2=49 , r1=7/1000=0.007 r2=49/1000=0.049

x3=343, r3=343/1000=0.343

λx3=7×343=2401 , x4=401 , r4=401/1000=0.401 λx4=7×401=2807, x5=807 , r5=807/1000=0.807 其余类推.

3.2 产生随机数的方法
2.混合同余法 递推公式为

? x n ? 1 ? ? x n ? C (mod M ) ? ? rn ? x n M
其中,C是非负整数.
用模 M 去除 λxn+C的余数

3.2 产生随机数的方法
例 选λ=97, C=3, M=1000,得递推公式

? x n ? 1 ? 97 x n ? 3(mod 1000 ) ? ? rn ? x n 1000
取定种子x0=71,得
97x0+3=6890, x1=890, r1=0.890 97x1+3=86333, x2=333, r2=0.333 97x2+3=32304, x3=304, r3=0.304 97x3+3=29491, x4=491, r4=0.491 97x4+3=47830, x5=630, r5=0.630

余类推,接下来的随机数是:0.113,0.964,0.511,0.570,0.293, 0.424,0.131,0.710,0.873,0.684,0.351,0.050,0.853…

3.2 产生随机数的方法
3.2.3 伪随机数发生器的联合使用
1.乘同余数与位移寄存器法联合使用
2.线性同余法和移位寄存器法联合使用 3.等间隔地跳跃选用或几个伪随机数发生器轮换使用

3.3 [0,1)均匀分布随机数的统计检验
假设检验的一般步骤: (1)提出需要假设的检验 (2)建立用于检验的统计量,称为检验统计量,并明确其分 布或渐进分布 (3)给定显著性水平或置信度α(0<α<1) (4)确定H0的否定域,根据H0和α从有关分布表中查出使用 H0不成立的区域 (5)根据样本观察值计算检验统计量值 (6)进行统计推断。若检验统计量值之值不落入否定域,即 接受H0;否则,否定H0。

3.3 [0,1)均匀分布随机数的统计检验
3.3.1 均匀随机数的随机性和均匀性检验
1.粗略统计检验 假设r1,r2,…,rN是随机变量X的N个独立观测值,当

或者

成立时,则认为X服从于均匀分布的可能性大。

3.3 [0,1)均匀分布随机数的统计检验
2.频率检验

3.3 [0,1)均匀分布随机数的统计检验
例 有在[0,1)区间中的1000个均匀随机数,先将 [0,1) 区间划分为10个等长的小区间,根据这1000个随机数 在10个小区间中的归属,将它们分为10组。每组的实 际频数和理论频数列于下表。
分组 0-0.1 0.1-0.20 105 100 02.-0.3 03.-0.4 95 100 100 100 0.4-0.5 05.-0.6 86 100 117 100 0.6-0.7 109 100 0.7-0.8 92 100 0.8-0.9 0.9-1.0 97 100 96 100 实际频数 103 理论频数 100



3.3 [0,1)均匀分布随机数的统计检验
3.3.2 均匀随机数的随机性和均匀性检验
1.相关系数检验

渐进地服从正态分布N(0,1)

3.3 [0,1)均匀分布随机数的统计检验
2.联立表检验

3.3 [0,1)均匀分布随机数的统计检验
例 假设有[0,1)区间128个均匀随机数,先将一个单位正方形划分 为16个等面积的小正方形,设e=5,将随机数数列按其出现的先后 次序分组: (U1,U6),( U2,U7 ) , …, ( U123,U128 ) , ( U124,U1 ),…, ( U128,U5 ) 把它们看成品平面上的128个点,则落入各个小正方形的频数如下表:
分组 0.00-0.25 0.25-0.50 0.50-0.75 00.75-1000 0.00-0.25 12 10 8 11 0.25-0.50 6 9 8 9 0.50-0.75 10 9 5 2 00.75-1000 11 5 6 7



3.3 [0,1)均匀分布随机数的统计检验
2.矩检验
矩检验是检验随机数的观测值各阶矩与理论值的差别是否显著。

mk ?

1

N

i ?1

? ri

N

k

根据假设,不难计算
E (m k ) ? 1 k ?1

D(m k ) ? ? k2, N ?

1 1 ( ? (m k ) 2 ) N 2k ? 1
u k,N ? m k ? E (m k )

根据中心极限定理,统计量

? k,N

渐进服从N(0,1)分布。当给定置信度后,即可根据正态分布 表确定临界值,如 大于临界值,拒绝假设,否则接受假设。

利用Excel产生随机数
1、产生一个小于100的两位数的整数,输入公式 =ROUNDUP(RAND()*100,0)。

2、产生一个四位数N到M的随机数,输入公式 =INT(RAND()*(M-N+1))+N。
3、Excel函数RANDBETWEEN是返回位于两个指定数之间 的一个随机数。输入公式=RANDBETWEEN(1000,9999)。

3.4 产生各种概率分布的随机数

1.求逆法 2.舍选法 3.组合法 4.经验分布法

3.4 Arena中的概率分布
表D-1 Arena中的概率分布汇总
分布 Beta Continuous Discrete Erlang Exponential Gamma Johnson Lognormal Normal Poisson Triangular Uniform Weibull BETA CONT DISC ERLA EXPO GAMM JOHN LOGM NORM POIS TRIA UNIF WEIB BE CP DP ER EX GA JO RL RN PO TR UN WE Beta, Alpha CumP1, Val1,…CumPn, Valn CumP1, Val1,…CumPn, Valn ExpoMean, k Mean Beta, Alpha Gamma, Delta, Lambda, Xi LogMean, LogStd Mean, StdDev Mean Min, Mode, Max Min, Max Beta, Alpha 参数

2.4 现代生产物流系统的监控与管理
1、贝塔分布 Beta(?, ?)
概率密度函数

参数 范围 均值 方差 应用

形状参数Beta ( ) 和 Alpha ( )为正实数 [0, 1](通过下面给出的方法,也可以转化到一般区域[a, b]) ? ? ?? ?? ?? ? ? ?2 ?? ? ? ? 1? 经常用于一些缺乏数据情况下的粗略模型

2.4 现代生产物流系统的监控与管理
2、连续型经验分布Continuous(c1, x1,…,cn, xn)
概率密度函数
参数 Arena中的连续型经验分 布函数能根据用户定义的 经验分布返回一个样本值 [x1, xn ] 连续型经验分布是为了把经 验数据作为连续型随机变量 引入模型。这个分布可以作 为拟合理论分布的重要补充, 特别是数据存在多峰或者有 显著的离群值的情况。

范围

累计分布函数
应用

2.4 现代生产物流系统的监控与管理
3、离散型经验分布Discrete(c1, x1,…,cn, xn)
概率密度函数

累计分布函数

Arena中的DISCRETE函 参数 数可以从一个用户自定义 的离散型概率分布中返回 一个样本值。 范围

{ x1, x2, ?, xn } 离散型经验分布是为了把经 验数据作为离散型随机变量 引入模型。该分布经常被用 于离散型任务,如定义零件 类型、访问顺序或到达实体 的批量等。

应用

2.4 现代生产物流系统的监控与管理
4、爱尔朗分布Erlang (?, k )
概率密度函数

参数 范围 均值 方差 应用

规定指数分布的均值为正实数,k为正整数。
[0, +?)


爱尔朗分布用于一个活动在一系列相继的阶段中发生的情况,而 且在每一阶段都服从指数分布。

2.4 现代生产物流系统的监控与管理
5、指数分布Exponential ( ? )
概率密度函数

参数 范围 均值 方差 应用

? 均值( )为正整数
[0, +?)

?
?2
该分布常用于模拟随机到达间隔时间和故障间隔时间,但 一般不太适合模拟加工时间

2.4 现代生产物流系统的监控与管理
6、伽马分布Gamma ( ?, ? )
概率密度函数

参数 范围 均值 方差 应用

形状参数 和尺度参数 为正实数 [0, +?)

??

?? 2
形状参数为整数时,伽马分布和爱尔朗分布相同。伽马分布一般 用于表示完成任务所花费的时间(如加工时间或机器修理时间)。

2.4 现代生产物流系统的监控与管理
7、詹森分布Johnson
概率密度函数

参数

Gamma形状参数(? ),Delta形状参数 ( >0),Lambda尺度 参数 ( >0),Xi位置参数(?)。 (- ? ,+ ? ) 无界族 [ ? , ? ? ] 有界族 ? Johnson分布的灵活性使其可以适合许多数据集

范围

应用

2.4 现代生产物流系统的监控与管理
8、对数正态分布Lognormal(?, ?)
概率密度函数

参数 范围
均值

对数正态分布随机变量的参数分别为均值LogMean(?l >0) 和标准差LogStd(?l >0)。LogMean和LogStd必须为正实 数。 [0, +?)

方差
应用 对数正态分布主要用于表示某个随机变量为许多随机变量乘积的 情形,也经常用于表示完成任务的时间分布向左偏的情况。

2.4 现代生产物流系统的监控与管理
9、正态分布Normal ( ?, ? )
概率密度函数

参数 范围 均值 方差 应用

均值(?)为实数,标准差(?)为正实数 [- ?, +?)

?
?
正态分布主要用于中心极限定理适用的情况,即某个随机 变量为其它许多随机变量之和。

2.4 现代生产物流系统的监控与管理
10、泊松分布Poisson (?)
概率密度函数

参数 范围 均值 方差 应用

均值(? )为正实数 { 0, 1, ? }

? ?
泊松分布是离散型概率分布,主要用于模拟在一个固定时间 段内发生的随机事件数。此外,该分布还用于模拟随机批量 的大小。

/18

2.4 现代生产物流系统的监控与管理
11、三角分布Triangular ( a, m, b )
概率密度函数

参数 范围 均值 方差 应用

? 最小值(a),众数(m),最大值(b)均为实数,且满足a < m < b。
[a, b]

?a

(a + m + b) / 3
2

? m 2 ? b 2 ? ma ? ab ? mb

?

三角分布一般用于分布的准确形式不知道,但可以估计出该分布的最 小值、众数、和最大值的情况。三角分布的优点在于,对于上述的情 况来说,它比其它的分布(比如贝塔分布)更容易使用和解释。

2.4 现代生产物流系统的监控与管理
12、均匀分布Uniform ( a, b )
概率密度函数

参数 范围 均值 方差 应用

最小值(a)和最大值(b)均为实数,且满足a < b [a, b]

(a + b) / 2 (b - a)2 / 12
均匀分布用于在一个有限的区间上所有值出现的可能性都一样的情况。 如果只知道一个范围,而除此以外的任何其它有关分布的信息都不知 道,也可以考虑用均匀分布。均匀分布的方差比其它缺乏信息场合下 使用的分布(如三角分布)要大。

2.4 现代生产物流系统的监控与管理
13、威布尔分布Weibull ( ?, ? )
概率密度函数

参数 范围 均值 方差 应用

形状参数(? )和尺度参数( ?)均为正实数 [0, +?)
?1? ?? ? ,其中 是伽马函数(见伽马分布) ?? ? 2 ? 2 ? ? 2 ? 1 ? ? 1 ?? ? ? ? ?2?? ? ? ??? ?? ? ? ? ? ? ? ? ? ? ? ?? ? ? ?

? ?

威布尔分布被广泛用于可靠性模型,可用以表示设备的使用寿命。如 果一个系统包含了许多部分,各部分的故障情况相互独立,而且假如 任一部分出现故障都会导致整个系统故障,那么系统相邻两次故障之 间的时间可以近似用Weibull分布来表示。该分布还被用来表示非负的、 具有左偏分布形状的工作时间。

用一个α粒子放射源和一个高分辨率的计数器 做成的装置,在20 毫秒时间内平均记录了24.315个α 粒子。当计数为偶数时,便在磁带上记录二进制的 “1”。 这个装置每小时可以产生大约6000个31比特(bits) 的真随机数。


第三章 3.2.2(整数值)随机数的产生(有详细答案)

高中数学必修三同步练习题,有详细答案3.2.2 (整数值)随机数的产生 一、选择题 1.小明同学的 QQ 密码是由 0,1,2,3,4,5,6,7,8,9 这 10 个数字中的...

第三章 3.3.2均匀随机数的产生(有详细答案)

第三章 3.3.2均匀随机数的产生(有详细答案)_数学_高中教育_教育专区。高中数学必修三同步练习题,有详细答案3.3.2 一、选择题 均匀随机数的产生 1.质点在数...

高中数学人教A版必修三同步测试 第三章:3.3.2均匀随机数的产生(含答案)

高中数学人教A版必修三同步测试 第三章:3.3.2均匀随机数的产生(含答案)_数学_高中教育_教育专区。高中数学人教A版必修三同步测试 (含答案) ...

高中数学课时训练(人教版必修三)第三章 3.2.3 (整数值)随机数的产生(含答案)

高中数学课时训练(人教版必修三)第三章 3.2.3 (整数值)随机数的产生(含答案)_数学_高中教育_教育专区。高中数学人教A版必修三课时训练(含答案) ...

高中数学课时训练(人教版必修三)第三章 3.3.2 均匀随机数的产生(含答案)

高中数学课时训练(人教版必修三)第三章 3.3.2 均匀随机数的产生(含答案)_数学_高中教育_教育专区。高中数学人教A版必修三课时训练(含答案) ...

高二数学必修三第三章整数值随机数的产生同步训练及答案解析

高二数学必修三第三章整数值随机数的产生同步训练及答案解析_高二数学_数学_高中教育_教育专区。高二数学必修三第三章整数值随机数的产生同步训练及答案解 析 课时...

第三章作业及参考答案

第三章作业及参考答案 EX3.4 下面的程序代码将会输出什么? String m1, m2, ...rand.nextInt(500)+1;――产生 1 到 500 之间的随机数 EX3.11 编写程序...

第三章习题

习题第三章 13页 2财富值 第三章习题答案 2页 1财富值 第三章 习题解 7...从正态分布 N(100,100)中随机产生 1000 个随机数, a. 作出这 1000 个正...

高中数学人教A版必修三同步测试 第三章:3.2.2(整数值)随机数(random numbers)的产生(含答案)

高中数学人教A版必修三同步测试 第三章:3.2.2(整数值)随机数(random numbers)的产生(含答案)_数学_高中教育_教育专区。高中数学人教A版必修三同步测试(含答案...

[高中数学人教A版导学案] 必须3-第三章-3.2.2 (整数值)随机数的产生

[高中数学人教A版导学案] 必须3-第三章-3.2.2 (整数值)随机数的产生 暂无评价|0人阅读|0次下载|举报文档 第28 课时 (整数值)随机数的产生【课标要求】 ...