专栏名称: Something about Everything
目录
相关文章推荐
湖北省教育厅  ·  看!我省中小学精彩大课间(五) ·  2 天前  
北京这点事  ·  北京:推进汽车以旧换新政策初见成效 ·  2 天前  
北京这点事  ·  北京:推进汽车以旧换新政策初见成效 ·  2 天前  
湖北省教育厅  ·  教育部公布这一活动结果!湖北多所高校入选 ·  3 天前  
湖北省教育厅  ·  教育部公布这一活动结果!湖北多所高校入选 ·  3 天前  
北京吃货小分队  ·  接下来的一周,北京有好玩的了 | 北京LOOK ·  3 天前  
最爱大北京  ·  周杰伦方紧急声明! ·  3 天前  
51好读  ›  专栏  ›  Something about Everything

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

Something about Everything  · 知乎专栏  ·  · 2015-01-08 20:38

正文

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

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

一、游戏掉宝率和伪随机

二、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最低,中间的数字依次递减。而且这种差异非常明显:







请到「今天看啥」查看全文