问题标签 [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.
javascript - 种子随机数
我想知道有一段时间了。有没有一种好的(和快速的)方法可以在播种时使数字随机化?有没有一种很好的算法可以将一个数字转换为看似随机的数字。
一个小插图:
如果输出也可以是巨大的数字,那就太好了。
注意:我不想填充数组并将数字随机化,因为我希望能够提供巨大的数字差异,因为每当我重新启动程序时我都想要相同的输出
c++ - rand 改变值而不改变种子
采取以下程序:
由于rand
只要不使用 更改种子就产生相同的值srand
,这应该产生三个相同的数字。
例如
然而,当我运行这个程序时,它给了我三个不同的值。
例如
当程序再次(编译并)运行时,会生成相同的三个数字。srand
在我开始得到不同的结果之前,我不应该使用改变种子rand
吗?这只是我的编译器/实现试图帮我一个忙吗?
操作系统:Windows XP
编译器:GCC 4.6.2
库:MinGW
编辑:通过尝试使用srand
,我发现这是种子 1 的结果(我猜这是默认值)。
c++ - 是否需要为每个线程或每个进程调用 srand() C 函数来为随机发生器播种?
标题几乎说明了这一点。
PS。这是针对 C++ Windows 程序的。
c# - C# 钩子:System.Random
我想监控一个使用System.Random
该类的软件。
我希望能够:
1/ 监控所有随机实例的创建
2/ 强制此实例使用的种子
或 2bis/ 将随机结果强制为我自己的随机
我需要软件始终保持相同的行为,即使在不同的计算机上也是如此,这样我就可以更好地测试与它通信的自己的软件。
我读过 EasyHook 的教程,但我认为他们只提到函数挂钩,而不是类创建或类方法挂钩。
perl - Perl 的 rand() 函数,以本地时间为种子
请看下面这段代码:
我多次调用上面的代码,中间有足够的时间(5-10秒),但输出序列仍然相同。
由于我已经为localtime
每次调用设置了种子,因此必须使用不同的种子,并且可能会生成不同的三个数字序列,因为时间间隔。为什么我一次又一次得到相同的序列。
注意:代码不在循环中,它在一个被多次执行的 Perl 文件中。
文档说,如果多个实例在相同的“秒”中运行导致相同的种子,则该种子会失败 - 但情况并非如此。
编辑:: @simbabque 的解决方案确实有帮助,但没有获得预期的随机性。看看我对下面上述解决方案的评论。
c++ - How to change srand() at runtime
I'm using srand(
) with a fixed seed and I need to run tests with a set of different seeds like 100, 200, 300, ..., 1000 all in one execution. Is this possible? The thing is srand()
is defined at the beginning of main, so I don't know how to control the seed with a variable.
python - Python中随机种子的范围是什么?
如果我在模块中的一个类中使用 Python 函数random.seed(my_seed)
,这个种子是否会保留给在该模块中实例化的所有其他类?
matlab - 使用 matlab 在每次模拟中获得相同的结果
可能重复:
如何为伪随机数生成器设置自定义种子
我正在用 matlab 构建一些模拟,并使用rand
函数。
我想在每次运行时都获得相同的结果。我在某处读到我必须设置 rand 函数的种子。我尝试使用
但它没有用。我做错了吗?
c++ - 为 C++ 类播种 rand()
我正在研究一个rand()
在构造函数中使用 a 的 C++ 类。我真的很想让这门课在几乎所有方面都能照顾好自己,但我不知道在哪里播种rand()
。
如果我rand()
在构造函数中播种,则每次构造我的对象类型的新实例时都会播种。因此,如果我要按顺序创建 3 个对象,它们都将在同一秒内创建,因此具有相同的种子rand()
,为对象的 3 个实例中的每一个实例生成完全相同的数据。
我想rand()
在类代码中播种,而不是在创建对象之前在程序的主函数中进行。我想过做一个static bool seeded;
变量来表示是否rand()
已经播种,但我不确定如何在创建类时将其初始化为 false。
我的想法是这样的
我认为如果我能在程序开始时弄清楚如何将静态值初始化为 false 一次,这将起作用。我的理解是,如果这个静态值是静态的,那么将这个静态值更改为 true 将跨越对象的所有实例,因此只会在第一次创建该对象类型时执行种子函数。
python - Python .seed 和 .randrange if-else 语句设置
我的程序非常复杂,我在下面提供了一个更简单的版本:
现在下面是一些使用上述代码的代码。这是一个 if-elif 语句,如果确定性为 ==1,则将运行一个函数,如果确定性==2,则将运行另一个函数。
现在我将向您展示上述代码中的两个函数。我相信问题出在他们身上。第一个函数给出一个随机数,并且每次都给出一个可能不同的随机数。第二个函数每次使用 .seed 将随机数限制为相同的“随机”数。
def updateDisplayAllVar(选择,位置,时间,能量):
Now my problem is... that, with this code, even if I do not choose to be in deterministic(no random number) mode, I still get numbers that are not random and are based on the second function. That is, even though there are two functions up there and I'm asking each function to run based on the users input... It is always deterministicMode(selection,position,time,energy)
that runs. Does anyone know a fix. Please let me know if anything is unclear and I will fix it.