【原神】最强的圣遗物黄金比例推荐,(攻击X爆击率X爆伤X属伤)

小弟对于游戏里的数值公式计算一直很有兴趣,
刚好最近板上有不少人 PvP 关心攻击属性该如何取舍的问题,
在此分享一下我个人的研究心得。
本文将采用拉格朗日乘数的数学方法,
分析在不同配额 (即可分配的攻击属性点数) 下
攻击力、暴击率及暴击机率的最佳分配比例,
并辅以 Python 程式验证之。
另外,本文会解释「边际成长率」的概念,
(即「为什么大佬们常常说攻击力稀释效应很严重?」)
并示范如何借此分析在已有属性下最佳的属性选择。
因为使用的方法牵涉到微积分的基本概念,
为了让更多人可以了解数学公式背后的意义,
我会尽量用简单的文字说明,(「尽量」)
对数学推导没有兴趣的巴友则可以直接下拉到懒人包结论
对于高品质圣遗物数量较多且套装完整的玩家,
本篇心得分享可能不那么有用(警语)
毕竟对于毕业级的主 C 而言,
最佳的点数分配方法就是:
 1. 优势属性伤害加成优先出
 2. 想办法出到攻击力 212.1%、暴击率 70.7%、暴击伤害 141.4%
 3. 剩下的多余点数平均分配
相对于简单直观的主 C,
副 C、辅助要先考虑元素充能效率、元素精通等等;
如何在配额已经被限缩的情况下,
还能尽量提高自身的伤害效益,
反而会是本文比较著重的面向。
开始前容我再最后碎碎念一句:
玩游戏是要让自己开心的,
如果你高兴,
想出 100% 暴击率、50% 暴击伤害也可以
没有必要因为这样就彼此恶言相向。
但如果你觉得出装还可以更好,
想追求更高的伤害效益,
希望本篇文章可以成为一点帮助。
本米只是一条咸鱼,对游戏理解尚浅,
数学推导、游戏环境考虑不周的地方,
欢迎各方好手批评指教。
懒人包
(这已经是我想得到在不失真的条件下最清楚的表达方式了,
 如果还是太难,敬请见谅。我尽力了_(:3」∠)_)

最简单 (但不精确的) 版本
 
优势属伤杯有就出。
攻击力先出到超过基础值的两倍。(绿字略大于白字)
如果有办法双暴超过 (40%, 80%) 才叠双暴,不然全出攻击力
 

优势属性伤害加成优先出,但是不建议超过 +200% – (1/优势伤害占总伤害的比例)。
举例而言,对纯元素伤害输出而言不建议超过 +100%,
对 6 比 4 的元素、物理混伤输出而言不建议超过 +200% – 1/0.6 = +33.3%。
(但是一件属伤杯就会超过,这个时候出一件就够了。)
剩下三项数值 (攻击力、暴击率、暴击伤害) 的最佳分配方法,有以下两种方法判断。
总攻击力百分比 ((白字 + 绿字)/白字) 为 x
总暴击率为 y
总暴击伤害为 z
并令配额函数 g(x, y, z) = x/3 + y/2 + z/4 = c
(计算的时候请不要计较加成的来源是什么、基础值是多少。角色面板写多少就是多少
 如果白字绿字分别是 600 跟 800,那么你的 x 就是 (600 + 800)/600 = 2.33… ≒ 233.3%)
一、 以边际成长法计算最后一件圣遗物应该补充什么属性
 在核心武器、圣遗物已经决定好了的情况下,
 计算以下三项数值:
  Gx = 3 / x (出攻击力的边际成长率)
  Gy = 2 z / (1 + y z) (出暴击率的边际成长率)
  Gz = 4 y / (1 + y z) (出暴击伤害的边际成长率)
 哪个高就出哪个属性。
 例如 x = 200%,y = 30%、z = 100%,最后一件理之冠可选择攻击力、暴击率或暴击伤害
 计算得:
  Gx = 3 / 2.0 ≒ 1.5
  Gy = 2 × 1.0 / (1 + 0.3 × 1.0) ≒ 1.538
  Gz = 4 × 0.3 / (1 + 0.3 × 1.0) ≒ 0.923
 最后一件选择暴率头最佳。
 ※此法不适用于连续的属性选择 (亦即有两或三种以上的武器、圣遗物属性加成可供选择);
  如需做多次选择,请参考第二项
二、以拉格朗日乘数计算各配额下的最佳调配
 1. 若无法在 y > 51.6%、z > 103.3% 的情况下达到 x > 222.7%
  假设暴击率小于暴击伤害的一半
   (1) 在 x 达到 1.5 × (1/z + y) 之前一律叠高攻击力
   (2) 前项达标后,按 3 : 2 的比例叠高攻击力及暴击率
  若暴击伤害未达暴击率的两倍
   (1) 在 x 达到 0.75 × (1/y + z) 之前一律叠高攻击力
   (2) 前项达标后,按 3 : 4 的比例叠高攻击力及暴击伤害
  当 y 与 z 的比例接近 1 : 2,按 1 : 2 的比例叠高暴击率及暴击伤害并接上第 2 点
 2. 若第 1 点的条件可以满足
  (1) 在 y 达到 70.7% (或 z 达到 141.4%) 之前,
   按 1 : 2 的比例叠高暴击率及暴击伤害到 70.7%、141.4%
   此阶段可以牺牲部分攻击力换取暴击属性 (但仍不应小于 212.1%)。
  (2) 若 (x, y, z) 达到 (212.1%, 70.7%, 141.4%),
   则平均分配三项属性 (双暴一样是 1 : 2) 到 (225%, 100%, 200%)。
 3. 若 y 达到 100% 还有剩余配额,按 3 : 4 的比例继续叠攻击力跟暴击伤害。(虽然应该不可能…)
(最佳化的三项数值对于配额的函数图。)
前言
游戏里的伤害类型有很多种,普通攻击、物理伤害、元素战技、元素反应…
各种伤害类型都有各自的伤害计算公式,
然而除了超载感电超导扩散反应外,
其余所有的伤害类型都会受到攻击力、暴击率以及暴击伤害的加成
(就连锅巴奥兹都会暴击)
也因此如何将这三项数值做最有效的分配,
就成了伤害能否最佳化的重要议题。
对于这些伤害类型,可以写出一般化的伤害公式:
 伤害期望值 = [基础攻击力 × (1 + 百分比攻击力) + 固定攻击力]
       × (1 + 暴击率×暴击伤害) × 伤害倍率
       × [有的没有的普攻伤害加成、属性伤害加成、元素精通加成、技能增伤…]
若将伤害倍率提出来,用数学式表达为:
 f(x, y, z, wi) = x (1 + y z) (1 + w1) (1 + w2) …
其中 x 为 总攻击力百分比 ((白字 + 绿字)/白字)
y 为总暴击率
z 为总暴击伤害
wi 为各种加成系数
若再简化只取攻击力、暴击率以及暴击伤害的项,我们定义伤害期望值函数 f:
 f(x, y, z) = x (1 + y z)
这就是我们希望最大化的数值。
然而角色能够分配到攻击属性的配额有限,
也没有办法完美控制圣遗物副词条的数值,
故我们应该考虑在「限制条件」下最大化伤害函数的方法。
圣遗物主属性所提供的攻击力、暴击率、暴击伤害数值
是 3 : 2 : 4 (同样的星数、强化等级下),
副词条虽然变数较大,但也大致上依循这个比例。
假如你选了 45% 的攻击头、就会牺牲 30% 的暴击率;
你得到了 20% 的暴击伤害,就要失去 15% 的攻击力。
(没有办法我全都要.jpg)
这就是迈向更高的伤害期望值时需要做的取舍。
我们可以定义配额函数 g:
 g(x, y, z) = x/3 + y/2 + z/4 = c
在相同的圣遗物品质、数量之下,
你所能运用的配额 c 就是大致相等的。
另外,总攻击力百分比不会低于 100% (即攻击力不会低于基础攻击力),
暴击率不会低于 5%,暴击伤害不会低于 50%,
(如果你核心装备有相关属性的话下限值就会更高)
是参数组 (x, y, z) 的先决条件。
对于最佳化问题,微分为零求极值是最常见的方法,
而在限制条件下的版本就是拉格朗日乘数
本文接下来就会从边际收益的概念出发
解释拉格朗日乘数的核心精神,
并以此计算出在各种限制条件之下伤害期望值的最佳解。
还有一种称为 Karush-Kuhn-Tucker 条件的方法,
专门处理等式、不等式限制条件混和的最佳化问题,
但是此法通常没有解析解,
就算有我也不会解_(:3」∠)_,
而且往往难以从结果了解它的数学意义,
所以本文会用它的一般版拉格朗日乘数
搭配额外加入的不等式条件来作解析。
数学方法
首先我们来谈谈何谓「边际收益」。
在经济学的领域中,
边际收益代表著在既定的生产组合之下,
每多生产 (销售) 一单位的产品,所能得到的收益量
当生产的产品越来越多,
所能收获的利益就会越来越少,
同时所要付出的成本也会越来越高,
称为「边际收益递减」与「边际成本递增」。
当边际成本开始超过边际收益,
继续生产 (销售) 产品的净利反而会减少,
这时候的总销售利润就是最大值。
套到伤害计算公式上面来说,
每多分配一点配额到某个属性上,
(如:3% 的攻击力、2% 的暴击率、4%的暴击伤害或任意组合)
伤害期望值函数一样会有对应的提升,
就是伤害期望值的边际收益。
我们将 f(x, y, z) 对参数组 (x, y, z) 做全微分,可得:
 df = (∂f/∂x) dx + (∂f/∂y) dy + (∂f/∂z) dz = fx dx + fy dy + fz dz
且因 1 点配额可以换得 3 点的攻击力,或 2 点的暴击率,或 4 点的暴击伤害,
故我们可以得到叠三种属性的边际收益为:
 Mx = df/dc (y, z 不变) = 3 fx = 3 (1 + y z) (出攻击力的边际收益)
 My =  df/dc (x, z 不变) = 2 fy = 2 x z (出暴击率的边际收益)
 Mz =  df/dc (x, y 不变) = 4 fz = 4 x y (出暴击伤害的边际收益)
举例试算,假设 x = 200%、y = 5%、z = 50%:
 Mx = 3 × (1 + 0.05 × 0.5) = 3.075
 My = 2 × 2.0 × 0.5 = 2.0
 Mz = 4 × 2.0 × 0.05 = 0.4
而当攻击力来到 300%,其他两项不变:
 Mx = 3 × (1 + 0.05 × 0.5) = 3.075
 My = 2 × 3.0 × 0.5 = 3.0
 Mz = 4 × 3.0 × 0.05 = 0.6
我们可以看到,当我们只叠攻击力,边际收益并不会因此下降,
但是出其他属性的边际收益会渐渐超过出攻击力的边际收益
此时出其他属性的效益就会比只出攻击力还要好。
至于大佬们常说的「攻击力稀释」又是怎么回事?
如果我们把边际收益除以伤害期望值函数,我们可以得到边际成长率
 Gx = 3 / x (出攻击力的边际成长率)
 Gy = 2 z / (1 + y z) (出暴击率的边际成长率)
 Gz = 4 y / (1 + y z) (出暴击伤害的边际成长率)
这个数字代表著每多分配一点配额,
伤害期望值会成长为原本的多少比例
当 x = 200%,Gx = 1.5;
当 x = 300%,Gx = 1.0。
从这里我们就可以看出,在单一数值较低的时候,
同样的点数可以带来较大的比例成长,
越往上叠,成长率就越低
这个时候出其他数值的成长效果就会越好,
这就是「属性稀释效应」。
照著同样的逻辑,不只是攻击力,
任何属性的成长率都会随著该属性的单调增加而减少
(包括属性伤害加成、普攻伤害加成、增伤效果…)
这也是为什么大佬们都会建议你平均分配属性的原因。
从这里我们也可以看出为什么建议暴击率跟暴击伤害要是 1 : 2。
如果参数组 (x, y, z) 是一个最佳组合,
那么我们应该要得到 Gx = Gy = Gz。
(否则就会有出其中一种属性优于另外两种的状况,
代表还没有达成最佳解)
解 2 z / (1 + y z) = 4 y / (1 + y z)
得 z = 2 y
用白话文说就是,
虽然 y = z 是 y z 的最佳解,
但是 y 比 z 贵一倍,
所以 z = 2 y 才是在该问题限制条件下的最佳解
在实务上,只要根据你当下的参数,
计算出各属性的边际成长率 G,
就可以找出当下最佳该出的属性是什么。
这就是懒人包里提到的「边际成长法」。
但是请注意,如果你有很多个武器效果、圣遗物可供选择,
边际成长法并不能保证连续选择下的结果会是最佳的结果
(也就是说,每一次根据边际成长率来做的最佳选择合在一起并不一定是最佳的)
如果要处理这种情况,就要参考接下来要介绍的拉格朗日乘数
拉格朗日乘数告诉我们,
如果我想知道目标函数 f(x) 的最大值,
但是参数组 x 必须满足某种限制条件 g(x) = 0,
(g(x) = c 的形式也可以,令 h(x) = g(x) – c = 0 就好,
 不影响结果,以下不再赘述。)
那么我可以创造一个新的拉格朗日函数 L:
 L(x, λ) = f(x) – λ g(x)
这个新函数的极大值问题就会包含原函数的极大值问题
换句话说就是设 L 对参数组 x 跟 λ 微分为零求极值。
微分为零求极值」是我们在学习微积分时一定会碰到的例题,
基本的精神就是「如果一个函数的值在某点附近不再增减,
那么该函数在该点有极大值或极小值」。
(更严格来说,该点还必须不是「反曲点」)
但是如果我的参数本身受到某种限制,该怎么处理?
拉格朗日乘数的精神就是:
「如果一个函数在符合限制条件下的某一点附近不再增减,
那么该函数在该点有极大值或极小值」。
这相当于我要求在 g(x, y, z) = 0 的条件下
 df =  (∂f/∂x) dx + (∂f/∂y) dy + (∂f/∂z) dz = 0
在 c 不变的限制条件下,
 dg = (∂g/∂x) dx + (∂g/∂y) dy + (∂g/∂z) dz = dc = 0
显然 fx : fy : fz = gx : gy : gz 是一个解,
( df = fx dx + fy dy + fz dz = λ gx dx + λ gy dy + λ gz dz
  = λ (gx dx + gy dy + gz dz) = λ dc = 0 )
故我们得到:
 (∂f/∂x) – λ (∂g/∂x) = 0
 (∂f/∂y) – λ (∂g/∂y) = 0
 (∂f/∂z) – λ (∂g/∂z) = 0
等价于:
 ∂L/∂x = (∂f/∂x) – λ (∂g/∂x) = 0
 ∂L/∂y = (∂f/∂y) – λ (∂g/∂y) = 0
 ∂L/∂z = (∂f/∂z) – λ (∂g/∂z)  = 0
 ∂L/∂λ = g = 0
这就是拉格朗日乘数最简单直观的证明。
套用到我们关注的问题,
我们得到最佳化 (x, y, z) 的条件是
 fx : fy : fz = 1/3 : 1/2 : 1/4
但这相当于
 3 fx = 2 fy = 4 fz
也就是
 Mx = My = Mz 或是 Gx = Gy = Gz
这可以与边际成长法中求最佳解的条件互相印证。
然而在我们关注的问题中,
还有 x ≧ 100%、5% ≦ y ≦ 100%、z ≧ 50% 的不等式条件存在,
除了微分为零的地方,目标函数的极大值也可能发生在边界上
拉格朗日乘数无法处理这样的问题。
所幸,边界上的最大值问题一样可以用拉格朗日乘数解决,
边界有几个就解几次拉格朗日乘数
最后再把所有发生极大值的地方放在一起比较,
得到所有极大值之中的最大值。
这并不是一个简单的工程,
也有一些难以准确分析的区域,
但是借助程式的方法,
我们可以得到近乎准确的结论。
以下开始展示应用拉格朗日乘数的详细分析。
数据分析
我们想要求目标函数 f(x, y, z) 在限制条件 g(x, y, z) = c 下的最大值。
这个问题的拉格朗日函数为:
 L(x, y, z, λ) = x (1 + y z) – λ (x/3 + y/2 + z/4 – c)
接下来我们微分求极值:
 ∂L/∂x = (1 + y z) – λ/3 = 0
 ∂L/∂y = x z – λ/2 = 0
 ∂L/∂z = x y – λ/4 = 0
 ∂L/∂λ = -(x/3 + y/2 + z/4 – c) = 0 (这条就是限制条件 g(x, y, z) = 0,最后再处理它。)
经过消去法,我们可以得到 f(x, y, z) 达到极值时的条件:
 x = 3 (1/y + 2 y) / 4
 y = y
 z = 2 y
套回 g(x, y, z) = c 可得:
 y = c/3 ± √(4 c^2 – 6)/6
 (x, z 用 y 的结果带入)
可以得到在 √1.5 ≦ c < 1.75 及  √1.5 ≦ c < 1.375 两个区间
分别有两个内部解 (x, y, z)。
从这个结果来看,
不管你原本攻击力、暴击率或暴击伤害是多少,加成效果来自哪里,
只要你最后的暴击率跟暴击伤害是 1 比 2
且百分比攻击力跟暴击率的关系如上所述,
你的伤害就会是极大化
另外,由配额函数 g 计算出的配额 c 也一样,
其绝对的数值在实务上并不重要,
只有当你想比较同角色拿不同武器
或是不同角色之间最佳化属性分配的差异时,
才需要特别去详细计算
然而这个推导有两个缺陷;
其一为实际上我们无法随心所欲调配各数值的比例,
其二为原问题的最大值可能发生在参数组的边界
(另外,圣遗物副词条数值加成的比例也未必总是 3 : 2 : 4。)
因此我们可以对每个可能的边界做一次拉格朗日乘数,
然后分析在各配额下最佳化的参数组应该符合什么关系式。
我们先考虑 x ≧ 100%、5% ≦ y ≦ 100%、z ≧ 50% 的边界,
这个时候需要比较的边界解就多达 9 种
(还要加上刚刚用拉格朗日乘数算出来的两个内部解)
不过不用担心,本米已经帮大家整理好了,
以下以 Python 语言 matplotlib 模组包下的 pyplot 函数绘图呈现。
(内部解与各边界解在各配额下的比较关系。)
我们可以将此函数图划分成三个区域:
 1. (0.15 + 1/3) ≦ c < 1.175,粉色函数胜出,
  为 y = 5%、z = 50%,只叠攻击力的边界解 (x, 0.05, 0.5)。
 2. 1.175 ≦ c < 1.25864,绿色函数胜出,
  为 z = 50%,按 3 : 2 的比例叠攻击力与暴击率的边界解 (3(1 + 0.5y), y, 0.5)。
 3. 1.25864 ≦ c < 1.75,黑色函数胜出,
  为上述拉格朗日乘数得到的内部最佳解 (3(1/y + 2 y)/4, y, 2 y)。
 4. c > 1.75,看起来像绿色的黄色函数胜出,
  为暴击率已达 100%,按 3 : 4 的比例叠攻击力与暴击伤害的边界解 (3(1 + z)/4, 1.0, z)。
什么?你说看不到黑色函数绿色函数低?
(大哥他没有输)
我们再放大一点看。
(配额在 1.2 到 1.3 之间粉、绿、黑三个边界解的比较关系。)
进一步,我们可以绘制出最佳化参数组 (x, y, z) 对配额的关系图,
并在各区段分析最佳的属性分配:
(最佳化的三项数值对于配额的函数图。)
 1. 在攻击力达到 307.5% 之前,只叠攻击力会是最佳解。
 2. 续第 1 项,在 307.5% ≦ x < 320.0% 这个区间,应按 3 : 2 的比例叠高攻击力及暴击率
 3. 续第 2 项,当 (x, y, z) 超过 (320.0%, 13.4%, 50%),
  最佳解会瞬间跳到从 (222.7%, 51.6%, 103.3%) 开始的内部解。
  这个时候我们会想按 1 : 2 的比例叠高暴击率及暴击伤害
  但同时我们也观察到在 (x, y, z) 到达 (212.1%, 70.7%, 141.4%) 之前,
  最佳化的攻击力是往下掉的,
  意思是不必强求攻击力,甚至可以牺牲部分攻击力来换取双暴属性
 4. 当 (x, y, z) 超过 (320.0%, 13.4%, 50%),
  最佳化的攻击力会慢慢增加,
  此时应保持暴击率与暴击伤害 1 : 2 继续叠高,
  并适度分配点数到攻击力直到 (225%, 100%, 200%)。
 5. 这个区段暴击率已经到达 100%,无法再提升了,
  接下来按 3 : 4 的比例叠高攻击力与暴击伤害会是最佳解。
  (我很好奇这是不是可能达到的领域?)
为验证本最佳化分析的可信度,
我们使用 Python 语言 Scipy 模组包下的 SLSQP 方法,
计算出各配额下的最佳解,并同样做图。
给有兴趣的人:
 
import scipy.optimize as opt
 
def dmg_f(x):
    return x[0]*(1 + x[1]*x[2])
 
def cons_f(x, c):
    return x[0]/3 + x[1]/2 + x[2]/4 – c
 
def dmg_opt(c):
    c = max(0.15 + 1/3, c)
    obsf = lambda x: -dmg_f(x)
    init = [1.0, 0.05, 0.5]
    cons = [{‘type’: ‘eq’, ‘fun’: lambda x: cons_f(x, c)}]
    bound = [(1.0, None), (0.05, 1.0), (0.5, None)]
    res = opt.minimize(obsf, x0 = init,\
                       bounds = bound,\
                       constraints = cons,\
                       tol = 1e-14)
    dmg = -res.fun
    para = res.x
    lndmg = np.log(dmg)
    return dmg, para, lndmg
(程式计算出的最大伤害期望值函数值与其对数值对配额作图)
(程式计算出的最佳化的三项数值对配额作图。)
我们可以看到趋势是符合前述讨论的,
然而区域 2 的宽度却有明显的不同。
从程式算出的最大伤害期望值函数图可以发现
在 c = √1.5 ≒ 1.2247 的地方有一个小折点,
推测是程式基于不明原因提前走到区域 3 的内部解,
但实际上在 √1.5 ≦ c < 1.25864 内部解还没有超越边界解 (3 + 1.5 y, y, 0.5),
可以合理认为是程式所采用的 SLSQP 方法存在著某些缺陷。
scipy.optimize.minimize() 函数有个臭名是
你给定的起始点不同,你会得到不一样的极值点,
所以会有一些小偏差实际上是不令人意外的。
如果要解决这个问题,就要想办法给函数一点额外的限制,
不然就得自己写一个 Python 函数来解最佳化问题_(:3」∠)_
不过实务上我们很难完全没有额外暴击率、暴击伤害,
很多时候都是已经有 (举例) y0 = 32%、z0 = 84 % 的前提下去调配,
这个时候我们就必须求符合 (x, y0, z0) 的边界解
还有在这范围内可能的内部解。
其结果可以分成两个部分:
 1. 暴击率小于暴击伤害的一半
  这个时候出暴击率的效益是大于暴击伤害的,
  因此我们考虑攻击力暴击率要怎么调配。
  以拉格朗日乘数得边界解为 (1.5(1/z + y), y, z0),
  也就是按 3 : 2 的比例叠高攻击力及暴击率
 2. 若暴击伤害未达暴击率的两倍
  这个时候出暴击伤害的效益是大于暴击率的,
  因此我们考虑攻击力暴击伤害要怎么调配。
  以拉格朗日乘数得边界解为 (0.75(1/y + z), y0, z)。
  也就是按 3 : 4 的比例叠高攻击力及暴击伤害
当 y 与 z 的比例接近 1 : 2,内部解会逐渐超过边界解,
若 z0 > 81.6% (或 y > 40.8%),在 z = 2 y 的时候可以无缝接上内部解,
但是其他的情况就没有一个明确的判断式 (应该是没有解析解)。
不过因为这个时候边界解与内部解的伤害期望值函数值差距不太大,
所以只要先把 y 跟 z 调配到接近 1 : 2 之后,
按 1 : 2 的比例叠高暴击率及暴击伤害并接上内部解 (3(1/y + 2 y)/4, y, 2 y),
就可以得到 (接近) 最大化的伤害期望值。
剩下的结果就跟懒人包一样了。
这个结果可以解释为什么有些角色应该按 1 : 2 叠暴击率跟暴击伤害
有些只需要叠攻击力,有些则需要交互叠
主 C 配额够高,可以毫无悬念叠双暴,
副 C、工具人如果暴击伤害不够高,就多叠攻击力,
暴击伤害够高,就轮流出攻击力跟暴击率
除了得知关于如何最佳化分配点数之外,
最大伤害期望值函数还有其他的应用。
(最大伤害期望值函数值对配额作图。)
(最大伤害期望值函数值的边际成长率与配额的关系图)
上图灰线是对数化的伤害期望值函数,
下图灰线则为前述函数的微分,
令 F = ln f
则 F’ = f’ / f = G
该微分即为前述函数的边际成长率。
我们可以看到当配额超过 0.817,
边际成长率不会再超过 1.5
因此叠属性伤害加成的时候,
也不建议叠到边际成长率小于 1.5。
(之所以把属性伤害加成分开讨论,是因为只能从空之杯和套装效果获得,相对独立。)
设优势属性伤害占所有伤害的比例为 p,
属性伤害加成为 w,
则 G (属性伤害) = 3 d ln(1 + p w) / dw = 3 p / (1 + p w) ≧ 1.5
得 w ≦ 2 – 1/p。
如果是纯元素输出 (普攻也是属性伤害的法师角色) 大可把属性伤害加成当成攻击力在叠,
但是越叠边际成长率越低
这个时候取决于你惯用的输出手段,
出一点普攻、重击伤害加成或许不失为好的选择。
(如果你的队伍可以让凝光常驻护盾,
 并以普攻、重击作为主要输出手段,
 那逆飞的流星四件套就会比悠古的磐岩两件套好一些。)
如果是元素、物理混伤输出,优势属性伤害的占比 (p 值) 越重,
越适合叠高属性伤害加成,
但是除非你是全程后台挂元素工具人
不然不适合像法师那样堆叠属性伤害加成
个人是建议穿对应的属性伤害加成套,
之后的空之杯用边际成长法判断应该出攻击力还是属性伤害加成
(或是反过来,先穿属伤杯,再决定要穿什么套装)
结论
拉格朗日乘数可以得到在配额够高的时候,1 : 2 叠双暴是效益最高的选择。
(此时只要总攻击力 > 212.1%,不需要过度叠高攻击力。)
若是配额不足,则按照暴击伤害 (或暴击率) 的高低比例
决定如何交互叠高攻击力暴击率 (或暴击伤害)
属性伤害加成根据你的角色类型及你惯用的输出手段
搭配其他攻击属性来出。
任何攻击属性都不应该单独叠高 (属性伤害加成也不例外),
需要时用边际成长法来衡量什么时候是出太多了,
或是做为套装效果选择的参考。
谢谢大家的观看。欢迎批评指教。
(图片来源:Appmedia プリコネR攻略wiki “星6実装キャラ一覧とやり方”)

转载作者:露米☆ Luminus。

原文网址:https://forum.gamer.com.tw/C.php?bsn=36730&snA=7609

相关文章