【酒馆概率学】一些常见概率的计算
7月9日
点火70 回复68
炉石传说
酒馆战棋
本文为作者原创内容,未经作者本人和营地同意不得转载

一、前言

印象里,fiufa大神在战棋初期做过一次概率计算,之后似乎就再没有见过成系统的研究了。在后面营地迎来了一段困难时期,似乎当年研究的帖子也被删掉了。最近拿起概率论的书看了看,注意到了一些之前尚未讨论到的问题,于是就有了这篇文章。

二、基本数据

在进入正式的概率计算之前,首先来回顾一下酒馆的各种基础设定,本文所有内容皆针对单人模式,双人模式的数据略有差异但应该变化不大。

随从、法术的数量
随从是本数越高牌越少,法术则是本数越高牌越多,直到5本6本后减少
其中奇利亚斯是一个例外,每个模块各有5张

此外,根据酒馆等级变化,随从的可刷出数量分别为3/4/4/5/5/6,而法术则一直是1。

在刷新后,会优先刷新法术,然后才是随从,因此暗月奖券提供的额外一个随从会在六本失效,但是土豆能挤占随从的刷新位。

酒馆法术会在购买时立刻返回卡池(而不是打出时),因此法术池几乎就是原样。

随从的情况稍微复杂一点,留在手牌的和站在场上的随从会扣除卡池中的数量,磁力在贴入时会立刻返回卡池,金卡算扣除了卡池中的三张牌。

据说雷诺的点金只算扣除了卡池中的一张牌,卖出时也只会返还一张,大概类似的点金机制都会是这样。

当前酒馆战棋中一共有10个种族,分别是鱼人、野兽、恶魔、机械、龙、元素、海盗、娜迦、野猪人和亡灵。

每次会从10个种族中选5个出来,因此每一次的牌池分布会有区别,具体来说,总共有C(10,5)=252种不同的分布,想要在一篇文章中讨论所有分布是很困难的事情,因此我们取每种分布中随从总数的最大值和最小值如下

卡池种的随从总数
如第一行意味着在252种分布中
至少有160个随从,至多有176个随从

三、找到特定随从的概率

首先来讨论各个酒馆等级刷出特定的n本怪的概率(例如,在5本找瑞文还是在6本找瑞文)

公式为:1-C(卡池总数-特定牌数量,刷新数)/C(卡池总数,刷新数)

代入数据可得到下表:

这个计算中并没有考虑8个玩家战场上的随从,总共7*8=56个,相比于高本的随从总数,这是一个可以忽略的量级。

不过特定牌的数量影响就比较大了,对比5本、6本的随从在6本的情况可以看到,少两张牌大概就会下降1个百分点。因此在这段讨论结束后,我会再补充随从数量对比星级的表。

接下来讨论在多少刷才能找到自己想要找的随从的问题。

首先注意到这是符合二项分布的(或者说,这和抛出n次质地不均匀,正面概率为p的硬币,问几次正面的情况是类似的)

有以下公式:均值=np,标准差=√(np(1-p)),掷出k次的概率=C(n,k)p^k(1-p)^(n-k)

接下来代入均值公式,n=1/p,就能得到下表

这意味着,当我们在找卡布拉的时候,平均来说要在6本d三十次左右

但是这个计算没有回答一个问题:在6本d了30次,没有d到卡布拉是能普通的事情吗?60次呢?

取30d,概率3.0%用软件模拟100w次,可以得到下图:

 

换言之,在30d的时候,依旧有小一半的概率是d不出来卡布拉的,这里的平均是指经过若干个30d,平均来说能找到一只卡布拉。

那么,至多要多少d,才能找到特定的随从呢?统计学通常认小于5%是小概率,那么经过了多少d,找到特定卡牌的概率才能到95%呢?

可以列式:

d了n次,找到0次的概率=5%→(1-p)^n=5%→n=ln(0.05)/ln(1-p)

代入这个公式再算一次

这意味着,90d内找不到卡布拉都属于正常范畴,超过以后还没找到才算是小概率事件(而且,5%概率虽然是很小但是也还没到不会发生的程度)

反过来,也可以算出至少需要多少d(取5%概率d到至少1次)

最后,将d了n次找到卡布拉的概率画成散点图,可以得到下图:

开头快,然后逐渐放缓,虽然20d的时候就有50%概率刷到牌了,但是80d左右才刚过90%的线。

如本章开头所说,卡池中特定随从的剩余数量对概率计算的影响很大,因此接下来给出一个不与星级挂钩,而是直接和剩余随从数量挂钩的表格,这样的好处是当我们搜索鹦鹉白狼瑞文中的任意一个时也有概率依据。

平均需要多少d

至多需要多少d(取95%概率)

以鹦鹉白狼瑞文举例,三者总共有11+9+7张卡牌,也就是27,那么平均来说在6本8刷能见到其中之一,最多至多23刷能见到其中之一。

四、其他情形的概率

I.在6本搜索特定种族

哈缪尔遗失的法杖

理所当然,这和上文一样服从二项分布,区别只是随从池的变化,简单统计一下随从池,并套用先前的概率公式计算,如下图:

公式为1-C(总数-特定星级对应数量,6)/C(总数,6)

公式为1/p

公式为ln0.05/ln(1-p)

可见提升还是很明显的,完全值得2块钱用这个进行检索。(就算是亏一块的情况下,锁住的搜牌效率也会更高)不过,也不是足以一击即中的概率,拿来找卡布拉依旧平均需要5次释放这个法术。与搜索全卡池的问题一样,这个计算受到待搜索对象的数量的影响十分严重,剩7张卡布拉和剩4张卡布拉的搜索难度完全不一样,不过此时全卡池的搜索难度也同样会剧增,显然依旧是搜索特定种族存在优势,就不再拉表分析了。

II.发现n本随从(三连、暗月技能、伊利斯技能等)

先来讨论一下发现的概率公式:

1-没能找到关键牌的概率=1-C(n-1,3)/C(n,3)=1-(n-1)(n-2)(n-3)/n(n-1)(n-2)=1-(n-3)/n=3/n

换言之,如果发现池有n张牌,找不到特定的概率是3/n,本文只讨论找特定一张牌的情况。

(这里假定了发现时池中所有牌的概率均等,不受到卡池中数量的影响)

 发现n本随从的概率,最大最小值来自C(10,5)中种族组合中的综合状况

与上文特定种族刷新对比,发现的能耐还是差了一些,那么找特定6本牌的5费法术值不值得拿呢,这里简单算一下5d找特定卡的概率可以得到:14.3%-15.3%(公式:1-找不到的概率^5),可见虽然概率看可以拿但是并没有显著优势。(对于麻将阵容来说,单调一张白狼一类的情况可以拿,但是非麻将阵容,d5下找到的有用的牌或许会更多)

III.在n本发现特定种族(鼠王、4费法术)

n本特定种族发现池大小(假定奇利亚斯算6张不同的牌)

n本特定种族发现特定一张牌的概率

公式:1/p=发现池大小/3

公式:ln0.05/ln(1-p)

用来找卡布拉这样的六本牌,效率似乎不如5费的发现6本怪,说明安排到4费还是有道理的,不过有些时候低本怪里面反而会有需要的功能牌,比如野兽的贴复生,亡灵的消灭随从等等,可抓性应该还是比5费发现6更高一点。

IV.法术

每个种族都有一张独特的法术,如下图,不过星级都集中在了4~5本,所以下面为了方便起见,就只讨论全在4本的一种特例进行讨论(机械鱼人野兽娜迦龙)

首先来看看法术牌在各个酒馆等级之间的分布:

大体上,1~4本每次池子都会翻倍,5本6本则会锐减

接下来考察一下通过普通的d牌找到特定牌的情况:

公式:单卡数量/池中法术总数

平均找到一张牌所需d数,公式:1/p=池中总数/单卡数量

找到特定法术至多需要的d数,公式:ln0.05/ln(1-单卡数量/池中总数)

如果用纯d的方式找**母亲之眼,5本6本的差别不大,都很难刷到。

那么通过发现找法术的概率呢?

在各个本数发现一张法术的情况

如果是单纯想找个**母亲之眼点鹦鹉,通过发现的效率虽然可以提升概率,但也并不算提升了很高(3d大约能到6%的概率,考虑到d牌还能看到随从,3d的综合优势应该更高)

接下来看看顶尖好酒(6本刷出7个法术)的找牌能力

顶尖好酒的数据,概率公式:1-C(卡池总数-特定卡牌数量,7)/C(卡牌总数,7)

考虑到发现法术通常是用的5本随从,对比来看顶尖好酒的优势还是很明显的。

最后研究一个问题:各个本数刷法术时的平均费用,这会影响法诺的表现。(硬币算0费,血币算-1费,延迟给钱法术依旧算1费,因为给的是下回合的钱,本回合依旧有夹断风险,能够获取随从的法术扣除掉获取到的随从的费用,毕竟随从能卖)

可见2升3和3升4在刷法术的效率上确实影响非常大。

补充一点计算方面的内容

  • excel中,combin函数可以计算组合数
  • 手算的话,当|x|很小时,(1+x)^n≈1+nx
  • 当k和m很接近且都很大时,C(k,n)/(m,n)≈(k/m)^n
  • ln0.05=-2.9957...≈ -3,x很小时,ln(1-x)≈-x(因此至多的情况大约是平均的3倍)

不过不推荐手算,excel里面的数学工具很丰富,能用excel做的工作就不要浪费脑筋了。

结语

我酒馆分数其实不高,常年也就7k多一点,最高的w1还是在霍格时期打下来的,因此谈不上有多深刻的理解,也因此,本文中并没有深入分析应该如何决策,而是仅仅摆出数据。如果这篇文章能起到抛砖引玉的作用,让更多人有能力用纯计算的方法找到最优解,我会非常开心。

 

 

 

 

打赏文章
全部评论 68条
按时间排序

还没有评论