关于术语:’播种’是什么意思?

What does 'seeding' mean?

很简单的问题。"播种"一词一般是什么意思?我将输入上下文,也就是说,必须为随机函数输入种子。


意思是:选择一个开始的地方。

把伪随机数生成器看作是一个非常长的数字列表。这个列表是循环的,它最终会重复。

要使用它,您需要选择一个起始位置。这叫做"种子"。


在个人计算机上常见的大多数随机函数不是随机的,而是在某种程度上具有确定性的。这些psuedo随机函数的"种子"是未来值的基础。这对于调试很有用:如果在执行到执行期间保持种子相同,则会得到相同的数字。

为了获得更随机的数字,通常使用不同的种子从执行到执行。这通常基于机器的时间。

这种方法与基于我们周围世界的某种物理性质生成"真"随机数完全不同。熔岩灯和太阳黑点是两个更"有趣"的特性,可以观察到它们产生"更随机"的数字。任何人都可以点击http://www.random.org/获得真正的随机数,如果它真的像扑克网站一样必要的话。如果你没有一个好的发电机,人们可以尝试找出发电机是如何工作的,并预测未来的数字。


想象一个纸牌游戏和开发游戏程序的对比,运行游戏来真正玩它。

伪随机数生成器使用一个或多个种子来确定序列的起始点。它们中的一些总是形成相同的序列,另一些可以根据种子产生不同的序列。有些人使用级联,一个简单的RNG被赋予一个简单的种子,这是运行一段时间来为杰作RNG生成一个更复杂的种子。

在开发程序或希望重现以前的结果时,能够有意地重复序列是非常有用的。

然而,想象一个纸牌游戏。显然,处理相同的牌序列不是一个好主意。


"播种"随机函数防止它发出相同的随机数序列。把它看作是随机生成器的超级随机启动。