【发布时间】:2014-02-10 05:55:40
【问题描述】:
假设我将一个 R 进程分叉成 10 个工作人员来运行一些并行模拟。确保每个工人使用不同的随机数的可靠方法是什么?我一直在用这个:
myseed <- (unclass(Sys.time())*1e9 * Sys.getpid()) %% 1e9;
set.seed(myseed);
但令我惊讶的是,由于工人之间的 RNG 冲突,我遇到了问题。这里可能出了什么问题?是否有更好的随机性来源可以用来播种 RNG?
【问题讨论】:
-
试试专门为此目的构建的
doRNG包。 -
rsprng 包(也在 Debian / Ubuntu 中)中还有并行 RNG 的老祖宗,依赖于 SPRNG 库(也已打包)。
标签: r random parallel-processing