リーグ別個体値最適化問題:PGIAS対戦対策その1

PGIASを用いたポケモンGOでの対戦(トレーナーバトル・バトルリーグ)対策シリーズの第一回として、本稿では最適個体値を得るための計算法を考えます。

はじめに

最初に公開したときはそんなにバージョンアップするつもりはなかったんですがね。バトルリーグが始まり、機能をだいぶ追加しました。

本シリーズではPGIASの対戦に関する機能をご紹介いたします。

その第1回では、スーパーリーグやハイパーリーグにて、どの個体値が最適なのか?という問題を考えます。

本稿は、攻略サイトなどでの用語・計算式を知っている読者を前提としています。それらに馴染みがない方、また理屈はどうでいい方は、最後の方の「ここまでのまとめ」の章にジャンプしてください。

個体値の最適値問題

スーパーリーグやハイパーリーグではCPの上限が決まっており、任意のポケモンについて、どの個体値の組み合わせが適当なのか?という問題があります。

CPの計算式において、攻撃力に比べると、防御力・HPには√(ルート)が付いており寄与が低いことから、一般に、攻撃が低く防御・HPが高い個体値がよいと言われています。

個体値は16進数で表して、0FF(攻撃0、防御15、HP15)がよいという話もあったりしましたが、ちょっと考えればそうとは限らないとわかります。

例えば1FF、2FF…と攻撃個体値が大きくなったときに、同じPLでも制限CPを超えないのであれば、0FFよりも1FF或いは2FF…のほうが強いと言えます。また0EF、0FE…と防御やHPの個体値を少し小さくしても0.5大きいPLにすることができるのであれば、こちらのほうが強いのかもしれません。

結局のところ、個体値の組み合わせ全て(16^3 = 4096通り)について強さのパラメータを計算し、それらをソートして最適な個体値の組み合わせを得ることになります。或はソートしてランキングにしたりします。

その強さのパラメータを、一般にはSCPとしています。しかしSCPがどう強さを反映しているのか、具体的な論議を見たことがありません。(どこかでなされているかもしれませんが。)

PGIASでは、SCPではなく、mTCPというオリジナル(たぶん)のパラメータで行っています。

以下、強さの指標にmTCPを用いることが適当かどうかの論議です。

PGIASでの指標

PGIASの指標の中で、対戦の強さとして主に参照するものは以下の4つです。

  • Cyc: 通常技でゲージを貯めて、ゲージ技を発動し終わるまでの周期。
  • cDPT: 通常技とゲージ技を総合した、1ターンあたりのダメージ。通常技のダメージ(チャージに必要な発数分)とゲージ技のダメージを足したものを、Cycで割ったもの。「コンボDPS」と同概念。
  • 耐久力: 特定の攻撃力の敵の、特定の技に、何ターン耐えられるか。
  • mTCP: cDPT×耐久力

各々の計算式は、PGIASの取説シートの「計算法」の章をご参照ください。

このうち、Cyc以外は特定の敵を仮定する必要があります。攻撃力・防御力・HPが全て100、技の威力が20の敵を仮定しています。

cDPT:攻撃の指標

cDPTは、攻略サイトでいうコンボDPSです。(が、正確には違うかも。)

cDPT(或はコンボDPS)はポケモンの攻撃の強さの指標となりますが、完璧なものではありません。シールドが使われるとゲージ技のダメージがなくなりますし、死んだ場合はチャージしていたエネルギーが無駄になります。

言い換えると、cDPTが多少小さくても、Cycの小さくなるゲージ技のほうが無駄が少なくてよい、と言うことになります。実戦においても、1ターンあたりのダメージが多少小さくとも、すぐに打てるゲージ技が好まれているようです。

とすると、cDPTより実戦に即した指標がありそうです。これを作るとしたら、ゲージ技によるダメージを過少評価するか、或はCycの寄与をより大きくしたものになるのでしょう。

しかし今のところそんな指標は思いつきませんので、攻撃の強さの指標としては、完璧でないながらもcDPTを使っています。

mTCP:総合的な強さの指標

cDPTは「特定の敵に与える1ターンあたりのダメージ」、耐久力は「特定の敵の技に何ターン耐えられるか」ですから、mTCP(cDPT×耐久力)は「特定の敵に対して、自分が死ぬまでに与えられる総ダメージ」です。よってmTCPは個体の比較に適当なパラメータだと言えます。

また各個体の習得技を考慮しない場合には、その種族の習得可能な技での最大のcDPT値(cDPTランク1位の値)を用いてmTCPを計算します。個体値の最適値問題もこの場合にあたります。

何れにせよcDPTが寄与していますから、mTCPに「Cycの小さい方が有利」という事実は反映されません。

mTCPの近似式

続いてmTCPをざっくりとした近似式で検討してみます。(大元の正確な計算式は示していませんから、精密に考証したい方は取説シートの計算法をご覧ください。)

「攻撃力×技の威力」が、相手の防御力より十分大きい場合、cDPTは以下のように近似できます。

  • cDPT ≒ Ka×(威力/Cyc)×攻撃力

ここに、Kaは係数(0.5÷敵防御力)、威力は、通常技の威力とゲージ技の威力を適当な比で総合したものです。

耐久力は以下のように近似できます。

  • 耐久力 ≒ 防御力×HP÷Kd

ここに、Kdは係数(0.5×敵攻撃力×敵の技の威力)です。

よってmTCPは以下のように近似できます。

  • mTCP ≒ K×(威力/Cyc)×攻撃力×防御力×HP

ここに、Kは係数(K = Ka / Kd = 1 / (敵防御力×敵攻撃力×敵の技の威力))です。

近似式ではあるものの、mTCPには、個体の3要素(攻撃力・防御力・HP)と、2種の技の威力やチャージの要素が入っている総合的なパラメータであることがわかります。

SCPとmTCPの関係

一般に最適個体値問題に用いられるSCPと、mTCPを比較してみましょう。

SCPは、個体の3要素(攻撃力・防御力・HP)の重みづけを等しくして、CPと同程度の値になるようにしたもので、「SCP =(攻撃力×防御力×HP)^(2/3) ÷10」という式で計算されます。

SCPを用いると、前節の最後の近似式は以下のように書き換えられます。

  • mTCP ≒ K×威力/Cyc×((10×SCP)の2/3乗根)

ということで、(技の違いを考慮しないで)2個体を比較する場合、mTCPによる比較と、SCPによる比較の結果は、同じ可能性が大きいことになります。

言い換えると「あるリーグのある種族における最適個体値ランキングを考えるとき、mTCPでのランキングと、SCPのランキングはほぼ同じ」と言うことができます。(勿論違いはあるでしょう。)

以上より、論拠不明であったSCPも、強さの指標として適当なことがわかりました。

またSCPでは、同種族の2個体の比較はできますが、種族の異なる2個体の比較はできません。習得できる技が異なりますから。

一方mTCPでは、種族の異なる2個体の比較も、技が異なる2個体の比較も可能です。

シャドウポケモンについて

PGIASはシャドウポケモンには未対応ですが、シャドウの最適個体値ランキングについて考えます。

同種同個体値であれば、シャドウでも攻撃力×防御力は通常と変わらないようなので、SCP基準の最適個体値ランキングはシャドウのものと通常のものとでは変わらないことになります。

先の近似式から、mTCP基準のランキングでも、シャドウのものと通常のものとは、おおよそ同じだと考えられます。(勿論違いはあることでしょう。)

では、種族の異なるシャドウ2個体を比較する場合、及びシャドウと通常のポケモンを混在させて比較する場合などに、mTCPを指標とするのは適当でしょうか?

シャドウを実戦で使う場合に、通常と異なる戦略、異なる技を用いるのであれば、cDPTには先述の限界以上に限界があると考えられます。従って、そのような比較にmTCPを用いるのは適当でないのでしょう。

各リーグに適当なPL予測の限界

もう一つ、各リーグの上限CP(例えば1500)を越えない最適なPLの算出にも限界があることを示しておきます。

PLから3要素(攻撃力・防御力・HP)を計算するのに用いられるCPMという値は、攻略サイトではテーブルで示されています。PGIASではそれに近い値になる計算式で計算しています。いずれにせよ、ポケGOの内部計算そのものではありません。微小な誤差は必ず発生します。

ですから例えば、何らかのツールで、とある個体のとあるPLでのCP値を計算した結果が1500.99であったとします。切り捨てればCP 1500ですから、スーパーリーグでは利用可と判断されます。しかし実際のポケGOでは、そのPLでCP 1501.00となり、スーパーリーグでは使えないかもしれません。

この例のように、各リーグのCP上限を越えない最適なPLを予測した時に、そのPL値は間違っている可能性があります。その可能性は微小だとは思いますが、PGIASのみならず攻略サイトでも起こり得ることです。

とすると、最適PL予測を行う最適個体値のランキングにおいても、間違いは有り得ることになります。

ここまでのまとめ

以上をまとめると以下になります。

  • PGIASでは、最適個体値ランキングを計算する強さの基準にmTCPという指標を用いている。
  • mTCPには「すぐ打てるゲージ技が優位という事実を反映していない」という限界がある。
  • リーグに適当なPLの計算も間違う可能性がゼロでなはない。

ということで、次章に書きます最適個体値ランキングにも限界があり、且つ間違っている可能性もゼロではないです。

まあ元の計算式や種族値も推測に過ぎないので、全ては「信じるか信じないかはあなた次第」なんですけどね。

おすすめ個体値

PGIASにおける最適個体値のランキングは、種族分析シートの最右、「おすすめ個体値」の領域にあります。

おすすめ個体値

各リーグの「個体値」のセルに、mTCPが大きくなる順に、個体値の組み合わせを16進数で示しています。例えばスーパーリーグのフシギバナの最適個体値は0EB(攻撃0、防御14、HP11)になります。

たまごやレイドでしか手に入らない種族については「(たまご)」のセルをご参照ください。各個体値が10以上の場合でのランキングを示しています。

これらのセルをダブルクリックして編集モードにしてしまうと、行が縦に長く広がってしまいます。ですので、図のように計算式の入力バーでご覧ください。もし広がってしまった場合はCtrl+Zで戻します。

また何れのランキングも全て示してはおらず、上位数十位までです。次回書きますが、手持ちの個体がリーグに適当かどうかは「ランキング何位」かでは評価していません。

続いて「mTCP」のセルは、最適個体値で、尚且つcDPTが最も大きくなる技を習得しているときのmTCPの値です。「(min)」のセルは、同じ技を習得していて、且つ最も不適な個体値の時のmTCPの値です。これらは手持ち個体の指標を計算するために出しています。

おわりに

以上、最適個体値問題でした。

次回は、各リーグにおいて、どの種族がよいのかの検討法と、手持ち個体の検討法について書きたいと思います。

コメントを残す