アートボード_4

モンハンに学ぶ期待値*入門編

この武器とあの武器どちらが強いのか?このスキルとあのスキルではどちらを積むべき?そういった話題で必ずと言っていいほど登場するのが「期待値」という概念。ゲームをするようになってこの言葉を初めて目にした、という方も少なくないかもしれません。今回はモンハンを題材に「期待値」の考え方の解説を行います。期待値は高校で習ったけど完全に忘れてしまった習っていないけど大人になってから学習する機会がない、というハンターさまに向けた記事です。

数式も使いますが、小学校で算数を卒業していたとしても理解できるようにきちんと説明します。事前知識は必要ありません。なお、記事で触れるのは数学としての期待値の部分のみで、実用的なお話(場面に応じた推奨スキル等)については今回は割愛します。

まずは期待値の具体例を

期待値とは「確率変数のすべての値に確率の重みをつけた加重平均」のことです。いきなり意味不明な用語が出てきましたが、いったん無視しましょう。これはモンハン風に訳すなら、「攻撃したときに与えられるダメージ量の見込み」とよべるモノ。ダメージ量の見込みとは一体何なのか、まずは簡単な例で説明します。


ここに、攻撃力が100の剣があったとします。

アートボード 1

この剣は会心率が0%で、剣を一振りすると100のダメージを与えられるものとします。この剣で1回攻撃したときに与えられるダメージ量の見込み(期待値)はいくつでしょうか。


アートボード 1

当たり前ですが、この剣は何回振っても100のダメージしか出ません。会心率は0%だからです。よって1回攻撃したときに与えられるダメージの見込みは100です。これをE=100と表現することにしましょう。
(期待値は英語でExpectationと言うので、通常はその頭文字を取ってEと表現します)


次に、同じく攻撃力が100の剣を考えます。ただし今度は会心率が50%であると設定します。この剣で1回攻撃したときに与えられるダメージの見込みはいくつでしょう。

アートボード 1

会心が発動すると与えるダメージが1.25倍になるので、100のダメージが出るときと、125のダメージが出るときの2通りのパターンがあります。何度も攻撃すると、会心攻撃が連続したり非会心攻撃が連続することもありますが、会心率は50%なので両者が起こる確率としてはちょうど半々。なんとなく2つの平均を取ればよさそうなことは分かります。1回あたりの攻撃で与えられるダメージの見込みは、
(100+125)÷2を計算してE=112.5であるといえるでしょう。

ここでのポイントは、この剣で1回だけ攻撃したときに直接112.5のダメージが出るわけではないということ。与えるダメージは100か125の2種類しかないからです。期待値が意味しているものは「平均すると1回あたりこれくらいのダメージが出ている計算になりますよ」ということです。


続けて、攻撃力が100で会心率が80%の剣を考えます。この剣で1回攻撃したときに与えられるダメージの見込みはいくつでしょうか。

アートボード 1

さっきよりも会心率が高いので、125のダメージを与えられる回数は多くなります。期待値も上がるはず。さっそく平均を出したいのですが、どのように計算すればよいのでしょうか。単純に足して2で割るわけにもいかなさそう(それだと会心50%のときと同じになっちゃうので)

実は先ほどの会心率50%の剣のとき、平均を出すために足して2で割るという操作を行いましたが、それは数式で書き換えるとこのような操作をしていたことになります。

アートボード 2

1回1回の攻撃に対して、会心が発動していない場合のダメージとその確率会心が発動した場合のダメージとその確率を、それぞれ掛けて足し合わせています。足してから割るのではなく「毎回半々の確率で起こるんだから最初から半分ずつにしておいて足せばいいじゃん」という寸法ですね。やや回りくどい方法に見えますが、この計算方法だとどんな会心率にも応用できるのでたいへん便利です。

この式と同じ要領で、攻撃力が100で会心率が80%の剣のダメージの期待値を出してみます。

アートボード 2

期待値Eが120であることが簡単に求まりました。この剣を振ると100のダメージと125のダメージが出ることがありますが、期待値E=120なので「平均すると1回あたり120のダメージが出ている」ことが分かります。


期待値の定義

冒頭で、期待値とは「確率変数のすべての値に確率の重みをつけた加重平均」のことである、と書きました。

確率変数というのは「確率によって様々な値を取る数」という意味です。ここでは1回の攻撃で実際に与えるダメージのことを指します。先ほどの剣では確率(会心が発動するかどうか)によって1回の攻撃で発生するダメージが異なりました。つまり「確率変数のすべての値」は100と125の2種類ですね。

確率の重みをつけた加重平均というのはやや聞きなれない表現ですが、実際にそれが何%の確率で起こるのかを先に掛け算しておくヨ、という認識で構いません。確率が80%ならば0.8を掛けるので全体に占める割合としてはちょっと重め、確率が10%ならば0.1を掛けるので全体に占める割合としてはちょっと軽め、そんなイメージでの「重みづけ」です。

「確率変数のすべての値に確率の重みをつけた加重平均」という暗号のようなコトバがなんとなく理解できたでしょうか。

さて、ここで数学の期待値の定義を見てみましょう。

アートボード 3

この画像の上の部分が、その定義式です。


xやらpやら知らん文字が出てきましたが、xは確率変数が取り得る値pはxがその値になる確率を意味しています。xがいろんな値を取るときは、値xと確率pを掛けたものがどんどん足されていきます。これは無限に続く場合も考えられるので、定義式の最後の項はX10、x100などと数字は置かずに、Xn(nにはどんな数字でも入る)×pn(nにはどんな数字でも入る)と表現され、足される数が何個あっても対応できる形です。

剣の攻撃では、攻撃のダメージ(X)は100と125の2種類しかなかったので、足し算は2回で終わり。実際の数字を入れて計算した画像の下の部分と比べてみると分かりやすいでしょう。


期待値をどう役立てるか

ここまで、いろいろな剣を想定して期待値を計算してきました。例えば攻撃力100で会心率が80%の剣では、1回の攻撃で与えられるダメージの期待値は120でしたね。ちなみに攻撃力が120で会心率が0%の剣があったとしても、その剣で与えられるダメージの期待値は同じく120です。

2つの剣はどちらも攻撃力と会心率こそ異なりますが、実質的に「同じ強さ」であることが、期待値を使うと一目瞭然です。モンハンにはいろいろな武器やいろいろなスキルがあるので、それらの条件が異なる複数の装備セットの火力を比較したいときに、それぞれの期待値(見込まれるダメージ)を計算して性能を評価するという手法がしばしば取られます。

この記事のまとめとして、最後に1問だけ問題を用意しました。以下の条件のA、Bふたつの剣があるとき、どちらの剣のほうが平均的に強い(期待値が高い)でしょうか。

アートボード 4

剣A:攻撃力100、会心率95%超会心なし
剣B:攻撃力100、会心率70%超会心LV3
(※通常の会心ダメージは1.25倍、超会心LV3の会心ダメージは1.4倍になる)

計算してみます。



アートボード 2

アートボード 3

剣Aのダメージの期待値は123.75、剣Bのダメージの期待値は128であることがわかりました。つまり剣Bのほうが少し強い。
このようにぱっと見で武器の強さの判別が付きづらいときでも、期待値を計算することで簡単に比べることができるのです。

ここまで紹介してきた会心関係だけでなく、挑戦者など一部の時間でか効果を発揮しないスキルや、ボウガンの弾薬節約のスキルなどにおいても、期待値を応用して考えることができます。そのお話は、追々別の記事で。

この記事が気に入ったらサポートをしてみませんか?