rng名字的含义
RNG这是什么意思?
RNG是什么意思啊?
随机数生成器(Random Numeral Generator,即RNG)程序或硬件用于生成随机数。
基本信息
中文名\\t随机数生成器
外文名\\tRandom Numeral Generator
目录
生成器
真随机数生成器的生成方法有很多。
PuTTYgen在将鼠标让用户将鼠标移动到一定长度,然后将鼠标的运动轨迹转换成种子;Intel信息熵资源通过电阻和振荡器产生热噪声;Unix/Linux的dev/random和/dev/urandom随机数是由硬件噪声产生的。
在Intel 815E安装在个人电脑上的芯片组Intel Security Driver(ISD)之后,寄存器可以通过编程获得RNG随机数。
此外,还有提供真随机数的网站,例如:
Quantum Random Bit Generator Service (QRBGS)这是一个由克罗地亚计算机科学家开发的网站,为学术和研究机构提供免费的真实随机数字服务。其随机性取决于半导体光子发散量子物理过程中的内在随机性。
Randomness and Integrity Services Ltd. ,从1998年开始在Internet提供真随机数服务,它利用大气噪声生成真随机数。
1.
其随机性取决于半导体光子发散量子物理过程中的内部随机性,并通过光电效应检测光子。这些随机检测到的光子是相互独立的。它可以通过C/C 库、Web Service、Mathmatic/Matlab插件等多种访问方式。
2.
Randomness and Integrity Services Ltd. ,从1998年开始在Internet提供真随机数服务,它利用大气噪声生成真随机数。
伪随机数
有许多算法可以产生伪随机数,其中常用的方法有中法、线性同余法、马特赛特旋转算法等。
平方取中法
平方取中法由冯·诺依曼在1946年提出,其基本思想是:数列第一a(i)项(假设有m位)平方,获得2.m位数(若不足2m位,在最高位前补0)中间的m位数字,作为a(i)的下一项a(i 1),由此产生一个伪随机数列。
RNG[RNG(随机数发生器)
RNG[RNG(随机数发生器)
(其中m为数)
平方法采用中法计算速度较快,但在实际应用中会发现,该方法容易产生周期性明显的序列,在某些情况下,计算到某一步骤后,总是会产生相同的数字甚至零,或者产生的数字越来越小,直到总是产生零。因此,当使用平方法生成伪随机数列时,不能简单地使用该公式。在计算过程中,应考虑加更多的变化因素,例如根据前一个数字的奇偶性进行不同的操作。如果产生的数字位数减少,则应通过另一个操作将其恢复到m位。
线性同余法
线性同余法是一种广泛使用的伪随机数生成算法。它的基本思想是通过线性操作和模拟前一个数字来获得下一个数字。
RNG[RNG(随机数发生器)
其中B称为乘数,c称为增量,m称为模数,它们都是常数。
只要产生的随机数具有良好的均匀性和随机性,就可以选择乘数、增量和模数。
线性同余法的最大周期是m,但是一般情况下会小于m。要使周期最大化,应满足以下条件:
(1)c和m互质;
(2)m所有质量因子的积累b-1;
(3)如果m是4的倍数,b-1也是;
(4)b,c,a(0)(初值,一般即种子)都比m小;
(5)b,c是正整数。