haradaのポケモンブログ

歴代のポケモンを同時に同じ条件でプレイし、その難易度を比較するというプレイ日記を更新しています。レート対戦で結果が出たときは構築記事も書きます。

オニゴーリの回避率上昇に関する考察【計算】

こんにちは、haradaです。

 

今回はオニゴーリの回避率上昇に関することを書こうと思います。

確率を用いた計算もあるので計算が苦手な人は難しく感じるかもしれませんが、なるべくわかりやすくしようと思います。

オニゴーリが好きな人も嫌いな人も是非読んでください。

 

 

前置き 

オニゴーリは7世代では害悪を代表するポケモンとして有名です。

それは特性ムラっけによる素早さや回避率の上昇、絶対零度によるひたすら運に依存した戦い方をするからです。

オニゴーリに相棒を〇された人もきっと多いことでしょう。

この記事では最も上昇すると厄介である回避率に重点を置き、

  • nターン後に回避率が1段階以上上昇する確率
  • nターン後に攻撃が当たる確率

を漸化式や確率の式を使って求めようと思います。

 

オニゴーリとは

まずオニゴーリとはどんなポケモンかをざっくり説明します。

f:id:haakriancohbaun:20190729094417g:plain

タイプ:こおり

種族値:80-80-80-80-80-80

特性:ムラっけ

主な持ち物:たべのこし

主な技構成:フリーズドライ / ぜったいれいど / みがわり / まもる

 

ここは育成論ではないのでざっくり説明しますが、オニゴーリの最大の特徴は特性のムラっけです。これは「ターン終了時にどれかの能力が2段階上昇し、どれかの能力が1段階下がる」というものです。

つまり、毎ターンどれかの能力が1段階上昇していることになり、みがわり・まもる・たべのこしでターン数を稼いで全体の能力を上げていきます。

そしてみがわりが残ったら、フリーズドライで攻撃したり、ぜったいれいどで一撃必殺を狙ったりする、という戦法です。

確率の求め方 

ここでは「nターン後に回避率が1段階以上上昇する確率」と「nターン後に攻撃が当たる確率」を求める計算式について説明します。

 

nターン後に回避率が1段階以上上昇する確率 

まず、特性ムラっけによって回避率が上昇または下降する確率を求めます。

ポケモンの能力値には攻撃、防御、特攻、特防、素早さ、命中率、回避率の7種類あるので、ターン終了時に回避率が上昇する確率は 1/7 です。

また、そのターンに上昇した能力は下降しないので、回避率が下降する確率は 6/7 x 1/6 = 1/7 となります。

すなわち、回避率が

  • 上昇する確率は 1/7
  • 下降する確率は 1/7
  • 変化しない確率は 5/7

となります。

*ここで、能力変化のランクは -6 から +6 までであるので、 +5 のときに上昇した場合は +6 になり、 +6 の場合は上昇、 -6 の場合は下降が起こらないものとします。

*実際には他の能力値が +6 の場合回避率が上昇する確率は 1/6 になったりしますが、今回では他の能力値のことは考えず、回避率が変化する確率は上に挙げたもので計算します。

 

次にこれを用いてnターン後に回避率が1段階以上上昇する確率を求めていきます。

これには漸化式の知識が必要です。

もしこの問題を数学のテストで出るような問題に置き換えるならば、

 

x軸上を移動する点Pがある。点Pは原点からスタートし、1秒ごとに 1/7 の確率で正の方向に 2 移動し、 1/7 の確率で負の方向に 1 移動し、5/7の確率で移動しない。これらの事象は互いに排反である。n秒後に点Pが正の領域に存在する確率を求めよ。ただし、 -6 ≦ x ≦ 6 である。点Pが+5の位置に存在するとき正の方向に移動する場合は+6に移動し、点Pが-6または+6に存在する場合は移動しない確率は6/7である。

 という感じでしょうか。ポケモンで考えるか点Pで考えるかどちらが簡単に見えるかはわかりませんが、こんな問題を解いていきます。解説上ではポケモンの方で解きます。

 

nターン後に回避率がk段階変化している確率をp(n,k)とおき、nターン後に回避率が1段階以上上昇する確率をs(n)とおきます。

最初のターンは回避率の変化はないので初期値は

  • p(0,0)=1
  • p(0,k)=0 (kは0以外の場合)
  • s(n)=0

となります。

 

p(n,k)は1ターン前の値p(n-1,k)がわかれば求めることができます。

1/7 で2段階上昇、 1/7 で1段階下降、 5/7 で変化なしなので

p(n,k)=

  • 1/7×p(n-1,k-2) + 5/7×p(n-1, k) + 1/7×p(n-1,k+1) (-4≦k≦5) ①
  • 1/7×p(n-1,4) + 1/7×p(n-1, 5) + 6/7×p(n-1,6) (k=6) ②
  • 5/7×p(n-1, -5) + 1/7×p(n-1,-4) (k=-5) ③
  • 6/7×p(n-1,-6) + 1/7×p(n-1, -5) (k=-6) ④

となります。赤が上昇の分で青が下降の分です。当たり前ですがそれぞれのkの値の確率をすべて足すと1になります。

また、p(n,k)のkが正のものをすべて足すと、s(n)が求められるので、

s(n)=p(n,1)+p(n,2)+p(n,3)+p(n,4)+p(n,5)+p(n,6)

      =1/7×(p(n-1,-1)+p(n-1,0)) + 6/7×p(n-1,1) +p(n-1,2)+p(n-1,3)+p(n-1,4)+p(n-1,5)+p(n-1,6) ⑤

となります。

 

nターン後に攻撃が当たる確率

ここでは回避率が上昇した場合の攻撃が当たる確率を求めていきます。

回避率のランクと命中率の関係は次のようになります。

ランク 命中率
6 0.333333
5 0.375
4 0.428571
3 0.5
2 0.6
1 0.75
0 1

ここでは相手の技の命中率が100%と仮定しているので負の場合は考えません。

回避率の仕組みは 3/3 という分数があるとすると命中率は 3/(3+ランク上昇) となります。

1回回避上昇を引くと命中率が60%になるのは恐ろしいですよね。

 

これをもとにnターン後に攻撃が当たる確率をq(n)とおくと、先ほど求めた①~④の式を用いると

q(n)=p(n,-6)+p(n,-5)+p(n,-4)+p(n,-3)+p(n,-2)+p(n,-1)+p(n,0) +0.75×p(n,1) +0.6×p(n,2) +0.5×p(n,3) +3/7×p(n,4) +0.375×p(n,5) +1/3×p(n,6) ⑥

と求めることができます。

計算結果のグラフ

上で求めた式をexcelに打ち込み、グラフにしたものを表示していきます。

ターン数の最大値はテンプレの技のPPの最大値の合計である72としています。

nターン後に回避率が1段階以上上昇する確率

式⑤をグラフにすると次のようになります。

f:id:haakriancohbaun:20190801173547p:plain

10ターンくらいまでは比較的急に上昇していることがこの図からわかると思います。

やはりオニゴーリを倒すなら早い方がいいようです。

ちなみにs(5)=0.486464,s(6)=0.525478だったので、6ターン経過すると回避率が上がっている確率の方が高いことになります。

6回ムラっけの試行回数を与えてしまったら確率的に回避率が上がっても仕方ないという1つの目安になると思います。

 

nターン後に攻撃が当たる確率

次に式⑥をグラフにすると次のようになります。

f:id:haakriancohbaun:20190801173557p:plain

このグラフは回避率が上がっていることが前提となりますが、これを見てもやはり10ターンくらいまでは急激に命中率が落ちています。

ランクの影響もあり命中率がなかなか50%を下回らないので一見あまり落ちていないように見えるかもしれませんが、オニゴーリを倒すには攻撃をすべて当てるのが必須条件です。

そこで、式⑥を単純に掛け算した結果になりますが、攻撃が全部当たる確率をグラフにすると次のようになります。

f:id:haakriancohbaun:20190801175457p:plain

12ターン経過したあたりから確率が10%を切っているので、全部当てるのは徐々に難しくなっていきます。

オニゴーリの残りHPが多くて回避率が上がっている場合は倒すのがかなり難しいことがわかると思います。もう神に祈るしかありません。

 

最後に

ここまで読んでいただきありがとうございました。筆者は最近オニゴーリを使ってみて、オニゴーリは良くも悪くも運に依存するポケモンなので、特に回避率について計算してみたいということでこの記事を執筆するに至りました。オニゴーリを使っている人も、オニゴーリが嫌いな人も、この記事を読んで何かの手助けになってくれたらいいなと思います。

 

【この部分にお好きな文章を入力してください。】

twitterもやっているのでフォローお願いします。

harada@pokemon (@hrd_poke) | Twitter