【发布时间】:2012-03-20 09:10:15
【问题描述】:
听说计算结果对随机数生成器的选择非常敏感。
1 我想知道是否与编写自己的 Mersenne-Twister 或其他伪随机例程以获得良好的数字生成器有关。另外,我不明白为什么我不应该信任本机或库生成器作为 numpy 中的 random.uniform() 和 C++ 中的 rand() 。我知道我可以自己构建生成器,用于除均匀分布之外的分布(逆重新分区函数方法、极坐标方法)。但是使用一个内置的生成器进行统一采样是不是很邪恶?
2 默认的“时间”种子有什么问题?是否应该在代码示例中重新播种以及多久播种一次(以及为什么)?
3 也许你有一些关于这些主题的好链接!
--edit 更准确地说,我需要随机数用于多启动优化例程,以及均匀空间样本来初始化其他一些优化例程参数。我还需要蒙特卡洛方法(敏感性分析)的随机数。我希望精确度有助于确定问题的范围。
【问题讨论】:
-
添加您使用这些数字的目的可能会很好。这将有助于决定他们需要有多“好”。
标签: c++ python random simulation probability