是否可以预测数字生成器中的下一个数字?

时间:2013-06-28 19:10:16

标签: random prediction

通过编程,它永远不会“随机”。甚至随机生成器也使用算法来预测随机数。但是,如果知道生成方法,是否可以预测将生成的下5个数字呢?

3 个答案:

答案 0 :(得分:8)

是的,可以预测随机数生成器接下来会生成什么数字。我已经看到这称为破解打破攻击 RNG。搜索任何这些术语以及“随机数生成器”应该会产生很多结果。

阅读How We Learned to Cheat at Online Poker: A Study in Software Security,获取有关如何攻击随机数生成器的出色第一手资料。总而言之,作者根据在线扑克网站采用的错误改组算法找出了使用RNG的原因。然后他们通过抽样处理手来计算出RNG种子。一旦他们拥有了算法和种子,他们就会知道在后来的洗牌之后如何安排牌组。

答案 1 :(得分:4)

假设确定性算法。创建两个相同的随机数生成器。问第一个接下来会产生的第二个 - 5次。

答案 2 :(得分:0)

绝大多数“随机数生成器”实际上是“伪随机数生成器”,这意味着,给定相同的起始点(种子),它们将重现相同的序列。理论上,通过观察一段时间内的数字序列(并了解特定算法),可以预测下一个数字,非常类似于“破解”加密。

当然,根据具体算法,执行此操作所需的时间/精力会有很大差异。 “加密”的RNG比您的花园式RNG更难预测。但对于大多数随机数的使用,这种可预测性不是问题。