计算机运算中能够实现真的「随机」么事实上,就算是人脑,我们真的有能力「随便」啥啥么

计算机运算中的随机严格意义上并不是随机,基本上都是依靠某种算法而得出数字的,最常用的有运用计算机的本机时间和一个对应的质数来抽取一个数字或一组数字,所以计算机的随机是有机可循的,这也是为什么彩票之类的不用计算机来生成随机数字作为中奖号。对于人脑,我完全门外汗,但个人觉的人随便报数并不会报出特别大的数,也不会报出特别小的数,且报整数概率较高,所以至少在报数这方面应该也不是完全随机的。
■网友的回复
计算机是无法自己产生随机数的,像 C 中的 rand() 函数,实际上是根据下面这个式子计算出来的:a = (a * K + B) mod M也就是说,这产生的是伪随机序列,如果你知道其中的参数,你就可以知道整个序列。不过我个人觉得,不考虑安全问题的话,这种方法随机的质量还是不错的。当然计算机确实也可以通过一些比较简单的方法来获得看似比较不可预测的数据。比如 Linux 系统内有个文件, /dev/urandom ,内核会通过监测键盘鼠标动作、CPU噪声等,把这些无法预测的时间转化为随机信息,输出到这个文件里面。这也是生成密钥的时候 gpg 会让你上上网看看片的原因。至于人,呵呵,楼主应该听过 选择恐惧症吧。
■网友的回复
我个人觉得,从定义"随机"来谈的话,"随机"的内涵应该是无逻辑运算,窃以为:无逻辑即无可运算,so,不存在真正的随机函数。
■网友的回复
有真正的硬件随机数生成器,不过一般只用在安全领域
■网友的回复
计算机只能模拟随机。但是,物理学家说,上帝就是在掷骰子,随机性是物质的内在属性。所以我们脑壳内这一坨软绵绵东西应该是可以“随便”的。
■网友的回复
可以查查平方取中 和随机种子


    推荐阅读