伪随机的上位和真随机的逆袭

转载前必须经过作者同意。

生活中到处都充满了“随机”的概念:抛硬币、抽签、彩票、游戏、歌曲随机播放等等,但事实上有许多所谓的“随机”只是“伪随机”,只是让人感觉起来像是随机。就像我们的眼睛很容易被视觉错觉欺骗,我们关于“随机”的直觉其实也挺不靠谱的。

一、游戏掉宝率和伪随机

二、iTunes的歌曲随机播放

三、抛硬币和教授的“读心术”

四、Benford法则和彩票(有致富信息哦~)

五、"Guardians of the Randomness"——“随机护卫队”


先来说说那些伪随机逼死真随机的故事吧,真是既悲伤又欢乐啊。

一、游戏掉宝率和伪随机:

几乎所有游戏都带有“随机性”,而游戏中最常见也最常被讨论的随机事件就是掉宝,也就是打完怪有一定几率爆出各种不同的宝物。而掉宝就是个很典型的随机事件,一般来说每个怪的掉宝率是固定的,比如一个怪有1/1000的几率掉A物品,1/100的几率掉B物品之类的。一般越稀有越值钱越有用的物品的爆率就越低。

虽说1/1000或1/100这样的爆率看似很简单,但实际上很多人是有认知盲区的。

大家可能都听到过有人这样抱怨:“妈的不是说1/100的掉宝率么,老子都刷了300次了还没掉,骗人的吧!我听说有人总共只打了两次就掉了两次,尼玛不科学啊!” 其实这太科学了。

一些人以为“百分之一的爆率”就意味着我打一百次就差不多该有一次能成功。但其实,打100次爆率为1/100的怪能够至少掉一次宝的概率只有1-(1-0.01)^100=0.634,也就是说36.6%的玩家打100次也没能掉一次。事实上,13.4%的玩家就算打满200次也没结果,4.9%的玩家打满了300次还是悲剧。

而另一方面,玩家们又经常会听说有某个人总共只打了两次,结果两次都掉。这概率有多少呢?如果从个体玩家角度看,这样的概率是1/10000,确实挺小的。但问题是我们“听说”这样的事件发生的概率是针对一个人群而言的,而不是个体。假设你在游戏里认识50个其他玩家朋友,而这50个玩家又各自认识50个玩家朋友,那么你所认识的朋友和朋友的朋友就有2500(假设你50个朋友的圈子没有重叠),而这2500人就构成了你最基本的小道消息网络。那么在你的朋友和朋友的朋友中出现一个“打两次掉两次”的神人的概率是多少呢?是0.222,也就是有超过20%的概率你的一级和二级朋友圈会出现一个1/10000的小概率事件。

如果这个游戏总共有10万玩家,那么就有99.995%的概率会出现至少一个“打两次掉两次”,9.5%概率出现至少一个“打三次掉三次”,而同时,如果每个玩家都打满1000次,那仍然会有64.9%的概率出现一个就算打满1000次也还是悲剧的衰神。总之,一个对于个体的小概率事件在人群中出现的概率往往是很大的。比如知乎去年的世界杯竞猜,好像有人连续十几场猜中,然后大家纷纷膜拜“大神”。我不知道那位用户究竟是靠运气还是实力,但其实就算是一群猴子在猜,只要基数大到一定程度,也是很有可能会出现一个“神猴”的。

虽然这些事背后的原理其实还挺简单的,但偏偏很多玩家无法理解或懒得理解,于是游戏设计者们就整天被一群愤怒的、嫉妒的、坚信“游戏不公平、不科学”的玩家骚扰、差评、威胁。所以许多游戏的掉宝原理的设计到最后都被迫妥协,并不是真随机,而是某种伪随机,人为削弱某些小概率事件的可能,给玩家们营造一种“随机”的感觉。然后之前那些愤怒的玩家们纷纷表示:“这不就行了吗?这才叫真的随机好吧。设计这游戏的简直数死早,还要我们玩家来帮忙。”

伪随机逼死真随机,玩家逼死游戏设计,就是这个意思。

更多关于游戏中的伪随机,请看@曾于修为什么有人说《暗黑破坏神 3》中的随机是「伪随机」? - 曾于修的回答



二、iTunes的歌曲随机播放:

躺枪的不只是游戏,还有苹果。最开始iTunes上“随机播放下一首”的功能用的是真随机,随到哪一首就放哪一首呗。但这想法实在是太年轻了...

苹果很快就收到了大量的投诉,说“我明明用的是随机播放,怎么会连续播放两首一样的呢?!你这随机功能肯定是坏的!差评!” ...“我放了4首歌,结果出现了两首歌交替出现,ABAB这样,非常有规律,苹果你耍我呢?!”

唉,真可谓“概率不学好,生活多烦恼”...跟上面游戏的例子相似,这类事件其实完全有可能,而且概率并不小。

如果歌曲列表里有20首歌,那么听完一首歌后马上又随机到同一首的概率其实就是1/20,也就是说你听2小时歌(假设每首平均5分钟),那么至少出现一次连续两首相同的概率是0.708,至少出现一次ABAB的概率是0.058,都还挺高的。这还只是听2小时而已,如果听2000小时,那么出现ABABAB的概率也高达0.139

听说苹果当时还专门发表了一个声明,解释出现这种现象的原因,表示这不是随机播放功能出了问题。但这想得实在太简单了...

最后苹果还是用了伪随机,禁止连续随机到同样的歌,甚至禁止出现一些诸如ABAB,ABCABC之类的常见序列。

不得不通过把“随机”变得不“随机”来让用户觉得这“随机”很“随机”。人脑的认知真是很呵呵啊...


三、抛硬币和教授的“读心术”:

听说有个概率论教授有一次把班上的学生分成两组,其中一组抛一个硬币100次,然后如实记录每一次的结果。另一组,教授不许抛硬币,而是让他们编出100个“尽可能随机”的抛硬币结果。实验过程中教授会走出教室,两组学生不能够互相交流。然后教授告诉大家,他到时只需要看到两组结果就能猜出哪一组结果来自真实的抛硬币,而哪一组是编出来的。学生自然不相信,不都是随机序列么,怎么可能看出区别?教授这是欺负我们智商?于是第二组的熊孩子就干劲十足地开始编,想把结果弄得看起来非常随机,从而混淆教授。下面是最后的两组结果,大家先猜猜哪一组是编的?(我这里直接借用了@chenqin数字被修改了吗? - Clean Data - 知乎专栏里的例子 )

序列1:


tthhhhhtthhhhtthhthhhtthhhhttththhhtthhhhhhtthhhhh
htthhthhhthhhhthhththtttththtthhtthhhhhttthhththtt

序列2:


hthtthhtthtthhhthtthtttththhthhththhhhthhtthtththh
hthhhthtththhhthttththhthhhthththhhhthhthttththhth

教授一眼就看出了正确答案:第二组是编的,第一组是真实的。为什么呢?因为第一组出现了连续6个相同的结果,而第二组的看起来更“杂”更“乱”一些。第二组学生的直觉告诉他们,“随机就是乱、没规律”,于是他们肯定不敢编出有连续五个六个相同结果的序列,因为这看起来“太有规律”了,“不够随机”,“看着太假”。但事实上(根据@chenqin 的计算),抛100次硬币,至少出现一次连续6个相同结果的概率超过80%,至少出现一次连续5个相同结果的概率超过90%. 所以熊孩子们想把序列弄得“尽可能随机”的心理恰好中了教授的圈套,他们直觉上越“随机”的序列往往反而不是那么“随机”。于是教授成功带领真随机逆袭啦~

这其实跟之前的歌曲随机播放例子里的逻辑很像,只不过教授是反向利用了这种认知模式和错误直觉。抛6次硬币出现6次相同结果的概率很小,但抛100次出现这样情况的概率就很高了。

其实类似的错误直觉在各种牌类游戏和赌博中也很常见。许多大家平时总结出来的“规律”,一些牌桌上的顺口溜,都不一定准确。

还是拿抛硬币举个例子,比如你和小伙伴赌抛硬币,假设已知这个硬币是公平的。之前已经连续抛出10个正面,那么接下来一次还是正面的概率是多少?有些人会想“连续11个正面的概率也太小了吧,下一个总应该是反面了吧?”这种思维模式确实有迷惑性,但只要硬币是公平的,只要每次抛硬币是独立事件,那么不管之前出现了多少次连续正面,下一次还是正面的概率还是50%. 这种心理很容易在赌徒身上出现:我今晚连输30把了,一晚上全输的概率也太小了吧,我接下来肯定要开始赢了!...

相关的讨论有很多,比如在抛了100次硬币以后连续出现100次正面,那抛101次是不是反面概率更大? - 数学题

更多关于牌桌上的错觉,请看@段昊打麻将的时候,为什么会有连续一段时间运气特别好的现象? - 段昊的回答


四、Benford法则和彩票:

我要是说“买彩票是有技巧的”,大家肯定会说我民科。不过用真随机数买彩票,虽然不能帮你提高彩票中奖的概率,但也许能帮你提高中奖的奖金数额。听我慢慢解释:

彩票的中奖概率是无法通过“技巧”或“研究”改变的,这点很多人都解释过了:彩票有规律可循吗? - 概率

但是大多数人都忽略了彩票中奖金额这一维度。对于许多彩票,中同一个号码的人越多,分奖金的人也越多,而每个人分到的奖金也就越少。另一方面,虽然中奖号码的产生本身是真随机,但人们买的号码往往不是随机的。如果把所有人买的号码放在一起做统计,那么0-9这些数字出现的频率会有很大的差异,有些数字被买的次数会明显高于其他一些数字。也就是说,当那些出现频率较高的数字真的出现在中奖号码中时,中奖人数就会比较多,每个人分到的金额就少。这主要有两方面原因。

首先,人们对数字有各种迷信,一般中国人会更喜欢6和8这些数字,而避开4,如果在一些西方国家,人们喜欢7,忌讳13。而买彩票时一些人也会想要一些带6和8的号码来“讨彩头”,但结果这些“幸运号码”反而让他们的收益期望值降低。这就跟出生年份的分布有点相似。大家应该都听说过龙年虎年出生的小孩特别多,而什么鸡年狗年出生的孩子相对少一些。“龙宝宝”、“虎宝宝”听着吉利,但等到小孩要升学、高考、考研、就业时面临的竞争对手也就多了,到这时候不管是再好听的“龙”还是“虎”都没半点用了。

其次,许多人都会用一些“有意义”的数字买彩票,而最常见的就是日期,比如生日、纪念日等等。而这些日期中包含的数字是绝对不随机的,而且是高度可预测的。这里就要提到Benford法则了。Benford法则粗糙地说就是,在现实中的10进制数据中,以1为首位数字的数的出现频率最高,9最低,中间的数字依次递减。而且这种差异非常明显:

我自己对日期中出现的数字频率进行了统计。严格来说不是Benford法则,但原理应该很相似。在01.02,12.25 这样形式的日期中:

其中0,1,2三个数字竟然占到了66.9%,也就是如果大家都用日期买彩票,那么0,1,2三个数字被买的次数会超过剩下的7个数字总和的两倍还多。这种不随机的程度还真是挺夸张的。

所以,我猜在中国人买的彩票里,0,1,2出现次数最多,3,6,8其次,而4有可能是最少的。所以如果想要避开其他彩民的竞争,应该尽量避免0,1,2之类的数字,然后产生真随机数,这样也许可以最大化收益。于是,真随机似乎又逆袭咯~

这里有三个声明:

1. 以上只能算是一点理论,还需要真实数据验证,所以买彩票亏了别找我哦...

2. 当然按我的方法买彩票赚了的话可要千万记得我哦~

3. 其实就算用这种方法,买任何彩票的期望收益率仍然是负的,所以大家随便玩玩就好。

更多关于Benford法则的介绍请看@chenqin数字被修改了吗? - Clean Data - 知乎专栏


五、"Guardians of the Randomness"——“随机护卫队”:

The generation of random numbers is too important to be left to chance.

Robert R. Coveyou

Random numbers should not be generated with a method chosen at random.

Donald Knuth

就像“银河护卫队”一样,这是一群有点逗逼又有点牛逼的人,他们默默地守卫着:嗯,“随机”。小标题里的名字是我给他们取的,他们的真名叫RANDOM.ORG,也就是他们的网址。这其实是一个很正规的组织,是由爱尔兰都柏林三一学院计算机科学和统计学院的Mads Haahr博士于1988年创建的,现在已经升级为有限公司了,曾被各大媒体报道过,甚至还被十几篇顶级期刊发表的论文引用过,至今它累计已经提供了超过19万亿次随机生成相关服务了。

RANDOM.ORG旨在提供最优质最科学最随机的随机数生成及衍生服务。他们提供的免费服务包括:随机数、数组、字符、序列生成,随机正态分布生成,机选彩票,抛硬币,掷色子,洗牌器,随机打乱顺序,随机生成时间、日期、密码、地理坐标、DNA序列、纯净白噪音等等,从娱乐到学术都有。当然他们还有付费服务:第三方认证的抽签,为非常重要的抽签提供最高纯度的随机性。

很多人会问:生成个随机数还有好坏优劣之分?严格来讲的确有。

我们的各种电子设备需要生成许多随机数,但绝大多数的这些随机数生成都是“伪随机数生成”(PRNG),而RANDOM.ORG是世界上少数几个提供“真随机数生成”(TRNG)的机构。“伪随机数生成”是运用一套算法,将一个初始数值/序列等转化为看似非常随机没有规则的结果。对于99.9%的应用而言,这些“伪随机数”其实也完全没问题,但对于一些科学研究、一些专业博彩机构、一些涉及加密和信息安全的应用,“伪随机数”从理论上讲是决定性的,可预测的,周期性的,这也就会带来各种隐患,因为如果知道了初始值,知道了具体算法,就有理论上的可能还原出完全一样的“随机数”。而各类“真随机数生成”一般会使用一些无法预测和控制的自然现象来生成随机数:元素的某些随机衰变现象、环境噪音等。这些方法背后的理论基础就跟量子理论和混沌理论有关了。RANDOM.ORG使用的就是环境噪音。当然,“真随机数生成”的效率是远低于“伪随机数生成”的,这也是为什么RANDOM.ORG对每个IP每天免费生成的随机数是有限制的,大约是122kb左右。

RANDOM.ORG甚至还有针对黑客和恐怖袭击的应对措施...他们的设备分布在多个大洲的多个国家的隐秘地点,所以黑客或恐怖分子必须在所有地点同时用特殊仪器发起攻击才行。但即使是这样,RANDOM.ORG还有对应的内部监测和防御机制,简直酷炫,对得起“随机护卫队”的称号。不过不知为啥读到他们这段说明时总有种浓浓的中二感......

关于“真随机数”的科普和“真随机数”的重要性,请看RANDOM.ORG - Introduction to Randomness and Random NumbersRANDOM.ORG - Statistical Analysis

大家还可以在这里看看各个领域的用户们是如何创造性地使用RANDOM.ORG的:RANDOM.ORG - Testimonials,除了之前提到的比较正经的,还有用来艺术创作的,用来制作白噪音提高睡眠质量的,用来提升夫妻生活质量的,用来拯救选择障碍症晚期患者的,还有跟中国的《易经》一起用来算命的...总之深受又认真又geeky的神经病的欢迎。

我最初知道这个网站是通过我们系管电脑的大叔。他这人完全就是个活生生的computer geek的刻板印象。有一次我们系开会讨论个事,中途需要决定一个日期/数字(记不清了,反正不重要),于是大家说:那我们就随机选一个吧。听到“随机”这个词,本来在思考人生的大叔突然被激活了,特别严肃地对大家说:“等等”。我们还以为他要发表什么重要观点,结果只见他打开电脑,登上random.org,生成了一个符合要求的随机结果,然后在全场的注目礼中继续思考人生,like a boss......从此大家在他面前不太敢用“随机”这个词了...

总之,RANDOM.ORG是一群认真、执着、洁癖但又有些可爱的人二十多年来共同努力的结果。希望大家优雅地使用。


我们生活中充满了跟“随机”相关的事物。有时伪随机逼死真随机,有时真随机又能逆袭,有时伪随机更实用,有时真随机能致富。这事儿还真是“随机”呢~

这里有两个YouTube视频,科普了一些很有意思的关于“随机”和“非随机”的话题:youtube.com/watch?youtube.com/watch?

------------------------------------------------------------------------------------------------------------


大家有兴趣还可以看一下@舒乐乐 这个回答:为什么所谓 50 年一遇、百年一遇的自然灾害几乎年年发生? - 舒乐乐的回答,跟我的文章的第一第二部分也有些关系。本来我也想写的,但刚好看到了这篇,觉得写得蛮好的~

我偶尔还会继续写一些跟概率、统计有关的科普猎奇小文章,下一篇应该叫《廉价的巧合》。有兴趣的话可以关注一下专栏~

编辑于 2016-04-11 12:46