距离《集合啦!动物森友会》发售已经过去两个月了,想必大家岛上的村民也或多或少地更换过了几次。我自己作为玩家也从游戏发售之初的社交焦虑渐渐走了出来,开始了随缘的无人岛生活。
虽然嘴上这么说,偶尔看到一些非常合自己胃口的村民还是有些心痒难耐。心想是不是应该肝一肝,刷刷自己想要的村民。
不过肝村民需要多大的代价呢?网上冲浪的过程中难免会看到“几票抽村民”的视频或者帖子,一个想法冒了出来——假如完全靠无人岛来刷某个村民,我需要准备多少张机票呢?
在游戏中,每位玩家的岛上都有十个空地供村民居住。如果玩家岛上还有没有出售的空地的话,玩家可以利用“狸程旅行券”(俗称“机票”)去无人海岛旅行,每次旅行都会随机碰到一位可以邀请上岛的村民。这样,为了碰到自己希望邀请到岛上居住的村民,玩家可以不停地重复进行无人岛旅行。整体来看,反复登岛刷村民这个行为就是个从村民库这个大卡池里面“抽卡”的过程。以下所有的“刷村民”都可用“抽卡”替换。
虽说在与村民的朝夕相处中,我对小岛生活难以避免地代入了丰富的主观情感(这也是《动森》的迷人之处不是么),但是游戏毕竟是程序,一切机制的背后都是确定写好的代码。在决定开肝之前,让我们抛开玄学,先来计算一下“几票出XX”这个问题吧。
想要计算概率,我们总需要一些基本信息。由于我没有解包过游戏,不妨让我们基于简单的假设,先做一些准备:
从wiki站上了解到,在本作《动森》中,一共有391位村民。
假设每次登陆无人岛,邂逅的村民都是从岛上没有的村民里完全随机地选择一位。当然这不一定准确,根据某些讨论,游戏本身可能会倾向分配玩家岛上没有的性格。不过让我们暂时忽略这点,这并不会影响我们的计算方法。
假设玩家岛上已经有9个村民,则无人岛上遇到的村民会从剩余的 391-9=382 个中随机选取,这样我们就有了目标岛民的出现概率(或者称为单次成功率) p=1/382。
在刷无人岛的过程中,我们假设,玩家在遇到目标村民前不会邀请其他村民(见异思迁是不对的狸)。
明确了以上几点,那几次才能遇到某村民的问题就简化为了一个几何分布求期望值的问题。
为了帮助不熟悉概率论的读者理解上面这句话,我们可以用喜闻乐见的抛掷硬币实验来简单解释一下:
几何分布是一种常用的离散型概率分布。下面让我们来做一个实验——如果反复抛掷一枚硬币,直到出现正面才停止,那么对于这个总的抛掷次数 n,我们可以得到一个概率:
其中1/2是我们获得正面的概率(成功率 p),(1-1/2) 是获得反面的概率,这就是一个典型的几何分布应用场景。
现在让我们计算一下,如果反复进行这种抛掷硬币实验,那么平均多少次才会出现正面呢?或者说,我们对 n 的一般预期是多少呢?这就自然而然地引入了期望值的概念,被定义为所有可能的结果及其对应概率的乘积的总和。
这很符合我们的直觉——也就是说如果我们很无聊地不停做抛掷硬币这个实验,平均来说每次实验只要抛掷两次就能出现正面了。
当然我们不需要每次都这么麻烦地求和,对于几何分布的概率和期望值,我们只需要代入公式就可以了:
有了上述知识,计算刷村民的过程就简单了,我们只要把单次的成功率 p 换成 1/382 就可以了。
382张这个数字,是让你心灰意冷,还是充满希望呢?在开肝之前,有必要对如何解读这个期望值做一些探讨。
前面已经讲过,期望值的意思是,多次重复试验后,我们对n这个变量的平均值的估计,而不能诠释为只要刷够了382张就一定能碰到目标村民,也不能诠释为刷382张成功的概率很大。事实上盲目的以期望值作为参考很大程度上会让我们感到失望。为了能更直观的理解这段话,让我们来计算一下我们用382张或者更少机票就能碰到目标村民的概率 ,也就是把 n=1 到 n=382 的概率求个和:
也就是说,在一次刷刷刷过程中,有大约0.37的概率,我们需要比382张更多的机票才能刷出目标村民。看到这里,你的动力还在么?
道理我都懂了,但是此时此刻我还是想相信玄学。显然我不能找足够多的肝帝来陪我做实验,让我自己去肝也是不可能的,况且自己肝的结果完全没有统计意义。这种时候就不妨来用计算机程序做个简单模拟吧,程序的逻辑很简单:
设置一个循环,每一次循环中生成1到382之间的随机整数,如果随机数等于1,那么视为刷到了目标,结束此次循环,记录循环执行的次数 n。这样就完成了一次实验。
因为实际模拟中不可能无限循环,所以设置一个循环次数上限5000,如果不能刷出1则抛弃这次实验。(可怕么?但是 5000+ 次也刷不到的可能性是切实存在的)
反复上述过程100,000次,以此模拟十万名肝帝一起肝村民的场景,最后计算下 n 的平均值。
嗯,符合我们的预期。那么为什么我们会遇到死活刷不出来的情况呢?这就要看看这十万次实验中,n 的统计分布了。
熟悉概率分布的读者估计已经一眼认出这就是几何分布了。横轴是刷机票的张数,纵轴是十万次实验里,在某机票数区间内成功刷到目标村民的实验次数,虚线是平均值382。可以看出,虽然足够幸运的话,我们完全可以用较少的机票数实现目的,成为红色区域内的一员。但是残酷的现实是,我们也有很大可能属于那条长长的绿色尾部——也就是说,刷到天荒地老也一无所获。
一个不幸的事实是,人类作为一个物种对于“随机性”这个概念的本能认知是非常有限的。现在请凭借直觉回答下面的问题
请问在一次N票刷村民的实验中,恰好第几票抽中的概率最大?
这看起来似乎有违直觉,但是事实上只要经过简单的计算就能理解。
这也就是为什么在上述程序模拟实验中,我们看到峰值在图表的最左侧。大家常说的“欧皇”们就是在这个区间内。当然了,即便说“最大”,这个概率也只有可怜的 1/382。
概率论的有趣之处就在于它经常能给出一些反直觉的结论,但是作为人类,经验归纳式的思考模式让我们经常难以客观地看待“随机性”这个概念。比如说,让我们随机写下一串数字:
下面这串数字,比上面的“更随机”么?并不是,如果真的随机产生十个数字,下面这串数字出现的概率并不比上面这串数字更高。每一种随机排列的出现概率都应该是均等的。
但是我们的直觉总会让我们倾向认为第一种排列不可能。当然,如果计算一下概率,我们可以说,“十个数字都一样”的概率比“十个数字都不一样”的概率要低,毕竟十个数字都不一样的组合要更多一些。但这并不意味着,出现十个1就真的是玄学显灵了。
很多时候,我们见到的“随机”并不一定是真正随机的,很可能增加了一些人为的调整,比如几抽后必中,来让我们感觉“这很随机”。但是《动森》的刷村民似乎并不属于此列,这种“真随机”,有时候是很恼人的。
当然,《动森》很可能是会有相同村民不会在几次抽卡内重复出现的机制的,毕竟这种情况会大大影响玩家的“随机感”。不过,即便有这种机制存在,玩家的单次成功率也并不会提高太多就是了。
所以,当你一千票也一无所得的时候,不妨拜拜概率论的奠基人吧,反正这种时候干什么也不会影响下一票的成功率的。
前面提到过,《动森》无人岛的村民刷新机制可能受到岛上已有村民的影响。但是没关系,所有这些因素只会影响对成功率 p 的假设。我们依然可以用同样的方式来进行计算。
简单来讲,就算成功率从1/382 提高到1/100,平均来看也要100票才能刷出来。
推而广之,只要是“真抽卡”,即每次抽卡的抽取成功率都是一样的,而没有几抽必中的补偿机制,我们都可以用几何分布来估计一下自己要肝多少次这个问题。至少,《动森》的随机性似乎是相当公平的,缺少了对“随机感”的补偿,直觉上反而容易让人觉得相当玄学。
实际应用中,比起我们刚刚讨论的那种“第几次成功概率最高”的问题,其实“几次内成功的概率是多少”这个问题更加实用一些,也就是我们在第三小节所做的那种概率求和运算。
为了省去大家求和的麻烦,我们可以利用一些现成的 Web 应用,比如点击此处。 现在我们假设自己要抽一个掉落率 0.001 的SSR,那么在 100 次内成功的概率就是:
对于《动森》来说,我们还可以试着算一算多少鱼饵能出金鳟,几铲子才能铲出尚未馆藏的化石这样的问题。只要把自己估计的成功率和预计次数代入公式就可以了。
不是鱼露,是鲈鱼哦!有几厘米?几厘米啊?
对于其他的抽卡游戏,虽然几何分布不完全适用,但我们也可以用它来简单算一算自己大概需要多少次才能抽中目标,或者在抽卡失败的时候算一算成功率究竟有多低来安慰一下自己。而对于游戏设计者而言,这些计算就比较适合用来估算多少次应该增加一次保底抽卡以防激怒玩家了。当然,抽卡游戏的数值设计是个更复杂的话题,超出了笔者的知识范畴,在此不多做展开。
本篇从《动森》出发闲扯了一些简单的抽卡概率讨论,希望能以此抚慰一下刷村民刷得暴躁的玩家的心。毕竟比起《异度神剑2》里面令人绝望的抽卡体验(KOS-MOS已经云过了,就当自己抽过了),《动森》里不分稀有普通的刷村民机制已经足够善良了(各种意义上),不是么?
当然,个人而言,计算完了概率之后,我只能说自己愈发坚定了佛系动森的决心。村民们来来往往,和哪一位的相遇,不是缘分呢?
Fandom Animal Crossing Wiki:居民名录
评论区
共 39 条评论热门最新