黄昏より暗きもの、血の流れより赤きもの

読者です 読者をやめる 読者になる 読者になる

黄昏より暗きもの、血の流れより赤きもの

自分の好きな事を好きなように書いて行きます。

ソーシャルゲームのガチャの期待値の計算式「カードの期待値 = 金額/確率」を使いたく無い2つの理由

確率

いきさつ

確率のガチャを本ブログで扱って数日が過ぎました。ガチャを引くのに必要な金額を計算するアプリを計算したりと色々やっていましたが、ある日ソーシャルゲームのガチャの期待値の計算が以下のように行われていてビックリしました。

カードの期待値 = ガチャ1回の金額 ×(1÷カードの出現確率)

どうやらこの式が多く出回っている計算式らしく、この計算だとどれくらいの外れを引くと計上されるのと言う事がきっかけで記事を書いてみました。

期待値の計算方法の自分なりの解釈

以下、当たりのガチャを引く回数Xの分布が二項分布に従うと仮定した上で話を進めます。二項分布につきましては過去の記事を参照して下さい。(2016.2.21追記 ちなみに特定のカードを引くのに必要な金額の計算法を知りたい方は、3番目のリンクを開いて下さい。)

まずカードを引いた回数をn、カードの出現確率をpとします。

このとき二項分布の平均(期待値E(X) = np(カードを引いた回数×カードの出現確率)、標準偏差σ=\sqrt{np(1-p)}となります。

ここで天下り的に n > 0かつ 0 < p \leq 1かつE(X) = np = 1 、と平均してカードが1回出ると仮定し、期待値(期待金額)を計算していきます。ここでガチャをn枚引くのに使用した合計金額は、

合計金額(円) = ガチャ1枚あたりの金額c × ガチャを引いた枚数n

で表せます。今回の式からガチャを引く枚数はnp = 1よりn = \frac{1}{p}0 < p \leq 1 これを言葉で説明し直すと、「1枚カードを得るまでにガチャを回す枚数 = 1/カードの出現確率」となります。

以上から、
ガチャの期待金額(円) = ガチャ1枚あたりの金額c × 期待値まで引いたときのガチャの枚数n
ガチャの期待金額(円) = ガチャ1枚あたりの金額c × (1/カードの出現確率p)
ガチャの期待金額(円) = ガチャ1枚あたりの金額c / カードの出現確率p

いうように計算しているようです。このことから、

ソーシャルゲームのガチャの期待値は、平均して1枚当たりカードを引けると仮定したときの期待金額

を計算している事が推測できます。ここからはこの計算の見立ての弱点といいますか、自分がこの公式を使いたくない理由について話します。

1つ目の理由:前提が納得いかない

1つ目の理由は、確率の逆数回分だけガチャを回すと言う事を前提にしているフシがある点です。「アンチラガチャで炎上中の「グランブルーファンタジー」が謝罪した件で、ゲームの儲け方とガチャの確率を復習してみた(1.14 追記変更)」でも説明しましたが、\frac{1}{300}のガチャを300回回したからといって当たるとは限らないからです。

2つ目の理由:1枚もカードを引けない確率が36%台と計上される

2つ目の理由は、1枚もカードを引けない確率が高く計上されるからです。その事を示す為に以下の例題を用意しました。

例題

n \geq 10 < p < 1のとき、確率pで当たりカードRを引けるガチャをn回引き、当たりを引いた回数をXする。さらに平均1枚引けると仮定し、np=1を仮定しよう。このとき、1枚カードを引けない確率P(X=0)nを使って表せ。

解答

0 < p < 1より、p=\frac{1}{n}としてよい。このとき、P(X=0) = \binom{n}{0} (1-p)^n = (1-\frac{1}{n})^n

補足

以下「コンプガチャだけじゃない!? ガチャに潜む確率の罠(てっく煮ブログ)」さんの真似をし、nを限りなく大きくするとP(X=0)の値はどのような値に収束するかについて調べます。

天下り的ではありますが、y=e^xx=0の付近で微分すると、微分の定義より\lim_{t \to 0} \frac{e^t - 1}{t-0} となります。ここでt = \log {(1+\frac{a}{n})}とおくと、n \to \inftyとなるため、\lim_{n \to \infty} {(1+\frac{a}{n})} = e^a。ここでa=-1とすることより、
\lim_{n \to \infty} (1-\frac{1}{n})^n = \frac{1}{e} = 0.367879....とnを限りなく大きくすると、外れる確率は36.7%に落ち着くようです*3*4

念のためn=1000までの全く引けない確率をグラフにまとめると、以下になります。*5


f:id:program_study:20160127020921p:plain

さて自然対数eについては、複利計算と関係が深いようですが、「連続複利 - 金融キーワード解説 | シグマインベストメントスクール」のような複利のグラフを見ても同じようなグラフを見る事が出来るかと思います。

主観

数学的には平均1回当たる事を仮定した場合にnを限りなく大きくすると、少なくとも1回当たる確率が\frac{1}{e}に収束する美しい性質があるようです。しかしながら金額を見込むと言う現実面で、ほぼ全ての場合において36%台の外れを見込んで計上しなくてはならないので納得いかないのが主観です。

最後に:本記事を書いていて思った事

最後に本記事を書いていて思った事を書きます。書いている立場として、「○つの理由」系の記事だし、もっと簡単にまとめたいと思ってなりません。しっかし原理や背景がボリュームのある内容だったんで、そうも行かないのが悲しい所。もっと簡単な内容ならば、読者の皆さんが読み疲れなくてよいのにと思います。

又毎回同じ事を取り扱ってますが、その都度調べるサイトがちがったりするのはやってて面白い点です。本記事を機に、自然対数の底や複利計算について勉強しなおさねばと思う次第です。

ネット記事を読む立場としては、情報というものは自分なりに検証したりまとめなおすべき。又は検証するための手段を常に持っておかねばならないと言う事も実感させられます。情報が多過ぎる昨今、まとめブログが流行る理由すごくわかります。そして色々調べたりまとめたりする事って何か作るよりも重要でしょ?と思っているのはここだけの話と言う事で、本日の〆と致します。

*1:2016.2.21 記事「グラブル問題について、各キャラの価格を計算してみた。 (はてな匿名ダイヤリー)」の必要予算の式を説明している記事となります。

*2:ガチャ1枚の価格をC、少なくとも1枚カードを引く確率(対象のキャラが一体以上出る確率):P(X \geq 1)、排出率をpとして、 必要金額はf:id:program_study:20160221111700p:plainで表せます。尚、ガチャ1枚の価格:C=300(円)、少なくとも1枚カードを引く確率(対象のキャラが一体以上出る確率):P(X \geq 1)=0.95(95%)とすると、上記記事と同じ計算ができます。

*3:「住宅ローンの計算 - 文科系でも「指数関数」を必修にすべきだ。 」を参考にしてみてください。

*4:自然対数の底から計算したんですが、いまいち分からずコピペになってしまいました...

*5:グラフで図示する理由として、サンクトペテルブルクのパラドックスを挙げます。最終的な値として特として計上されても、試行回数nの状況に依っては特でないという事態がないかを調べています