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

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

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

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

ソーシャルゲームのガチャやm種類の特典がランダムに登場するとき、目当ての商品を引く確率を計算してみる

統計 数学IA

始めに

今日は大学受験絶賛勉強中の高校生以上を対象に、ソーシャルゲームのガチャで、レアカードを引くのに必要な確率の計算法について話したい。これが計算できることで「ガチャのレアカードを○枚引く為には、△△円の資金が必要」と言う目処を立てる事ができ、ゲームを円滑に進める為にどれだけお金をかければ良いかが見えて来る。

今日は準備として二項分布と言うものを使ったガチャの確率の計算方法を紹介したい。

二項分布

二項分布とは?

二項分布とは、「あるカードが当たった、又は外れた」と言った成功と失敗の二つの事象T,Fからなる試行Sがある。これをn回繰り返し、Tが起こった回数をkとする。このときP(X=k)を考える。数Iの重複試行の確率と同じ要領で、まずTがk回起こる組み合わせはnCk、Tはk回起こる確率p^k、Fは(n-k)回起こる確率(1-p)^{(n-k)}となる。

以上これらを掛け合わせてP(X=k) = nCk * p^k * (1-p)^{(n-k)} と表せる。このとき確率変数Xが二項分布に従うと言い、B(n,p)と表す。

この他二項分布の詳細については過去記事「【高校数学B?】確率変数Xが二項分布B(n,p)に従うときの期待値E(X)、分散V(X)の求め方」を参照して欲しい。以下例題1と2を通して、二項分布を持ちいたガチャの確率計算の方法を確認していく。

例題1:特典の種類が分かっているときの確率計算

例題1は「○○のチョコには、m種類の特典の1つが入っている」と言った場合に、目当てのカードをk枚引くまで何回買えばよいかを計算したものだ。この他「k問のクイズのm択を、でたらめに選び全て正解する確率」を考えるときなどもこれに当たる。景品の主な事例として、

  • ビックリマンチョコレート(m=36):約36種類の特典の内の1つが入ったチョコレートを買う事象
  • AKB48の特典(m=48):AKB48のメンバーの内1人に関する商品がランダムに入った商品を1つ買う事象
  • ラブライブ!School Idol Movieの入場者特典(m=9):μ'sのメンバー9人のSRカードの内1人が当たる入場者特典を1つ貰う事象

がある。以下ガチャを想定した以下の例題1を見て欲しい。ビックリマンチョコのような特典の場合も全く同じ事が言えるので、応用が効く。


例題1の問題

m種類からなるカードが同数用意されたカードの山がある。この中から1枚引き、一度引いたカードを山にもどしてシャッフルする試行Tを考える。試行Tをn回繰り返すとき、カードAが出た回数をXとする。
(i):k 1 \leq k \leq nを満たす自然数とするとき、カードAがk回出る確率P(X=k)を求めよ。
(ii):少なくとも1回カードAが出る確率P(X \geq 1)を求めよ。

例題1の解答

(i):まずカードAを引く確率p_A = \frac{1}{m}
この試行は二項分布に従うので公式に当てはめて、
P(X=k) = nCk * (\frac{1}{m})^k * (1-\frac{1}{m})^{(n-k)}

(ii):少なくとも1回Aが出る確率P(X>=1)を求める。下のベン図を見るに少なくとも1回Aが出る事象は、全ての事象U(全事象)から全くAを引く事がなく、Aを引く回数が0回である事象の余事象として表せる。
P(X \geq 1) = 1 - P(X=0)	 = 1 - (1-\frac{1}{m})^n


f:id:program_study:20150625220530p:plain

例題1(ii)をラブライブ!の場合に当てはめてみる!

ここで(ii)の状況を、ラブライブ!School Idol Movieの入場者特典の場合に当てはめてみよう。下の図に示す通り主要メンバー(μ's)は9人なのでm=9となる。


f:id:program_study:20150614210225j:plain
2015 プロジェクトラブライブ!より

このとき(ii)の式をp(n) = 1 - (\frac{8}{9})^nとおき、カードAを引く回数nを増やすと、どれくらい確率p(n)が変化するかを調べる。

  • 1回引いて少なくとも1枚Aが出る確率:p(1) = 0.111より11.1%
  • 3回引いて少なくとも1枚Aが出る確率:p(3) = 0.298より29.8%
  • 5回引いて少なくとも1枚Aが出る確率:p(5) = 0.445より44.5%
  • 10回引いて少なくとも1枚がA出る確率:p(10) = 0.692より69.2%
  • 20回引いて少なくとも1枚Aが出る確率:p(20) = 0.905より90.5%
  • 100回引いて少なくとも1枚Aが出る確率:p(100) = 0.999より99.9%

計算式より大体10回くらいで何とか行けそう、20回でほぼ確実...と言った感じ。映画10回見に行くとして、映画1回の金額を1,800円とすれば、約7割の確率で目当てのカードを手に入れる為に約1,800(円)×10(回) = 18,000(円)位の資金を用意する必要がある。ちなみにn \leq 100p(n)をグラフ化すると以下のようになる。


f:id:program_study:20150625005641p:plain

例題2:特定のカードの出現確率pのみが分かっているとき

今度は「レアカードRが出現率1%」「RPGなどで、10%の確率でAが出る宝箱(アイテムドロップ率)」と目当てのアイテムの出現率が確率で与えられている場合を考える。それこそ頭の中で「イミワカンナイ」と思うあなたは、スクフェスで言うSRカードを引く場合(10%)、を思い浮かべて欲しい。

確率pで目当てのレアなカードRを引く事ができるカードの山がある。一度引いたカードを山にもどしてシャッフルし、この操作をn回繰り返す。カードRを出た回数をYとする。このとき少なくとも1回Rを引く確率P(Y \geq 1)を求めよ。

例題2の解答

例題1の(ii)と同じ要領で余事象を考える事で、P(Y \geq 1) = 1 - (1-p)^n

ガチャのレアカードの出現確率が1%(p=0.01)のときのp(n)のグラフ

例題2の補足として、レアカードの出現確率がp=0.01(1%)の場合のグラフを考えたい。スクフェスで言うURカードを引く確率(1%)を思い浮かべてもらうとして、Excelで計算した結果、100回引いたときに少なくとも1枚Rが出る確率p(100) = 0.633となり、63.3%程度である。確率に関するグラフなため、グラフは最終的に1に近づく*1事が予想されるが、カードを引いても確実にRが引ける保証はないと言えそうだ。


f:id:program_study:20150625005714p:plain

ガチャのレアカードの出現確率が、10%(p=0.1)のときのグラフ

今度はレアカードの出現確率p=0.1(10%)の場合のグラフを考える。スクフェスで言うSRカードを引く確率(10%)を思い浮かべてもらうとして、Excelで計算した結果、10回引いたときに少なくとも1枚Rが出る確率p(10) = 0.651となり、65.1%程度。30回引いたときに少なくとも1枚Rが出る確率p(30) = 0.957となり、95.7%程度。

30回くらいならば無課金でガチャが回せる回数だろう。無課金でガチャを回すならば出現確率の高いレアカードを引く位の気持ちでガチャを回すの良さそうな事が、数字から読み取れる。


f:id:program_study:20150625005748p:plain

最後に

今回はガチャの確率を計算し、少ない専門知識である程度直感的に課金する金額の目処を立てる方法について説明。例題1、2については日本の大学受験問題慣れしている高校生ならば分かってくれるだろう。nとかpなどを文字や変数を使って一般化して説明した方が分かりやすいし、後でExcelやプログラミングに落とし込みやすくてええやろ!と言った理由でやってしまった。

実際に「確率計算機」のようなWebアプリが登場していたりするし、この記事の内容がこうしたアプリ開発の参考になれば幸いだ。一方で数学アレルギーな方向けに、文字式や定義が少なくて直感的な復習用の記事を紹介したい。

復習用のブログ記事

そして理論に基づいて課金する金額を割り出すには、確率分布の平均や分散、チェビシェフの定理、信頼区間などの知識が必要となる。筆者の方に余裕があり、文章を書く気力が残っていれば、次回はもうちょっと理論に基づいた課金金額の計算法について触れる。その予習用のブログ記事を紹介し、本記事を終わりにしたい。

予習用のブログ記事

*1:p<1より、1-p<1で分数となる。この事から、n→∞にてf(n)→1となる