最近对计算机的随机性产生了兴趣 于是查了一下 原来计算机产生的随机数都是伪随机数··· 但是资料中说伪随机数又不是假随机数 有一部风遵循一部分规律 一部分不遵循规律 这可能是为
最近对计算机的随机性产生了兴趣 于是查了一下 原来计算机产生的随机数都是伪随机数··· 但是资料中说伪随机数又不是假随机数 有一部风遵循一部分规律 一部分不遵循规律 这可能是为
最近对计算机的随机性产生了兴趣 于是查了一下 原来计算机产生的随机数都是伪随机数··· 但是资料中说伪随机数又不是假随机数 有一部风遵循一部分规律 一部分不遵循规律 这可能是为了让读者更容易理解才这样说的吧 那么请问一下伪随机数的随机性究竟在哪里 是通过何种方式得到的 真随机数(通过物理方式得到的)是否又真的是随机数 能否用计算机模拟 请高手指点指点 谢谢了!
最近对计算机的随机性产生了兴趣 于是查了一下 原来计算机产生的随机数都是伪随机数··· 但是资料中说伪随机数又不是假随机数 有一部风遵循一部分规律 一部分不遵循规律 这可能是为
伪随机数是使用公式计算出来的数列,有确定性.同样的初始值(或称“种子”)会产生同样的数列,并且数列是循环的,虽然周期很长.以上都是不遵循规律的部分. 所谓伪随机数遵循一部分规律,是指随机数的统计特性符合真随机数的统计特性.编程语言中最常见的伪随机数产生方法,叫做“线性同余方法”,数列中下一个数字是这一个数字乘 以指定数,加上另一个数,再除以一个数求余数. 真随机数定义为通过物理上的随机过程产生的随机数.至于那是不是“真的”随机,就是哲学的范畴了.绝对的宿命论是排除真正随机的可能性的. 一般来说,假如用系统时钟的值作为随机数列的“种子”,已经足够模拟真正的随机数.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