如果我想让你生成一串0和1的数字序列,而且符合所谓0-1二项分布,0和1的概率各50%,你会怎么做?当然,这很简单,你可以拿一枚硬币不停的丢,看到正面写个0,背面写个1。当然,也会有想偷懒的朋友会说,我就直接瞎写就可以了,只要我0和1写的总数差不多就可以了。现在问题,如果我给你两个0-1的序列,其中一个是某人用丢硬币的方法产生的,另一个是某人“随便”手写产生的,请问你有办法鉴别出来这两个序列哪个是丢硬币产生的,哪个是“手写”产生的?但数学里,特别是密码学里,还是给“真”随机数给出了一个定义,比如”真正”的符合1/2对1/2概率的0-1二项分布的随机变量定义就是这样:设想一个游戏,我是给出0-1分布随机数的,你是猜随机数的。我每次会产生一个0或1的随机数,你要去猜。你有几个便利条件,我允许你在猜之前向我要任意多的数量的随机数。也就是说,你可以研究过往随机数的历史,如果你认为这对下一次猜测有用的话。而且你想要多少我就给你多少,这是一个便利条件。另一个便利条件是你有一个无限计算能力的计算机,要多块就多块,也就是你可以尽情的在猜之前利用这台机器机去分析,甚至于我可以先产生一个新的随机数,但不给你去看,你还是尽可以去算。等你觉得算够的时候,你就可以猜0或是1。而所谓“真”随机数就是,这个游戏经过非常多次之后,你能猜对的概率仍然是½,那么我产生的随机数就是所谓“真”0-1二项均匀分布。微信公众号订阅:搜索"dalaoli_shuxue"。