全ポケモンの最適テラスタイプを求めたい!
このサイトに訪れた物好きな方々に敬意を表して、よまい(@yomaityan)です。そろそろポケモンスカーレット・バイオレットが発売されますね。SVでは、すべてのポケモンがバトル中にテラスタルをすることで、全18タイプに変化することができます。今回の記事では、各々のポケモン毎の最適なテラスタイプを簡単な計算式で求めてみたいと思います。
防御面の評価
自分のポケモン(元タイプ:$${t_1・t_2}$$)に対し、相手がタイプ$${t_a}$$で攻撃してきたとき、テラスタイプ$${t_b}$$に変化させたとします。このとき、相手は元タイプ$${t_1・t_2}$$に対して有効な技タイプ$${t_a}$$を選択しているはずです。
表1の例のように、むし・みずタイプのオニシズクモは、はがねタイプにテラスタルすることによって、あたかもじめん・いわタイプに対し半減であるように相性が推移します。
この評価を全てのタイプに対して行い、合計を算出します。(表2)
はがねタイプの合計評価は10ですね。
なお、このとき特性を考慮することとします。
(具体的には、すいほうなどのタイプ軽減、もふもふなどのタイプ倍加、天候・フィールド補正、ハードロックなどの弱点軽減)
この合計値は見かけのタイプ相性の耐性的な強さを表しており、低ければ低いほど良いです。(ちなみに、この合計値を18で割ると平均のタイプ相性(防)が求まります)
表2の操作を全18タイプに対して行います。そして、18タイプそれぞれにテラスタルしたとき、最も合計値が低くなるタイプが防御面における最適テラスタイプということになります。ちなみに、オニシズクモの場合は下から、はがね、ゴースト、どく、じめんタイプが選ばれました。防御面では流石にはがねタイプが優秀です。
攻撃面の評価
相手のポケモン(タイプ$${t_b}$$)に対し、自分のポケモン(元タイプ:$${t_1・t_2}$$)で攻撃するとき、テラスタイプ$${t}$$に変化させたとします。このとき、自分は相手のポケモンのタイプ$${t_b}$$に対して最も有効な技タイプ$${t_a}$$を選択しているはずです。この有効な技タイプ$${t_a}$$は、自分のポケモンの元タイプ$${t_1・t_2}$$とテラスタイプ$${t}$$の中で最も倍率の高いものを選ぶ、とします。これは以下の表のようになります。
はがねタイプの合計評価は40となりました。
なお、このとき特性とテラスタイプ一致補正を考慮します。
(考慮した特性は、タイプ倍加補正、スキン補正、天候・フィールド補正、きもったま、ブレインフォース、いろめがね、はがねつかい、てきおうりょく)
防御のときと同じように、表4の操作を全18タイプに対して行います。そして、18タイプそれぞれにテラスタルしたとき、最も合計値が高くなるタイプが攻撃面における最適テラスタイプということになります。(同様に、この合計値を18で割ると平均のタイプ相性(攻)が求まります) オニシズクモの攻撃面における最適テラスタイプは上からこんな感じになりました。
総合評価
さて、いよいよ大詰めです。しかし、総合評価は至ってシンプルです。
総合評価は攻撃の合計評価から防御の合計評価を引いたものとします。
表2、表4から、オニシズクモがはがねタイプにテラスタルしたときの総合評価は、40-10=30となります。攻撃面の合計値は高ければ高いほどよく、防御面の合計値は低ければ低いほどよいので、これを総合評価としてよさそうです。そして、18タイプそれぞれにテラスタルしたとき、最も総合評価が高くなるタイプが総合的に最適なテラスタイプということになります。
追記その1
投稿後に前回の記事と絡めてみたらどうか、というアイデアをサークルの先輩からいただいて、翌朝起きたら思いついたのですが、$${a-b}$$ではなく、$${a/b}$$を総合評価としたほうがよかったかもしれません。というのも、前回の後攻能力指数の記事で紹介した、ポケモンの後攻的な能力$${X}$$(後攻前提のポケモンが瀕死になるまでに相手に与える火力の総量)は
$$
後攻能力指数 X=火力補正 m×攻撃実数値 A×行動回数期待値 V(T)
$$
で決まるのでした。
この式は掛け算の形で書かれており、
$${X}$$が$${a}$$に比例し、$${T}$$が$${b}$$に反比例するので、まあざっくり考えて$${X}$$は$${a/b}$$に比例していると捉えても問題なさそうです。
ということで、一応$${a/b}$$のバージョンも置いておきます。後攻能力では火力の価値が下がり、耐久の価値が上がるので、防御面の評価が高いタイプが優先的に選ばれている印象です。
ランキング
この評価はあくまで元のタイプと相性のいいテラスタイプを探す、ということに重きをおいているため、総合評価の数値をポケモンごとに比較してもあまり意味はないのですが、一応示しておきます。
全データは以下のファイルにあります。(総合・攻撃・防御評価のシートが含まれています)
追記その2
スカバイが発売されて、ヒスイ地方のポケモンの特性とパルデア地方のポケモンのデータが入手できるようになったので、そのポケモンたちの最適テラスタイプの結果を置いておきます。(評価はa-b)
(手入力のため進化前は除きました。あとミスがあるかも)
追記その3
特性の補正を除いた、簡易的な一覧表を作成しました。
表の見方ですが、「ほのお・ノーマルタイプのカエンジシの総合評価は上から、地、妖、草、霊」という風に対応しています。
この表から、最適テラスタイプの候補をカウントしてみました。
鋼・地面の二強、次点に格闘、炎という感じです。あと意外にもむしの方がドラゴンより多いんですね。
プログラムと感想
評価の仕方は説明したので、コードはあまり解説することがありません。Pythonで作りました。Python初心者なのでプログラムは突貫工事で、構想から完成まで1週間ぐらいかかりました。
どちらかといえばプログラムよりも評価の仕方の方が重要です。攻撃評価、防御評価に関しては、相性補完や等倍範囲、抜群範囲などで評価をすることができますが、攻撃/防御の総合的な評価をするのであれば、それらを同時に評価することができる何らかの指標が必要です。今回は、最も単純な差の形$${a-b}$$を評価しました。これが$${a+b}$$や$${ab}$$だと意味を成しません。また、総合的評価によって求めた最適テラスタイプも、あくまで上で述べた仮定のもとでの評価に過ぎません。例えば防御面の評価では、テラスタルしたターンの見かけのタイプ相性を用いて評価を行いましたが、そのターン以降相手は当然テラスタイプに有効なタイプの技を選択するでしょうし、攻撃面の評価では、サブウエポンの存在は考慮していません。それから、環境に存在するポケモンのタイプにはかなり偏りがありますし、相手のポケモンは単タイプ以外を考慮していません。ある程度の参考として、この最適テラスタイプの予想が実際のSV環境にどれくらいマッチしているかが楽しみです。
この記事が気に入ったらサポートをしてみませんか?