随机数生成器的测试与评估
1. 随机数源与测试的初步探讨
在随机数生成和测试的领域中,不同的随机数源有着各自的特点和问题。例如,如果从HotBits生成至少与RANDOM.ORG样本数量相当的样本,理论上应该能得到相似的结果。但这也提醒我们,使用强大的随机数测试套件来判定小文件的随机性是需要谨慎的。
以TV数据集为例,它存在明显的问题。部分测试失败可能是由于文件大小较小,仅有不到700万个32位样本,但这可能并非全部原因。该数据集是由调至空频道的CRT电视的数码照片生成的。虽然电视显示的底层噪声信号具有高度随机性,但将图像转换为字节流的过程显然引入了偏差。图像最初是1500×1500像素,为避免引入人为值,采用最近邻采样法将其重采样为500×500像素。即便在这个分辨率下,所选像素的相邻像素很可能与其非常相似。尽管尝试从图像的其他区域提取样本以引入空间成分,但这种方法仍不够完善,存在偏差,导致在统计测试中表现不佳。而且,该数据集在经典随机性测试中失败了一半。这是一个典型案例,实际上,在其他经过更精细调整的真随机数生成器中也发现了细微的偏差。
2. dieharder测试程序的使用
dieharder测试程序是统计学家和数学家用于严格测试伪随机数生成器极限的工具。虽然这里只是对其进行了基础层面的安装和使用,但它能帮助我们判断是否应该使用某个生成器,并提供关于生成器“好坏”的一些指标。
与真正的随机数据(如RANDOM.ORG的比特数据)相比,一些生成器表现出色。增强型xorshift生成器、KISS生成器、Mersenne Twister、CMWC生成器和新的Middle Weyl生成器都给出了优秀的结果。具体使用哪种生成器取决于实际应用
超级会员免费看
订阅专栏 解锁全文
62

被折叠的 条评论
为什么被折叠?



