计算机如何理解“随机”的功能?

时间:2013-10-24 18:54:31

标签: logic computer-science

这个问题并不是针对任何计算语言的,我不确定它是否属于这里。很难解释我的意思,但让我试试。因此,例如当你告诉计算机执行此操作或执行此操作时,您告诉计算机要做什么,要计算什么等...根据我的理解,计算机没有智能,它们是信息和操作顺序,他们这样做从他们那里得到了什么。我的问题是,当你要求它选择1到10之间的随机数等时,计算机如何知道选择一个数字......? 我希望你理解我的问题。干杯!

4 个答案:

答案 0 :(得分:1)

您需要了解线性全等生成器。唐纳德克努特做了许多基础性工作,这些工作发表在他的开创性的计算机程序设计艺术中。

答案 1 :(得分:1)

计算机无法生成任何“随机”数字。它可以使用算法或时间戳来提出看似随机的数字,但它不能生成真正的随机数。我和几个人讨论过这个话题。我是一个赌徒,所有游戏都被“计算机化”并且据称随机抽取数字存在一个主要问题。例如,据称现代老虎机使用按下按钮的毫秒来从桌子拉出卷轴停止点。同样的理论适用于许多现代游戏设备,如扑克,二十一点,轮盘等......问题在于,这些数字根本不是随机的,因为它们基于时间戳。只是我对这个话题的看法......

答案 2 :(得分:0)

电脑不知道。

这就是为什么当你要求“随机”数字时,你会得到伪随机值。

此链接(尽管是维基百科)给出了简要说明:http://en.wikipedia.org/wiki/Random_number_generation#.22True.22_random_numbers_vs._pseudorandom_numbers

答案 3 :(得分:0)

计算机从各种事物中获取熵,例如unix时间戳等。 因此,它生成的“随机”数字称为伪随机数。

阅读:http://www.random.org/