首页 > 游戏资讯 > 《星际战甲(Warframe)》【心得】天农概率论 – 论暴击率、触发率、紫卡循环、笑猫双倍buff (文长烧脑慎入)

《星际战甲(Warframe)》【心得】天农概率论 – 论暴击率、触发率、紫卡循环、笑猫双倍buff (文长烧脑慎入)

时间:2020-11-06 14:37:30

tony0021074 (KOKOKOKOKO) #1 2018-09-02 08:16:00
外面论坛应该有些文章发表这些天农学说,纯兴趣整理集中+自己小许心得分享。

在下不是甚幺数学专才,欢迎指正,请轻力点。
 
不少游戏都有数学的成分,个人认为精通数学的朋友在玩游戏上有很大优势。概率分辨甚幺事件较大可能发生,我们可以藉此判断并作出相应的行动,把利益最大化。例如比较不同MOD配置的最终伤害期望值,去作出选择。

1. 暴击率

由浅入深,先由暴击率开始。暴击率下限0%, 无上限。面板上的暴击率是1块弹片的暴击率。暴击的暴击级数会根据暴击率而上升。请对照下图。(来源:Warframe wiki)


将暴撃率从百分比转换成小数。(除以100%) 若是整数,该武器只能打出一个级数的暴击。若是小数,该武器会有2个打出暴击的可能性,1个较低暴击级数,1个较高暴击级数。
较低暴击级数 = 暴击率 / 100%(下舍入)
较高暴击级数 = 暴击率 / 100%(上舍入)
若暴击率不能被100%整除, 小数部分 = 较高暴击级数的机率
1-小数部分 = 较低暴击级数的机率
 
假设,A武器的暴撃率为246%。
246%/100% = 2.46
2.46下舍入 --> 2
2.46上舍入 --> 3
小数部分 = 0.46
1-0.46 = 0.54
A武器打出的较低暴击级数是2,较高暴击级数是3。46%机率会打出3级暴击,54%机率会打出2级暴击。不会打出3级以上、1级暴击或一般伤害。
 
私法组合卡拥有的额外效果是一定机率直接提升主武器的暴撃1级暴击级数。武器会多了一个打出再高1级暴击的可能性。组合卡装1张已经能发动额外效果,装上复数则可增强额外效果。额外效果对0暴击的武器无效。下图为私法 军备。 (来源: Warframewiki)


装上私法组合卡到底有多大程度加强主武器的暴击表现?
沿用上面的设定来说明。假设A武器装上1张私法组合卡,得到5%机率提升主武器的暴撃1级暴击级数。
现在可以打出的暴击级数为2,3,4。
打出2级暴击的机率 = 54% X (1 - 5%) = 51.3%
打出3级暴击的机率 = 54% X 5% + 46% X (1 - 5%) = 46.4%
打出4级暴击的机率 = 46% X 5% 2.3%

可以计倍率的期望值来比较,但请容在下说一声- Pass。

2. 触发率

触发率下限0%,上限100%。1块弹片只能触发1个状态。有一点要弄清楚的是枪械武器面板上的触发机率并不是指1块弹片触发状态的机率,而是1发内所有弹片触发1次或更多状态的机率,跟暴击率的表达和运算方式不相同。虽然霰弹枪的面板上的基本触发机率有高有低,但基于它们一发有很多的弹片,基本触发机率比步枪、弓等单弹片枪械武器低。面板触发率是用Binomial distribution算的。

面板触发率= 1 – (1-弹片触发率)^(弹片数量)
(1- 弹片触发率)^(弹片数量) 就是无任何弹片能够触发状态的机率。

例如猛虎p面板上的基本触发率是30%,基本弹片数量是8,代入以上方程可得出
弹片触发率 = 4.36% (3 sig.fig,)

增加弹片数量可以提升面板触发率,但无法靠此达至100%。为何? 根据以上方程,在增加弹片的情况下只有无限大才能达至100%。因此用多重射击增加弹片达至100%触发是没用的。

奇怪的地方是,触发率的加乘直接影响面板的触发率,而不是先影响1块弹片触发状态的机率再影响面板的触发率。例如猛虎p(基本触发率30%)装上一张+60%触发率的卡,面板会显示48%。这48% = 30%(1+60%) ,证明触发率的加乘直接影响面板的触发率。

经过一番试验,得出以下方程。
面板触发率 = 1 - (1 - 面板基本触发率 X (1 + 触发加乘))^(1 + 多重射击加乘)

来核对吧。


这配置共+120%触发率、+180%多重射击。 面板触发率 = 95.1%
代入方程:1 - (1 - 30% X (1 + 120%))^(1 + 180%) = 95.1% (3 sig.fig.)
看来面板的触发率就是这样算。真心觉得暴击率和触发率应统一处理,不同算法很烦人。
 
*补充:
霰弹枪的面板触发率达100%很重要。以猛虎p的数值代入方程绘图来说明

以x =面板触发率,y=弹片触发率,弹片数量= 8 。得x=1-(1-y)^8
转换方程的主项,得y= 1-(1-x)^(1/8)



当面板触发率贴近100%,弹片触发率斜率增加,弹片触发率会有爆炸性的增长。

3. 洗紫卡

近来洗紫卡花了不小时间,洗到有点绝望时总在想-到底有多大机率能洗出我想要的属性?到底有多大机率我洗了这幺多次也洗不到?为此无聊地上网查查看,算算看。
 
假定每个属性的产生机率是一样的。先用combination求紫卡组合数量,不考虑正属性的排序。拿布莱顿紫卡为例。
 
布莱紫卡的属性有: 1.多重射击2.伤害3.4.5.物理伤害6.暴击率7.暴击伤害8.9.10.11.元素伤害12.触发率13.状态持续时间14.15.16.种族伤害17.射速18.弹匣容量19.弹药最大值20.弹道飞行速度21.装填速度22.后座力23.穿透24.变焦
共24属性。
 
以上所有属性会出现在正效果。其中穿透和元素伤害不会在负效果出现。属性不会重复出现。
 
紫卡组合数量:
2正 = 24C2 = 276
3正 = 24C3 = 2024
2正1负 = 24C2 X 22C1 – 23C2 X 5C1 = 4807
3正1负 = 24C3 X 21C1 – 23C3 X 5C1 = 33649
总数 = 40756
24C2 X 22C1和24C3 X 21C1是不考虑” 穿透和元素伤害不会在负效果出现”这点的组合数量。23C2 X 5C1和23C3 X 5C1是穿透和元素伤害会在负效果出现的组合数量。相减即得出排除负穿透和负元素伤害的所有组合。
 
话说网上Warframe wiki指一张有24属性的紫卡有40756个组合。可是它没给算式,一直怀疑它是不是错的,原来是真的。向不知名的作者表示致歉。 (来源: Warframe wiki)


回到本来的计算。想洗到某一特定紫卡,如指定2正紫卡的2属性,就只有1个你想要的组合。所以洗1次就洗中的机率为1/40756 = 0.0000245% (3 sig. fig.)。若是条件比较鬆,就要先算出有多少个组合你想要的,然后除以总组合数量,就是1次洗中的机率。此处就Pass了。

洗了很多次,怎幺还不中?有关机率要用geometric distribution的cumulative distribution function,但实际上把数字都代进去后根本和之前binomial distribution的算式一样。

洗不中的机率 = (1-想要的组合数量/40756)^洗卡次数
洗中的机率 = 1 - (1-想要的组合数量/40756)^洗卡次数

假设只有3个想要的组合,那幺洗500次内会洗中的机率是?
1- (1 - 3/40756)^500 = 3.61% (3.sig.fig.)

假设只有1个想要的组合,那幺要洗多少次才总共有50%机率洗?
50% = 1 - (1 - 1 / 40756)^洗卡次数 -->ln(1 - 0.5)= 洗卡次数 X ln(1-1 / 40756) --
-->洗卡次数 = 28249
恭喜晒。祝大家好运。

不同武器有不同属性。步枪、霰弹等各有不同,同一类中有些武器又不同,要算机率请自便。

*补充:
武器紫卡的属性愈少,总组合数量(分母)也愈少。例如兰卡紫卡无3项物理伤害,组合比布莱紫卡的少。可是实际洗中机率还要视乎目标组合数量(分子)。

4. 笑猫加倍buff加成

来到最深了(小弟标準),小弟的程度来说,有个有关笑猫的加倍buff难题,无法自行解答。

有一天在生存吸毒时,跟1个 2X MR的玩家在讨论笑猫的加倍buff,他表示加倍buff的增加百分比的期望值是20%。我问他有没有算上加倍buff能够叠加,他说有。然后我质疑他为何那幺肯定,他回答说Warframe wiki写到。小弟曾去Warframe wiki看过笑猫技能招福的页面,印象中内文没有算出期望值,仅有发动招福的平均时间。然后我就看到留言…… (来源:Warframe wiki)



仅仅留言不是内文也信得那幺肯定!?再看看算法,直觉告诉我他的算法是错的。奇怪的是还要有位Tenno回覆表示同意他的解答。
 
相信自己的直觉,于是就去思考如何解答。可惜本人能力有限,想不通。最后决定抱大腿,去专业论坛问,然后拿来转载。
 
幸好有大佬肯抽时间解答,感激不尽。
 
话说我也不太懂,大佬的解法是这样的。假设每个buff的发动机率是一样,还有获取资源的过程是不随时间变化的(e.g.passion process)。然后可以把整个获取资源的过程斩成一段段27秒的部分,然后每段27秒,均有12秒0 - 5加倍buff在发动,另有15秒0 - 4加倍buff在发动。怎幺知道?加倍buff长120秒,可以覆盖4个27秒的时段(4 X 27 = 108),剩下120 - 108 = 12秒盖第5个时段,27 - 12 = 15秒就是这buff消失后的时段,这15秒就只有0 - 4加倍buff。加倍buff的发动机率为1/6 X 28/100 = 7/150。 然后用binomial distribution来出每一个情况的发生机率,0加倍buff的机率、1 加倍buff的机率、 2个加倍buff的机率、3个… … etc然后将每个机率乘以其结果。以时间比例12:15来区分0-5加倍buff和0-4加倍buff的时段。 运算过程如下(来源:某论坛)


最后得出答案1.225 -1 = 22.5%增加。

在没考虑加倍buff叠加的情况下,20%的解是对的。有点满足又有点失望,满足于证明自己的看法是对的,失望于加倍buff加成竟然是这幺低啊啊啊!
 
除了数学,天农还有很多门学问呢。天农学问无涯~
 



不用滚了,没懒人包。(笑)

看较旧的 34 则留言

KOKOKOKOKO: 09-04 09:44

[ling524:澪]对应该可以。感觉浮动数值是以normal distribution作蓝图。可以用利用网上的参考紫卡数值代入normal distribution + standardization。

KOKOKOKOKO: 09-04 09:45

[ling524:澪]不过网上的参考紫卡数值也不是完全对的,在百度贴吧见过1张紫卡的数值超越参考紫卡数值的上限。

freakcoco: 09-04 10:53 编辑

[ling524:澪] 其实也还好,主要是取浮动数值区间,用电脑算的话没有那幺容易爆炸的! 不过个人感觉不像常态分部就是了

l5257802 (PzB39我婆) #2 2018-09-02 12:25:04

freakcoco: 09-02 13:18

这东西很快乐啊!

狐尼敲级可爱: 09-02 13:41

数学系的大快乐

Lucid: 09-04 02:04

白金之力是真理

专题合集

精彩合集,奇葩无下限

相关文章

精彩推荐

大家还在看

手机版 | 电脑版