科学耐久观
-
起因1:
起因2:
在起因1的对话发生时,我就已经有了写这样一篇文章的打算,然后起因2又提醒了我一下。其实大多都是几年前就已经有定论的东西,但是耐久论的普及度似乎并不高,以致于至今仍然有不少人在相关问题上犯错甚至把物防称为物耐的玩家也不在少数。这篇嘤文是我写给起因2中那位同学的回复,改天我把其中的模型用中文再表述一遍,然后解释一下它聊胜于无的应用价值,并附上几个应用案例。 -
坑我先挖了,填坑的日子应该不会太久。 -
彳亍
-
支持
-
下次一定
-
@Qyh 通过引入宝可梦受到物理和特殊攻击的概率比来结合物耐和特耐两个维度是一个不错的构思,但这个概率比是在大量实战中统计得到的。也就是说,基于这个概率比得到的综合耐久所指导的是“无限血量的宝可梦承受遵循固定分布的无限次攻击”这一情形下的努力分配,或者说对于越接近于可以承受无限次伤害的宝可梦(比如小蛋等有回复的盾牌)越具备指导意义,而对于缺乏回复的、只能承受有限次攻击的宝可梦或许缺乏意义。举个例子,比方说g7ou的背心玛姬,它承受特殊攻击的概率远高于物理攻击,而它的两防种族相等,这是否意味着背心玛姬的合理努力分配应是252HP和252+SpD呢?事实上,我们在rmt中见到的背心玛姬更多则是拉了80Def。这样做的目的是为了保证玛姬能够吃下土猫的地震再使用冰光反杀,从而为玩家提供了更多的战术选择。
-
@Starmie 你提到两点:
1.综合耐久对于只能承受有限次攻击的宝可梦或许缺乏指导意义。
2.背心马基拉一些物防更优。
从你的表述中这两点看似吻合,但其实是不构成因果关系的。先讲第二点:马基拉物防吃土猫地震就意味着马基吃物理伤害的概率不是0,由于马基本身物耐不低,实战中免不了会抵挡一些物理输出。从加权综合耐久的观点来看,一个需要吃物理伤害的特盾拉一些物防是完全正常的。事实上,只要假设背心马基的概率比为1比2,就可以算出最优分配恰好为252HP/80Def/176+SDef。当然我这里是在凑答案,为的是解释加权耐久观与“特盾拉物防”并不矛盾。然而为何背心马基的概率比为1比2,即如何从定位中量化出权重是一个至今没有解决的问题。其次,你提到的分配方式属于“对策型分配”,而考量“加权综合耐久”的分配方式为“理论值分配”。我认为对策型确实优先于理论型,因为环境的有限性(有限的宝可梦和有限的常见配置)导致了局面的复现性,使得针对行为有意义,也更务实。而当一只宝可梦在考察并分配了一定努力在速度、攻击、某一端耐久上之后,通常就不再有剩余的规划空间了,这就是理论值分配很少被用到的原因。然而,我不认为对策型分配是万能的,这一点会在文章中提到。接下来是第一点:一个小问题是,权重是由定位决定的,也就是取决于某玩家预期【通过自己的操作使得这只宝可梦吃到两侧输出的概率比是多少】,这个主观概率比通常是不等于全环境的实战统计频率比的,因为不同的玩家在不同的队伍中对同一只相似配置的宝可梦的定位依然有差别。至于这个概率比是否等于该玩家使用该队伍的大量实战的统计频率比,我的直觉告诉我应该是趋于相等的。其次是你提出的问题,“加权综合耐久”的指导意义是否因为宝可梦能够承受的伤害次数而有所差异,答案应该是否定的。只要还有剩余的努力留给耐久,分配原则总是使得宝可梦能够承受更多(次)的伤害,即吃一次伤害损失的百分比尽可能小。因此,加权综合耐久的表达式也是通过考察“一次伤害”推导而来的,也就是说,加权综合耐久指导的恰恰是“有限血量的宝可梦承受一次遵循固定分布(此分布取决于客观的环境和主观的定位)的随机伤害”这一情形下的努力分配,而非“无限血量的宝可梦承受遵循固定分布的无限次攻击”,只不过这个“一次伤害”是随机的,因此表现为物特共存的数学期望。
-
怎么办,有点想咕了。
-
这里不是咕吧
-
我想指出一点非常重要的但是特别容易被忽视的点,少拉hp多拉防御在很多时候有一个很细微的不同,那就是非直接伤害。对于一个精灵的耐久而言,hp降低双防提升本质上是提升了每一点血的耐久。这么说可能有点奇怪吧,但其实挺简单的,就是你拉很多hp最后结果可能是花了100hp吃掉一个技能,但是少拉hp的结果就可能只要95点血就吃下了同一个技能。如果把一个精灵的血量乘以他的“每滴血可以吃下的威力”叫做“耐久度”的话,那在这样的情况下微调hp有时会导致一个结果,就是在实质上降低了面对烧伤,沙暴,剧毒等各种非直接伤害时的耐久度损耗。比较常用的情况其实就是攻精灵不拉hp,从而能够吃下八次地钉的伤害并剩下一滴血。当然,smogon上也有很多精灵的配置是没有考虑到这一点的,而且这个本身对实战的意义也不是很大。从理论的角度,如果你敢兴趣的话可以研究和算一算这些。
-
@Aiko 我其实不太明白你提到几个点的逻辑关系,就分别回复吧。1.微调hp是一个与耐久论相平行的技巧,两者都是影响努力分配的因素。不过微调hp涉及具体的hp数字和取整问题,因此将不会是这篇以代数推理为主要研究方法的论文的重点。2.把努力从hp移动到防御上的确是提升了每一点hp能够承受的“力度”,但是总耐久毕竟是每一点hp的耐久之和,所以只有在hp降低的比例小于防御提升的比例时,即hp>去性格防御时,才值得这么做。3.【百分比伤害损耗的耐久度降低】并不是一件好事,因为当耐久损耗降低时,剩余耐久也是降低的。比如,沙暴损耗的耐久度永远是总耐久度的1/16,那么高耐久的宝可梦受到一次沙暴的耐久损耗更高,但是剩余下来的15/16也更高;如果通过微调使得耐久损耗降低,意味着剩余耐久也降低了,这与耐久优化的原则相悖。我认为微调的意义还是在于(几乎不改变总耐久的情况下)降低沙暴损耗的hp,而非损耗的耐久。
-
直接线性规划
-
@Frozen-Chenben 线性规划只适用于一次函数,对于综合耐久应该使用更通用的拉格朗日乘数法。
-
@Qyh 就是单项最大耐久分配的时候
-
@Frozen-Chenben 原来你是在回复那一段啊......单项耐久线性规划是可以的,但其实单项直接在组队窗比划比划就出来了,只需要注意一点,当可支配努力一定时,单项耐久最大化的原则是hp与防御尽量趋近,这里的防御是去掉性格修正时的防御,因为性格的作用永远是使得单项耐久*1.1,所以有性格的最优分配等同于无性格的最优分配。
如果换一种角度理解,当加和不变时,两个量越接近则乘积越大。但是有性格修正的防御与hp之和是变化的,无性格修正的防御才符合这个条件。
突击背心、毛皮大衣等同理。 -
我屌,争了半天正文都没有
-
@Separation 原来那不是正文
-
@Separation 在写了在写了
-
JO等了
一 绪论
给一只宝可梦分配努力时优先考察的是速度,在速度分配完(或确认不需要分配速度)之后,是优先投入两攻还是耐久并没有定式,取决于宝可梦在队伍中的定位。当【可支配努力】一定时,耐久三角存在着“对策型分配”和“理论值分配”两种方式。对策型分配即先以最少努力将某一端耐久拉到稳定吃下/吃n下某个具体伤害,然后剩余努力扔给另一防(或攻);理论值分配则是依据定位确定【耐久函数】,然后在各项努力值的定义域内找到函数的最大值。
我认为对策型优先于理论型,因为环境的有限性(有限的宝可梦和有限的常见配置)导致了局面的复现性,使得针对行为有意义,也更务实。而一只宝可梦在速度、攻击、某一端耐久上都针对性地分配了一定努力后,通常就不再有剩余的规划空间了,这就是理论值分配很少被用到的原因。
如果一只宝可梦在某一端预期承受的伤害来源较少,对策型分配就显得十分高效。比如g7ou的背心马基本来就不大可能吃多少不同的物理伤害,那么从对位的出现率和针对成功的收益来考量,选择其中最有针对价值的一个土猫地震就显得十分智慧了。但是对策型分配的意义也比较有限,由于钉子、状态、沙暴等因素,且对局走向不完全由我方控制,很难保证理想对位出现时我方宝可梦是满血的。另外需要指出的一点是,100%吃下某个伤害和极大概率吃下这个伤害是没有区别的,因为ct的存在,100%也会衰减为极大概率。
当一只宝可梦可能承担很多不同的伤害时,针对特定伤害就有些大海捞针的意思。这个时候,对于单纯的物盾或特盾而言,需要反过来先最大化单侧耐久,然后敲计算器找到它能够承受的最大力度,在实战中尽量只承担低于这个最大力度的伤害;而对于需要兼顾物理特殊两端的伤害的宝可梦,就更不能回避耐久理论值的考察了。前人一般使用“综合耐久”的概念来描述综合抗击打能力,区别于物耐与特耐。在我看来,这个综合耐久同物耐与特耐一样,都属于“加权综合耐久”的特殊情况。这个“耐久”,并不是一个只取决于配置的客观量,同样也取决于玩家在特定队伍中对这只宝可梦的期待,即定位。二 基于权重的耐久观
2.1 物耐与特耐
我们已知物耐=物防×HP,特耐=特防×HP。这是因为:既然物耐表示一只宝可梦的物理端抗击打能力,那么面对一个相同的物理伤害,高物耐的宝可梦损失的百分比就应该更小。类似地,特耐也应该负相关于特殊伤害的百分比。为什么是百分比呢?因为伤害百分比的大小直接决定了宝可梦能够承受这个伤害几次,以及这个伤害能不能被回复技能抵消等。观察伤害计算公式,
第二个“+2”的影响相比前面的分式可以忽略不计,那么不难发现伤害反比于防御,则伤害的百分比自然就反比于防御*HP。也就是说这个乘积满足【负相关于伤害百分比】的条件,而负相关的方式是反比,因此这个乘积被玩家称为物耐。特耐同理。2.2 一种朴素的综合耐久观
说到综合耐久,即综合抗击打能力,如果你对耐久论没有预习的话,最直观的联想就是两耐之和,即认为综合耐久=(物防+特防)*HP,这个定义倒是能满足【综合耐久随着单侧耐久的增大而增大】,但其实这是没有什么数学道理的,因为这样的综合耐久不具有类似于物耐和特耐的性质,即【反比于伤害百分比】。在这种观念下,一只满HP满物防的梦幻和一只满HP双防平分的梦幻具有相同的综合耐久,然而面对同一组物特力度持平的伤害,这两只梦幻真的会损失相同的百分比吗?不难证明,前者其实会损失更多。这种综合耐久的定义甚至会导出吉利蛋应该极限特防满物防4HP的结论,我真的看到有人这么拉,包括六代时期的ps计算器也是这么推荐的。这就是只记结论不注重推导(又恰好记了错误结论)的后果呀。而这些玩家大都实战了几把后发现手感不好又改回了极限物耐,然后暗暗感叹一句“理论终究只是理论啊”。至少他们改回去了,这是不是说明人类凭感觉作出的判断也能逼近定量分析的结论呢?2.3 更一般的耐久
既然物耐和特耐的定义来源于伤害计算公式,那么综合耐久也应该这样考察。但是伤害公式计算的是单侧伤害,并没有一个“综合伤害”的公式呀?这里就需要引入权重的概念,去划分宝可梦所承受的力度了。慢着,“力度”还没定义呢?好吧,面对相同的防御方,攻击方的力度越高,伤害就应该越高。基于这一点,观察伤害计算公式,不难发现伤害正比于攻击力和技能威力的乘积,那么这个乘积就可以作为力度的定义。
刚才提到,权重是用来划分力度的,反映的是物耐或特耐的重要程度。举个例子,假设物权与特权分别为0.25、0.75,就意味着这只宝可梦每受到1点力度的物理伤害,就要受到3点力度的特殊伤害,那么特耐就比物耐重要得多。当这只宝可梦受到的物特力度的平均值相等时,权重比就等于概率比。换句话说,权重比=概率比*平均力度比。显然,权重比是取决于定位的,比如土猫的物权一定大于特权,背心马基的物权一定小于特权。在双打中,由于无法保证对方场上只有物攻手或特攻手,因此物耐与特耐同等重要,即任意宝可梦的两个权重都是0.5。
下面给出物权与特权的数学定义,这个定义和上面这一段话是等价的,如果你能很好地理解上一段,那么不看定义也可以。
请跳过权重定义的同学定位到这里,下面这一段正式研究一般化的综合耐久,不可以跳过哦。
三 基于加权耐久的分配优化
利用加权综合耐久优化分配的步骤可以简单分为
1.确定耐久函数
2.找到函数的最大值
第二点是很容易解决的,可以使用拉格朗日乘数法手算,也可以借助计算机穷举。这里分享一个vgc玩家编写的耐久计算器,实现任意权重下的耐久分配优化,算法是穷举+剪枝。前期内测和修改意见是我负责的,基本上已经修复了重大bug,压缩文件里有作者的邮箱,如果发现问题可以联系我或他。界面很简洁,也附有使用说明,上手难度为0。需要注意的是其中“最低物耐”功能需要输入的是面板上HP*Def的乘积,而非经过毛皮大衣等修正后的数值;同理“最低特耐”不是背心等修正后的数值。另外一点,道具槽中进化辉石的选项多余了,该结论是显然的,detail left as exercise。
链接:https://pan.baidu.com/s/1JseHNYnAqIuSpg5f3k6Hbw
提取码:01gy
虽然计算器完爆手算,但是为了完备性我还是把拉格朗日乘数法补充一下吧:
真正的难点在于第一步,即如何从定位中量化出权重,从而确定耐久函数。就比如像沙河马这样偶尔会吃一些特殊伤害的物盾,其特权究竟应该是0.1还是0.2还是0.114514?很遗憾,目前这个问题尚未解决。在量化规则出现之前,或许鸡肋端努力值仍然得依靠对策型分配。不过呢,毕竟等权耐久也算加权耐久的一种,所以这会我以等权耐久为例也不算是标题党吧。3.1 吉利蛋
起因1你们也看到了,那么利用程序快速解决一下:
这个分配结果仅仅是追求综合耐久的最大化,但704是8和16的倍数,所以还需要一次微调,也就是将4点努力从HP移动到特防或者速度上,以减少踩钉和沙暴的损伤。这个优化结果还指示出了一个常见的误区,即:性格修正种族更高的项收益更高。这个结论在不触碰“边界”的情况下或许成立,但是对于吉利蛋这种双防差异显著的宝可梦,把性格修正放在鸡肋端对综合耐久的提升事实上更高,这是由调和平均数的性质决定的,毕竟并联电阻的总阻值受最小的那个电阻影响最大。所以受凤王大多修正物防也就不足为奇了。总之千万不要再说什么满双防更优而拉HP只是为了物耐更可靠了!3.2 背心民工
G6ou的民工带背心是为了弥补特耐的缺陷,从而无差别地顶着物理伤害、特殊伤害、状态上场,其受到的物理力度与特殊力度并没有显著差异。当可支配努力为258无性格修正时,其最优分配为:
400是16的倍数,因此需要微调。该结果指出了一个常见误区:因为HP同时影响两个耐久,所以拉耐久应该优先拉HP。且不说这条法则不适用于HP较高且双防没有显著差异的宝可梦,对于背心宝可梦来说把努力值投入到特防上的收益一定是高于其他宝可梦的。更何况拉满HP还会降低吸收拳的回复百分比呢?3.3 玛丽露利
在可支配努力为258无性格修正的情况下,其最优分配为
同上,优先HP并非金科玉律。如果带的是剩饭,那建议微调HP到400嗷,毕竟吃饭频率不会低于踩钉频率。3.4 基格尔德完全体
高达的双防堪称优秀,而HP突破天际,可以预见满HP不会是最优分配。当可支配努力为508且有性格时,最优分配为
因为变身回复量是固定的,那么HP越高回复百分比就越小,拉满HP必然是不合理的。这种高达不仅更科学,在抵挡古拉喷火或y鸟恶波的时候手感也更好。然而这都建立在能够成功变身的基础上,事实上,
+2 168+ Atk Groudon-Primal Precipice Blades vs. 172 HP / 120 Def Zygarde: 402-474 (100.5 - 118.5%) -- guaranteed OHKO
如果队伍非常依赖z蛇对攻古拉的话就千万不能这么拉了。但如果你的构筑与操作能保证z蛇变身成功,就应该选择这个最优分配。四 结论
本文通过引入权重提出了加权综合耐久的概念,统一了物耐、特耐和综合耐久三个既存概念。耐久大一统理论的模型应该说是相当完善了!唯一的瑕疵是应用中存在着悬而未决的问题,即如何从定位中量化出权重。不过我在模型部分已经给出了一点思路,毕竟权重取决于宝可梦承受攻击的力度概率密度,只要能根据定位确定概率密度函数,权重自然也就确定了。如果有人能够解决这个问题,我做的这点科普也就不算白费。 -
最优分配:物防/吃物攻概率 + 特防/吃特攻概率 -> HP,你学会了吗?