第3章 随机数的产生与模拟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章随机数的产生与模拟目录
⏹随机数的产生与模拟
⏹§3.1均匀随机数的产生
⏹ 3.1.1线性同余法(LCG)的递推公式
⏹ 3.1.2反馈位移寄存器法(FSR)
⏹ 3.1.3组合发生器
⏹§3.2非均匀随机数的产生
⏹§3.3 Monte Carlo方法在解确定性问题中的应用
⏹ 3.3.1计算定积分
⏹ 3.3.1.1随机投点法
⏹ 3.3.1.2平均值估计法
⏹ 3.3.1.3重要抽样法
⏹ 3.3.1.4分层抽样法
⏹ 3.3.2 计算多重积分
⏹ 3.3.2.1 随机投点法
⏹ 3.3.2.2 平均值估计法
⏹ 3.3.3应用实例
⏹§3.4 随机模拟方法在随机服务系统中的应用
⏹§3.5 随机模拟方法在理论研究中的应用
随机数的产生与模拟
用随机模拟方法解决实际问题时,首先要解决的是随机数的产生方法,或称随机变量的抽样方法。
随机数的产生与模拟
伪随机数:
在计算机上用数学方法产生均匀随机数是指按照一定的计算方法而产生的数列,它们具有类似于均匀随机变量的独立抽样序列的性质,这些数既然是依照确定算法产生的,便不可能是真正的随机数,因此常把用数学方法产生的随机数称为伪随机数。
随机数的产生与模拟
均匀分布随机数:
定理:设)(x F是连续且严格单调上升的分布函数,它的反函数存在,且记为)(1x
F-,
1、若随机变量ξ的分布函数为)(x F,则)1,0(~)(U
Fξ;
2、若随机变量)1,0(~U
F-的分布函数为)(x F
R,则)(1R
随机数的产生与模拟
均匀分布随机数:
该定理说明了任意分布的随机数均可由均匀分布的随机数变换得到。常简称的随机数为均匀分布随机数。
)1,0(U )1,0(U
随机数的产生与模拟
1 均匀随机数的产生
均匀随机数的产生:
主要有线性同余法(LCG),组合同余法,反馈位移寄存器方法等
均匀随机数的产生:
⎪⎩⎪⎨⎧=
+=-0
1)
)(mod (值x M
x r M c ax x n
n n n 初,...
2,1=n 随机数的产生与模拟
1 均匀随机数的产生
线性同余法(LCG )的递推公式为:
均匀随机数的产生:
随机数的产生与模拟
1 均匀随机数的产生
0≠c 0=c 当,上式称为混合同余发生器,当时,称为乘同余发生器,此时当模为素数时,称它为素数模乘同余发生器。
两个常用的混合式发生器:
⎪⎩
⎪⎨⎧<=+=-350353511522)2)(mod 15(x x r x x n n n n ⎪⎪⎨⎧=+=-31313112)2)(mod 453806245314159269(x r x x n n n n ,...2,1=n 随机数的产生与模拟1 均匀随机数的产生
常用的素数模乘同余发生器:
⎪⎪⎩⎪⎪⎨⎧-<-=-=-31
2)312()312(mod 312535
035351x x
r x x n n n n ,...
2,1=n 随机数的产生与模拟1 均匀随机数的产生
常用的素数模乘同余发生器:
,...
2,1=n ⎪⎪⎩⎪⎪⎨⎧-<-=-=-1
2)12()
12(mod 31
031311x x
r x a x n n n i n )
4,3,2,1(=i 168071=a 397204094
2=a 7642611233=a 630360016
4=a 随机数的产生与模拟
1 均匀随机数的产生
反馈位移寄存器法(FSR ):
对寄存器中的二进制数码作递推运算,其中是给定的正整数,为给定的常数。
取数列中连续的位构成一个位二进制整数,一直下去,一般地有
令则即为FSR 方法产生的均匀随机数列。
)
2)(mod (1111-+---+++=k p k p p k p k c c c αααα k αp )1,...,2,1(10,1-===p i or c c i p {
}n αL 22)1(1)1(),,,(nL L n L n n x ααα +-+-=,...2,1=n L n n x r 2=,...2,1=n {}n r L 随机数的产生与模拟
1 均匀随机数的产生
随机数的产生与模拟
1 均匀随机数的产生
组合发生器:
先用一个随机数发生器产生的随机数列为基础,再用另一个发生器对随机数列进行重新排列得到的新数列作为实际使用的随机数。这种把多个独立的发生器以某种方式组合在一起作为实际使用的随机数,希望能够比任何一个单独的随机数发生器得到周期长、统计性质更优的随机数,即组合发生器。
随机数的产生与模拟
1 均匀随机数的产生
组合发生器:
Maclaren和Marsaglia在1965年提出的著名的组合发生器是组合同余发生器,该算法的具体步骤如下:
组合发生器:
1用第一个LCG 产生个随机数,一般取。这个随机数被顺序地存放在矢量中。置;128
=k k ),,,(21k t t t T =1=n k 2 用第二个LCG 产生一个随机整数,要求;j k j ≤≤13 令,然后再用第一个LCG 产生一个随机数,
令;置;
j n t x =y y t j =1+=n n 4 重复2~3,得随机数列,即为组合同余发生器产生的数列。若第一个LCG 的模为,令,则为均匀随机数{}n x M M x r n n ={}n r 随机数的产生与模拟
1 均匀随机数的产生