实验数据处理方法 第二部分: Monte carlo模拟 第七章 均匀分布随机数的产生 随机数的定义和特性 随机数的产生 ·线性乘同余方法
实验数据处理方法 第二部分:Monte Carlo模拟 第七章 均匀分布随机数的产生 • 随机数的定义和特性 • 随机数的产生 • 线性乘同余方法
第七章 均匀分布随机数的产生 7.随机数的定义和特性
第七章 均匀分布随机数的产生 7.1 随机数的定义和特性
71随机数的定义和特性 什么是随机数? 单个的数字不是随机数 >是指一个数列,其中的每一个体称为随机数,其值与数列中 的其它数无关; >在一个均匀分布的随机数中,每一个体出现的概率是均等的; 令例如:在0,1区间上均匀分布的随机数序列中 0.00001与0.5出现的机会均等
7.1 随机数的定义和特性 什么是随机数? ➢单个的数字不是随机数 ➢ 是指一个数列,其中的每一个体称为随机数,其值与数列中 的其它数无关; ➢在一个均匀分布的随机数中,每一个体出现的概率是均等的; ❖例如:在[0,1]区间上均匀分布的随机数序列中, 0.00001与0.5出现的机会均等
71随机数的定义和特性 随机数应具有的基本特性 考虑一个对高能粒子反应过程的模拟:需用随机数确定: 令出射粒子的属性:能量、方向、 心粒子与介质的相互作用 >对这一过程的模拟应满足以下要求(相空间产生过程): 令出射粒子的属性应是互不相关的,即每一粒子的属 性的确定独立于其它的粒子的属性的确定; ◇粒子的属性的分布应满足物理所要求的理论分布; >所模拟的物理过程要求随机数应具有下列特性 必随机数序列应是独立的、互不相关的 uncorrelated) 即序列中的任一子序列应与其它的子序列无关;
7.1 随机数的定义和特性 随机数应具有的基本特性 ➢ 考虑一个对高能粒子反应过程的模拟:需用随机数确定: ❖出射粒子的属性:能量、方向、… ❖粒子与介质的相互作用 ➢ 对这一过程的模拟应满足以下要求(相空间产生过程): ❖ 出射粒子的属性应是互不相关的,即每一粒子的属 性的确定独立于其它的粒子的属性的确定; ❖ 粒子的属性的分布应满足物理所要求的理论分布; ➢所模拟的物理过程要求随机数应具有下列特性: ❖随机数序列应是独立的、互不相关的(uncorrelated): 即序列中的任一子序列应与其它的子序列无关;
71随机数的定义和特性 令长的周期 long period 实际应用中,随机数都是用数学方法计算出来的,这些 算法具有周期性,即当序列达到一定长度后会重复; ☆均匀分布的随机数应满足均匀性( Uniformity): 随机数序列应是均匀的、无偏的,即:如果两个子区间 的“面积”相等,则落于这两个子区间内的随机数的个 数应相等。 例如:对0,1)区间均匀分布的随机数,如果产生 了足够多的随机数,而有一半的随机数落于 区间[0.0,1不满足均匀性 如果均匀性不满足,则会出现序列中的多组随机数相 关的情况≯均匀性与互不相关的特性是有联系的
7.1 随机数的定义和特性 ❖长的周期(long period): 实际应用中,随机数都是用数学方法计算出来的,这些 算法具有周期性,即当序列达到一定长度后会重复; ❖均匀分布的随机数应满足均匀性(Uniformity): 随机数序列应是均匀的、无偏的,即:如果两个子区间 的“面积”相等,则落于这两个子区间内的随机数的个 数应相等。 例如:对[0,1)区间均匀分布的随机数,如果产生 了足够多的随机数,而有一半的随机数落于 区间[0,0.1]➔不满足均匀性 如果均匀性不满足,则会出现序列中的多组随机数相 关的情况➔均匀性与互不相关的特性是有联系的
71随机数的定义和特性 令有效性( Efficiency): 模拟结果可靠 →模拟产生的样本容量大 →所需的随机数的数量大 少随机数的产生必须快速、有效,最好能 够进行并行计算
7.1 随机数的定义和特性 ❖有效性(Efficiency): 模拟结果可靠 ➔模拟产生的样本容量大 ➔所需的随机数的数量大 ➔随机数的产生必须快速、有效,最好能 够进行并行计算
第七章 均匀分布随机数的产生 72随机数的产生
第七章 均匀分布随机数的产生 7.2 随机数的产生
7.2随机数的产生 ·[0,1]区间上均匀分布的随机数是 Monte carlo模拟的基础 →服从任意分布的随机数序列可以用[01]区间均匀分布的随 机数序列作适当的变换或舍选后求得 ·[0,1均匀分布的随机数的产生方法: >利用一些具有内在的随机性的过程: √放射性衰变过程( radioactive decay √热噪声( thermal noise); √宇宙线的到达时间( Cosmic ray arriva 少缺点:模拟的结果不可再现,使得模拟程序的找错困难 >利用事先制订好的随机数表: 少缺点:表的容量有限,不适合需要大量随机数的应用
7.2 随机数的产生 • [0,1]区间上均匀分布的随机数是Monte Carlo模拟的基础: • [0,1]均匀分布的随机数的产生方法: ➢ 利用一些具有内在的随机性的过程: ✓放射性衰变过程(radioactive decay); ✓热噪声(thermal noise); ✓宇宙线的到达时间(cosmic ray arrival); ✓… ➔缺点:模拟的结果不可再现,使得模拟程序的找错困难 ➢利用事先制订好的随机数表: ➔缺点:表的容量有限,不适合需要大量随机数的应用 ➔服从任意分布的随机数序列可以用[0,1]区间均匀分布的随 机数序列作适当的变换或舍选后求得
7.2随机数的产生 >利用数学递推公式在计算机中产生随机数 n+k T n5n+15…5n+k-1 其中:T为某个函数,给定初值r,2…,r可按上式确 定 n+=,2 少随机数序列 算法:产生[0,M区间上的整数n,然后利用公式 rn=LM返回|0,1区间上的实数 优点: 占用计算机的内存少; 产生速度快; 可以重复前次的模拟结果,便于程序的找错
7.2 随机数的产生 ( , ,..., ) n+k = n n+1 n+k−1 r T r r r ➢ 利用数学递推公式在计算机中产生随机数 其中:T为某个函数,给定初值r1 ,r2 ,…,rk ,可按上式确 定rn+1 , n=1,2,… ➔随机数序列. 算法:产生[0,M]区间上的整数In,然后利用公式 rn=In /M返回[0,1]区间上的实数 优点: –占用计算机的内存少; –产生速度快; –可以重复前次的模拟结果,便于程序的找错;
72随机数的产生 缺点: 不满足随机数之间相互独立的要求:公式和初值确定 后,序列就唯一地确定了; 不满足均匀性:计算机能表示的0,1区间内的数是有限 的(由字长确定) →递推到一定次数后,出现周期性的重复现象 →伪随机数( Pseudo- Random number)
7.2 随机数的产生 缺点: • 不满足随机数之间相互独立的要求:公式和初值确定 后,序列就唯一地确定了; ➔伪随机数(Pseudo-Random Number) • 不满足均匀性:计算机能表示的[0,1]区间内的数是有限 的(由字长确定) →递推到一定次数后,出现周期性的重复现象