问题标签 [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.
java - C++ 与 Java 性能
理论上说,您只需在 [受硬件约束] 的尽可能多的线程中 [使用标准库] 生成随机数。C++ 在 Java 上的速度有多快?
没有磁盘 i/o、内存或 gc。只是纯 Math.random() 跨线程调用。
php - Windows 平台的安全随机数,例如来自 /dev/random 的整数?
在我的应用程序中,我需要一个函数来生成(不可预测的)随机值,这些随机值在每次调用时都不同,例如在快速循环中。
在 Linux 平台上,我将发布我的脚本(其中将在 PHP 中的 SSL 下运行)我将结合可能的多个工具来确保种子或哈希是完全随机的,通过查询 /dev/random,可能与 OpenSSL 结合设施,包括系统特定的值,例如上次修改的脚本和创建时间。
我正在使用这些特定值,因为即使 A 人拥有脚本并且知道方法,他们也无法猜测(/dev/random 内容、当前内存使用情况、可能的修改时间等)并且不会实际上能够降低用户 B 运行相同脚本的安全性。
在 Windows 平台上,不幸的是我现在必须在上面开发(我仍然在 Linux 上进行测试,但不太频繁)我需要上面描述的随机值,只是为了提供至少有限的保护,防止预测种子或密钥。
我第一次尝试使用memory_get_usage()(使用或不true使用 PHP 的“真实”内存使用的可用参数),即使每次迭代执行大量内存计算,这些值似乎仍然非常静态。
使用这种(有点动态的)内存使用作为种子,让 PRNG 生成更多(快速)随机数是否明智?或者内存是一个如此有限的范围,他们可以创建 2^xx 种子并粗略猜测它。我开始模糊实际随机的界限,如果甚至可以猜测我的操作,即使他们“不是”真的那么随机。
java - Java 随机种子
我需要测试一个 Java 程序 20 次,并且需要设置随机种子,以便可以重复测试。如果我将初始种子设置为 0,然后在每次运行时增加 1(即 1、2、3 等),即使种子相距不远,这种方法是否仍能确保完全随机性?
谢谢
c - 无法理解 C 中的此 PRNG 代码
这是 PRNG 的一些代码。我对 C 语言不是很有经验,这段代码中的某些内容对我来说完全没有意义。我试图对代码进行评论以跟踪发生了什么。如果一些我不明白的事情能得到澄清,我将不胜感激。尤其是同名的变量和函数的声明,以及 initrnd 子例程,似乎没有在程序或我在 Internet 上找到的任何库中定义。
非常感谢。
algorithm - 生成可重复的基于伪随机数的坐标
我需要根据一组坐标生成可重复的伪随机数,这样对于给定的种子,我将始终为特定坐标生成相同的值。
我想我会为种子使用这样的东西:
其中coord_x_int是坐标的整数部分,小数部分由 给出coord_x_frac / 0xFF。seed是一个随机的预定值。
但我必须承认,试图理解 PRNG 的所有复杂性有点让人不知所措。对于我正在尝试的东西,什么是一个好的生成器?
我在一个快速的 groovy 脚本中使用此方案测试了 Java 的 PRNG,结果如下:

显然,这几乎不是像样的随机性。
我使用的脚本是:
random - PRNG 所需的建议
我正在寻找一种能够产生随机 128/256 位数字的伪随机数生成算法。安全性和密码完整性并不重要;简单性和性能是最重要的。理想情况下,该算法将可用于现代手机平台。你能推荐这样的算法吗?可行吗?提前致谢!
python - 哪些平台提供 SystemRandom?
Pythonrandom.SystemRandom提供了加密质量的伪随机数。它支持哪些平台?最重要的是,是否有任何平台不支持它,如果有,哪些平台?谁能提供有关它的便携性的任何信息?
random - 集群环境的伪随机数生成器
如何在集群上生成独立的伪随机数,例如蒙特卡罗模拟?我可以有许多计算节点(例如 100 个),我需要在每个节点上生成数百万个数字。我需要保证一个节点上的 PRN 序列不会与另一个节点上的 PRN 序列重叠。
- 我可以在根节点上生成所有 PRN,然后将它们发送到其他节点。但这太慢了。
- 我可以在每个节点上跳到序列中的已知距离。但是对于 Mersenne-Twister 或任何其他好的 PRNG,是否有这样的算法,可以用合理的时间和内存来完成?
- 我可以在每个节点上使用不同的生成器。但是像 Mersenne-Twister 这样好的发电机有可能吗?怎么可能做到?
- 还有别的吗?
statistics - PRNG 均匀分布
有人可以帮我解决这个问题吗
给定 X 台生成消息的服务器和 T 秒的模拟持续时间,每个服务器应该在什么时间间隔生成一条消息,这样平均每秒生成 200 条消息。
使用 PRNG,我在 T 秒内为每个 X 服务器生成了时间间隔的均匀分布,但我如何确保这些间隔将导致每秒 200 条消息?
谢谢,