gpt4 book ai didi

c++ - Mersenne Twister 与 Mersenne Twister 64 位

转载 作者:行者123 更新时间:2023-12-03 15:01:58 27 4
gpt4 key购买 nike

Boost 提供 mt19937 和 mt19937_64
http://www.boost.org/doc/libs/1_55_0/doc/html/boost_random/reference.html#boost_random.reference.generators

困惑 - 我是否必须使用 64 位版本(根据上述页面的性能要差得多)才能在 64 位平台上获得良好的随机数?还是没关系?

最佳答案

这是一篇很老的帖子,但这里有一种误解,我想澄清一下。 Mersenne Twister 内部产生整数状态。它产生一系列随机整数值(可以评估整数中每个单个位的随机性)。通常你把这个整数输出转换成浮点数——隐藏这个事实。
如果 boost 提供 _64 位版本,这仅意味着内部状态是 64 位的整数,而不是 32 位的标准整数。这是一个重要的区别,因为在 64 位版本中必须保证两倍位数的随机性。这实际上很昂贵,而且速度要慢得多。如果您将从中受益,这在很大程度上取决于您的问题。这是可能的——由于随机数序列的质量差导致的问题通常被低估了很多。 Mersenne Twister 无论如何都不是一个出色的随机数生成器。
还有其他随机数生成器甚至具有 128、256 或 512 位内部整数。我不知道更多,但这当然是可能的。
这里的重要说明是:这与您的硬件系统/操作系统是 32 位或 64 位(或其他任何东西)完全无关。

关于c++ - Mersenne Twister 与 Mersenne Twister 64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21445315/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com