这位大叔在随机的彩票上实现了90%的中奖率

这位大叔在随机的彩票上实现了90%的中奖率

这位大叔在随机的彩票上实现了90%的中奖率

“条纹猫我们晚上吃什么?” “随便吃什么。”

“条纹猫我们周末去哪里?” “随便去哪里。”

我们每天都做着很多“随机”的决定,而彩票更是随机,看命,和虔诚的心的代表。不过下面这个大叔的故事,让我们不得不开始怀疑身边的随机性

你感觉到的随机并不那么随机

2003年6月的一个下午,加拿大统计学家莫汉·斯利瓦斯塔瓦百无聊赖地在电脑前做着一件我们经常做的事:等下载。反正无聊,这位大叔就开始在办公室里闲晃了起来,这时候角落里一堆刮刮卡彩票吸引了他的眼球。他试着刮开了其中一张,没有中奖。“切!无聊的东西,傻瓜才玩。”

这位大叔在随机的彩票上实现了90%的中奖率

tic-tac-toe井字格彩票

他走回电脑发现下载还没完成,于是又刮开了第二张,这可一下子就像打开了潘多拉魔盒。

这只是一张很简单的井字格彩票,如果左方区域里刮开的数字出现在右边的8个井字格里并且连成一条线,你就中奖了。幸运的是,莫汉大叔这次中奖了,这可把他给得意的。

这位大叔在随机的彩票上实现了90%的中奖率

换成普通人可能就乐呵呵地去兑换那三块钱了。但是高端玩家毕竟是高端玩家,长年的分析经验让他脑中灵光闪过:因为北美的彩票业是一个700亿美元的市场,超过电影,音乐以及色情业的总和。

一定有一个机制确保如此庞大的产业的自身安全,这个彩票系统并不是完全随机的。由此出发,他着手并破解了彩票的秘密,用他的方法去选彩票,成功率高达90%!!

这位大叔在随机的彩票上实现了90%的中奖率

大神请收下我的膝盖。。

莫汉大叔就这么赚了一段时间奶粉钱以后,觉得天天去彩票兑换点取钱有点无聊了。于是他买了20张他认为可以中奖的彩票,写了一封信去嘲讽安大略彩票公司:看看看,哥用脚都能碾压你。


结果这20张彩票里中了19张,第二天tic-tac-toe产品就全面停售。那个简单使用了rand()函数把数字打乱的临时工怎么也不会想到,跑跑程序以为随机的结果居然有这么大的规律性。

计算机是如何产生随机数的?

当然甲勾今天不是来教你怎么破解彩票的,而是想去挖掘一下到底我们周围的世界能有多随机,我们先来看看程序猿们天天打交道的rand()函数。

计算机是由程序构成的,而程序由一开始就代表的是确定性。0和1的世界,非黑即白。要一段程序产生它所无法预测的随机的数字,就像要万能的上帝出一道它自己不会做的题一样。

这位大叔在随机的彩票上实现了90%的中奖率

悖论!奇点偶遇已经开始讲传说中的悖论了吗?!

我们人类还是很聪明的,想到了利用时间这个永恒变化的值作为种子,通过读取系统时钟,然后在它基础上进行各种复杂运算比如最常见的线性同余法,就可以得到随机性很高的随机数。几乎所有编程语言的内置随机函数都是类似的原理。听上去似乎没有什么问题,任务完成!

这位大叔在随机的彩票上实现了90%的中奖率

但是不管使用的是什么方法,因为初始条件是确定的(一个时间,一个种子,一种算法),所以理论上“随机”的序列也是确定的,而且总会在N个数以后进入循环,这样产生的随机数我们把它们称作伪随机数

这位大叔在随机的彩票上实现了90%的中奖率

根据PHP/Windows里rand()函数结果作出的位图

上图是让rand()函数随机产生0(白点)和1(黑点)然后作出的位图。很显然可以发现里面有一些

模式和周期,通过分析,就会有被找到规律的风险。好了,我知道有些同学开始琢磨FGO五星从者的最佳出货时段了,没错,你可以把这段话理解成时间玄学的理论依据。

虽然伪随机数至少看上去还算挺随机的,但是在要求很高的系统如开头的彩票系统面前非常脆弱。而如果我们用这样的伪随机数产生密钥进行加密用于战争,一旦被敌方间谍破译,后果岂不是不堪设想?

这位大叔在随机的彩票上实现了90%的中奖率

Nuclear Launch Detected !

随着现代计算机算力的爆炸式成长,各种算法发明与破解的战争也愈演愈烈。计算机伪随机的本质是一个绕不过去的障碍,尽管很多破解只存在于理论中几乎没有可操作性,但是只要是算法,就有机可趁

好在世界上还有那么一群人,他们在信息世界里近乎偏执地追求不可预测,无规律可循的真正的随机性。他们采用了超越计算机算法的方式产生随机数,他们就是:

这位大叔在随机的彩票上实现了90%的中奖率

在介绍他们和他们的方法之前,我们先来思考一个问题:什么是真随机?

什么是真随机?

真随机,就是真正的随机,宇宙混沌的本质(以下省略一万字)。。

这位大叔在随机的彩票上实现了90%的中奖率

先来看看人类的行为。我随便看看,我随便写写,可能会觉得凭空就能编出一堆非常随机的数字,因为我们有自由意志

,并不像计算机一样被程序约束。那么我们能不能靠人力产生真随机数呢?

于是甲勾本着科学钻研的精神,试着写了一串100个0和1的组合,同时让random.org网站上的真随机数发生器也产生了一串100个0和1的组合,利用“随机性检验器”来根据数字,模式,和连续数字的长短进行概率分析以判断随机性。

这位大叔在随机的彩票上实现了90%的中奖率

人类可以创造真随机性吗?

可以看到最终我的序列随机性偏差达到了-0.32,有非常明显的人工痕迹。而网站生成的序列随机性偏差是完美的-0.03,这到底是为什么呢?(个性奔放洒脱不信邪的朋友可以在文末二维码下方找到链接,自己尝试一下)


首先,人类无意识地会对过往的经验产生短时记忆,随机性要求每一个数的产生都是独立的,而人类给的数必然会因为短时记忆而产生相关性。比如我打了几个1以后下意识地就会换成0,从而让我的“样式”数也就是0和1转换的次数严重超标,而“最长连续数字”又不够长。

这位大叔在随机的彩票上实现了90%的中奖率

电影“记忆碎片”剧照,主角没有短时记忆

其实,我们事实上并不了解什么是真正的随机性。还是以上面的例子来说,我直到现在也不知道为什么只有40个1和60个0看上去偏差这么大的数列在统计上随机性偏差却只有-0.03?这种认知的缺失让我们就算想有意识地创造随机性,也无从下手。

这位大叔在随机的彩票上实现了90%的中奖率

这家伙说不定机会还大些?

再者,我们的行为是模式化的。每个人都有每个人行事的套路和习惯,这种也是下意识的产物而很难克服。比如条纹猫可能因为以前玩游戏引怪引多了,打了11后面必定会跟一个0,在她写随机数的时候,这就会变成她的一个固有样式时常出现,从而降低序列的随机性。

这位大叔在随机的彩票上实现了90%的中奖率

都是套套套套套路

所以人脑这条路也是走不通了。是不是无计可施了呢?最简单的答案其实就在我们身边让我们再研究一下扔硬币。从理论上看,假设我们知道弹硬币的确切位置,力度,方向,手离地的距离等等所有相关物理量,我们可以根据物理定律推演出硬币落地是正是反。

但是仔细地想一想,理论归理论,在现实世界中影响要素太多了,而且无法精确控制,光姆指动一动这个动作就要牵涉到大量肌肉和神经的活动,而这些肌肉神经活动又由构成它们的物质之间的物理定律决定,要充分计算出确定性是非常不现实的。所以我们身边的很多物理现象,在某种程度上可以认为是真正随机的。

这位大叔在随机的彩票上实现了90%的中奖率

布朗运动:悬浮微粒所作的永不停息的无规则运动

真随机数就是把现实物理现象(扔骰子,粉尘移动距离等等)通过某种装置导入计算机作为算法的种子,从而得到能代表现实世界中无规则现象的随机数。当然,具体怎么选择要使用的物理量是非常有讲究的。

比如我们不可能选择扔骰子,因为那可能需要雇1000个大学生24小时在那里不停地扔才能满足全球人民对随机数的需求。我们也不可能记录粉尘移动的距离因为太难测量。random.org 用来做真随机数发生器的是:大气噪音。

这位大叔在随机的彩票上实现了90%的中奖率

大气噪音:自然界雷暴活动所产生的电磁辐射

真随机数的产生与控制

大气噪音是非常容易探测的,用简单的无线电就可以接收到。random.org 使用大气噪音振幅的微弱变化作为随机数的来源。可以想像,随时在天空中发生的雷暴活动产生的电磁辐射,强度不同,时间不同,又可以互相叠加。听上去的确非常非常随机!

接下来的事情就比较简单了,我们把得到的振幅变化量作为种子输入计算机,再由计算机进行同样的伪随机数运算,就可以得到质量非常高的随机数。大家可以比较一下这张图和前面rand()函数生成的图。这是硬件触发的真随机数哦,反正我是看了半天没看出啥规律来。

这位大叔在随机的彩票上实现了90%的中奖率

根据真随机数发生器的结果作出的位图

这位大叔在随机的彩票上实现了90%的中奖率

伪随机
放一起看看

同时,作为这么一家专(dan)业(teng)的机构,他们采取了一系列措施以确保这个机制万无一失。比如为了针对假想中的电磁攻击,有人用稳定频率的电磁波试图干扰接收装置(我很怀疑谁会攻击一个随机数生成器......),他们一共使用了九台分布在三个地方的接收器,然后对这些信号进行同步校正。所以如果要发动随机数打击,必须同步干扰或摧毁分布在爱尔兰和荷兰不同地点的接收装置......


这位大叔在随机的彩票上实现了90%的中奖率

这还不够。他们会通过实时监控这样的图表,设置各种报警条件,来控制读取到的信号和产生的随机数的质量。

这位大叔在随机的彩票上实现了90%的中奖率

想像一下你的工作是每天盯着这些随机的图表

事情做到了这个份上,加上大量概率论和统计学理论的支持。无论从物理角度还是数学角度,我们似乎已经成功得到了真正的随机数。但是,所有学科的老大哥哲学跳出来说,还没问我的意见呢。

这位大叔在随机的彩票上实现了90%的中奖率

百年前爱因斯坦和玻尔的争论延续至今 - 世界是不是决定的?

决定论 vs 量子力学

决定论认为世界是确定的。基于物理定律和基本粒子组成的物质,理论上世间万物的变化都可以通过计算得出而并不存在随机性。我们认为的随机现象,难道只是因为我们计算能力的不足而造成的错觉吗?

如果决定论是正确的,那我们仍然没有找到真正的随机数,因为不管大气噪音也好,扔骰子也好,甚至我们现在在讨论这个问题,都是早就注定好的。

这位大叔在随机的彩票上实现了90%的中奖率

世间万物真的全部是确定的吗?

另一方面,上世纪初发展起来的量子力学告诉我们世界是不确定的。当我们的研究进行到亚原子量级的时候,我们发现世界的本质就是概率。那个世界里的一只猫可以是死的而同时又是活的(薛定谔的猫)。如果世界如量子力学描述的那样,那么我们见到的一切宏观混沌的现象,可能背后就是真正的随机。我们的旅途也就到此为止了。

这位大叔在随机的彩票上实现了90%的中奖率

我只是个小宝宝,我什么都不知道

“甲勾那我们周末到底吃什么?”

“随便吃什...... 不!等等让我上random.org生成一个

·随机数......99!吃泡面!”

“¥¥&#&!!”

“话说你上面那串符号也不是很随机呢......”

“好了差不多了你,还没完没了了......”

你对随机现象怎么看?

是决定论,还是混沌?

欢迎留言告诉我们。

关注我们,不错过更多精彩内容。

感谢阅读,本文由“奇点偶遇”发布,欢迎关注。

这位大叔在随机的彩票上实现了90%的中奖率

随机数位图:来源 random.org

随机性检验器 - 工具和原理说明:http://faculty.rhodes.edu/wetzel/random/mainbody.html#imagine


分享到:


相關文章: