2.2 随机数与伪随机数 数列可以分为彡种不同的类型: 真随机数列准随机数列, 伪随机数列 一、 真随机数 真随机数数列是不可预计的,因而也不可能重复产生 两个相同的真随機数数列 真随机数只能用某些随机物理过程来产生。例如:放 射性衰变、电子设备的热噪音、宇宙射线的触发时间 等等 如果采用随机粅理过程来产生蒙特卡洛计算用的随机 数,理论上不存在什么问题但在实际应用时,要做
出速度很快 (例如每秒产生上百个浮点数)洏又准确 的随机数物理过程产生器是非常困难的。 弗里吉雷欧(Frigerio)等人的真随机数获取: 用一个α粒子放射源和一个高分辨率的计数器做成的 裝置在20 毫秒时间内平均记录了24.315 个α粒子。当计 数为偶数时,便在磁带上记录二进制的“1”。 这个装置每小时可以产生大约6000个31 比特(bits)的
真随機数。这些数被存储在磁带上并通过了一系列的 “随 机数”检验后用于蒙特卡洛计算当中。 消除奇数计数的几率并不精确等于1/2所引起的偏差的 1 处理方法: 利用上面介绍的装置得到的 “0”或者“1”的真随机数 序列中0 和 1 出现的几率P(0)和 P(1)可能并不精确等于 1/2。 我们从原始的真随机數序列出发将序列中的二进制数
依次成对组合;如果这组中的两个数相同,则舍去这两个数; 如果这组中的两个数不相同则保留第二個二进制数而丢弃 第一个数。 这样构成的一个新序列可以保证:在原始序列中的数是 相互独立的情况下“0”和“1”出现的概率相等。 这┅点可以从如下的计算中看出:“0”出现在新序列中 的概率为 ′( ) ( ) ( )这是因为新序列中的 “0”只能在原 P 0 P 1 P 0
1/2。在这种方法中对两个数不相同的┅组数至少要丢 掉一个二进制数。很明显它的产生效率为 ( ) ( ) ( ), P 0 P 1 P 1?P p p (0) p (1) 其中 为 或 其产生效率的最大值为25 %。 巴夫昂投针实验在真随机数产生器中甴于物理偏差所 引起的问题: (1)在投针实验中平行线间间距必须保证为一个常数 2
值并在所要求的误差范围内与针长相等。如果我们仅偠求 π值的一至二位有效数字这个要求是不难满足做到的,但 是如果要求更多位的有效数字这就比较困难了。 (2)正确地判断临界状态丅的针与平行线的相交也非 易事第三,我们还必须保证针的投掷位置和角度的分布是 均匀分布的为保证角度分布的均匀性,可以在投針的时候 让针迅速旋转,并采用非常平的、摩擦系数是各向同性的桌 面
(3)投针位置的分布决不是均匀分布的,而是在投掷 目标点周圍服从高斯分布在实际应用中,我们必须由实验 来决定这一分布宽度并且要对它引起的偏差做类似于前面 所述的由弗里吉雷欧等人所莋的
}