问题标签 [random-seed]
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 - 在 Java 中为随机数生成器使用特定的种子
我知道之前已经有很多关于种子的问题,我已经看过很多但仍然在挣扎,如果这看起来重复,对不起!基本上我提示用户输入一个输入值(这将是种子),然后使用该种子生成随机值。我的代码位于两个单独的文件中,但我会尽量为您整理好这些文件。
文件 1:
文件 2:
random - lua 中的伪随机数生成。变量循环问题
好吧,一定有人知道比我更容易做到这一点的方法。我正在尝试使用一个相当常见的公式编写一个随机数生成器。
等等等等。有人知道更快的方法吗?我希望能够将它融入以下内容:
字符串类型。我正在使用它为我在桌面游戏中制作的曲目生成随机数。示例代码:
结尾
不幸的是,当我使用它时,这似乎生成了一组非常糟糕的随机数分布,我真的希望它能够更好地工作。在充实可变循环周期方面的任何可能帮助将不胜感激。甚至像调用这样的东西,每次调用 math.random() 时,它都会在 X[loop count]] 上加一,这样每个生成的数字实际上都是一个更好的伪随机数分布。
请原谅我的半散漫。我的头脑现在不一定有条不紊地思考。
c++ - 我可以像在 C++ 中那样在 R 中拥有多个独立的随机数生成器吗?
我有许多独立的随机过程(例如到达过程),需要我生成随机数。我想为这些过程中的每一个使用公共随机数,以便比较不同策略在控制这些策略时的执行情况。
我希望进程 A 由生成器 A 管理(使用种子 A)我希望进程 B 由生成器 B 管理(使用种子 B)..
等等。
这可以在 R 中实现吗?我找不到做过的人。我努力了。如果这是一个重复的问题,请原谅我。
谢谢
杰克
random-seed - 随机数生成中的种子是什么意思?
虽然我在谷歌中提到过种子的含义,但我无法得到我想要的确切答案。有人可以举例解释吗?
c - Srand 在 C 中使用 char 数组?
如何在 C 中使用 char 数组而不是 int 随机种子?
我想使用密码,而不是数字,但srand
只需要整数。
有没有办法做到这一点?
r - 将局部环境的随机性与全局 R 过程隔离开来
我们可以使用set.seed()
在 R 中设置随机种子,这具有全局效果。这是一个最小的例子来说明我的目标:
基本上我希望能够避免全局随机种子(即.Random.seed
)在本地环境中的影响,例如 R 函数,这样我就可以实现某种用户无法控制的随机性。例如,即使用户有set.seed()
,他每次调用这个函数时仍然会得到不同的输出。
现在有两种实现方式。第一个依赖于set.seed(NULL)
每次我想获得一些随机数时让 R 重新初始化随机种子:
即使我将种子设置为 0,您也可以看到我得到了不同的 id 字符串,并且全局随机数流仍然是可重现的:
第二个实现可以在Github 上找到。比较复杂,基本思路是:
set.seed(NULL)
使用(in.onLoad()
)在包启动期间初始化随机种子- 将随机种子存储在单独的环境中 (
.globals$ownSeed
) - 每次我们想要生成随机数时:
- 将本地种子分配给全局随机种子
- 生成随机数
- 将新的全局种子(由于步骤 2 已更改)分配给本地种子
- 将全局种子恢复到其原始值
现在我的问题是这两种方法在理论上是否等效。第一种方法的随机性依赖于createUniqueId()
调用时的当前时间和进程ID,而第二种方法似乎依赖于加载包时的时间和进程ID。对于第一种方法,是否有可能createUniqueId()
在同一个 R 进程中同时发生两个调用,以便它们返回相同的 id 字符串?
更新
在下面的答案中,Robert Krzyzanowski 提供了一些set.seed(NULL)
可能导致严重 ID 冲突的经验证据。我为它做了一个简单的可视化:
当线到达图的顶部时,这意味着生成了一个重复值。但是,请注意这些重复不是连续出现的,即any(x[-1] == x[-n])
通常是FALSE
。可能存在与系统时间相关的重复模式。由于我对基于时间的随机种子的工作原理缺乏了解,我无法进一步调查,但您可以在此处和此处查看相关的 C 源代码。
javascript - 使用 sin 的基于种子的世界生成
每当我需要随机的东西时,我都会尝试使用一些世界生成机制Math.random()
,但后来决定我希望它基于种子,所以,给定一个种子,我将所有的更改Math.random()
为Math.sin(seed++)/2+0.5
,希望它会做同样的事情,但是如果种子是相同的种子,将是相同的。然后有人让我注意到正弦波没有均匀分布,最后我明白了为什么我的一些代码工作异常。我想知道是否有一个简单的修复,或者如果没有,另一个非常简单的基于种子的随机化器,像这样
python - hash() 随机化是否被认为具有加密强度?
从CPython 3.3开始,默认启用哈希随机化。在以前的版本中,可以通过指定-R
命令行选项或将PYTHONHASHSEED
环境变量设置为random
.
引用文档:
默认情况下,
__hash__()
str、bytes 和 datetime 对象的值是用不可预测的随机值“加盐”的。尽管它们在单个 Python 进程中保持不变,但它们在 Python 的重复调用之间是不可预测的。
这是否意味着生成的值将具有加密强度?
r - set.seed() 函数 - 设置种子的最佳价值是什么?
我想知道某个种子值对于规范分布数据样本是否比偏斜的集合更好。我知道在相同的数据上使用相同的种子会得到相同的随机生成的记录,我只是想知道种子 1-10 是否更好的负偏数据范围和 90-100 的正偏斜更好。
haskell - 简单的 Haskell Monad - 随机数
我正在尝试扩展这篇文章中的代码(已接受的答案),以允许我能够调用 randomGen2 以获取随机数,基于以种子作为参数的函数 randomGen。但是每次我调用 randomGen2 时,尽管返回了一个 Int,我都会收到一个关于无法打印 Random 的错误(实际上我只是想打印 Int)。
这是代码:
有任何想法吗?
更新 - 预期的行为 我希望能够从解释器(例如 GHCI)中做到这一点 -
即我可以使用种子设置我的 getRandom 函数,然后使用 存储种子put
,然后该函数返回并退出。然后我做一些其他的事情,然后再次调用 getRandom,从存储它的 Monad 中检索种子。