中文

将 Mersenne Twister 转换为双精度浮点数

数值分析 2020-03-13 v4 数值分析 统计计算

摘要

32 位 Mersenne Twister 生成器 MT19937 是一种广泛使用的随机数生成器。为了生成位长大于 32 位的数,特别是在将其转换为 IEEE 754 格式中 [0,1)[0,1) 区间内的 53 位双精度浮点数时,典型的实现是将两个连续的 32 位整数拼接并除以 22 的幂。在这种情况下,32 位 MT19937 是在主要使用 32 位输出值的假设下,针对其等分布性质(即具有 vv 位精度的等分布维数)进行优化的,因此与直接使用 32 位输出相比,这种拼接有时会降低等分布维数。在本文中,我们通过研究高维输出位之间的隐藏 F2\mathbb{F}_2 线性关系来分析此类现象。因此,我们报告指出,具有特定滞后集的 MT19937 未能通过多项统计检验,如重叠碰撞检验、矩阵秩检验和汉明独立性检验。

关键词

引用

@article{arxiv.1708.06018,
  title  = {Conversion of Mersenne Twister to double-precision floating-point numbers},
  author = {Shin Harase},
  journal= {arXiv preprint arXiv:1708.06018},
  year   = {2020}
}