S2E10. “随机”不是“胡来”(2)-随机数的生成

S2E10. “随机”不是“胡来”(2)-随机数的生成

2018-07-09    18'06''

主播: 大老李聊数学(全集)

15 0

介绍:
你可能听说过计算机里的随机数生成算法叫“伪随机数生成算法”,又叫“决定式随机位生成器”(deterministic random bit generator (DRBG)),意思就是它能随机生成1个二级制位,0或者1,而且是50%概率。为什么这种算法都是二进位的生成器?因为平时我们使用均匀分布随机数的场合是最多的,有了均匀分布的随机数,转换成其他分布也是比较简单的。而计算机内部又都是二进位,我有了产生0和1的二进位生成器,如果一个计算机内部浮点数是小数点后有32位,那我就可以产生32位随机二进位,作为0之后的32位小数位,这样我可以产生0-1之间的均匀分布的浮点数,供用户使用。那为什么又叫“伪随机数生成算法”?为什么加一个“伪”字?很自然就是因为它达不到上一期讲过的“真随机数“的要求,目前计算机架构下也永远不可能有”真“随机数生成算法。但好在实际运用中我们不需要那么高的要求,在实际使用中,我们只要保证根据相当长历史随机数,你无法用当代主流的计算能力,在相当长的时间内,对我之后随机数的猜测的成功或失败概率,与½之间,无法产生任何“显著”的区别,或者用一个术语,就是差别是“可忽略的”(neglectable),就是你猜我随机数的成功失败概率与瞎猜之间的区别是可忽略的,那我就是很放心的。线性同余法Python代码片段(作者: John D. Cook):for _ in range(N):        z = a*z % m # LCG        bit_string += format(z, formatstr)岩浆灯:[图片]公众号订阅,微信搜索:dalaoli_shuxue