fc2ブログ

記事一覧

努力値の振り方 ―― 過去記事の補足・総合能力指数編

 

お久しぶりです。世界を揺るがすコロナ騒ぎの中、皆さんいかがお過ごしだったでしょうか。自分はびっくりするほど変わらない日々を過ごしていましたが、ちょっとポケモンからは離れていたのでブログは更新を止めていました。鎧の孤島が解禁されて色々面白そうということでまた始めたので、溜まっていた分の文章を上げに来ました。

 

一応いっておくと、今回は新しいことは何も書きません。以前書いたことがある記事の総括をするだけです。『総合能力指数』というものを出してそこから理想の努力値の振り方を出した一連の際の結論のまとめです。表を作った時点で満足していたところがあるので、実際に適用する際にどういう手順を取ればいいかまでは伝わっていなかった可能性があるかと思います。結構面倒な手順でもあるのでこうして総括しておくことにしました。

 

一連の記事において、「ポケモンの実質的な強さ」を「瀕死になるまでに相手に与える総ダメージ量」で定義し、そして瀕死になるまでのやりとりをモデル化して計算しました。「確定で後攻に回る場合」「確定で先手を取る場合」を経て、「先手を取るか後手に回るか分からない場合」の実質的な強さ、総合能力指数Zを得ました。式で表すと以下のようになったわけです。

 

Z=mC(V+P)/1+mnC(1/2-P)

 

C:特攻

m:特攻以外の火力(つまり、一撃で相手に与えるダメージ=mC

P:先攻確率

V:攻撃を耐える回数

n:相手のHPの逆数(HP200ならn=0.005

 

※特殊アタッカーの場合です。物理アタッカーの場合はCAに変えるだけです。面倒なので二刀流は扱いません。

 

そしてこの式に一般的な数値を代入し、概算してできあがったのが下の表です。

 

図3  


これらを踏まえて振り方を決めることになるわけですが、表だけ見ても分からない部分も多いでしょう。もう少し具体的にポケモンの能力の決め方の手順を考えてみます。

 


1.素早さを決定する


素早さだけは価値が不連続的に変化します。火力や耐久と違って、上げることに劇的な意味があるポイントと上げる意味がほとんどないポイントの差が極端です。また、素早さを先に決めてしまえば残りは耐久と火力に配分することになるわけですが、後述するように火力と耐久の間でのバランスの取り方には基準として分かりやすい指標が存在します。

これらに加えて、表を見ると『素早さ』と『HP』は、どちらか片方が上昇しても2つの相対的な価値が変わりません。後で特攻と耐久を調整する際に、特攻とHPの価値は等しくなるので、最初にHPと素早さの価値を比較して素早さを決定しておけば特攻とのバランスも自然と取れるようになっています。

 

ということで、最初にHPとの価値を比較して素早さを決定します。HPと比べて価値が高いようならば素早さに多く振り、価値が低いようならばあまり多くは振りません。

素早さの価値の高さを左右するのは、下の6項目です。

 

 

①火力が高ければ高いほど素早さの価値は上がり、火力が低ければ低いほど素早さの価値は下がる


HP以外の耐久力(BDや防御面でのタイプの強さ)が高ければ高いほど素早さの価値は下がり、HP以外の耐久力が低ければ低いほど素早さの価値は上がる


③先手を取ることに特殊な意味がある場合は素早さの価値は上がる


④素早さに補正がかかる場合は価値が上がる


⑤先制技を使う場合は素早さの価値が下がる


⑥ある程度を越えると素早さの価値は段々下がってくる


 

各々の項に関して解説しますと、

 

①:表より、「mが上昇」「Cが上昇」ともにHPの価値よりも素早さの価値の上昇量が大きいので、火力が高い場合は素早さの価値が上がります。

 

②:表より、「HP以外の耐久力が上昇」ではHPの価値の上昇量の方が素早さの価値の上昇量が大きいので素早さの価値が下がります。正確には、HP以外の耐久力が高くなった場合にも素早さの価値は上がりますが、それ以上にHPの価値が上がるので、相対的に素早さの価値が下がるということです。なお、「HP以外の耐久力」の中には、BDの値だけではなく「防御面でのタイプの強さ」や、特性(威嚇や氷の鱗粉)、持ち物(突撃チョッキや回復の実)も含まれます。

 

③:基本的に、先手を取ることの意味というのは「相手を倒した際にそのターンはダメージを受けない」のと「自分が倒されるターンにも行動できる」の2つだけとしてここまでの計算は行っています。ただしポケモンの技の中には、お互いに倒されていないターンにも先手を取ることに特別な意味を付与するものがあります。

代表的なところでは怯み技です。先手を取った場合だけは怯み効果が発動します。第6~7世代のダブルバトル民にとって、スカーフランドロスの岩雪崩の恐ろしさは誰もが知るところでしょう。技が使いにくいおかげで火力は(高い方ではあるものの)異常というほどでもない一方、威嚇のおかげで実質的な耐久力はかなり高いランドロスがスカーフを巻くことが多かったのは、岩雪崩を多用していた性質故です。もっとも、奴は全ての能力が高かったので、ぶっちゃけ何をしても強かったんですが……。

他にも先手を取ることに特殊な意味がある技というのは結構あって、今回登場したエラがみや電撃くちばしもそれに該当します。まあ、あれを使うポケモンは火力が理不尽といっていいレベルなので、①によってどっちにしても素早さの価値が超高いですが。

ちなみに補助技の多くもここに該当したりします。日本晴れや雨乞い・挑発なんかは露骨に先手を取ることの価値が高い技です。

 

あと、激レアですが、『後手に回ることに意味があるポケモン』も一応はいます。どちらも倒されなかったターンに後手に回った場合の方が得をするケースも存在はします。自分が思いつくのはアナライズ持ちとギルガルドくらいですが、こうした場合は素早さの価値が下がります。

 

④:拘りスカーフ・砂かき・すいすいなどを持つポケモンの場合、素早さを1上げた時の実質数値の上昇量自体が大きいため、ある程度の素早さまでは素早さを1上げた際の先攻確率の上昇量も多いです。

 

⑤:先制技は『倒す』『倒される』の関係が発生するターンにも行う行動で、かつ素早さを無視するので、多用する場合には素早さの価値が落ちます。

 

⑥限度を越えると自分よりも速いポケモンがどんどん少なくなってきます。220あたりを超えると、「相手もスカーフ持ち」のような特殊な状況を仮定しなければ抜かれることがなくなるので、素早さを1上げた時の先攻確率の上昇量自体は減少してくるんです。素早さ2倍特性持ちや速いスカーフ持ちはその領域に入ってくるので、ある程度まで振ると段々素早さの価値が減ってきます。素早さを100から200にするのと300から400にするのとでは、抜けるようになるポケモンの数が前者の方が遥かに多いという話です。

 

 

 

注意事項1:素早さの値は素早さの価値に関係しない

速いから素早さの価値が高い、ということにはなりません。というか⑥で言っているようにある程度を越えたらむしろ素早さの価値は減ってきます。速いポケモンというのは耐久力を低くしてバランスを調整されていることが多いので、往々にして②によって素早さの価値が高まりますが、別に『素早さが高いから素早さに振る』わけではないです。

ただ、調整対象となる『お互いに打点が高いポケモン』は速いポケモンが多くなりやすい傾向にはあります(速いポケモンは大体耐久力が低い⇒こちらから相手に与えるダメージが大きくなりやすい、という理屈です)。

 

 

注意事項2:立ち回り方によっても①~⑤は変化する

ポケモン単体だけでは決定できない要素もあります。ダブルバトルの場合、例えば味方に威嚇が多ければ実質的な耐久力が上がるので②に影響してきますし、シングルバトルでも『交代を多用する』という立ち回り方をする場合なんかは、一撃で受けるダメージが少なくなる→実質的な耐久力が上がっているのと同じことになる、という理由で②に影響します。あとはアイテムによっても火力や耐久力は上下するのでそうしたものにも影響します。

ちなみに、『交代する場合には素早さが関係ないから交代戦では素早さの価値が低い』は普通に嘘です。先手を取る価値というのは『相手を倒したターンには攻撃を受けない』『こっちが倒されるターンにも攻撃できる』の2つです。これら2つの意味は交代戦の中でも失われません。あくまで、『交代を繰り返すならば一撃のダメージがお互いに小さくなるので素早さの価値が下がる』が正しいです。逆に言えば、半減をもぶち抜けるレベルの理不尽火力を持つポケモンならば交代戦前提でも素早さの価値は高いままです。

 

で、この立ち回り方の中には、『そのポケモンがダイマックスするかどうか』も含まれます。

ダイマックスする場合、耐久力が2倍になるので②にモロに影響します。技威力が上がるので①にも影響しますが、火力の上昇量は1.5倍程度なのに耐久力の上昇量は2倍ですから、まあ基本的にはダイマックスをする場合、素早さの価値は下がります。

 

分かりやすいところでは、意地っ張りH236A252B12D4ドラパルト@命の珠(A極振りして残りをH=B+Dを満たすように耐久に極振り)vs陽気AS252ドラパルト@命の珠のミラーマッチを想定してみてください。


dragapult (1)vsdragapult (1)

 

お互いにダイマックスしない場合はドラゴンアロー一発で相手を倒すので先手を取れば終わりなので後者が勝ちますが、お互いにダイマックスする場合には後者は前者を20%程度の乱数でしか倒せないので前者の方が有利です。

こういった限定的な状況だけをもって何かをいうことはできないんですが、『HP以外の耐久力が上がると素早さの価値が(相対的に)下がる』というのは、簡単にいえばこういうことです。お互いに相手を倒すのに時間がかかる場合、先手後手の意味合いは小さくなることは自明の理です。こうした状況を一般化して導き出したのが総合能力指数であり、そこから作った上記の表です。耐久力と一緒に火力も2倍になっていたらやっぱり速い方が勝つので素早さの価値は変わらないんですが、ダイマックスした場合、基本は火力の上昇幅よりも耐久力の上昇幅の方が大きいですから、素早さの価値は下がります。

 

 

……で、済んだら話は早かったんですが。


厄介なことにダイマックス技というのは、③の『先手を取ることに特殊な意味がある』技に該当することが多いです。お互いに倒されなかったターンにも、先手でダイアースダイドラグーンを使えばそのターンのダメージが減らせますし、ダブルバトルの場合にはダイアシッドダイホロウは味方よりも先に打ちたい技です。ダイストリームダイバーンもそのターンの素早さや火力をいじれるので、先手で打ってこそ追加効果が活かせる技です。さっきのドラパルトミラーでも、もしドラパルトにクリアボディがなかったら先に動いた方が大幅有利になります(まあ物理ドラパルトはほぼクリアボディでしょうが)。

なので、ダイマックスする場合に素早さの価値が上がるが下がるかでいったら、『微妙なところ』というのが実際です。追加効果が先手で発生する意味がそんなにないポケモンの場合は素早さの価値は下がる、追加効果を先手で発生させる意味が大きいポケモンの場合は素早さの価値が上がる、といったところですかね。前者に該当するのはバンギラスとかトゲキッスで、後者に該当するのはドリュウズやアイアントあたりでしょうか。

tyranitar.giftogekiss.gif

excadrill.gifdurant.gif


あとは特殊な事情があってダイマックス時の火力の上昇量がとりわけ大きい場合も、ダイマックス前提だと素早さの価値は上がります。具体例を挙げれば、ダブルバトルにおける能動的弱点保険や正義の心袋叩き、特性張り切り(必中効果がつくので火力期待値は2倍くらいになります)なんかもですね。

 

一応補足しておきますが、ここまで色々書きましたが、所詮1試合に1体しかダイマックスはしないので、あんまり多くのポケモンをダイマックス前提で考えすぎるのは止めといた方がいいです。今回は例として挙げただけで、実際のところ、ドラパルトはダイマックスとの食い合わせは悪いですし、BDも低い部類ですから、やっぱりあいつは素早さに振った方がいいとは思います。さっきのケースでも、速い方のドラパルトはダイマックスせずに殴っていれば、その後でダイマックスを残したまま敵を大幅に削れるから有利なわけで。

 

 

と、これらを踏まえた上で、素早さの価値が『高い』のか、『低い』のか、『高いとも低いともいえない』のかの三択くらいに絞ります。低い場合は4振り付近で調整、高い場合は極振り付近で調整です。

まあ価値が高い場合は極振りすることが多いですね。というのも、極振りというのは『自分と素早さ種族値が同じであるポケモンと同速ゲーができる』という調整になっているからです。


調整対象とする相手にも優先順位があります。基本は『自分からも相手からも打点が高いポケモン』で、一番分かりやすいのはドラゴンタイプやゴーストタイプのミラーマッチです。お互いに相手を一撃で倒せる関係だと先手を取るのが非常に重要になってきます。だからドラゴン全盛期の第4~5世代あたりは同族対策に極振りが基本になっていたという面はあるのでしょう(自分は当時ポケモン対戦していなかったので完全に想像でものをいっています。単純にポケモンの種類が少なかったからミラーマッチが多発していたというのもあるのかもしれません)。

一方、単水タイプ同士とか炎タイプ同士の戦いなんかは、お互いに相手を殴る手段に乏しくなりやすいので、基本的には同族を調整対象にすることはないです。ただ、同族を殴る手段に乏しい場合でも、『自分と素早さ種族値が同じポケモン(または自分よりも素早さ種族値が1だけ少ないポケモン)』相手にお互い打点が高い場合は極振りにすることはあり得ます。

 

 

一方、①~⑥をひっくるめて『素早さの価値が高いとも低いともいえない場合』はどうするか。これは『適度に振る』――のではなく『どう振ってもいい』になります。価値が高いとも低いともいえない場合には、極振りでも4振りでも半端に振るのでも、総合的な性能に大きな差は出ません。ある意味一番プレイヤーの自由度が高いポケモンでもあります。

 

こうして素早さを決定したら次に進みます。

 

 

2.火力と耐久のバランスを決定する

 

素早さは決めた後に残るのは火力と耐久です。HBDの配分に関しては前回の記事の通りとして、ここで議論するのは、耐久に回す努力値と火力に回す努力値のバランスの話です。表を見れば分かりますが、基本的に特攻実数値が上がった場合には特攻の価値よりもHPの価値が上がり、耐久力が上がった場合にはHPの価値よりも特攻の価値が上がるので、無振り時点でどちらかの能力の価値の方が高かったとしてそっちを上げ続ければいずれはHPと特攻の価値が等しくなります。また、耐久や火力は、素早さと違って連続的にしか価値が変化しないので、基本はHPと特攻の価値が等しいポイントを目指せば最も効率の良い配分になっているといえます。

HPと特攻の価値が等しくなるポイントについて決める要因は、下の通りです。

 

①「先攻確率が1/2前後」かつ「HP以外の耐久力が並~中の上程度」ならHCを目指す


②先攻確率が上がれば上がるほどC寄り、先攻確率が下がれば下がるほど耐久寄りの配分になる


③攻撃技以外を使う頻度が上がれば上がるほど耐久寄りになる


 

項目について解説しますと、

 

①:過去に行ったかなり大雑把な計算の結果として、『先攻確率が1/2で、かつ耐久力が並かそれよりも少し高いくらいのポケモンの場合、HCの実数値が等しいときにHCの価値もおおむね等しくなる』という結果が出ました。概算ではありますが指標として分かりやすいのでここを基準とします。

 

②:表より、「Pが上昇」の際はCの価値の上昇量の方がHPの価値の上昇量よりも大きいので、先攻確率が上がるほど火力寄りの配分となります。Pが低い場合は表と逆の変化をするので耐久寄りとなります。

 

③:事態を決定的にややこしくしている項目。これまでの議論は、お互いにフルアタで殴り合った場合を想定したときの議論です。補助技を使うターンは、こちらが一方的に攻撃を受けることになる以上は耐久力の重要性の方が上がるわけですが、どのくらい価値が変化するのかを定量的に評価するのが困難です。とりあえず攻撃技を一切使わないポケモンなら火力の価値はゼロになることはすぐに分かりますが、1~2個程度補助技が入っているポケモンについては、何となく配分するしかありません。

 

 

これら3つを加味して火力と耐久のバランスが取れる位置を探ります。ざっくりいえば『先攻確率が1/2よりも高ければHC先攻確率が1/2よりも低ければHC先攻確率が1/2前後ならばHC』『ただし補助技を使う場合はその頻度に応じて耐久寄りに』ってところです。

ただ、どちらかに極振りしてもまだそちらの価値の方が高いということはままあります。先攻確率が極端に高いポケモンは、大体の場合はCに極振りしてもまだCの価値の方が高いです。逆に先攻確率が低くて、代わりに特攻実数値が高いポケモンの場合なんかはHPに極振りしてもHPの価値の方が高いままです。そういう場合は片方に極振りだけして余りをもう片方に配分するという形になります。

 

 

 

あとは性格補正ですが、まあ攻撃技をほとんど使わないポケモンとかでない限り、基本は素早さか特攻に補正をかけることになるでしょう。そして攻撃技を使わないポケモンはここでは扱わないので、素早さか特攻に補正をかける前提で話を進めます。

素早さに補正をかける場合はそこまで話がややこしくはなりません。

少しだけ話がややこしいのは特攻に補正をかける場合です。ちょっと話が面倒くさいですが、まあ色々なポケモンの振り方を考えながら説明しましょう。

 

 

ということで、代表的なポケモンの振り方を考えていきます。


一応補足しておきますが、下に挙げるポケモンたちは、立ち回りや持ち物の影響を考えずにポケモン単体で見た時の話をしています。

 

具体例その1:トゲキッス

togekiss.gif


まずは素早さの価値を考えると、


①火力……特攻は高いが技威力は微妙、特性等の火力補強もなし。ただし飛行フェアリー炎の攻撃範囲は優秀なので、総合的にいえば中の上から上の下程度。なので素早さの価値は少し上がる。

HP以外の耐久……BDは高いが弱点が多い。飛行とフェアリーは両方とも防御面では結構優秀なタイプなのに、弱点は打ち消さず耐性は2つも被っているので食い合わせが微妙。とはいえBDが高い以上は硬い方には入るので、素早さの価値は少し下がる。得にダイマックスする場合は非常に耐久力が高いので素早さの価値が大きく下がる。

③先手で打つのが得する技……先手の価値を大幅に引き上げる怯み技持ちだが、ダイマックス技のダイフェアリーやダイジェットを先手で打って得するケースはあまり多くはない。なので、ダイマックスしない場合は素早さの価値は上がる、ということになる。

④素早さの補正……ダイジェットを使うなら一応素早さに補正は入る。ただ次ターン以降に効いてくるものなのでそこまで気にする必要はない。ほぼ影響なし。

⑤先制技は(ほぼ)使わない。影響なし。

⑥過剰な素早さ……そんな異常な素早さにはならない。ダイジェット補正が2回以上入ればその域に入るがわざわざ気にするほどのことはない。影響なし。

 

総合的に見て、素早さの価値は、ダイマックスするなら低く、ダイマックスしないなら高い、といったところでしょうか。ダイマックスすることも視野には入れるがダイマックス前提とまではいかない、くらいの使い方が一般的だと思うので、まあ『素早さの価値が高いとも低いともいえない』ポケモンです。

なので素早さは4振りから極振りまで全部ありです。トゲキッスミラーでの打点はたいしたことはないですが、素早さ80族のポケモンの数自体は十分に多いので全振りする価値もあるでしょう。とはいえ、『どう振ってもいい』では話が進まないので、とりあえず『お互いに打点が高いポケモン』ということで、準速パッチラゴン抜き220振りとしておきましょう。

 dracozolt.gif


で、残りを耐久と特攻に配分します。BDが高いポケモンなので、耐久の割り振りの仕方については特に気にせず全部HPでいいです。BD4振りだけしておくと、

 

トゲキッスの能力値(努力値)

togekiss.gif

H161(4)-B116(4)-C141(4)-D136(4)-S128(220)

残り努力値:272

 

残りの努力値は272なので、合計で34の能力を上げられます。

さて、火力と耐久のバランスについてですが、


①基準はHC

②先攻確率……素早さ種族値自体は平凡だが、ダイジェットを使えば素早さが上がるので1/2よりは高いだろうから、特攻の価値が上がる

③補助技……この指止まれやあくびを使う場合は耐久の価値が上がる

 

まあ③の影響力が定量的に評価できませんから、技構成次第です。とはいえ普通に使えばエアスラッシュ・マジカルシャイン・炎技と攻撃技だけで技枠が相当取られてしまうので、補助技を入れるスペースがあまりありませんから、そこまで耐久寄りにはならないでしょう。仮に②と③で相殺される程度のものだとすると、HCを狙って、

H168(60)-B116(4)-C168(220)-D136(4)-S128(220)

 

ここに性格補正が入ります。性格は臆病or控え目。この時点で、HP・素早さ・特攻の全ては能力を1上げた時の価値がおおむね等しい状況なので、単純に性格補正による能力の上昇量が大きい控え目の方が効率がいいです。

控え目の性格補正を入れると、

 

H168(60)-B116(4)-C184(220)-D136(4)-S128(220)

 

性格補正を入れたことで特攻の実数値がHPの実数値よりも大きくなっています。こうなるとHPの価値の方が特攻の価値よりも大きくなっているため、11n調整を入れた方がいいです。

 

H164(44)-B116(4)-C187(236)-D136(4)-S128(220)

または

H174(124)-B116(4)-C176(156)-D136(4)-S128(220)

 

「やっぱり特攻の方が大きいままじゃん」と思うかもしれませんが、11n調整をした場合は『性格補正前の値』との比較になります。上はH164-C170、下はH174-C160というのと同じ扱いでいいです。H=Cに近いのは前者なので、

 

トゲキッスの能力調整

togekiss.gif

H164(44)-B116(4)-C187(236)-D136(4)-S128(220)

 

が、準速パッチラゴン抜き調整をした場合の能力配分です。

 

トゲキッスはここまでとして、2体目の具体例を見ていきましょう。

 

具体例その2:ドラパルト

dragapult (1)

ドラパルトというポケモンは物理も特殊も両刀もあり得ます。流星群を使えるんだから両刀が丸いかと初見では思いましたが、特性やら他の技の性質やらが絶妙に両刀と噛み合わないようになっています。諸々ひっくるめると物理一本が多分一番強いんだろうなあとは思いますが、今回は(話が簡単になるので)特殊ドラパルトを扱います。

 

ではまず素早さの価値を考えると、

①火力……C100で特に火力増強特性や特別な技があるわけでもない。ゴースト技の通りはいいとはいえ威力は低いし、準伝説やメガシンカが溢れていた第7世代感覚からすれば火力が低い方だろう。とはいえ第8世代は単純に全体的にポケモンが弱いし、技はそこそこ多いので攻撃範囲は広いから、相対的に見れば、まあ、並くらい。なので素早さの価値には影響なし。

HP以外の耐久力……BDはともに75なので低い方。ゴーストとドラゴンは単体で取ってみれば両方とも防御面で結構強いタイプだが、一つも弱点を打ち消し合っていないので弱点の数は多いから防御面で強いタイプとはいえない。総合的に見て耐久は低い方なので素早さの価値は上がる。

③先手で打つと得する技……物理だったらゴーストダイブは先手で打ちたい技だが、特殊ドラパルトの場合は得にそういった技はない。影響なし。

④素早さ補正……ダイジェットを使えば入るが特殊では使わない。影響なし。

⑤先制技……基本使わない。影響なし。

⑥素早さの上限……第8世代において『実質的に意味がある素早さの上限値』を決めているのがドラパルトな気がする(第7世代では多分スカーフテテフでした)。なのでドラパルトの素早さの範囲内では影響なし。

 

ということで、①③④⑤⑥がすべて『影響なし』ですから、②によって素早さの価値は高い方ということになります。ダイマックスする場合には実質的なBDが高くなるので素早さの価値は下がるでしょうが、ダイマックス技がほとんと意味を為さない特殊ドラパルトはなるべくダイマックスさせたくないです。ということで基本的に素早さの価値は高いです。面倒くさいのでもう極振りでいいでしょう。

 

ドラパルトの能力値(努力値)

dragapult (1)

H154(4)-B96(4)-C121(4)-D96(4)-S194(252)

残り努力値240

 

残りは耐久と火力ですが、

①基準はHC

②先攻確率……トップクラスに高い。Cの価値が大きく上がる。

③補助技……多分滅多に使わないので影響なし。

 

以上より、とりあえずCHになるように狙います……が、残り全部を特攻に配分してもH>Cなので、この場合は全部特攻でいいです。

 

ドラパルトの能力値

H154(4)-B96(4)-C151(244)-D96(4)-S194(252)

 

後は性格補正です。この時点での能力の価値を比較すると、『明らかにHよりもSの価値の方が高い。ただし極振りしているのでこれ以上はSに寄せられない』『明らかにHよりもCの価値の方が高い。ただしほぼ極振りしているのでこれ以上はCに寄せられない』なので、Hと比較したときには一概にどちらの価値の方が高いともいえません。

ということで、表まで戻ってCSの価値を比較します。

 

CSの価値に差を付ける要員は、


Cが高ければ高いほどSの価値が上がる……Cが高くはないので相対的にCの価値が上がる

C以外の火力が高ければ高いほどSの価値が上がる……C以外の火力も高くはないので相対的にCの価値が上がる

先攻確率が高ければ高いほどCの価値が上がる……先攻確率はかなり高いのでCの価値が上がる

HPが高ければ高いほどCの価値が上がる……HPが高くはないので相対的にSの価値が上がる

HP以外の耐久力が高ければ高いほどCの価値が上がる……HP以外の耐久力は高くはないので相対的にSの価値が上がる

 

ドラパルト最大の特徴である『先攻確率が高い』が影響するのが3項目ですし、一応600族ですから耐久力も特筆するほど低いわけでもないので4項目5項目の影響力がそこまで大きくない。『ドラパルトの最大の特徴は?』と問われれば、普通は『脆い』よりも『速い』を挙げるでしょう。よって総合的にはCの価値の方が高いです。

とはいえSに補正をかけた場合の方が実数値の上昇量は多いので、『能力値1あたりの価値はCの方が高いが、性格補正を入れた時の能力の上昇量自体はSの方が大きい』という状態です。定量的な評価をしようと思えばできなくもないんですが、結構大変なので、ここでは『臆病でも控え目でもどちらでも大差はない』という結論にしておきます。

 

すると、

特殊ドラパルトの能力

dragapult (1)

臆病の場合:H154(4)-B96(4)-C151(244)-D96(4)-S213(252)

控え目の場合:H154(4)-B96(4)-C166(244)-D96(4)-S194(252)

です。

後者の場合に11n調整はいらないのか? と思うかもしれませんが、ドラパルトくらい先攻確率が高いポケモンならばH154-C166程度ではまだ特攻の価値の方が高いです。トゲキッスの時は性格補正を入れるとHPの価値の方が高い状態になってしまったのでC11n調整したわけで、こうした場合には特に11n補正をする必要はありません。

 

 

さて、では最後に3体目の例を挙げます。


具体例その3:ヒートロトム

 rotom-heat.gif

 

まず素早さの価値を考えると、

①火力……C105で特に火力増強特性や特別な技があるわけでもない。とはいえ炎と電気をタイプ一致で使えるので一致技だけでも攻撃範囲はかなり広い。総合的に言えば『低くはない』くらいのもので、つまり素早さの価値にはほぼ影響なし。

HP以外の耐久力……BDともに107というのはかなり高い。加えて特性によって4倍弱点を克服したことによる圧倒的耐性。おそらくは鋼タイプを除けば最も強い耐性を持ったポケモンだと思う。諸々ひっくるめるとHP以外ではかなり硬い方なので、素早さの価値は下がる。

③先手で打つと得する技……鬼火やトリックは先手で打ちたい技。使うのなら多少は意識した方がいいか、というくらい。影響なし、または素早さの価値は少し上がる。

④素早さ補正……影響なし。

⑤先制技……影響なし。

⑥素早さの上限……そんな異常な素早さにはならない。影響なし。

 

 

②の影響力が大きいので、素早さよりもHPの価値の方が高い。なので4振り付近で調整です。素早さの調整対象は『お互いに打点が高いポケモン』ですから、ヒートロトムの場合はまあ水タイプでしょう。少し振っただけで抜けそうな水タイプ、となると……ラプラスあたりですかね。

 lapras.gif

準速ラプラス抜き調整で考えると、


ヒートロトムの能力値

 rotom-heat.gif

H126(4)-B128(4)-C126(4)-D128(4)-S113(52)

残り努力値440

 

残りはHPと特攻ですが、

①基準はHC

②先攻確率……素早さを削っているので低い。Hの価値が上がる。

③補助技……鬼火や壁を使う場合はHの価値が上がる。

 

先攻確率が低いのでH>Cを目指します。

H157(252)-B128(4)-C152(196)-D128(4)-S113(52)

 

補助技を使うことを加味すればもう少しHPに回したい所ですが、252以上は振れないのでこれで我慢。

最後に性格補正です。HPの方が素早さよりも価値が高い」かつHPの方が特攻よりも価値が高い」より、特攻と素早さのどちらの方が価値が高いかは一概には言えません。価値にそこまで大きな差がないと思われるので、実数値の上昇量が大きい特攻に補正をかける方向でいいでしょう。

 

ヒートロトムの能力値(努力値)

H157(252)-B128(4)-C167(196)-D128(4)-S113(52)

 

ここで11n調整をするかどうかは微妙です。11n調整をした余りをHPに回すことはできない以上は素早さに回すことになるわけですが、素早さは価値が不連続的なのでここから素早さを2上げることにどこまで意味があるかを考える必要があるからです。素早さをあと2上げたとしても、調整対象としたラプラス相手の先攻確率は全く変わりません。

ただ、自分がこうした調整をしている以上、同じように『準速ラプラス抜き調整』をする人は普通に存在しうると言う考え方はあります。仮想的が存在しないのでこちらからの打点が高いかどうかも不明ですが、ざっくり『先攻確率自体はある程度上がる』と考えてS115まで持っていくのも意味がなくはありません。

自分の結論としては、この場合は、『どっちでもいい』です。

 

ヒートロトムの能力値(努力値)

rotom-heat.gif

H157(252)-B128(4)-C167(196)-D128(4)-S113(52)

または

H157(252)-B128(4)-C166(188)-D128(4)-S114(60)

または

H157(252)-B128(4)-C165(180)-D128(4)-S115(68)

 

 

と、こんな感じです。

 

具体例としてはこんな所です。3体とも、立ち回りの仕方や技構成や持ち物によっても変わってきますけどね。火力増強アイテムを持たせるなら素早さの価値が上がりますし、耐久力増強系アイテムを持たせるなら素早さの価値が下がります。補助技を持たせるなら火力の価値は下がりますし、スカーフを持たせるなら上がります。タスキやトリルが絡んだら前提からして成立しなくなります。ここで扱っていない他の要素がある場合はそこまで加味した上で振り方を考えるようにしましょう。

 

 

今回はここまでになります。

またしてもとんでもなく記事が長くなってしまいました。まあ要素が多いだけで、そんなにややこしいことは書いていないとは思いますが、例外や注意事項が多い問題でもあるので、逐一触れていくとどうしても長くなってしまうんですよね。


次回は、この総合能力指数を使って語れることがあるので、技選択の話をしようかと思います。ざっくりいえば『大文字と火炎放射はどちらが強いか』がテーマです。

スポンサーサイト



コメント

No title

はじめまして。

RSEの頃に、H(B+D)最適の考えが生まれてもう20年も経つのに
議論が進んでなくて面白くないとネットを彷徨っていたらこちらに辿り着きました。

私も似たような事を考えていて、用語をお借りして表現するなら、総合能力指数Z=mC(V+P-1)等を使っていました。
Pの定義は悩ましい所ですが、すばやさの正規分布を積分して得られる累積分布関数を使うことが多かったです。

同じ議題でもアプローチは結構変わってくるものだなと楽しく読ませていただきました。
参考にさせていただきます。また、新しい記事楽しみにしています。

Re: No title

> はじめまして。
>
> RSEの頃に、H(B+D)最適の考えが生まれてもう20年も経つのに
> 議論が進んでなくて面白くないとネットを彷徨っていたらこちらに辿り着きました。
>

コメントありがとうございます。
そうですね。これだけ人気のゲームなのに、数学的な理屈の部分は何年経ってもほとんど進歩していないような気がします。「H=B+Dが得」になる理由が「H(B+D)が最大になるから」だという説明が今でもされますし。
理詰めで理解しなくても勝てる人は勝てるという話なのかもしれませんが。


> 私も似たような事を考えていて、用語をお借りして表現するなら、総合能力指数Z=mC(V+P-1)等を使っていました。
> Pの定義は悩ましい所ですが、すばやさの正規分布を積分して得られる累積分布関数を使うことが多かったです。
>
> 同じ議題でもアプローチは結構変わってくるものだなと楽しく読ませていただきました。

まあ自分のモデルはいくつも仮定を置いて作ったものですからね。結論ありきではなくモデルから数式を導いたという点では他にあまりないんじゃないかとは思っていますが、仮定の置き方を変えれば他にも色々な考え方があると思います。
正規分布にしようかとは自分も考えたんですが、ポケモンの素早さ種族値表を眺めていても、あんまり正規分布っぽくないんですよね。計算が簡単になるからもう均等分布でいいか、自分は開き直ることにしています。

> 参考にさせていただきます。また、新しい記事楽しみにしています。

ありがとうございます。
もうかなり長く記事は更新できていませんが……書くネタ自体はあるんですが、剣盾で今のところ結果を出せていないので、勝ってもいない奴が戦術的なことを語っても説得力はあんまりないよなあ、と躊躇している状況です。

No title

>まあ自分のモデルはいくつも仮定を置いて作ったものですからね。
>結論ありきではなくモデルから数式を導いたという点では他にあまりないんじゃないかとは思っていますが、
>仮定の置き方を変えれば他にも色々な考え方があると思います。

私もモデルで仮定仮定で立式しますが、例えば

① 最低一回は行動できる
② 相手を倒したターンにはダメージを受けない

のような考えは通ったことがなかったので
自分なりに自然な発想で式を作っていたつもりで、
共通する部分も多いんですが、すばやさ関連は解釈がやっぱり変わってくるんだなと面白いです。


>正規分布にしようかとは自分も考えたんですが、ポケモンの素早さ種族値表を眺めていても、
>あんまり正規分布っぽくないんですよね。
>計算が簡単になるからもう均等分布でいいか、自分は開き直ることにしています。
種族値が5の倍数に集中するんで、正規分布ぽくないんですが、
積分というかヒストグラムのΣを出していくと、
累積確率分布としては結構イイ感じに近似できました。
正規分布は平均値と偏差があれば簡単な計算にできるので一時期愛用していました。


こういう議論が活発にできる場があればいいのになと思います。

Re: No title


> 私もモデルで仮定仮定で立式しますが、例えば
>
> ① 最低一回は行動できる
> ② 相手を倒したターンにはダメージを受けない
>
> のような考えは通ったことがなかったので
> 自分なりに自然な発想で式を作っていたつもりで、
> 共通する部分も多いんですが、すばやさ関連は解釈がやっぱり変わってくるんだなと面白いです。
>

自分なりに「先手を取ることの意味」を理詰めで考えていくとそういう結論になりました。これに関しては実態をそれなりに正確に表しているんじゃないかなと思っています。


> 種族値が5の倍数に集中するんで、正規分布ぽくないんですが、
> 積分というかヒストグラムのΣを出していくと、
> 累積確率分布としては結構イイ感じに近似できました。
> 正規分布は平均値と偏差があれば簡単な計算にできるので一時期愛用していました。
>

なるほど。ざっと眺めた印象で、素早さ種族値60~100あたりの範囲では、5の倍数の素早さ種族値のポケモンの数は大体同じくらいかな、と勝手に思っていたんですが、積分してみるとそこそこ正規分布で近似できる感じですか。
本当は統計的なデータを取ってみるのが一番いいのかもしれませんが、なかなか試合をしているだけでは素早さの分布は分からないですから難しいですね。


目下の自分のモデルの課題としては、論点になっている「素早さの分布の決め方」」に加えて、「相手のポケモンの耐久力と速度の相関」もあります。
今の自分は、例えば「素早さ200のポケモンと素早さ100のポケモンでは、前者の方が耐久力が低いことが多い」という事実を完全に無視して式を作っていて、これは結構な問題じゃないかと思っています。
何かしらパラメータを定めて仮定を置けば解決できないこともないんですが、ただ、これ以上こちらが任意で定めるパラメータを増やすと結論が恣意的になってしまうので、一般化して語る分には今ぐらいが限界かなという判断です。

>
> こういう議論が活発にできる場があればいいのになと思います。

どうなんでしょうね。探せばあるのかもしれませんが、自分は一人で勝手にこういうことを考えるのも好きな性質なので、まあ気楽にやっています。

No title

>なるほど。ざっと眺めた印象で、素早さ種族値60~100あたりの範囲では、
>5の倍数の素早さ種族値のポケモンの数は大体同じくらいかな、
>と勝手に思っていたんですが、積分してみるとそこそこ正規分布で近似できる感じですか。
>本当は統計的なデータを取ってみるのが一番いいのかもしれませんが、
>なかなか試合をしているだけでは素早さの分布は分からないですから難しいですね。

ご認識は間違いないと思います。
種族値ベースで大体μ=80、σ=30前後になると思いますが、
問題の60~100は、7割区間であるμ±σよりもさらに狭い区間ですから、
そこは高い度数で同じくらい分布する、で説明できます。
PGLやオフ会のポケモンで実値の統計データを作ったりもしましたが、
この辺の傾向はあまり変わらなかった記憶です。

>目下の自分のモデルの課題としては、論点になっている「素早さの分布の決め方」」に加えて、
>「相手のポケモンの耐久力と速度の相関」もあります。
>今の自分は、例えば「素早さ200のポケモンと素早さ100のポケモンでは、
>前者の方が耐久力が低いことが多い」という事実を完全に無視して式を作っていて、
>これは結構な問題じゃないかと思っています。
>何かしらパラメータを定めて仮定を置けば解決できないこともないんですが、
>ただ、これ以上こちらが任意で定めるパラメータを増やすと結論が恣意的になってしまうので、
>一般化して語る分には今ぐらいが限界かなという判断です。

面白そうなテーマですね。
あくまで、私だったらこう進めるだろう、という話ですが、

まず、仰る「事実」は本当に事実かというウラ取りの評価で、
無振りの実値を全ポケ分出して、すばやさSと耐久HBD/(B+D)の相関係数をみたら、-0.3くらいの弱相関でした。
感覚的には努力値を加味したら更に相関が強くなる気がするので、とりあえず事実として良さそうです。

上記データセットの散布図をみると比較的綺麗な楕円だったので、
線形で近似して、素早さと耐久力の関係式を出すことをまず思いつきます。
妥当性については、簡単に主成分分析にかけ第1軸の寄与率で判断しました。
0.6くらいで微妙な所ですが、いったん線形で話を進めました。
不都合あれば、ここに振り返ってくる必要が出てくるかもしれません。

ただ、関係式を一次式T=aS+bで表すとして、これをZ式にどう盛り込むか話を進めるにあたり、
どうしても気になるのが、Zが負数を取りうる点なんですが、これはどう解釈すればいいでしょうか。

Vや、分母の元になっている先攻能力指数Yが、負数や定義なしとなりうるので、
そこをケアせずに進めていいのか悩みます。

Y=mC(1+V)/(1-mnC/2)が負数や定義なしになる条件mnC≧2は
今日時点の環境では想定しにくいので運用で許容されていると言えますが、
Vの方はルンパの記事で、

V=2T ln(2T/k) /l - (2T-k) /2l, k≒4144, l≒20000

とされていて、仮にこれだとTが600~2000くらいの時、攻撃を耐える回数Vが負数を取ります。
極小値-0.51くらいなんですが、Pが0.5より小さいとZが負数になりますよね。
(T→0の時の値が0じゃないとか、0~600くらいの範囲で常に減少になるのも気になりますが)

k, lの多寡を問わず、xln(x)を使っているので同様の問題が生じると思い、1日考えていましたがここで手が止まりました。
実際にこの範囲に収まるポケモンはそうそういないのでやはり「環境に許容される」でいいのかもしれませんが。

そもそも何故、攻撃を耐える回数Vに「HPを受けるダメージで割ったもの」を使わなかったのでしょうか。
ルビサファ時代にH=B+Dが提案された時から、この点に関しては相当に妥当だと思っていました。


Zが負数になることの妥当な解釈が得られれば、
先の関係式を使って、任意定数になっているnをPあたりでうまく消せたらハッピーじゃないか?
という所までが、ひとまずの思いつきです。


長文スイマセン &
計算ミスしてたらスイマセン &
理解が間違っていたらスイマセン &
一通り記事は拝読しましたが、読み落としてたらスイマセン。

Re: No title

> ご認識は間違いないと思います。
> 種族値ベースで大体μ=80、σ=30前後になると思いますが、
> 問題の60~100は、7割区間であるμ±σよりもさらに狭い区間ですから、
> そこは高い度数で同じくらい分布する、で説明できます。
> PGLやオフ会のポケモンで実値の統計データを作ったりもしましたが、
> この辺の傾向はあまり変わらなかった記憶です。
>

なるほど。
ただ逆に考えると、S種族値がその密集区間に含まれるポケモンについては、先攻確率を線形で近似しても大きく間違ってはいない、と言えるのかもしれません。


> 面白そうなテーマですね。
> あくまで、私だったらこう進めるだろう、という話ですが、
>
> まず、仰る「事実」は本当に事実かというウラ取りの評価で、
> 無振りの実値を全ポケ分出して、すばやさSと耐久HBD/(B+D)の相関係数をみたら、-0.3くらいの弱相関でした。
> 感覚的には努力値を加味したら更に相関が強くなる気がするので、とりあえず事実として良さそうです。
>
> 上記データセットの散布図をみると比較的綺麗な楕円だったので、
> 線形で近似して、素早さと耐久力の関係式を出すことをまず思いつきます。
> 妥当性については、簡単に主成分分析にかけ第1軸の寄与率で判断しました。
> 0.6くらいで微妙な所ですが、いったん線形で話を進めました。
> 不都合あれば、ここに振り返ってくる必要が出てくるかもしれません。
>

お疲れ様です……。「全部のポケモン」というのは、「対戦ではまず使われない低種族値のポケモン(=耐久と速度が両方低いポケモン)」が含まれると思われるので、それを省くともっと相関が強くなるかもしれません。


> ただ、関係式を一次式T=aS+bで表すとして、これをZ式にどう盛り込むか話を進めるにあたり、
> どうしても気になるのが、Zが負数を取りうる点なんですが、これはどう解釈すればいいでしょうか。
>
> Vや、分母の元になっている先攻能力指数Yが、負数や定義なしとなりうるので、
> そこをケアせずに進めていいのか悩みます。
>
> Y=mC(1+V)/(1-mnC/2)が負数や定義なしになる条件mnC≧2は
> 今日時点の環境では想定しにくいので運用で許容されていると言えますが、
> Vの方はルンパの記事で、
>
> V=2T ln(2T/k) /l - (2T-k) /2l, k≒4144, l≒20000
>
> とされていて、仮にこれだとTが600~2000くらいの時、攻撃を耐える回数Vが負数を取ります。
> 極小値-0.51くらいなんですが、Pが0.5より小さいとZが負数になりますよね。
> (T→0の時の値が0じゃないとか、0~600くらいの範囲で常に減少になるのも気になりますが)
>

これは、攻撃を耐える回数を式として立てる際に、苦肉の策として「火力の下限値」kを自分が勝手に定めた弊害ですね。耐久力が火力の下限を下回るポケモンが攻撃を耐える回数が負になってしまっているんです。
解決するとすれば、「V<0となるときはV=0とする」しかないかと思います。


> k, lの多寡を問わず、xln(x)を使っているので同様の問題が生じると思い、1日考えていましたがここで手が止まりました。
> 実際にこの範囲に収まるポケモンはそうそういないのでやはり「環境に許容される」でいいのかもしれませんが。
>
> そもそも何故、攻撃を耐える回数Vに「HPを受けるダメージで割ったもの」を使わなかったのでしょうか。
> ルビサファ時代にH=B+Dが提案された時から、この点に関しては相当に妥当だと思っていました。

耐久力と攻撃を耐える回数が単純に比例する、というのは直感的に受け入れにくく、基本的には、耐久力が2倍になった場合、攻撃を耐える回数は2倍よりも多くなると自分は考えています。
例えば、「ある攻撃をちょうど1発だけ攻撃を耐えるポケモンA」と「Aの2倍の耐久力を持つポケモン」がいるとします。Bが「ある攻撃」を耐える回数は、「ある攻撃」がAに与えるダメージが50%~66%だった場合は3発、それ以上だった場合は2発になるわけですから、Bは平均すればAの2倍以上の攻撃を耐えています。Aが攻撃を耐える回数が1発でなかったとしてもこれは変わらず、基本的にBが攻撃を耐える回数はAが攻撃を耐える回数の「2倍」または「2倍+1」になるので、2倍よりも多いという解釈になるんです。
耐える回数が増えればこの差は誤差と呼べるレベルになりますが、実際にポケモンバトルでは攻撃を耐える回数というのは1~3発程度でしょうから、無視するのは難しいかと思います。

こうした問題まで加味した上で、自分がギリギリ納得できるレベルだったのが記事にて使用したモデルだった、という経緯です。ただ式として綺麗なものになっていませんし、上でも述べているように、受ける火力の下限や上限を恣意的に決定しているという問題もあるので、これに関してはもう少し何とかやりようはないかなと自分でも思っています。


>
>
> Zが負数になることの妥当な解釈が得られれば、
> 先の関係式を使って、任意定数になっているnをPあたりでうまく消せたらハッピーじゃないか?
> という所までが、ひとまずの思いつきです。
>

ご指摘の通り、実際にやるとすれば、nの所に相手の素早さに依存するパラメータを放り込む、という形になると思います。
お話を伺っているうちに、頑張ればそこそこ行けそうな気もしてきました。気が向いたらもう少し詰めて考えてみようかと思います。

>
> 長文スイマセン &
> 計算ミスしてたらスイマセン &
> 理解が間違っていたらスイマセン &
> 一通り記事は拝読しましたが、読み落としてたらスイマセン。

いえいえ。面白く読ませてもらいました。ここまで自分の記事の内容をしっかりと理解している読者もなかなかいないでしょう。

No title

>なるほど。
>ただ逆に考えると、S種族値がその密集区間に含まれるポケモンについては、先攻確率を線形で近似しても大きく間違ってはいない、と言えるのかもしれません。

間違っていないと思います。
私は正規分布が好きですが、μ付近では線形性があるのは明らかですし、
実際、私もμ±2σくらいの範囲では線形、それより外では0or1で丸める関数を使ったりしました。
(一次導関数が不連続になるのはちょっとアレでしたが)

>これは、攻撃を耐える回数を式として立てる際に、苦肉の策として「火力の下限値」kを自分が勝手に定めた弊害ですね。
>耐久力が火力の下限を下回るポケモンが攻撃を耐える回数が負になってしまっているんです。
>解決するとすれば、「V<0となるときはV=0とする」しかないかと思います。

苦肉の策とは仰いますが、根拠なく恣意的に定数を決めるのであれば別ですが、
現環境から、一様分布の下限・上限を定めることと、
平均・分散から正規分布を定めるのは同じレベルの話ですし、
相手の攻撃力を任意の範囲の一様分布としたことについては、
そこまで大きな問題になるとは思ってません。
っていうか、線形や一様分布モデルは近似の基本ですからね。

今回は単純にx ln(x)という関数がそういう概形なので、
このモデルを使う上での解釈の定義の問題かなという理解です。
「0以下を丸める」は私もよくやってたので対策としてはアリだと思います。


>耐久力と攻撃を耐える回数が単純に比例する、というのは直感的に受け入れにくく、
>基本的には、耐久力が2倍になった場合、攻撃を耐える回数は2倍よりも多くなると自分は考えています。
>例えば、「ある攻撃をちょうど1発だけ攻撃を耐えるポケモンA」と
>「Aの2倍の耐久力を持つポケモン」がいるとします。Bが「ある攻撃」を耐える回数は、
>「ある攻撃」がAに与えるダメージが50%~66%だった場合は3発、
>それ以上だった場合は2発になるわけですから、Bは平均すればAの2倍以上の攻撃を耐えています。
>Aが攻撃を耐える回数が1発でなかったとしてもこれは変わらず、
>基本的にBが攻撃を耐える回数はAが攻撃を耐える回数の「2倍」または「2倍+1」になるので、
>2倍よりも多いという解釈になるんです。
>耐える回数が増えればこの差は誤差と呼べるレベルになりますが、
>実際にポケモンバトルでは攻撃を耐える回数というのは1~3発程度でしょうから、
>無視するのは難しいかと思います。
仰っている内容を一般化すると

ダメージをDmg = 0.4 m A / D として、
ダメージの割合p = Dmg / H = (0.4 m A / D) / H = 0.4 m A / HD

耐える回数vについては、割合で100%を割って床関数[]をとり、

v = [1 / p] = [HD / (0.4 m A)] … ①

HDをT、0.4mAをA'、ポケBの耐久の倍率をαと置いて、

耐える回数の倍率f(T, A')=[αT / A'] / [T / A']

これでf(T, A')=αになるかどうか、ならないだろうというお話かなと理解しました。

①までが先に私が申し上げた「HPを受けるダメージで割ったもの」ですが、
そこから先は確認したことはなかったです。離散的なのが曲者ですね。
簡単に検証した結果としては、なるとも言えるし、ならないとも言える感じでした。
グラフや表を示せないコメント欄では説明が難しいのですが、

任意のA'を想定し、Σf(T, A'+n)/(2n+1), k=-n→nの幅でfの平均を出していった時、

nが十分に大きい時は、離散式[T / A']は連続式 T / A'に近似し
Σf(T, A'+n)/(2n+1) = (αT / A') / (T / A')で、αに漸近し、
耐久力と攻撃を耐える回数は、単純に比例しました。
離散式を十分なサンプルで平均すれば連続式に近似するのは自明ですからね。

ただし、連続式と言えないほどnが小さい時は定数αに漸近せず、
A'に依存する関数(カーブ)になり、単純に比例とは言えませんでした。

平均をとるサンプル数nに依拠すると言った結果でした。
この関数fをモデル化すれば、行動回数Vについて精度が上がるのかもしれません。



何度も何度もコメントして申し訳ないです。
最後のαに関する関数(カーブ)が大変興味深い形だったので。

Re: No title


> 苦肉の策とは仰いますが、根拠なく恣意的に定数を決めるのであれば別ですが、
> 現環境から、一様分布の下限・上限を定めることと、
> 平均・分散から正規分布を定めるのは同じレベルの話ですし、
> 相手の攻撃力を任意の範囲の一様分布としたことについては、
> そこまで大きな問題になるとは思ってません。
> っていうか、線形や一様分布モデルは近似の基本ですからね。
>
> 今回は単純にx ln(x)という関数がそういう概形なので、
> このモデルを使う上での解釈の定義の問題かなという理解です。
> 「0以下を丸める」は私もよくやってたので対策としてはアリだと思います。

一様分布で扱うのが、近似の仕方としては大きく問題があるとは自分も考えていません。
ここら辺は美的感覚の問題というか、最終的な結論の式が汚かったり「下限を下回る耐久のポケモンは攻撃を耐える回数は0にする」とかが入ってしまうのが、個人的にあまり面白くない、という感覚ですね。
それ以前導いた、総合耐久指数HBD/(B+D)が綺麗な式になったのが気に入っていたのもあって。


> 仰っている内容を一般化すると
>
> ダメージをDmg = 0.4 m A / D として、
> ダメージの割合p = Dmg / H = (0.4 m A / D) / H = 0.4 m A / HD
>
> 耐える回数vについては、割合で100%を割って床関数[]をとり、
>
> v = [1 / p] = [HD / (0.4 m A)] … ①
>
> HDをT、0.4mAをA'、ポケBの耐久の倍率をαと置いて、
>
> 耐える回数の倍率f(T, A')=[αT / A'] / [T / A']
>
> これでf(T, A')=αになるかどうか、ならないだろうというお話かなと理解しました。
>

その理解で正しいと思われます。ただ若干の留意点として、その定義だとmは自分が記事の中で使用しているmとは別物になっています。自分が記事の中で使用しているmをm'とすると、m'=0.4m/Dです。


> ①までが先に私が申し上げた「HPを受けるダメージで割ったもの」ですが、
> そこから先は確認したことはなかったです。離散的なのが曲者ですね。
> 簡単に検証した結果としては、なるとも言えるし、ならないとも言える感じでした。
> グラフや表を示せないコメント欄では説明が難しいのですが、
>
> 任意のA'を想定し、Σf(T, A'+n)/(2n+1), k=-n→nの幅でfの平均を出していった時、
>
> nが十分に大きい時は、離散式[T / A']は連続式 T / A'に近似し
> Σf(T, A'+n)/(2n+1) = (αT / A') / (T / A')で、αに漸近し、
> 耐久力と攻撃を耐える回数は、単純に比例しました。
> 離散式を十分なサンプルで平均すれば連続式に近似するのは自明ですからね。
>
> ただし、連続式と言えないほどnが小さい時は定数αに漸近せず、
> A'に依存する関数(カーブ)になり、単純に比例とは言えませんでした。
>
> 平均をとるサンプル数nに依拠すると言った結果でした。
> この関数fをモデル化すれば、行動回数Vについて精度が上がるのかもしれません。
>
>

こちらで簡単に検証すると違う結果になりました。
A'=150、n=100、V=Σ[T/(A'+k)]/(2n+1) (k=-n→+n)とし、
横軸をT、縦軸をVとしてグラフを作った時、何点か抜粋すると、

T=100⇒T/A'=0.67に対してV=0.26
T=150⇒T/A'=1.00に対してV=0.64
T=200⇒T/A'=1.33に対してV=1.09
T=250⇒T/A'=1.67に対してV=1.62
T=300⇒T/A'=2.00に対してV=1.95

この場合、T=250~350あたりの範囲ではVがT/A'に漸近していましたが、だんだんVの傾きが大きくなり、T=375を越した辺りでVがT/A'を抜いてしまいました。

nが更に小さい場合は変化が特徴的になりますが、分布範囲をそのままにサンプル数を増した(nを1刻みではなくもっと小さい刻み方をした)場合にも傾向は変わらなかったので、サンプル数が足りないのではなく分布範囲が狭いことが原因になっているのかと思われます。


とりあえず、自分がブログの中で使用しているモデルは、ご提示の通りのモデルに、A'-n<T<A'+nと仮定を加えたものにそのまま相当すると思われます。つまり、自分のブログで上限と下限として使用していたkとlについて、k=A'-n、k+l=A'+nです。その後積分するために[T/A']≂T/A'-1/2という連続関数で近似はしましたが、やっていることは同じです。
この仮定に関しては、「ポケモンの耐久力が火力の下限以上上限以下である」つまり「一撃で倒されることも倒されないこともある」ということに相当するので、極端に耐久力が高いポケモンや低いポケモンでなければある程度妥当なのではないかと判断しています。

>
> 何度も何度もコメントして申し訳ないです。
> 最後のαに関する関数(カーブ)が大変興味深い形だったので。

nを変えながら何パターンかV-Tカーブを調べてみましたが、これはちょっと傾向が掴めませんね……nやAに関わらず、T=A'+nを境にVの傾きが変わるのは間違いなさそうですが。
ただ、自分の置いた仮定(k<T<k+l)の範囲ではそこまでややこしい挙動はしていないので、さしあたりこのブログでは今のままでいいのではないかと考えています。

No title

コメント返しを頂いていたのに、なかなかパソコンに向かう時間が取れなくて返事が遅れました。すみません。

>ただ若干の留意点として、その定義だとmは自分が記事の中で使用しているmとは別物になっています。
>自分が記事の中で使用しているmをm'とすると、m'=0.4m/Dです。

>こちらで簡単に検証すると違う結果になりました。
>A'=150、n=100、V=Σ[T/(A'+k)]/(2n+1) (k=-n→+n)とし、
>横軸をT、縦軸をVとしてグラフを作った時、何点か抜粋すると、
>T=100⇒T/A'=0.67に対してV=0.26
>T=150⇒T/A'=1.00に対してV=0.64
>T=200⇒T/A'=1.33に対してV=1.09
>T=250⇒T/A'=1.67に対してV=1.62
>T=300⇒T/A'=2.00に対してV=1.95

理解が浅くて失礼しました。
A'は0.4x「こうげきorとくこう」x「わざの威力」x「相性など」、
Tは「HP」x「ぼうぎょxとくぼう」という意味でしたので、
数値も1000オーダーを想定していました。

ジロウさんの文字に寄せたつもりが逆効果でしたね。

いずれにせよ、やっていることはV-T-A'座標系でA'軸方向に移動平均を取っているのと等価で、
反比例の式なので、移動平均の幅nによってはA'が極端に大きかったり、
Tが0に近い範囲で発散する所にかかってしまうと大きく乖離してしまいますね。

私の「nが十分に大きい時は、離散式[T / A']は連続式 T / A'に近似する」という主張は、
自分の理屈ありきで恣意的にnを決めたからで、すべての定義域で成り立つとは言えなさそうですね。


>ただ、自分の置いた仮定(k<T<k+l)の範囲ではそこまでややこしい挙動はしていないので、
>さしあたりこのブログでは今のままでいいのではないかと考えています。
モデルがおかしい、ブログを書き直せなんて意図は全くありませんので、勿論今のままで結構だと思います。
議論することで、お互い新しい発想に至れればいいなという気持ちでコメントした次第です。
今回、Vに関して新しい知見が得られました。ありがとうございます。

コメントの投稿

非公開コメント

プロフィール

ジロウ

Author:ジロウ
ポケモンダブル勢。好きなポケモンはヌケニンとチェリム、クチート、あとランターン。
ブログ名通りにポケモンの机上論をつらつら書き連ねる予定。