3 扑克检测 检测待检序列中m 位非重叠子序列的每一种模式的个数是否接近
4 重叠子序列检测 检测待检序列中m 位可重叠子序列的每一种模式的个数是否接近
5 游程总数检测 于检测待检序列中游程的总数是否服从随机性要求
6 游程分布检测 检测待检序列中相同长度游程的数目是否接近一致
7 块内最大1游程检测 检测待检序列各等长子序列中最大1游程的分布是否服从随机性
8 二元推导检测 检测第k次二元推导序列中0和1的数量是否接近一致
9 自相关检测 检测待检序列与将其逻辑左移d 位后所得新序列的关联程度
10 矩阵秩检测 检测待检序列中给定长度的子序列之间的线性独立性
11 累加和检测 检测待检序列的最大偏移是否过大或过小
12 近似熵检测 用熵的计算取代对概率的统计,检测子序列出现的次数是否均等
13 线性复杂度检测 检测待检序列的线性复杂度的分布是否随机
14 Maurer通用统计检测 检测待检序列能否被压缩(无损压缩)
15 离散傅里叶检测 检测待检序列傅立叶变换后得到不正常的峰值个数是否超过了允许
毕业设计的程序部分选取了其中的单比特检测和自相关检测进行随机数测试,具体见第四章的程序实现。
2 随机数的生成方法源.自/751·论\文'网·www.751com.cn/
这一章,我们主要介绍下随机数的生成方法。
目前常用的随机数生成算法,是在计算机上用数学的方法生成随机序列,其特点是速度快、占用内存少。
用根据特定的数学方法生成的随机数序列,并不是真正意义上的随机数,一般称这种用数学方法生成的随机数序列为伪随机数序列。对于用数学方法生成的伪随机数序列,其每一个数的生成都依赖于前一个数,因此,所生成的随机数之间都有一定的相关性,不过,假如这种相关性弱到一定程度就可以认为随机数之间是相互独立的,这是基于上文中提到过的统计学中假设检验的思想。考察伪随机数序列的好坏,要对序列进行一系列的统计检验,只要伪随机数序列通过统计检验,符合一些统计要求,如均匀性、抽样的随机性等,也就是说只要具有真随机数序列的一些统计特征,就可以把伪随机数序列当做真随机数序列来使用。本文主要讨论的是[0,1]上的近似均匀随机数,因为对任意[a,b]上均匀分布的随机数,只要利用公式y=a+(b-a)x,其中x是[0,1]上服从均匀分布,所得到的y就是[a,b]上均匀的随机数。这里的[0,1]上的近似均匀随机数有两层含义:1)均匀分布是近似的;2)可以用离散数据