Center for Theoretical Chemical Physics Laboratory of Molecular Catalysis Innovative Material 9 RNG-乘同余法 Z;=mod(azi+b,m) Z。(Starting)=乙.1---初值,种子 m:通常是计算机可以表示的最大正整数,如(231-1) a正的奇数,如75=16807 b步长,整数 李振华制 10/14/2013 第七章Monte Carlo方法 16
李 振 华 制 10/14/2013 第七章 Monte Carlo方法 16 造 RNG-乘同余法 Zi = mod(aZi-1+b,m) m: 通常是计算机可以表示的最大正整数,如(231 – 1) a 正的奇数,如 7 5 = 16807 b 步长,整数 Zo (Starting) = Zi-1 -------初值,种子
Center for Theoretical Chemical Physics Laboratory of Molecular Catalysis Innovative Material RNG-乘同余法 随机数 5 三 m 注意,取a和m时须小心,避免循环 李振华制 10/14/2013 第七章Monte Carlo方法 17
李 振 华 制 10/14/2013 第七章 Monte Carlo方法 17 造 RNG-乘同余法 随机数ξi m Zi i 注意,取a和m时须小心,避免循环
Center for Theoretical Chemical Physics Laboratory of Molecular Catalysis&lnovative Material 乘同余法的改进:混合伪随机数序列 乘同余法的缺点:伪随机数之间的相关性比轻强 改进一混合伪随机数 首先产生一组整数随机数列,然后从其中取出 一个整数,根据这个整数再产生新的随机数列 结果相当于将一个伪随机数列按另一个伪随机 数列的大小重排,因而减弱了所用的随机数序 列的相关性。 ■ 缺点:憎加计算机时 李 华 10/14/2013 第七章Monte Carlo方法 18 造
李 振 华 制 10/14/2013 第七章 Monte Carlo方法 18 造 乘同余法的改进:混合伪随机数序列 乘同余法的缺点:伪随机数之间的相关性比较强 改进—混合伪随机数 首先产生一组整数随机数列,然后从其中取出 一个整数,根据这个整数再产生新的随机数列 结果相当于将一个伪随机数列按另一个伪随机 数列的大小重排,因而减弱了所用的随机数序 列的相关性。 缺点:增加计算机时
Center for Theoretical Chemical Physics Laboratory of molecular Catalysis Innovative material 2.把随机数变为变量 随机数与随机变量要一一对应 递变换的方法 ■产生一个随机数 由逆函数X=F(百求得变量X 1 0.7 李振华制 10/14/2013 0 10 20 30 19
李 振 华 制 10/14/2013 第七章 Monte Carlo方法 19 造 2.把随机数变为变量 随机数与随机变量要一一对应 逆变换的方法 产生一个随机数ξ 由逆函数X=F-1 (ξ)求得变量X 0 1 10 20 30 0.7