概述
随机数的 生及其性能 价
吴
1
敏
2
雷金娥
3
( 1. 重 大学光 工程学院,重
400030 1;
2. 中国科学技 大学 算机学院,合肥
230026 ;
3. 南昌工程学院 算机系,南昌
330099 )
摘要:系 仿真或加密算法中常需要 生 足一定分布函数的 随机数,高 程序 言
中的 函数采用 性同余法 生一个在[0,32767]服从均匀分布的 随机数,但每次程序运
行的 果都是相同的,利用当前系 和数学方法可以 生 足各种分布要求的 随机
数。以 C/C++ 例,采用概率 的方法 了 生的 随机数是否符合 定分布函数的要
求,并且其随机性、均匀性等 特性是否 足 用的需要。
关 字: 随机数C/C++ ;均匀分布;正 分布;指数分布
中 分 号:TP文献 :
1、引言
在 算机仿真和模 、密 学等 用中,常需要 生一些随机数,自然界中存在大量的
随机 象,但在 算机中, 只能 生 足一定要求的 随机数来模 真 世界中的随机 象。
生 随机数的方法有硬件方法和 件方法,硬件方法可以在 算机上附上一个硬 或者
采用移位寄存器来 生 随机数; 件方法一般都采用数学公式法。近年来在 算机中,比
[8]
随机数需要 足独立的条件及 定分布函数的要求,但高 程序 言中提供的 函数
生的 随机数都是 足一定条件的均匀分布随机数,且在同一次程序运行中,每次 生的
随机数是完全相同的,本文将介 利用一些数学 方法 生在任意区 内服从任意分布
的 随机数,并 行 以 其是否能 足要求。文献[14] 提出了一种比 好的尾数
和 法,但比 复 ,本文采用 的 率 法。
2、 Rand 函数和 性同余算法
C 言中提供的rand( )函数可以 生一个从0 到 32767 服从均匀分布的正整数,rand( )
函数即采用了 性同余算法。 算法如下:
取足 大的正整数 m(一般取 算机精度范 内能 表示的最大整数) 和任意的自然数a,X 0, b。
X i ( aX i 1 b) mod m 其中 i= 1、2、 3??, mod 表示取余。
( 1)
(1)式中 a 乘子, X 0 种子, b 常数, m 模。 性同余法是一种 算法,即
先提供一个种子 X0,逐次 即得到一个不超 模
m 的整数数列。可以看出由此 生的数
列并不是真正的随机数,但是提供一个随机的种子, 生的数列在
0~ m 循 ,如果 生大
量的整数密集分布在 [0,m] 上,就可以近似 服从
[0, m]上的均匀分布。把数列除以
m,
就得到服从 [0,1]上的均匀分布。
3、 随机数性能 价的基本原理
随机性和均匀性 采用 率 法, 算法原理如下:
收稿日期: 2009-4-1
基金项目: 南昌工程学院青年基金科技项目(2006KJ029)
作者简介: 吴军( 1977-),男,四川达州人,在读博士,主要从事嵌入式和操作系统方面的研究。
Email:
wj2135187@126.com ,手机:* 通讯作者: 吴军, wj2135187@126.com
假 x 服从 U[0 , 1]( U 表示均匀分布) ,把 [0, 1]等分成 n 个小区 。以 (i
1, i ) 表
n
n
示第 i
个小区 ,如果
ri
是 [0, 1]上均匀分布随机 量
x 的一个抽 , 它落在任一个小
区 的概率 1/n,故 N 个抽 落在任一小区 的理 数
mi
N
ni 第
, 数
n
i 个小区 到的 数, 构造 量
C
n (ni
mi )2
。
( 2)
i 1
ni
由皮 定理可知,
C 服从
n2
1分布( N
5 )。若取置信度 α ,
n2
1 分布
n
表得到
2
2
, 批随机数在 性能上
1-α 可信,否 拒 。
, (n 1) ,若 C
,(n 1)
一次 生的
N 个 随机数的独立性 可以使用相关系数 法,即若两个随机
量独立, 其相关系数 零,反之 不然。即相关系数 零是随机 量独立的必要条件,但
可以通 相关系数的大小来判定其 性相关性的 弱。
N 个随机 量
r 1, r 2,?, r N中相距
j 的两个随机 本的相关系数 :
1
N
j
( r ) 2 ] / s2
R j
[
ri r j i
(3)
N
j i
1
其中 j= 1, 2,3??, r
1
N
ri
, s
2 1 N
(ri r )
2
。若 ri 之
最后
以上就是聪慧裙子为你收集整理的c语言随机变量seed,C语言中伪随机数的产生及其性能检验.docx的全部内容,希望文章能够帮你解决c语言随机变量seed,C语言中伪随机数的产生及其性能检验.docx所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复