有这样一本神书,它的正文不包含任何字母却畅销60多年,再版了3次,在亚马逊上的评论量超过了亚马逊十大畅销书之一的《饥饿游戏》的第一部,获得了4.2/5的高评分,并引发《纽约时报》、《华尔街日报》等主流媒体报道。此书中的章节还经常出现在各种统计学教材中,它就是附录中经常出现的神秘数表的常见来源。这本书就是标志着人类核武器时代到来的著作,在个人计算机时代前被统计工作者奉为圣经的《百万随机数表》。
没错,这本书的正文就是100万个随机数。为美国空军制造RAND计算机的计算机学家Gary Briggs表示,这本书是一个有65年历史的巨著,“我们都崇敬它。”宾夕法尼亚大学沃顿商学院副教授Ethan Mollick则指出,在计算机出现前,百万这本书是随机数的最常见来源。截至今年八月,这本书的评论量已经有699条。与此相比,亚马逊的十大畅销书之一的《饥饿游戏》的平装初版也只有200多条评论。
我们先来看看亚马逊网友对这本书的评价——“一本引人入胜的大作,具有重要的历史意义,不看到最后你猜不到结局。”要了解这本书的划时代性,我们有必要要了解一下随机数有多么难获得。随机性看起来无处不在,比如马路边的石子儿、女孩的心情、学渣的答案…但实际上,要获得高质量的随机数真的很难。计算机输出的随机数是“伪随机数”,因为给计算机什么指令,它们就会稳定进行同样的操作,输出同样的结果。
也就是说,计算机无法输出真随机数。真随机数的唯一来源是自然界。比如,核裂变。你可能想问,我们怎么知道随机数是真的还是伪的呢?很简单,画图就好了。真随机数会形成随机游走。如果用一串随机数做一个贪吃蛇的图,让贪吃蛇每走一步就根据这个数列里的数字转向,那么真随机数形成的贪吃蛇看起来毫无规律,不管把这个图放大还是缩小,在任何尺度上贪吃蛇都在乱走。而真随机的贪吃蛇走出来的这张图就叫做随机游走。
但是,计算机生成的伪随机数最终会展现出规律性,贪吃蛇的步伐最后会以特定周期不断重复。真随机数和伪随机数的对峙在20世纪40年代被推向了高潮,因为在研究核物理时,人们才意识到真随机数有多重要。比如在设计核反应堆时,最关键的一步就是预测中子的分布。了解中子是谁,中子从哪儿来,中子要到哪儿去的终极三问就成了设计核反应堆时的核心,而这个研究方向也叫做中子输运。在反应堆中,中子(蓝)引发铀235(黄)裂变。
核物理研究者们一般认为,中子就像气体一样在反应核里扩散,并用中子输运方程模拟这个过程。但是,暴力强解中子输运方程太复杂,当时的物理学家们很头疼。后来,这个问题被洛斯阿拉莫斯国家实验室的数学家斯塔尼斯拉夫·乌拉姆(Stanislaw Ulam)破解了。乌拉姆的思路是,方程太复杂了老子不解了好伐,我直接模拟中子怎么动不就好了。这种“你动动我试试”的方法就是著名的统计学技术——蒙特卡罗方法。
蒙特卡洛方法其实不难理解。比如要看方形和圆形的面积比,我们可以在两个盒子上方随机倒珠子,倒了巨量珠子后,看一下两个盒子里的珠子数量比,这个比值就是它们的面积之比。蒙特卡洛方法不需要求解中子输运方程,而是通过模拟大量中子的运动轨迹来对反应堆中中子的扩散过程进行预测。在洛斯阿拉莫斯国家实验室发明和推广了蒙特卡洛方法后,其他学科也纷纷觉得它好用。
现在蒙特卡洛方法被广泛用于研究各种复杂系统的行为,比如金融市场、湍流啥的。显然,蒙特卡洛方法依赖大量随机数,这样才能保证模拟结果无限接近真实。洛斯阿拉莫斯国家实验室发明的这个统计学工具让高质量的随机数变成了炙手可热的学术“商品”,百万这本书也是依托这种需求诞生的。为了满足暴涨的需求,1947年,为美国军方服务的兰德公司(RAND Corporation)就开始制造这种“商品”。
1955年,百万的第一版开始发行。那么,这些高质量的随机数是怎么产生的呢?首先,一个来自自然界的随机脉冲源发出随机脉冲。这个脉冲源和一个电子轮盘相连,轮盘把随机信号转化为0-9的十进制数。接着,这些十进制的数字又被转化为2万张能被计算机读取的卡片。这些卡片被插入一台IBM计算机里,这台计算机就产生了一百万个随机数。当然了,随机数的质量取决于随机脉冲的质量。
兰德公司并没有公布它的来源,一些人猜测随机脉冲来自对着铀矿的盖革计数器。铀会衰变,在这个过程中释放出粒子,不过两次衰变之间的间隔是随机的,因此记录到粒子的盖革计数器的信号也是随机的。出版后,这本书也成了兰德公司最畅销的书籍。兰德公司表示,这本书是“史上已出版的最大随机数表。”高质量的随机数很难获得,因此这本书对于教师、学生、研究者等等一系列需要和统计数字打交道的职业来说就是必不可少的。
而根据兰德公司的介绍,百万这本书已经成了工程学和计量经济学教材中的标准参考书。大部分科学研究都需要随机取样。比如在2000年出版的经典社会统计教材Social Research Methods: Qualitative and Quantitative Approaches写道,要随机取样的话,可以用百万这本书。
昆士兰大学的数学系教授Anthony J. Richardson、康奈尔大学工程学荣誉教授Arnim H. Meyburg和同事Elizabeth S. Ampt甚至指出,百万这本书是最知名的随机数表,大多数统计学教材都会摘录百万这本书中的部分随机数。这本书也被广泛用于游戏设计和模拟中。在设计游戏时,研发者要让玩家时不时遇到不可测的情况,从而增加游戏的成瘾性,这时也需要大量随机数。
实际上在麻省理工学院数字媒体教授Nick Montfort和佐治亚理工学院助理教授Ian Bogost撰写的电子游戏史《与电子束赛跑——雅达利视频计算机系统》一书中就提到,游戏设计师经常使用百万这本书中的随机数。兰德公司还表示,直到现在,百万这本书依旧是随机数的最大已知来源,统计学家、物理学家、市场分析师、民意测验者、品控工程师还在利用这本书里的随机数。
比如,在对桥梁的焊接部位进行定期检查时就需要随机数,因为工程师不可能调查每一个焊接处,因此就要随机地挑选几个样本进行调查。甚至出现了一种传言,那就是美国海军潜艇还曾用这本书里的数字来进行无规律的航行,从而避免被敌军发现。但搞笑的是,纽约公立图书馆一开始把这本书归到“心理学”里。除了百万这本书,2013年9月5日,美国国家标准技术研究所(NIST)开始每60秒发布一次高质量的随机数。
虽然这些随机数表又大又方又好,是重要的工具,但是对于计算机安全来说,它们是“禁书”。这是因为,这些公开的随机数已经不是秘密,也就是说它们已经失去了不可预测性,坏人可以用这些已知的随机数破解密码,因此它们不能用于加密,美国国家标准技术研究所也强调了这一点。美国国家标准技术研究所(NIST)的红字警告:不要将本所的随机数用于加密!!!
随机数出名后反而不“随机”了,因为它不再能让人感到意外了,这真是让人意外呢。数学老师的作业:这本著作非常经典,建议大家全文背诵。