问题标签 [prng]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - Objective C 中的多个随机数生成器
在我当前的项目中,我需要多个随机数生成器,因为我需要能够相互独立地重复它们的序列。到目前为止,我还没有找到任何方法来使用标准的 Objective-C 随机数生成器来实现这一点,因为它们只有一个全局状态。
我认为拥有一个随机数生成器类可以解决我的问题。我可以创建几个可以单独重置的实例。
这样的东西已经可用了吗?我无法在目标 c 中找到任何随机数生成器实现。我想避免自己实现它,因为我没有随机数的经验,而且我认为这很难做到正确。
random - L'Ecuyer 在 CUDA C 中的 MRG32k3a 随机数生成器?
我在实现这一点时遇到了麻烦。我想在 gpu 集群上运行一些蒙特卡罗模拟,并需要随机数生成器为其工作。我想打印生成的随机数。有人可以举个例子解释一下吗?我在 unix 工作。
谢谢!
c - 使用 dSFMT 进行随机浮点 (0,1)
这个项目在 iphone 的 Obj-C 中。我在这里使用双浮点版本的 sfmt:http: //www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/#dSFMT
在用当前时间播种 dsmft 之后,我打电话给:
生成一个介于 0 和 1 之间的随机浮点数。还有其他两个选项,即:
我从文档中知道,区别在于 0 或 1 侧是打开还是关闭,并以数学方式显示:[0,1)、(0,1] 或 (0,1)。
但我不知道这意味着什么,或者使用哪个来满足我的需要。我只想要 0 到 1 之间分布最均匀的浮点数。
ruby-on-rails - PRNG 未播种错误
我收到一个间歇性错误,说在尝试生成表单身份验证令牌时没有播种伪随机数生成器。我已经复制了下面堆栈跟踪的相关部分。
这是我所知道/看到的: - 重新启动乘客似乎暂时解决了问题 - 从控制台运行相同的代码按预期工作 - /dev/urandom 存在,因此它应该能够使用它来播种 - 这发生在 ubuntu 10.04 ,openssl 0.9.8k,ree 1.8.7 p253,passenger 3.0.3。- 我读过一个关于独角兽的问题,听起来有点像重新启动工人时发生的事情,但没有看到乘客描述的类似情况。
很难过。非常感谢任何帮助。
cuda - CUDA - 为傻瓜使用 CURAND 库
我正在阅读 CURAND 库 API,我是 CUDA 的新手,我想看看是否有人可以向我展示一个使用 CURAND 库生成随机数的简单代码。我正在研究生成大量用于离散事件模拟的数字。我的任务只是开发算法以使用 GPGPU 来加速随机数的生成。我已经在标准 C 语言编程中实现了 LCG、乘法和斐波那契方法。但是我想将这些代码“移植”到 CUDA 中,并利用线程和块来加速生成随机数的过程。
链接 1:http ://adnanboz.wordpress.com/tag/nvidia-curand/
那个人有我需要的两种方法(LCG 和 Mersenne Twister),但代码没有提供太多细节。我想知道是否有人可以扩展这些初始实现,以真正为我指明如何正确使用它们的正确方向。
谢谢!
cuda - CURAND 库 - 编译错误 - 未定义的函数引用
我有以下代码,我正在尝试使用 nvcc 进行编译。
代码:
这是我收到的输出:
我最初的猜测是,由于某种原因,CURAND 库没有正确安装,或者找不到 curand.h 头文件。
请让我知道我应该寻找什么或如何解决我的问题。
谢谢!
cuda - CUDA 编译错误 - 需要在链接器中添加“包含”
我正在尝试使用 CUDA 编译器编译此代码:
通过使用此命令:
这是我收到的输出:
在另一个讨论中,他们表示这个问题可能与链接器问题或其他问题有关,我需要在编译器命令中手动链接库以包含我的代码中所述的库。
我不知道要做到这一点,有人可以帮忙吗?
谢谢!
ruby - Ruby 的 OpenSSL::Random 种子是否足够?
我对 Ruby 知之甚少,所以如果这个问题的答案很明显,请原谅我。我在http://www.ruby-doc.org/stdlib-1.9.3/libdoc/securerandom/rdoc/SecureRandom.html注意到Ruby 在调用 random_bytes 时使用 pid 和当前时间播种 OpenSSL::Random制作。除非在幕后发生其他事情,否则这不是 Netscape 在 90 年代中期最初的 SSL 实施中使用的种子吗? http://en.wikipedia.org/wiki/Random_number_generator_attack#Prominent_examples_of_random_number_generator_security_issues
当然,Ruby 并没有让一个 18 岁的 bug 复活。我在这里想念什么?
编辑:这是 random_bytes 的来源。请注意第一次检查 ruby 是否使用 OpenSSL 编译,在这种情况下,它会使用 pid 和当前时间为其播种。