【計算】スキルによる期待値上昇について | A gunner.

2017/05/31

【計算】スキルによる期待値上昇について

前作・今作にて、非常に多くの火力スキルが追加されました。特に会心率の威力補正を上昇させる「会心強化(超会心)」やダメージを受けていると攻撃力が上昇する「逆上(逆恨み)」マイナス会心を一定確率で強力な攻撃に転化させる「裏会心(痛恨会心)」など様々です。これまでの火力スキルである「達人(見切り)」「攻撃」「闘魂(挑戦者)」などのスキルなども含め、一定の指標を作成したいと考え、今回は執筆・計算に至った限りです。

■基本計算

武器の攻撃力を[x]会心率を[p](0 < p ≦ 1)とすると・・・
通常会心:x * (p * 1.25 + (1 - p)) = x * (1 + 0.25 * p) = x + 0.25 * p * x
すなわち武器の攻撃力に0.25と会心率(表示%÷100の値)を掛けた値上昇することになる。
また、バット会心については会心率[p]として(-1 ≦ p < 0):x * (|p| * 0.75 + (1 - |p|)) = x * (1 - 0.25 * |p|) = x - 0.25 * |p| * x。武器の攻撃力に0.25と会心率(表示%÷100の値)を掛けた値減少する。
よって会心率[p](-1 ≦ [p] ≦ 1)での期待値は x + 0.25 * p * x となる。
せっかくなのでJavaScriptで計算機を作ってみました。小数点2桁まで表示します
攻撃力表示値[x]: 総会心率[p(%)]:
=>期待値:
ちなみに図解するとこうなります。

●会心率UPスキル系統の期待値計算

スキルにより会心率が変化した状態の[p]を[p + P](-1 < P < 1)とすると
(x + 0.25 * (p + P) * x) - (x + 0.25 * p * x)
= 0.25 * (p + P) * x - 0.25 * p * x
= 0.25 * P * x
これは会心率変化による期待値の増減は、元の会心率に依存しないことを示します。

●超会心について

「超会心」は会心時の補正を1.25倍から1.4倍に引き上げるスキルで強力に見えますが、会心率の高さに依存します。そこで、見切りや連撃などのスキルの変わりに超会心を発動すべきなのはどれだけの会心率がある場合なのかを調べました。
超会心時の期待値上昇を計算することにします。上記の(*)の式を超会心の補正に書き直すと
... = 1 + (1 + 0.4 * P) / (1 + 0.4 * p)
= 1 + (2.5 + P) / (2.5 + p)

P = 0.01(会心率1%上昇)とすると
(2.5 + p + 0.01) / (2.5 + p)
= (2.51 + p)  / (2.5 + p)
= 1.0040(∵pは任意の値)

ということでこちらは1%に対しての上昇率は0.0040で、非発動時より0.0015高くなります。
すると 1.0040 / 1.0025 = 1.001496.... ≒ 1.0014 より、会心率1%による超会心の威力向上は1.0014倍と低め。会心率1%の状態から超会心の補正強化と会心率2%では会心率2%の方が期待値が良いことになります。

さて、では超会心がいつ見切りを超えるか計算しましょう。
武器威力を[x]、素の会心率を[s]、会心上昇値を[r]とすると
x * (s * 1.4 + (1 - s)) > x * ((s + r) * 1.25 + ((1 - s) - r))
s * 1.4 + (1 - s) > (s + r) * 1.25 + (1 - s) - r
s * 1.4 > (s + r) * 1.25 - r
0.15 * s > 0.25 * r
s > 1.666... * r  (s * 0.6 > r)
よって素の会心率がスキルによる会心上昇率の1.666...倍を越えたとき、超会心が優位になります。逆に見切り等のスキルによる会心上昇率が素の会心率の0.6倍を上回る時は会心率を上げるスキルが優先です。図に示します。
表では次のようになります。[x]が会心率が優先、[o]が超会心が優先です。
補正\素の会心 0% 5% 10% 15% 20% 25% 30% 35% 40% 50%
+10%(見切り+1) x x x x o(16.6%) o o o o o
+20%(見切り+2) x x x x x x x o(33.3%) o o
+30%(見切り+3) x x x x x x x x x o(50%)
+37.5% x x x x x x x x x x
さらに、元々高い会心率を持つ武器で、どのようなときに「超会心」が優先されるのかも計算してみます。
武器威力を[x]、素の会心率を[s]、攻撃上昇値を[p]とすると
x * (s * 1.4 + (1 - s)) > (x + p) * (s * 1.25 + (1 - s))
x * (1 + 0.4 * s) > (x + p) * (1 + 0.25 * s)
x + 0.4 * s * x > x + x * 0.25 * s + p + 0.25 * s * p
0.15 * s * x > p + 0.25 * s * p
素の会心率と攻撃力+nアップから、超会心が優先される攻撃力の値をそれぞれ算出すると
条件\会心率[%] 10 20 30 40 50
超会心>攻撃【小】 683.3 350.0 238.9 183.3 150.0
超会心>攻撃【中】 1025.0 525.0 358.3 275.0 225.0
超会心>攻撃【大】 1366.7 700.0 477.8 366.7 300.0
「素の会心率が20%で攻撃小より超会心が期待値が高くなるのは攻撃力が350以上」というような見方をします。以下で言及する「攻撃と見切り」の比較とあわせて考える必要があります。

●裏会心について

MHXXにおいて追加された「バッド会心を一定確率で強力な攻撃にする」スキルですが、これを合わせた「モラクディアーガ」や「少し風化した弓」が強力だと謳われていますが、実際係数はどれくらいなのかを計算しました。鈍器本によるとバッド会心の25%が攻撃力2倍とされているので、この数値を利用します。
武器威力を[x]会心率を[p](-1 ≦ p < 0)として
x * (|p| * 0.25 * 2 + |p| * (1 - 0.25) * 0.75 + (1 - |p|))
= x * (|p| * 0.5 + |p| * 0.75 * 0.75 + (1 - |p|))
= x * (|p| * (0.5 + 0.75^2 - 1) + 1)
= x + 0.0625 * |p| * x裏改心を発動させるとバッド会心時マイナスだった変動部分(-0.25 * |p| * x)がプラス(0.0625 * |p| * x)になりました。ところで、この計算式の威力追加部分を、通常のプラス会心の式と比較してみます。
(0.0625 * p * x) / (0.25 * p * x)
= 0.0625 / 0.25
= 0.25
どういうことかというと、会心率[-|p|]の武器を裏会心で運用した場合、会心率[+|p|]の期待値の1/4の威力上昇と同様と考えることができるということです。図解すると下のようになります。

図の作成にはshirley様(twitter@swaltan_x)のツイートを参考にさせて頂きました。
つまり、裏会心は会心-N%(0 < N < 100)の武器を会心N/4%と同様の期待値にするスキルと言えます
例を挙げると、モラクディアーガでいえば威力370会心-30%(期待値:342.25)ですが、裏会心を発動させると威力370会心7.5%(期待値:376.9375)の期待値になると言えます。この武器の期待値の増加率については377 / 342 ≒ 1.1倍と非常に強力に見えますが、会心+40%分のスキルを盛れば威力370会心10%(期待値:379.25)と超えることが可能です。

●攻撃スキルとの比較

攻撃はその名の通り攻撃力を+[n]するスキルです。会心率を上げるより攻撃力を上げたほうがダメージ計算上有利に働くことが多いですが、同様のスキルポイントを振って得られる見切り(会心+[m]%)を適用した場合との比較を考えてみます。
まず、各スキルによる期待値上昇は次のようになります。
攻撃力+n  :(x + n) + 0.25 * p * (x + n)
会心率+m%:x + 0.25 * (p + m) * x

具体的な[n]、[m]を適応して考えます。攻撃スキルの期待値<見切りスキルの期待値となるような交点を求めます。
・n = 10, m = 0.1(見切り+1)の時
x + 10 + 0.25 * p * (x + 10) < x + 0.25 * (p + 0.1) * x
10 + 0.25 * p * x + 2.5 * p < 0.25 * p * x + 0.025 * x
10 + 2.5 * p < 0.025 * x
400 + 100 * p < x

・n = 15, m = 0.2(見切り+2)の時
x + 15 + 0.25 * p * (x + 15) < x + 0.25 * (p + 0.2) * x
15 + 0.25 * p * x + 3.75 * p < 0.25 * p * x + 0.05 * x
15 + 3.75 * p < 0.05 * x
300 + 75 * p < x

・n = 20, m = 0.3(見切り+3)の時
x + 20 + 0.25 * p * (x + 20) < x + 0.25 * (p + 0.3) * x
20 + 0.25 * p * x + 5.0 * p < 0.25 * p * x + 0.075 * x
20 + 5.0 * p < 0.075 * x
266.6 + 66.6 * p < x
これらを満たす[x]と[p]の組み合わせを表にすると以下のようになります。小数点以下切り上げのため、素の会心率と条件から、総計攻撃力が一致または超過する場合、見切りの方が期待値が高くなります。
条件\会心率[%] -30 -20 -10 -5 0 5 10 20 25 30 40 50
見切り+1>攻撃【小】 370 380 390 395 400 405 410 420 425 430 440 450
見切り+2>攻撃【中】 278 285 293 297 300 304 308 315 319 323 330 338
見切り+3>攻撃【大】 247 254 260 264 267 270 274 280 284 287 294 300

実際の例を上げると以下のようになります。上記の表と見比べていただければ優劣が明らかです。
武器名 威力/会心 期待値 攻撃【小】 攻撃【中】 攻撃【大】 見切り+1 見切り+2 見切り+3
響き渡るフリューベル 270/20% 283.5 294 299.25 304.5 290.25 297 303.75
至宝砲シャンバラ 290/10% 297.25 307.5 312.625 317.75 304.5 311.75 319
曙光弩【晨風】 310/40% 341 352 357.5 363 348.75 356.5 364.25
覇爆砲イクセユプカム 340/40% 374 385 390.5 396 382.5 391 399.5
崩界弩エイヌカムノミ 380/-30% 351.5 360.75 365.375 370 361 370.5 380
モラクディアーカ 370/-30% 342.25 351.5 356.125 360.75 351.5 360.75 370

●挑戦者について

敵の怒りに反応して攻撃力上昇と会心率上昇の効果を得ることができます、効果の割に必要なスキルポイントが少なく、2スロ3ポイント珠の存在から発動も易しいため二つ名モンスターなどの怒り状態になりやすいモンスターに対しては特に有効です。逆にジンオウガなど怒り状態になりにくいモンスターに対しては、あまり効果を期待できません。

・・・このような曖昧な表現になってしまうのも、このスキルについては対等に比較できる対象が存在しないためです。というのも、このスキルは上記の単純火力増加系統と重複し、かつ重複しない力の解放は仕様により扱いにくく、また発動条件と得られる効果がまた違ったものであるためです。この項目については期待値の上昇倍率しか調べることが出来ませんでした。あまり実用的ではなく、自由研究のようになってしまい申し訳ないです。

さて、攻撃力を[x]会心率をpとするとそれぞれ次のようになります。係数というのは[挑戦者により向上した期待値]を[元の状態の期待値]で割った数値、すなわち増加幅を示します。

・挑戦者+1(攻撃力10↑+会心率10%↑)

((x + 10) + 0.25 * (p + 0.1) * (x + 10))  / (x + 0.25 * p * x)
= ((x + 10) + (0.25 * p * x) + (2.5 * p) + (0.025 * x) + 0.25) / (x + 0.25 * p * x)
= (x + (0.25 * p * x) + 10.25 + (2.5 * p) + (0.025 * x)) / (x + 0.25 * p * x)
= 1 + (10.25 + (2.5 * p) + (0.025 * x)) / (x + 0.25 * p * x)
= 1 + 10.25 / (x + 0.25 * p * x) + (2.5 * p) / (x + 0.25 * p * x) + (0.025 * x) / (x + 0.25 * p * x)

x + 0.25 * p * xは武器期待値に相当するので、これをRとすると
...= 1 + 10.25 / R + (2.5 * p) / R + (0.025 * x) / R

・挑戦者+2(攻撃力20↑+会心率15%↑)

((x + 20) + 0.25 * (p + 0.15) * (x + 20))  / (x + 0.25 * p * x)
= ((x + 20) + (0.25 * p * x) + (5 * p) + (0.0375 * x) + 0.75) / (x + 0.25 * p * x)
= (x + (0.25 * p * x) + 20.75 + (5 * p) + (0.0375 * x)) / (x + 0.25 * p * x)
= 1 + (20.75 + (5 * p) + (0.0375 * x)) / (x + 0.25 * p * x)
= 1 + 20.75 / (x + 0.25 * p * x) + (5 * p) / (x + 0.25 * p * x) + (0.0375 * x) / (x + 0.25 * p * x)

x + 0.25 * p * xは武器期待値に相当するので、これをRとすると
...= 1 + 20.75 / R + (5 * p) / R + (0.0375 * x) / R
このグラフから考えられることは、素のスペックが低い武器はスキル:挑戦者の効果が大きいということです。しかし必要スキルポイントの少なさ・珠の自由度から発動条件が緩和されており、有用であることは変わりありません。

■初公開:2017/05/12 あんまりにも更新したのでタイムスタンプ弄りました。

5 件のコメント:

  1. はじめまして。
    読ませてもらった中で、少し気になった点がありましたのでコメントさせて頂きました。

    “●会心率upスキル系統の期待値計算”の項目で導いている計算式で、

    “スキルにより会心率が上がった状態の[p]を[p + P]とする”

    とはじめに仮定した上で、

    “P=p+0.1(見切り+1)とする”

    と仮定するのは誤りではないでしょうか。

    結果として得られた数値が1+1.025、即ち2.025となり、見切り+1による期待値上昇率が倍以上となるのは流石に大きすぎるのでは…という疑問から、上記の考察に至りました。

    返信削除
    返信
    1. はじめまして。ご閲覧ありがとうございます。
      仰るとおりで、結論の導きを完全に見誤っており、仮定に準じるのであればP = 0.1(見切り+1)とすべきでした。
      訂正させて頂きました。ご指摘感謝いたします。

      削除
    2. 訂正、および返信ありがとうございます!
      ブレイヴモラクに憧れてつい最近ガンナーデビューを果たしたばかりのひよっこなので、初心者ガンナー向けの記事等々、とても参考になります。
      今後の記事も楽しみにしていますねっ!

      削除
  2. わかりにくい
    よって〜って言われても、は?って感じ

    返信削除
    返信
    1. はじめまして。ご閲覧ありがとうございます。
      改めて自分の記事を見返し、前半部分の修正を行いました。ご確認ください。

      削除