72随机数的产生 一.随机数的概念 对随机系统进行模拟,需要产生服从某种分 布的一系列随机数 元设随机变量X(总体)服从某种随机分布, 对其进行了m次独立观察得到一组简单随机样 本X1,X2,…,Xn,满足 1)X1,X2,…,X相互独立 2)每一个X1,2,…,X都与总体X同分布 利用某种方法得到一串数列r1,r2,…,F
7.2 随机数的产生 对随机系统进行模拟,需要产生服从某种分 布的一系列随机数. ? 定义设随机变量X(总体)服从某种随机分布, 对其进行了n次独立观察,得到一组简单随机样 本 X1,X2,…,Xn ,满足 1) X1,X2,…,Xn相互独立; 2)每一个X1,X2,…,Xn都与总体X 同分布. 利用某种方法得到一串数列r1 , r2 , … , rn 一.随机数的概念
在一定的统计意义下可作为随机样本 X, X 2 ●●● g X 的一组样本值,称r1,n2,…,rm组具有与X相 同分布的随机数 例72.1设随机变量X~B(1,0.5),模拟该随机变 量X的一组样本值一种简单的方法是 抛一枚均匀硬币,观察出现正反面的情况, 出现正面记为数值“1”否则记为“0得: 0,0,1,0,1,1,1,0,1,0,0,0, 0,1,1,0,1,0. 可看成总体X的一系列样本值或称产生了 系列具有两点分布的随机数
在一定的统计意义下可作为随机样本 X1,X2,…,Xn 的一组样本值,称r1 , r2 , … , rn一组具有与X相 同分布的随机数. 例7.2.1 设随机变量X~B(1, 0.5), 模拟该随机变 量X的一组样本值. 一种简单的方法是 抛一枚均匀硬币,观察出现正反面的情况, 出现正面记为数值“1”,否则记为“0”得: 0,0,1,0,1,1,1,0,1,0,0,0, 0,1,1,0,1,0, … 可看成总体X 的一系列样本值,或称产生了 一系列具有两点分布的随机数
数学软件有产生常用分布随机数的功能 需要数据 对特殊分布 量很大时 不太有效 需要寻求一种简便、经济、可靠,并能在计 算机上实现的产生随机数的方法
需要寻求一种简便、经济、可靠, 并能在计 算机上实现的产生随机数的方法. 数学软件有产生常用分布随机数的功能 对特殊分布 需要数据 量很大时 不太有效
二均匀分布随机数的产生」 最常用、最基础的随理解为:随机 机数是在(0,1)区间(变量X~U(0,) 内均匀分布的随机数 的一组样本值 (简记为RND)。○ 的模拟值 般采用某种数值计算方法产生随机数序列, 在计算机上运算来得到 通常是利用递推公式 hn=∫(5n-15n-2…,4n-k) 给定k个初始值1,2…,,利用递推公式递推出 系列随机数引1,烈2…,En
二.均匀分布随机数的产生 最常用、最基础的随 机数是在(0,1)区间 内均匀分布的随机数 (简记为RND) 理解为:随机 变量X~U(0,1) 的一组样本值 的模拟值 一般采用某种数值计算方法产生随机数序列, 在计算机上运算来得到. 通常是利用递推公式: ( , , , ) n n 1 n 2 n k f = − − − 给定k个初始值ξ1 ,ξ2 ,…,ξk , 利用递推公式递推出一 系列随机数ξ1 ,ξ2 ,…,ξn ,…
常乘同余法 具有较好的 用 统计性质 方混合同余法 乘同余法递推公式为 用M除入,后 xm+1=21(md)得到的余数记 xmM n n 为 n+1 其中是乘因子,M为模数( modulus)第一式是以 M为模数的同余式 给定初值x0(称为种子),递推计算出
乘同余法 混合同余法 常 用 方 法 具有较好的 统计性质 1.乘同余法 递推公式为 = + r x M x x M n n n n (mod ) 1 用M 除λxn后 得到的余数记 为xn+1 其中λ是乘因子, M为模数(modulus),第一式是以 M为模数的同余式. 给定初值x0 (称为种子),递推计算出
即在(0,1)上均匀分布的随机数序列 例72.1取x0=1,λ=7,M=103,有 Ax0=7×1=7,x1=7,r1=7/0000.007 Ax1=7×7=49,x2=49,F2=49/1000=0.049 Ax2=7×49=343,x3=343,r3343/10000.343 x32=7×343=2401,x4=401,r=401/1000=0.401 x=7×401=2807,x5=807,r=807/1000=0.807 其余类推
r1,r2,…, 即在(0, 1)上均匀分布的随机数序列. 例7.2.1 取x0=1,λ=7,M=103 ,有 λx0=7×1=7 , x1=7 , r1=7/1000=0.007 λx1=7×7=49 , x2=49 , r2=49/1000=0.049 λx2=7×49=343 , 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 其余类推
2.混合同余法递推公式为 xn+1=Axn+C(mdM)用模M去除 M 入xn+C的余数 其中,C是非负整数 例7.2.2:选入=97,C=3,M=1000,得递推公式 n+1≡97Xn+3mod1000 rn=xn/1000 取定种子x。=71,得 97x+3=6890,x1=890,r=0.890 97x1+3=86333,x2=333r2=0.333
2.混合同余法 递推公式为 = + + r x M x x C M n n n n (mod ) 1 用模 M 去除 λxn+C的余数 其中,C是非负整数. 例7.2.2 :选λ=97,C=3,M=1000,得递推公式 = + + 1000 97 3(mod 1000) 1 n n n n r x x x 取定种子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,x491,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. 有下述问题: 1数列{r}是有周期的,周期I≤M(模数 因0x≤M,数列{xn最多有M个相异值, 从而{rn}也同样如此
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… 有下述问题: 1.数列{rn }是有周期的,周期L≤M(模数); 因0≤xn ≤M,数列{xn }最多有 M个相异值, 从而{rn }也同样如此
2数列{rn}本质上是实数列,给定初始值由递推 公式计算出的一串确定的数列 从计算机中直接调用 某种分布的随机数同样存○ 在类似问题 不能简单 等同于真 解决方法与思路 正意义的 随机数。 1.选择模拟参数 2对数列进行统计检验
2. 数列{rn }本质上是实数列, 给定初始值由递推 公式计算出的一串确定的数列. 不能简单 等同于真 正意义的 随机数.。 解决方法与思路: 1. 选择模拟参数 2. 对数列进行统计检验 从计算机中直接调用 某种分布的随机数同样存 在类似问题
1.选择模拟参数 1)周期的长度取决于参数x0,入,M的选择; 2)通过适当选取参数可以改善随机数的统计 性质 几组供参考的参数值: x。=1,^=7,M=1010(L=5×107) x=1,=513,M=236(L=234≈2×1010) x=1,=517,M=212(L=240%≈1012) 在计算机上编程产生随机数还应注意 浮点运算对周期的影响
x。=1,λ=513 ,M=236 (L=234≈2×1010) 1) 周期的长度取决于参数x0 , 入, M的选择; 2) 通过适当选取参数可以改善随机数的统计 性质. 几组供参考的参数值: x。=1,λ=7,M=1010 (L=5×107) 1. 选择模拟参数 在计算机上编程产生随机数还应注意 浮点运算对周期的影响 x。=1,λ=517 ,M=212 (L=240≈1012)