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