作业帮 > 综合 > 作业

最近对计算机的随机性产生了兴趣 于是查了一下 原来计算机产生的随机数都是伪随机数··· 但是资料中说伪随机数又不是假随机

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/07 19:34:56
最近对计算机的随机性产生了兴趣 于是查了一下 原来计算机产生的随机数都是伪随机数··· 但是资料中说伪随机数又不是假随机数 有一部风遵循一部分规律 一部分不遵循规律 这可能是为了让读者更容易理解才这样说的吧 那么请问一下伪随机数的随机性究竟在哪里 是通过何种方式得到的 真随机数(通过物理方式得到的)是否又真的是随机数 能否用计算机模拟 请高手指点指点 谢谢了!
最近对计算机的随机性产生了兴趣 于是查了一下 原来计算机产生的随机数都是伪随机数··· 但是资料中说伪随机数又不是假随机
伪随机数是使用公式计算出来的数列,有确定性.同样的初始值(或称“种子”)会产生同样的数列,并且数列是循环的,虽然周期很长.以上都是不遵循规律的部分. 所谓伪随机数遵循一部分规律,是指随机数的统计特性符合真随机数的统计特性.编程语言中最常见的伪随机数产生方法,叫做“线性同余方法”,数列中下一个数字是这一个数字乘 以指定数,加上另一个数,再除以一个数求余数. 真随机数定义为通过物理上的随机过程产生的随机数.至于那是不是“真的”随机,就是哲学的范畴了.绝对的宿命论是排除真正随机的可能性的. 一般来说,假如用系统时钟的值作为随机数列的“种子”,已经足够模拟真正的随机数.Linux 系统还使用了用户所按的键,输入输出端口的状态,电压等物理量来生成随机数,更接近真实.还有特殊的硬件,利用测量物理量,专门生成真随机数. 参考资料: (伪随机数) http://zh.wikipedia.org/wiki/%E4%BC%AA%E9%9A%8F%E6%9C%BA%E6%95%B0 (线性同余方法) http://zh.wikipedia.org/wiki/%E7%B7%9A%E6%80%A7%E5%90%8C%E9%A4%98%E6%96%B9%E6%B3%95 (英语资料) http://en.wikipedia.org/wiki/Pseudorandomness