アンセケターメンはてなエディション

いつどこで誰に見られても恥ずかしいコードが置かれています

ポケモンGO レイドバトルでのアメ獲得量の最大化

ポケモンGOにおいてレイドバトル後の捕獲の際、そのポケモンのアメが多く欲しいときがあります。

捕獲時にはきのみを投げるわけですが、それには

  • パイル … 捕まえにくいが、アメの数は多い
  • 金ズリ … 捕まえやすくなるが、アメの数は少ない

というトレードオフが発生します。

一体何球目までパイルを投げるとアメ獲得数の期待値が最大になるのでしょうか。

ということがとても気になったので考えてみました。

なおこの記事の執筆中に銀パイルが実装されましたが、執筆時点では大量入手できるか不明なため考慮していません。

1. 準備

1.1 数式

ポケモンの捕獲率についてはこちらを参考にしています。 https://pokemongo-get.com/pokego011278/

サイトによって使われる文字が異なり混乱するので、一旦ここで捕獲率を次のように定義します。

捕獲率の式

CR:捕獲率
BCR:基礎捕獲率
M:捕獲ボーナス
CPM:CP Multiplier

また、捕獲ボーナスMは以下の総乗です(何もなければ1)。

ボーナス
ズリ 1.5
金ズリ 2.5
銀パイル 1.8
カーブ投球 1.7
スーパーボール 1.5
ハイパーボール 2.0
ブロンズメダル 1.1
シルバーメダル 1.2
ゴールドメダル 1.3
スローボーナス 2-r

注:捕獲対象が複合タイプの場合、メダルボーナスは2タイプの平均を用いる。
(例)岩メダルが銀、悪メダルが銅の場合、バンギラス捕獲時のメダルボーナスは(1.1+1.2)/2=1.15

1.2 仮定

レイド後の捕獲イベントを想定しているため、ボールはプレミアボールを使用します(モンスターボールと同等)。
また、簡単のため、天候ブーストなし(PL20、CPM0.59740001)、全タイプのゴールドメダルを獲得済み、全球カーブボール、スローボーナスの半径はr=0.2(少し大きめのExcellent)とします。

アメはパイルで捕獲すると9個、金ズリで捕獲すると6個とします。捕獲時のアメが3or6個、100km交換で3個、という内訳です。

2. 計算

さて、上記の仮定を元にすると、パイル、金ズリ投入時の捕獲率CRp,CRgは次のようになります。

CRp

CRg

全ボール数をN個、パイル状態での投球数をn個、金ズリ状態での投球数をN-n個とします。このとき期待されるアメの獲得量Cは

アメ獲得量

のように表せます。

3. 結果

2.で導出したアメ獲得量の期待値より、最適パイル投入数を求めました。

数値計算でちゃんと極大値を求めてもいいのですが、幸いにもボール数は離散値なので簡単にExcelで表にまとめました。
極大値はセルを赤で強調してあります。

3.1 基礎捕獲率2%(3鳥を除く伝説ポケモン)の場合

アメ獲得量の期待値を次に示します。

f:id:anseketamen:20180826111241p:plain

したがって、(ボール数-7)だけパイルを投げればいいことになります。言い換えると、最後の7球になったら金ズリを投げ始めましょう。

3.2 基礎捕獲率5%(バンギラス)の場合

アメ獲得量の期待値を次に示します。

f:id:anseketamen:20180826111245p:plain

したがって、(ボール数-3)だけパイルを投げればいいことになります。残り3球になったら金ズリを投げましょう。

3.3 基礎捕獲率6%(ミュウツー)の場合

アメ獲得量の期待値を次に示します。

f:id:anseketamen:20180826111249p:plain

したがって、(ボール数-2)だけパイルを投げればいいことになります。残り2球になったら金ズリを投げましょう。

また、パイル投入数が0でもアメ獲得量の期待値がほぼ6となっていることから、金ズリカーブエクセレントを投げ続ければミュウツーはほぼ確実に捕まるといえます。