注意:本文相关数据均基于游戏公开的概率进行的计算,需要在满足游戏没有进行暗箱操作的前提下才成立。至于是否有暗箱操作,相信大家看了这篇文章以后应该会有自己的判断。
今天咸鱼之王出了一个春雨的活动,相信有不少的小伙伴也参与其中并拿到了一些奖励。这个活动里面有一个依靠春雨修建春雨通道,让蜗牛通过春雨通道获得对应的奖励。当走动的蜗牛达到一定数量时,玩家可以领取一些特定的奖励,如下图所示。
在这里面,游戏公布了各个格子得到春雨的概率以及该玩法的规则。那么有小伙伴就会关心这样问题了:我们大概需要多少春雨才能获得最终奖励五星专属鱼?纯白嫖有多大可能性获得专属鱼?(本文也是基于活动五星专属鱼的可能性展开的)有些玩家说需要6k到7k氪度才能获得,从纯理论角度分析是否如此呢?
(以下部分难度较高,理解不了可以跳过直接看结论)
在默认游戏提供的数据是真实的这一前提下,我们理论上来说可以依靠这些数据算出获得专属鱼所使用春雨次数的概率密度分布函数p(x)。但是对于一个概率分布并不均匀的5×5的方格来说,这个概率的计算会非常困难,因此我们需要寻求其它的方法来推测。
这里我们可以使用蒙特卡洛算法(以下简称MC),通过模拟实验的方法,来分析获取专属鱼的难度。在模拟某个玩家的情况时,对于使用一次春雨来说,我们可以先产生一个随机数,然后让随机数与对应的概率相联系,求得这一次使用后春雨会落在哪一个格子上。反复进行这样的操作,直到打通所有通道,并记录使用次数。在模拟的过程中,我们先不急着考虑400次阈值中断的问题,并且默认玩家拿到专属鱼以后就停手。
通过以上操作,我们就可以得到这一个玩家需要使用多少春雨才能获得专属鱼的情况了,这个过程我们也视作一个episode。接着我们扩大玩家数量至一个非常大的基数,经过很多个episode以后,我们便可以得到不同玩家活动专属鱼的情况,并且获得春雨使用次数的频率。基数足够大时,将频率视作概率,我们便可以得到近似的p(x)了,进而分析活动中获得专属鱼的可能性。以上便是MC算法分析这个问题的思路。
那么借助MC算法,我们会得到什么结果呢?我们通过python进行计算,当episode的数量为500万时(这游戏的活跃玩家基数估计也就这么多了?),可以得到以下结果:
而对应的概率密度分布函数以及模拟情况如下图:
可以看得出获得专属鱼所需春雨次数应该是偏态分布。这些数据用人话说就是,你有一半的可能性使用111次春雨后获得专属鱼,而你想要获得专属鱼的话,平均所需预算是135.6个春雨;对于刚好打完夏侯惇(音乐会通过第十关,累计白嫖55个春雨)的零氪玩家来说,他们有1.78%的概率获得专属鱼;对于能够打完周瑜(音乐会全通关,累计65春雨)的白嫖玩家,概率是6.60%;而玩家吃保底的概率只有1.81%。
也就是说,从纯理论角度来看,白嫖玩家是有机会获得专属鱼的,而且会有相当的比例,而玩家吃保底的可能性并不高。通过以上分析,如果游戏没有暗箱操作的话,玩家们想要获得专属鱼的话,需要多少预算也应该心里有底了。
源代码我会放在网盘里面,大家可以自己去模拟一下,也欢迎各位玩家进行数学理论上的批评指正(如果说只是想表达暗箱操作的可能性的观点的话,就不要反驳模型本身了)
(顺带一提,源代码我做了一个GPU版本的,但是不知道为什么运算贼慢,希望有计算机大佬指点一下)
今天咸鱼之王出了一个春雨的活动,相信有不少的小伙伴也参与其中并拿到了一些奖励。这个活动里面有一个依靠春雨修建春雨通道,让蜗牛通过春雨通道获得对应的奖励。当走动的蜗牛达到一定数量时,玩家可以领取一些特定的奖励,如下图所示。
在这里面,游戏公布了各个格子得到春雨的概率以及该玩法的规则。那么有小伙伴就会关心这样问题了:我们大概需要多少春雨才能获得最终奖励五星专属鱼?纯白嫖有多大可能性获得专属鱼?(本文也是基于活动五星专属鱼的可能性展开的)有些玩家说需要6k到7k氪度才能获得,从纯理论角度分析是否如此呢?
(以下部分难度较高,理解不了可以跳过直接看结论)
在默认游戏提供的数据是真实的这一前提下,我们理论上来说可以依靠这些数据算出获得专属鱼所使用春雨次数的概率密度分布函数p(x)。但是对于一个概率分布并不均匀的5×5的方格来说,这个概率的计算会非常困难,因此我们需要寻求其它的方法来推测。
这里我们可以使用蒙特卡洛算法(以下简称MC),通过模拟实验的方法,来分析获取专属鱼的难度。在模拟某个玩家的情况时,对于使用一次春雨来说,我们可以先产生一个随机数,然后让随机数与对应的概率相联系,求得这一次使用后春雨会落在哪一个格子上。反复进行这样的操作,直到打通所有通道,并记录使用次数。在模拟的过程中,我们先不急着考虑400次阈值中断的问题,并且默认玩家拿到专属鱼以后就停手。
通过以上操作,我们就可以得到这一个玩家需要使用多少春雨才能获得专属鱼的情况了,这个过程我们也视作一个episode。接着我们扩大玩家数量至一个非常大的基数,经过很多个episode以后,我们便可以得到不同玩家活动专属鱼的情况,并且获得春雨使用次数的频率。基数足够大时,将频率视作概率,我们便可以得到近似的p(x)了,进而分析活动中获得专属鱼的可能性。以上便是MC算法分析这个问题的思路。
那么借助MC算法,我们会得到什么结果呢?我们通过python进行计算,当episode的数量为500万时(这游戏的活跃玩家基数估计也就这么多了?),可以得到以下结果:
而对应的概率密度分布函数以及模拟情况如下图:
可以看得出获得专属鱼所需春雨次数应该是偏态分布。这些数据用人话说就是,你有一半的可能性使用111次春雨后获得专属鱼,而你想要获得专属鱼的话,平均所需预算是135.6个春雨;对于刚好打完夏侯惇(音乐会通过第十关,累计白嫖55个春雨)的零氪玩家来说,他们有1.78%的概率获得专属鱼;对于能够打完周瑜(音乐会全通关,累计65春雨)的白嫖玩家,概率是6.60%;而玩家吃保底的概率只有1.81%。
也就是说,从纯理论角度来看,白嫖玩家是有机会获得专属鱼的,而且会有相当的比例,而玩家吃保底的可能性并不高。通过以上分析,如果游戏没有暗箱操作的话,玩家们想要获得专属鱼的话,需要多少预算也应该心里有底了。
源代码我会放在网盘里面,大家可以自己去模拟一下,也欢迎各位玩家进行数学理论上的批评指正(如果说只是想表达暗箱操作的可能性的观点的话,就不要反驳模型本身了)
(顺带一提,源代码我做了一个GPU版本的,但是不知道为什么运算贼慢,希望有计算机大佬指点一下)