我是靠谱客的博主 聪慧裙子,最近开发中收集的这篇文章主要介绍c语言随机变量seed,C语言中伪随机数的产生及其性能检验.docx,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

随机数的 生及其性能 价

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部