随机数生成方法、随机数生成法比较以及检验生成的随机序列的随机性的方法讲义
random随机数生成算法

random随机数生成算法随机数生成算法是一种非常重要的数学算法,在计算机、通信等领域都有广泛的应用。
如何生成随机数是一门非常深入的研究领域,其中随机数生成算法的研究和应用极其广泛。
本文将重点讨论一种常用的随机数生成算法——random随机数生成算法。
介绍随机数生成算法的原理和特点random随机数生成算法是一种非常简单而通用的随机数生成算法。
它的原理是基于一个比较大的产生随机数的周期,通过对该周期进行不断地取模操作,从而生成随机数。
random随机数生成算法主要有以下特点:1. 算法简单,易于实现。
该算法只需要一个种子,就可以生成大量的随机数。
2. 周期长,随机性好。
random随机数生成算法的周期比较长,能够保证生成的随机数分布均匀,随机性较高。
3. 需要注意的是,当使用随机数生成算法时,必须保证使用的种子是真正随机的,否则可能会影响生成的随机数的随机性。
优化random随机数生成算法的方法在使用random随机数生成算法时,有时需要对其进行优化,以提高其生成随机数的性能和效率。
以下是一些常见的优化方法:1. 使用更好的种子。
对于一个好的随机数生成算法来说,种子是至关重要的。
将种子设置为时间戳或者设备上磁盘I / O操作的次数等,都可以改善种子的质量。
2. 排除可能的周期性。
尽管周期比较长,但随机数生成算法仍然可能会产生某些周期性。
为此,可以使用几个不同的初始种子和计算周期数,以排除可能的周期性。
3. 建立多个发生器。
建立多个发生器可以增加随机性,并确保生成的随机数不会重复。
4. 使用更先进的算法。
虽然random随机数生成算法非常通用,但现在还有许多更先进的算法,如Mersenne Twister等,可以产生更优质的随机数。
总结随机数生成算法是一门非常重要的数学算法,在计算机、通信等领域都有广泛的应用。
random随机数生成算法是一种非常简单而通用的随机数生成算法,其优点是算法简单,易于实现,周期长,随机性好。
随机数的产生和检验

随机数的产生和检验随机数的产生与检验摘要本文通过对常用的随机数的产生方法简单的分析和理论上的验证,对比研究随机数的产生机理以及产生的随机数的好坏,并以此为依据提出自己的一些改进方法,以便对随机模拟更好的利用。
关键词随机数、随机数的产生随机数的检验一、引言随机数的产生方法的研究已经有较长的历史.至今仍有统计学者继续研究随机数的产生的方法和理论.随机数的产生,最早的方法称为手工方法.即采用抽签、掷骰子、抽牌、摇号或者从搅乱的罐子中取带数字的球等方法,许多彩票的发行仍采用这种方法。
随着计算机和模拟方法的应用,计算机来产生随机数成为新的课题。
利用计算机产生随机数有两种方法,在计算机内输入随机数表和把具有随机性质的物理过程变换为随机数,如粒子的辐射性,裂变等等。
后者得到的随机数均匀性和随机性都很好,而且取之不尽的,但是缺点也明显,对计算的结果不能重复检验,这种物理随机数的产生需要大量的人力物力去检查和维修,成本过高。
而数学方法产生的随机数得到了广泛的应用,虽然产生的随机数为伪随机的,正是因为它的占用内存少、速度快、可重复性的优点。
<统计计算>论文随机数的应用范围很广,对于随机数的均匀性,随机性,独立性的检验也是不可缺少的,只有通过了检验的随机数才有更大的利用空间。
本文通过对几种常见的随机数的产生方法进行比较分析,总结其优缺点,并提出一些改进方法。
二、产生随机数的几种常用方法2.11线性同余法(LCG)初值线性同余法通过满足公式(2.1)产生随机序列,主要参数为a, c, M。
只有选择合适的参数才能得到随机数的周期接近或达到M。
我们把a=137,M=256,c=187用公式(2.1)产生的伪随机数产生方法称为方法T1(见附录1)(周期为256)。
类似的,我们把a=1103515245/65536,M=32768(Linux下M=2147483647),c=12345/65536用公式(2.1)产生的伪随机数称为方法MO(见附录2),它就是我们通常所使用的标准库函数rand。
随机数的产生课件

均匀性
总结词
均匀性是指随机数生成器生成的数字在 预期范围内分布的均匀程度。
VS
详细描述
随机数序列的分布应该尽可能均匀,以确 保每个数字出现的概率接近预期的概率。 如果生成的随机数在某个范围内过于集中 ,或者某些数字出现的频率明显高于其他 数字,那么这种随机数生成器就不具备好 的均匀性。
独立性
总结词
独立性是指随机数生成器生成的数字之间相 互独立的程度。
详细描述
独立性意味着生成的每个随机数不应该依赖 于之前生成的数字。如果生成的随机数之间 存在依赖关系,那么这种随机数生成器就不 具备好的独立性。独立性是评估随机数生成 器性能的重要指标之一,因为在实际应用中 ,我们通常需要独立的随机数来进行各种计 算和模拟。
决策支持
在模拟和预测模型中,随 机数用于生成各种可能的 场景和结果,为决策提供 支持。
04
随机数生成器的性 能评估
周期性
总结词
周期性是指随机数生成器在经过一定数量的迭代后重复生成数字的特性。
详细描述
周期性是评估随机数生成器性能的重要指标之一。一个好的随机数生成器应该 有较长的周期,即能够持续生成新的随机数序列,而不是快速地重复之前的数 字。周期性越长,随机数生成器的可靠性越高。
素。
05
随机数生成器的选 择与使用
根据应用需求选择合适的随机数生成器
伪随机数生成器
适用于需要大量随机数但不需要高度随机性的场景,如模拟、游戏 、测试等。
真随机数生成器
适用于需要高度随机性和安全性的场景,如密码学、统计学、科学 计算等。
混合随机数生成器
结合伪随机数生成器和真随机数生成器的优点,适用于对随机性和安 全性都有一定要求但不需要达到最高标准的场景。
Java 中随机数的生成、分析及其应用.doc

Java 中随机数的生成、分析及其应用摘要:介绍了Java 生成随机数的机制,通过具体的例子说明了在java 中如何实现常用伪随机数的生成,并进行了应用分析。
关键词: Java 语言; 随机数; 算法在计算机很多应用中,关于随机数的使用非常广泛而重要。
例如:考试系统中的随机抽题,扑克游戏的自动发牌等领域都有广泛应用。
随机数的产生总体上有两种方法。
一种是采用很多种原始的物理方法用于生成一定范围内满足精度的均匀分布序列,其缺点在于:速度慢、效率低、需占用大量存储空间且不可重现等,一般认为这是真正的随机序列。
另一种是用计算机软件模拟的方法产生。
这种利用数学递推公式所产生的随机数只能满足一定的概率分布,所以就不可能是真正的随机数,而是伪随机数。
从实用的角度看,只要伪随机数具有真正随机数的一些统计性质,我们就可以把伪随机数作为真正随机数来使用。
Java 作为一种极具生命力的完全面向对象的网络编程开发语言,对伪随机数生成提供了多种方法,以适应各种不同的设计要求1、Java 生成随机数的机制Java[1]语言是采用数学方法--线性同余法(Liner CongruenceGenerator,即LCG 法)产生随机数的。
优点是随机性好、周期长,易于计算机实现和速度快、广泛采用。
缺点是该法产生的随机数因受到数学规律的影响而具有周期性和相关性。
在Java 中随机数概念从广义上将有3 种:1、通过currentTimeMillis()方法来获取个当前时间毫秒数long 型数字2、通过Math.random()方法返回个0 到1 的间double 值3、通过Random 类来产生个随机数,这个是专业Random 工具类,功能强大在实际应用中,使用后两种生成伪随机数的方式:java.util 包中的Random 类和ng 包中的Math.Random()方法。
Java 实用工具类库中的类java.util.Random 提供了产生各种类型随机数的方法。
随机数讲解

随机数讲解随机数是一种随机生成数字的算法,可以用于各种不同的应用中。
在现代科技中,随机数已经成为了许多应用不可或缺的一部分,例如密码学、数据加密、人工智能、金融等等。
本文将介绍随机数的生成原理、应用场景以及如何使用随机数。
一、随机数生成原理随机数生成算法最基本的原则是“生成一个序列唯一的数字”。
为了实现这个目标,随机数生成器会通过多种算法生成一个序列数字。
现在我们来介绍几种常见的随机数生成算法。
1.Pseudo Random Number Generator(PRNG)PRNG是一种基于伪随机数生成的随机数生成器。
它使用的是一个序列伪随机数种子,通过这个种子来计算出其他的伪随机数。
每次生成的随机数都应该是不同的,并且可以通过简单的加法、减法、乘法等操作与之前的随机数进行区分。
2.True Random Number Generator(TRNG)TRNG是一种真正的随机数生成器,它使用的是一个物理随机数种子。
这个种子可以随着时间的推移而改变,因此生成的随机数可以保证是不同的。
TRNG通过一系列的数学运算来生成真正的随机数,并且这些随机数可以精确地表示任何种子。
3.Secure Random Number Generator(SRNG)SRNG是一种安全的随机数生成器,主要用于金融和密码学等领域。
它使用的是一个安全的随机数种子,并且可以生成同时满足NIST GG 88-1和FIPS140-2标准的随机数。
为了保证随机性,SRNG在生成随机数之前会对种子进行一个非线性变换,以消除种子对随机性造成的微小影响。
二、随机数应用场景随机数在许多应用中都可以使用,下面列举了其中的一些应用场景。
1.密码学随机数在密码学中有着重要的应用,主要用于生成加密密钥、随机密码以及数字签名等。
这些数字都是基于随机数生成的,可以确保密码的复杂度和安全性。
2.数据加密随机数也可以用于数据加密中。
通过使用随机数作为密钥,数据加密算法可以确保密钥的复杂度和安全性,以保护数据的安全。
随机数讲解

随机数讲解随机数是指一个数列,其中的每个数是按照一定的规则排列的,看起来像是没有规律可循的。
在计算机科学中,随机数是非常重要的概念,它被应用于众多领域,例如密码学、模拟实验、数据分析等。
本文将从随机数的定义、分类、特性、产生方法、应用等方面进行讲解,以帮助读者更好地理解和应用随机数。
首先,让我们来了解什么是随机数。
随机数(Random Number)通常是指在一定范围内等可能地取得各个数值的数列。
按照这个定义,随机数具有以下特性:1.不可预测性:随机数的出现是随机的,没有规律可循,无法事先预测;2.均匀性:理想情况下,随机数应该是均匀分布的,即每个数值出现的概率相等;3.独立性:随机数之间应相互独立,前一个数的出现不应对后一个数的出现产生影响。
根据生成方法的不同,随机数可以分为伪随机数和真随机数。
伪随机数是通过算法和初始种子生成的,虽然看起来像是随机的,但实质上是重复周期性的。
真随机数则是通过物理过程产生的,例如大气噪声、放射性衰变等不可预测的事件。
本文将主要介绍伪随机数。
伪随机数的生成方法有很多种,常见的有线性同余法、离散均匀分布法和高斯分布法等。
其中,线性同余法是最常用的一种方法。
它的基本原理是通过迭代计算,在一定范围内产生一系列看起来随机的数值。
具体的计算公式为:X(n+1) = (a * X(n) + b) mod m其中,X(n)是当前随机数,X(n+1)是下一个随机数,a、b和m是常数。
通过调整这些参数的值,可以得到不同范围和分布的随机数。
随机数的应用非常广泛,下面是其中几个常见的应用领域:1.密码学:随机数在密码学中扮演着非常重要的角色,用于生成加密密钥、初始化向量等。
因为随机数具有不可预测性和均匀性,所以在密码学中可以保证密钥的安全性和难以破解性。
2.模拟实验:随机数在模拟实验中起到重要的作用,用于生成仿真数据、模拟实验的随机变量等。
通过引入随机数,可以使得模拟结果更加真实且具有统计学意义。
数学随机生成

数学随机生成数学随机生成是指利用数学方法生成随机数或随机序列的过程。
随机数在现代科学和技术中有着广泛的应用,例如在密码学、模拟实验、统计分析等领域。
本文将简要介绍数学随机生成的原理和应用,并讨论一些与之相关的概念和方法。
一、数学随机生成的原理在计算机中,通常使用伪随机数生成器(Pseudo Random Number Generator, PRNG)来生成随机数。
PRNG是一种确定性算法,它利用一个初始种子(seed)作为输入,经过一系列数学运算得到一个看似随机的输出序列。
这个输出序列满足统计上的随机性要求,但实际上是可重复的。
常见的PRNG算法有线性同余法、梅森旋转算法等。
线性同余法是一种简单且高效的算法,它的基本原理是通过递推关系生成一个整数序列。
梅森旋转算法是一种更复杂的算法,它利用位运算和数学函数来生成更高质量的随机数。
1. 模拟实验:在物理学、化学、生物学等领域,科学家常常使用数学随机生成来模拟实验。
通过生成随机数来代表实验中的不确定因素,可以更好地理解和预测实验结果。
2. 统计分析:在统计学中,随机数被广泛用于抽样调查、蒙特卡洛模拟、假设检验等分析方法中。
通过生成随机数来代表总体中的个体,可以进行大规模的统计推断,从而得到更准确的结论。
3. 加密与安全:在密码学中,随机数被用于生成密钥、生成随机种子等重要任务。
通过使用数学随机生成的随机数,可以增加密码的安全性,防止被破解和攻击。
4. 游戏和赌博:在游戏和赌博中,随机数被用于生成随机事件,例如洗牌、掷骰子、抽牌等。
这样可以增加游戏的趣味性和公平性,使玩家无法预测和控制游戏结果。
三、相关概念和方法1. 随机性测试:为了验证随机数生成器的质量,需要进行随机性测试。
常用的测试方法包括频数分析、序列重复性检验、独立性检验等。
通过这些测试可以评估随机数生成器的随机性和均匀性。
2. 随机漫步:随机漫步是一种数学模型,描述一个物体在随机环境中的移动轨迹。
(2)第3章 随机数的生成

(2)生成的随机数流要有足够长的周期,以满足仿真计算的
需要。 (3)生成随机数流的速度要快,占用计算机的内存要少,具 有完全可重复性。
3.2 常用的随机数发生器
生成随机数的方法经历了一段漫长的发展过程,下面介绍几种 有代表性的算法,主要有: 早期的随机数发生器:平方取中随机数发生器、乘积取中随 机 数发生器、常数乘子法、斐波那契法(Fibonacci)等; 线性同余随机数发生器(混合同余随机数发生器、乘同余随
机数发生器);
3.2.1 早期的随机数发生器
1. 平方取中随机数发生器
平方取中随机数发生器是由冯.纽曼于1940年提出的,其递推 公式为:
2 x n 1 x n k mod 102 k 10 2k u n x n / 10 初始值为x (正整数), k为x 的位数的一半 0 0
x n ( a x n 1 c) mod m u n x n / m 初始值为 x 0
其中, m为模数,a为乘子(常数),c为增量(常数);m, a,c,以及初始值x0均为非负整数。
3.2.2 线性同余随机数发生器
由上述递推公式得到的xn满足:0 xn m ,从而 xn 至多能 取m个不同的整数。
同理
x3 ( x1 x2 ) mod m 2 mod 8 2
则
u 2 x3 / m 2/8 0.25
3.2.1 早期的随机数发生器
依次取下,我们可以得到如下表:
n
1 1 0.125 2 2 0.25 3 3 0.375 4 5 0.625 5 0 0 6 5 0.625 7 5 0.625 8 2 0.25 9 7 0.875 10 1 0.125 11 0 0 12 1 0.125 13 1 0.125
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要摘要本文着重讨论了随机数生成方法、随机数生成法比较以及检验生成的随机序列的随机性的方法。
在随机序列生成方面,本文讨论了平方取中法、斐波那契法、滞后斐波那契法、移位法、线性同余法、非线性同余法、取小数法等,并比较了各方法的优劣性。
在统计检验方面,介绍了统计检验的方法,并用其检验几种随机数生成器生成的随机数的随机性。
最后介绍了两种新的随机数生成法,并统计检验了生成随机序列的随机性。
关键词:随机数,随机数生成法,统计检验IABSTRACTABSTRACTThis article focuses on methods of random number generator, random number generation method comparison and test the randomness of the generated random sequence method.In random sequence generation, the article discusses the square method, Fibonacci method, lagged Fibonacci method, the shift method, linear congruential method, linear congruence method, taking minority law, and Comparison of advantages and disadvantages of each method.In statistical test, the introduction of the statistical test method, and used to test some random number generator random random numbers generated.Finally, two new random number generation method, and statistical tests of randomness to generate a random sequence.Key Words: random number,random number generator,statistical testII目录第1章引言 (1)1.1 课题背景 (1)1.2 课题的价值及意义 (1)1.3 课题的难点、重点、核心问题及方向 (1)第2章随机数 (3)2.1 基本概念 (3)2.2 产生随机数的一般方法 (3)2.3 随机数生成的数学方法 (4)2.4 产生随机数的方法种类 (5)2.5 随机数的应用 (6)第3章常见随机数生成法与比较 (7)3.1 平方取中法 (7)3.1.1 迭代算法 (7)3.1.2 平方取中法的优缺点 (7)3.2 斐波那契(Fibonacci)法 (8)3.3 滞后斐波那契(Fibonacci)法 (9)3.4 移位法 (9)3.5 线性同余法 (10)3.5.1 模数的选取 (10)3.5.2 乘数的选取 (11)3.5.3 线性同余法的缺陷 (12)3.5.4 广义线性同余法 (12)3.6 非线性同余法 (13)3.6.1 逆同余法 (13)3.6.2 二次同余法 (14)3.6.3 三次同余法 (14)3.6.4 BBS法 (14)3.7 取小数法 (14)III3.8 常见随机数生成法的比较 (15)第4章随机数生成法的统计和检验 (16)4.1 检验类型 (16)4.2 统计检验的一般方法 (16)4.2.1 参数检验 (17)4.2.2 均匀性检验 (18)4.2.3 重要分布 (18)4.2.4 重要定理 (19)4.2.5 卡方检验 (20)4.2.6 柯氏检验 (20)4.2.7 序列检验 (21)4.3 独立性检验 (22)4.4 对线性同余法和取小数法进行随机性检验 (22)第5章新的随机数生成法 (24)5.1 开方取小数法 (24)5.2 一种混合型随机数发生器 (28)5.2.1 超素数长周期法 (28)5.2.2 组合发生器的研究 (30)5.2.3 随机数算法统计检验结果 (30)结束语 (32)参考文献 (33)致谢 (34)外文资料原文 (35)翻译文稿 (37)IV第1章引言第1章引言1.1课题背景随机数(随机序列)在不同的领域有许多不同类型的应用。
如雷达中的测距信号,遥控遥测中的测控信号,数字通信中的群同步和加扰解扰信号,无线通信码分多址系统中的扩频信号等都要用到随机序列。
在用计算机的教学与学习中,也经常需要用到随机数,比如,数据结构中关于一个数据的存储地址,在各种程序设计语言学习中遇到的随机量的生成,图像处理中遇到的随机色彩的选择等,枚不胜举,随机数在计算机的应用中就显得格外重要。
尤其在仿真等领域,更对随机数的产生提出了较高的要求,仅仅使用C语言类库中的随机函数已难以胜任相应的工作。
现实中,用投色子计数的方法产生真正的随机数,但电脑若也这样做,将会占用大量内存;虽然用噪声发生器或放射性物质也可产生真正的随机数,但操作不可重复。
而用数学方法产生随机数则最适合计算机,这就是“伪随机数”。
我们需要的随机数序列应具有非退化性,周期长,相关系数小等优点。
迄今为止,研究人员提出了许多不同的随机数生成方法,如平方取中法,同余法,斐波那契序列变形法,混沌序列法,利用系统时间和热噪声等等。
随着新的随机数性能测试方法的提出,已经证明其中的某些生成方法有其固有的缺陷。
同时对测试方法的研究也是一个不断发展的过程。
1.2课题的价值及意义由于现在对随机数的公认定义中,只给出了随机数的性质描述,而没有给出其生成方法,同时现有的所有检测方法也只是给出了一些必要而非充分的条件。
因此,随机数的生成及其性能检测方法,都有待于进一步的研究。
具体的应用环境不同,对随机数发生器的性能要求就不一样,而不同的随机数发生器产生的随机数的性质必然不一样。
为了能对一个随机数发生器的性能做一个比较全面和客观的评价,需要对不同的测试方法进行研究,讨论其测试目的和测试依据。
本课题主要是讨论随机数生成法,随机数生成法比较以及随机数的检测统计,从上面分析看出,本课题是很有意义和开拓性的工作。
1.3课题的难点、重点、核心问题及方向本课题的核心问题是随机数生成法、随机数生成法比较以及随机数的统计检验。
本课题的主要工作内容如下:(1)介绍几种常见的随机数生成法,并比较了各种随机数生成法的优劣;(2)1电子科技大学学士学位论文介绍统计检验的理论,并对几种随机数生成法进行了统计检验;(3)介绍新的随机数生成法,并对随机数进行统计检验。
2第2章 随机数3第2章 随机数在用计算机的教学与学习中,经常需要用到随机数,比如,数据结构中关于一个数据的存储地址,在各种程序设计语言学习中遇到的随机量的生成,图像处理中遇到的随机色彩的选择等,不胜枚举,随机数在计算机的应用中就显得格外重要。
尤其在仿真等领域对随机数的产生提出了更较高的要求,仅仅使用C 语言类库中的随机函数已难以胜任相应的工作。
现实中,用投色子计数的方法产生真正的随机数,但电脑若也这样做,将会占用大量内存;虽然用噪声发生器或放射性物质也可产生真正的随机数,但操作不可重复。
而用数学方法产生随机数则最适合计算机,这就是“伪随机数”。
我们需要的随机数序列应具有非退化性,周期长,相关系数小等优点。
2.1 基本概念在密码学中,对于一个随机序列的定义如下: (1) 看起来是随机的。
(2) 这个序列是不可预测的。
(3) 这个序列是不能重复产生的。
随机变量η的抽样序列12,,,n ηηη,称为随机数列。
如果随机变量η是均匀分布的,则η的抽样序列12,,,n ηηη,称为均匀随机数列;如果随机变量η 是正态分布的随机变量则称其抽样序列为正态随机数列。
随机序列具有以下性质:(1)等分布性:随机序列的分布特性是等概分布,或称为一致分布。
即是说序列中每个元素出现的概率都是相等的。
(2)独立性:随机序列的各个元素之间是相互独立的。
(3)不可预测性:该性质可由等分布性和相互独立性推出。
(4)白噪声谱特性:由独立性可知,随机序列的自相关函数为δ函数。
2.2 产生随机数的一般方法随机数产生方法的研究己经有很长的历史,至今仍有统计学者继续研究随机数产生的方法和理论。
产生随机数的一般方法:(1)手工方法:这是随机数产生的最早方法,即采用抽签、掷筛子、抽牌、摇号或从搅乱的罐子中取带数字的球等方法。
(2)随机数表方法:Monte-Carlo 方法的出现,需要大量的随机数,显然用手工的方法不能满足模拟计算的需要。
1927年Tipett 造出了具有4万个随机数字的表;1939电子科技大学学士学位论文4年Kendell 和Babington-Smith 用高速转盘建立了有+万个数字的随机数表;兰德(Rand)公司利用电子装置产生了含有一百万个数字的随机数表。
在电子计算机产生之前人们就是利用这些随机数表进行统计模拟计算。
(3)物理方法:随着计算机和模拟方法的广泛应用,用计算机产生随机数成为新的课题。
在计算机上安装一台物理随机数发生器,把具有随机性质的物理过程变换为随机数,使用物理随机数发生器在计算机上可以得到真正的随机数,随机性和均匀性都是很好的,而且是取之不尽用之不竭的。
但是此方法也有一些缺点,其中最重要的是我们不能产生同原来完全相同的随机数,对计算结果不能进行复算检查;加上物理随机数发生器的稳定性经常需要进行检查和维修,因而大大降低了这种方法的使用价值。
(4)数学方法:它是利用数学递推公式来产生随机数的;它是目前使用最广泛、发展很快的一类方法;它的特点是占用内存少、速度快又便于计算。
本文主要是介绍用数学方法来产生随机数的算法,即各种各样的随机数发生器。
2.3 随机数生成的数学方法用数学方法产生随机数,就是利用计算机能直接进行算术运算或逻辑运算的特点,选取一个适宜的数学递推公式1(,,)n m n n m r f r r ++-=,利用计算程序,按递推公式对数字进行加工处理,把10,1,,m b -或其部分数字的自然顺序打乱,产生具有均匀总体、简单子样统计性质的随机数,这里一般m 取较小的正整数,b 为机器的字长。
用数学方法产生的随机数的速度快,占用内存少,对模拟的问题可以进行复算检查,一般还有较好的统计性质.但是,由于计算机只能表示有限位不同的数,严格说,在计算机上不能产生真正连续分布的随机数,只能产生离散分布的随机数来代替连续分布的随机数.另外,计算机上用数学方法产生随机数,是根据确定的算法推算出来的,因此严格说来,用数学方法在计算机上产生的“随机数”不能说是真正的随机数,故一般称之为“伪随机数”。