Alan Zucconi· Alan Zucconi·发布时间:
文本Xorshift 伪随机数生成器详解
Xorshift Generators
内容导读
Alan Zucconi 拆解 Xorshift 伪随机数生成器:用移位与按位异或更新内部状态,让相同种子产生相同序列,用于游戏、模拟和程序化世界生成。文章解释 13、17、5 这类移位参数为何能让序列达到最大周期,并比较用乘法或加法改善输出统计性质的变体。最大周期不保证随机数质量;这类序列可以被预测,不适合密码学用途。
继续看关键要点
- 寻找最大周期不必生成整条序列:作者将状态更新表示为矩阵,检验目标周期,并排除除以各个质因子后得到的较短周期。
- 统计质量主要看数值是否均匀分布、彼此是否独立;文章介绍用 dieharder 和 TestU01 检测序列中的相关性,这些规律可能在程序化地形和纹理中形成可见瑕疵。
- 文章还介绍从生成序列重建特征多项式的检验方法。对只返回部分状态的 xorshift128,必须使用完整内部状态,不能直接把对外输出当作检验序列。
来源:Alan Zucconi · alanzucconi.com