非常简单的问题。 “播种”这个词一般意味着什么?我会把上下文,即你必须为随机函数播种。
答案 0 :(得分:27)
这意味着:选择一个地方开始。
将伪随机数生成器视为一个非常长的数字列表。这个清单是循环的,最终会重复。
要使用它,您需要选择一个起始位置。这被称为“种子”。
答案 1 :(得分:13)
在个人计算机上常见的大多数随机函数不是随机的,而是在某种程度上具有确定性。这些伪随机函数的“种子”是未来值所依据的起点。这对于调试目的非常有用:如果从执行到执行保持种子相同,您将获得相同的数字。
为了获得更随机的数字,通常会使用从执行到执行的不同种子。这通常取决于机器的时间。
这种方法与根据我们周围世界的某种物理属性生成“真实”随机数完全不同。熔岩灯和太阳斑是两种更“有趣”的特性,可以观察到产生“更随机”的数字。任何人都可以点击http://www.random.org/获得一个真正的随机数,如果它真的是必要的,如扑克网站。如果你没有一个好的发电机,人们可以尝试弄清楚发电机是如何工作的,并预测未来的数字。
答案 2 :(得分:2)
“播种”随机函数可防止它发出相同的随机数序列。 可以把它想象成随机生成器的超级随机启动。
答案 3 :(得分:2)
想象一下纸牌游戏和游戏程序的开发与运行游戏实际玩游戏。
伪随机数生成器使用种子或种子来确定序列的起始点。它们中的一些总是产生相同的序列,其他的可以根据种子产生不同的序列。有些使用级联,简单的RNG被赋予一个简单的种子,并且运行一段时间以为杰作RNG生成更复杂的种子。
在开发程序时或者希望重现以前的结果时,能够刻意重复序列是非常有用的。
然而,想象一下纸牌游戏。总是处理相同序列的卡片显然不是一个好主意。