第四章 随机数发生器和随机变量产生
- 格式:ppt
- 大小:1.29 MB
- 文档页数:4
第四章随机数产生原理随机数是在计算机科学领域非常重要的一个概念,它广泛应用于密码学、模拟和统计等领域。
在计算机中,随机数是指一系列看似无序的数字,其生成过程是不可预测的,即无法通过已有的信息来确定接下来生成的数值。
随机数是通过随机数生成器产生的,随机数生成器是一个能够生成随机数的算法或设备。
在计算机中,常见的随机数生成器包括伪随机数生成器和真随机数生成器。
伪随机数生成器(PRNG)是指通过确定性算法生成的数列,它并非真正的随机数,而是看似随机的数列。
PRNG的生成过程是可复制的,即通过相同的种子可以重现相同的随机数序列。
PRNG的基本原理是利用一个随机数种子作为输入,然后通过一系列算法对种子进行变换,生成一个数列作为输出。
PRNG的核心思想是通过在高维空间中的漫游来构造一个看似随机的数列。
PRNG的算法可以基于线性同余方法、拉格朗日插值、循环移位寄存器或混沌系统等。
线性同余法是一种简单而常用的随机数生成算法,它的基本原理是通过线性代数的方法,通过对当前的随机数X[i]进行线性变换,得到下一个随机数X[i+1]。
具体来说,线性同余法的生成过程可以描述为:X[i+1] = (a * X[i] + c) mod m其中X[i]表示当前的随机数,a和c是常数,m是模数。
此时,随机数序列X[i]的周期为m,当X[i]的值回归到初始值时,即表示一个周期的结束。
然而,由于PRNG是通过确定性算法生成的,因此在理论上是可以通过逆向计算来推断出随机数生成算法的种子和输出序列。
这就意味着PRNG的随机性是有一定局限性的,也就是说它无法提供真正的随机性。
为了解决PRNG的局限性,人们提出了真随机数生成器(TRNG)。
TRNG利用物理过程和环境的噪声等随机性源生成随机数。
TRNG的基本原理是通过使用物理过程和环境的不可预测性来生成随机数,这些过程和环境包括放射性衰变、电子噪声、热噪声等。
TRNG的生成过程是不可预测的,并且不会受到外界干扰的影响。
3、随机数与随机变量3.1随机数的生成与检验3.1.1 随机数与伪随机数 仿真中最基本的随机数:U(0 , 1)⎩⎨⎧≤≤=其它,,0101)(x x f +其它各种分布的随机数均可通过对U(0,1)随机数的变换得到。
++习惯上,称其它分布的随机数为随机变量。
随机数的产生方法手工机械及电子装置数学方法+由数学方法生成的随机数是按一定算法递推生成的,由于在已知初值的情况下,其每一个所生成的数均是可预知的,故被称为伪随机数。
今后在不引起混淆的情况下,也简称之为随机数。
++现代仿真中所用的随机数均为伪随机数。
3.1.2随机数发生器所谓随机数发生器即为用数学方法产生随机数的递推公式。
优良随机数发生器的品性总体均匀,样本随机,序列独立;足够长的周期;生成速度快,占用内存少,完全可重复。
1 早期随机数发生器平方取中随机数发生器n n n x u x x 10=⎢⎣⎡=x 0为2k 位非负整数。
缺点最终退化2 线性同余随机数发生器应用最广泛的随机数发生器之一,简称generator)x u ax x n n n /(==m 为模数,初值x 0均为非负整数。
称数列x n 重复值之间的最短长度为记为T 。
若T =m c ≠0的LCG 为乘同余发生器。
混合同余发生器的“满周期定理”若满足下列三个条件,则混合同余发生器可达到满周期:(1)c与m互素(可同时整除c与m的整数只有1);(2)对任意素数q,若q能整除m,则q也能整除a-1;(3)若4能整除m,则4也能整除a-1。
为延长随机数发生器的周期,通常取m=2b,b为所用计算机的字长减1。
优点随机数周期尽可能大;便于参数选取(能整除m的素数只有2);可利用“整数溢出”简化计算。
参数选取的基本原则m = 2ba= 4α+1c= 2β+1还有其他一些需考虑的因素,如怎样消除相关性,这一般需要选取较大的a(a<m),且a在二进制表示中,0,1无明显规律性。
一种在32x n= ( 314159269 u n= x n-1/ 231乘同余随机数发生器无法达到满周期,但可达到最大周期。
随机变量产生的原理12.3 随机变量产生的原理仿真对产生随机变量的方法的要求:准确性:即由这种方法产生的随机变量应准确地具有所要求的分布;快速性:离散事件仿真一次运行往往需要产生几万甚至几十万个随机变量。
介绍四类最常用的产生随机变量的方法:反变换法,组合法,卷积法及舍选法。
1、反变换法----以概率积分变换定理为基础(1)连续随机变量的反变换法:uFx()设随机变量x的分布函数为,先产生在[0,1区]间上均匀分布的独立随机变量,由反分,1Fu()布函数得到的值即为所需要的随机变量x:,1xFu,()原理说明:Fx(), 随机变量概率分布函数的取值范围为[0,1];Fx(), 以在[0,1]上均匀分布的独立随机变量作为的取值规律; 图12.1 连续分布函数的反变换法原理1,Fx,, 落在内的样本个数的概率就是;,,Fx/,x, 从而随机变量x在区间内出现的概率密度函数的平均值为;dFdx/,x, 当趋于0时,其概率密度函数就等于,即符合原来给定的密度分布函数,满足正确性要求。
例12.1 设随机变量x是[a,b]上均匀分布的随机变量,即:0xa,,1,,xa,,axb,,Fx(),axb,,fx(),,,ba,xfx()概率密度函数: 由可得到的分布函数: ba,,,0其它,1xb,,u, 用随机数发生器产生U(0,1)随机变量xa,uFx,,()()axb,,, 令 ba,xabau,,,(), 可得:(2)离散随机变量的反变换法:px()px()xxx,,,?xpx()设离散随机变量分别以概率,,…,取值,其中n212n12npx(),101,,px()i,,且。
ii,1px()px()px(), 将[0,1]区间按,,…,的值分成n个子区间; 12n, 产生在[0,1]区间上均匀分布的独立的随机数u; , 根据u的值落在何区间,相应区间对应的随机变量就是x所需要的随机变量。
i实现办法:x, 先要将按从小到大的顺序进行排序,即i图12.2 离散分布的反变换法xxx,,,? 12n, 得到分布函数子区间的分界点n,1n,,((),()()],,(),()pxpxpxpxpx,?,,0,()px112ii,,,, , 1,,i,1i,1,,xx,u~U(0,1)upx,(), 由随机数发生器产生的,若,则令,若11pxupxpx()()(),,,xx,,,?,则令依次下去。