梅森捻捻机在C++11中的最佳常数种子
Optimal constant seed for Mersenne Twister in C++ 11
我的用例是:我需要随机数,但仅用于图形(不适用于密码学(。我需要能够为 2 次渲染/运行获得相同的图像(结果(。例如,使用 time()
作为种子不会为下一次运行创建相同的结果。所以我需要一个恒定的种子。
Mersenne Twister 的文档说它不喜欢 0 作为种子,它也不喜欢某些位组合。对于这种情况,据说最多需要 800000 次调用,直到它再次提供良好的随机数。出于速度原因,我不想花费 800000 次调用的开销。理想情况下,我需要一些可以直接用作种子的良好且值得信赖的值。
只需选择您想要的任何数字。
您必须记住的是,密码学专家和算法分析师用于"高质量随机性"的标准几乎肯定远高于项目所需的标准,尤其是对于像Mersenne Twister这样经过良好测试的算法。这些标准中的大多数都是为错误测试场景或统计分析而设计的,其中"低于标准"的随机数序列可能会错过重要的测试用例,或者数字可能会扭曲结果的预期平均值/中位数/标准偏差。
这些是应用程序中关注的问题极不可能。
相关文章:
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 在c代码之间共享数据的最佳方式
- 使用std::source_location报告错误的最佳实践
- 派生类销毁的最佳实践是什么
- 将寄存器设计成可由C和C++访问的外设的最佳实践
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- 使用QQuickFramebufferObject时同步数据的最佳方式是什么
- 在C++中向零方向近似的最佳方法
- 使用不同的CRT将新的C++代码与旧的(二进制)组件隔离开来的最佳方法是什么
- 从嵌套在std::映射中的std::列表中删除元素的最佳方式
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 检测win32服务创建和删除的最佳方法
- 在reactor中存储eventHandlers的最佳方式是什么
- 在C++中样板"冷/never_inline"错误处理技术的最佳方法是什么?
- 在 c++ 中对类中的 c 字符串动态数组进行排序的最佳方法是什么?
- 梅森捻捻机在C++11中的最佳常数种子
- 最佳平台独立 pi 常数
- 定义编译时常数的最佳方式