0%

抽卡玄学

最近玩了一个垃圾抽卡类手游,抽中的概率是4.61%,30连必中(从上次抽中开始计算,30抽必定出一张)。脸黑的人总是觉得自己一直在触发保底,那事实又是如何呢,我们用概率来算一下。

假设初始概率为4.61%,即不含保底的造成的概率修正。

从最简单的开始,假设任意抽30张卡,根据二项式分布(binomial distribution),我们可以计算出抽到 k 张

binomial

如上图所示,我们可以看出只抽到1张的概率是

由此可见,脸黑是很正常的。


我们再来研究一下触发保底机制。我们通常说的30连保底,是指在上一次抽到之后,如果接下来的29张不中,那么接下来的第30张必定会中。假设第 t 张抽中(无论是保底与否),那么第(t+1)到第(t+29)张都是伯努利试验(Bernoulli trial),满足几何分布(geometric distribution),第(t+k)张抽中的概率为

那么第(t+30)张才抽中的概率是

且触发保底的概率是

通常情况下,我们都是10连抽,而不是单张单张抽,那么我们以为自己触发了保底就是前20抽不中,后10抽中,其概率为

因此,如果你急功近利,抽卡心切,那你差不多有4成的概率以为自己又保底了。


那么修正后的概率是多少呢?修正后抽中的概率应该等于初始概率加上保底触发了的概率。假设我们抽了无数次,抽中记为1,没抽中记为0。那么,每出现一次{1,0,….,0}(30个0)的情况,就会触发一次保底,每出现一次{1,0,….,0}(60个0)的情况,就会再额外触发一次保底,以此类推。出现{1,0,….,0}(30个0)的概率为

而保底的概率为

因此修正后的概率


之前我们已经讨论了已知第t张已经抽中时,后续抽卡抽中的概率,那么如果我们隔天抽,忘记了上次有没有抽中,随机开抽,我们就要把保底机制考虑在内。假设无任何已知信息,我们不知道第 t 张以及之前的卡有没有抽中。显然第(t+1)张卡抽中的概率为

那么在第(t+2)张才是保底的概率是

相似的,我们有

类似的,我们可以得到下表:

(t+k) 触发保底 抽中 未抽中
1 1.48% 6.09% 93.91%
2 1.57% 6.18% 93.82%
3 1.68% 6.29% 93.71%
4 1.79% 6.40% 93.60%
5 1.91% 6.52% 93.48%
6 2.05% 6.66% 93.34%
7 2.19% 6.80% 93.20%
8 2.35% 6.96% 93.04%
9 2.53% 7.14% 92.86%
10 2.72% 7.33% 92.67%

因此,如果已知接下来10连不会触发保底时,抽中1张及以上的概率为

而在未知接下来10连会不会触发保底时,抽中1张及以上的概率为

由此可见,如果放平心态,不要记着之前有没有抽到,那么下一个十连就有一半几率抽中。


我们再来研究一下欧皇的抽卡体验。假设无任何已知条件,即不知道接下来10抽是否包含保底,那么假设第一张抽中的是第k张,后(10-k)中再抽中一张的概率是

10抽中2的概率是

10抽中3的概率是

10抽中4的概率是

而中5的概率是5.78e-5,不是p的,就是在用阳寿抽卡了。


最后我们用计算机验证一下以上结论。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import numpy
import collections
total = 10000000
nums = (numpy.random.rand(total) < 0.0461).astype(int).tolist()
temp = 0
original_ones = nums.count(1)
for i in range(len(nums)):
temp = temp + 1 if nums[i] == 0 else 0
if temp == 30:
temp, nums[i] = 0, 1
modified_ones = nums.count(1)
tens = [nums[i:i+10].count(1) for i in range(len(nums)//10)]
print(original_ones, modified_ones)
print(collections.Counter(tens).most_common(11))

得到结果

1
2
462562 609881
[(0, 502733), (1, 397145), (2, 87291), (3, 11757), (4, 1021), (5, 53)]

抽10,000,000抽,原始抽中462562张,修正抽中609881张。每10抽中0出现502733次,中1,2,3,4,5分别39,7145次,87,291次,1,021次,53次。与概率基本吻合,误差分析就不做了。