底なし沼の底

The two moves have become one! It's a combined move!

【雑記】デッキ構築論 1枚1枚のチューニング ~雰囲気だけでカードを抜き差しするな~

はじめに

 

こんにちは。Lukeです。

 

最近、CL新潟に出るかじさんの相談に乗っていて、僕の中にあるデッキ構築論、みたいなものを言語化して話す機会がありました。

こういうのを残しておくことで今後僕が迷ったときに軌道修正するための1つのキッカケになるかなとも思うので、折角の機会ということで書いてみます。

非常に抽象的な話をしますので、よーわからんし知らんという人も当然の感想ですし、伝わる人にだけ伝わればいいかなと思います。

 

デッキ出力は正規分布に従うと仮定する

では本題に入りますが、まずはこちらの記事を読んでいただきたいです。

note.com

 

以前僕も参加させて頂いたいちょーさんのポケカアドベントカレンダーの企画の時に拝見したものですが、僕はこの記事からデッキ構築に強い影響を受けました。

 

僕はここで挙げられている「正規分布」という考え方を大切にしています。

 

正規分布とは統計などの分野で用いられる言葉です。

あくまでポケモンカードについての記事ですし、僕は数学や統計の専門家ではないので厳密性を欠くことについてはご容赦ください。

 

例えば、サイコロを振った時に出る目を横軸、その確率を縦軸に取った二次元のグラフを描くと、y=1/6の直線が描かれます。

次にサイコロを2つ振った時の和について同様に考えると、2や12は出にくく6や5は出やすいことになりますので、このグラフは山のような形になります。

 

この変数(サイコロの数)を無限に増やしていくと滑らかで左右対称な山ができあがります。これを「正規分布」と呼びます。この曲線は関数で表すことができ、以下のようになります。(Wikipediaからてきとうにキャプチャしました)

σ^2が分散でμが平均ですから、この""確率の分布を示すグラフ""の形は平均と分散が定まれば1つに定まるということがわかります。

 

ここでf(x)をデッキの出力の強さとして考えると、グラフの形が山の形ということは上振れと下振れの確率は低くて真ん中くらいの強さの確率が一番高いということに例えられます。それはそうな気がしますよね。その上で、デッキごとに平均と分散は異なるので、デッキごとに山の形は違います。

アルセウスデッキのように安定する代わりに最大値も最小値も低いデッキは分散が小さく、平均値はさほど高くないと言えるでしょう。逆にロストカイオーガや一撃ルギアのようなデッキは不安定な代わりに上振れパワーが高く、分散が大きいデッキと言えそうです。

 

本記事では平均値が高いほど強いデッキで、分散が大きいほど不安定なデッキだと考えることにします。

 

実際の試合での出力

実際の試合でデッキがどの程度よく回るか(=強いか)というのは、毎回違います。

この実際に試合中に発揮された強さのことを「出力」と呼ぶことにします。

デッキの出力は、毎試合、そのデッキが持つ正規分布のどこかから抽選されると考えます。

普段戦っていて口にする「あ~下振れだわ~クソ」というのは、「そのデッキが持つグラフのうち、抽選される確率の低い下の方を引いたと感じています」という宣言に相当し、「はぁ!?相手上振れすぎだろ〇ね!」は「相手のデッキタイプから経験的に予想しているグラフの中で、抽選される確率の低い上の方を引いたと感じています」という宣言に言い換えることができますね。

 

デッキ相性とかは一旦抜きにして考えるとして、相手よりも高い点数が出た方が勝つと仮定します。30点~50点が出るデッキで50点が出たら、そのデッキにとっては100点満点ですが、相手のデッキが40点~80点が出るデッキなら、そのデッキの中での50点を出されただけでそれは60点が出ているので負けます。

 

デッキ構築とは、〇点が△くらいの確率で出てほしい、という自分の理想をグラフとして描く作業であると僕は考えています。

 

1枚1枚の変化による平均と分散の変化

デッキは1枚1枚カードを積み上げていって60枚にするものなので、1枚変われば当然そのデッキの「関数の形」は変わります。

 

例えば単純な例として上に貼った記事の話を引用しますと、「ボスの指令→セレナ」という変更を加えたとすると、分散が小さくなる代わりに平均値も下がると言えます。

逆に、バトルVIPパスは分散を上げる代わりに平均値も上げるカードだと言えます。

 

当たり前ですが、ドローサポートを増やせば事故の確率が下がるので最低値は上がり、ドローサポートを増やした分盤面に触るカードが減っているので最大値は下がるので、「ドロサポを増やす」というのは「分散を下げる」と言い換えることができるでしょう。

逆に、特定の状況では強力な効果を発揮するものの、いつも使えるわけではなく都合よく手札に持っていることで大きな力を発揮しうるカード、例えばキバナやツツジ、ボスの指令などのカードの採用は「分散を上げる」ことに繋がります。

 

そしてドローサポート1つをとっても、博士の研究はハイリスクハイリターン(分散が大きい)のに対し、ホップはローリスクローリターン(分散が小さい)と言え、その上で博士の研究の方が平均値が高いのでそちらを採用する人が多いわけです。

 

メタカードと環境読み

さて、ボスの指令とセレナの比較を例に出しました。

 

しかし相手がVポケモンしか入っていないデッキなのであれば、セレナはボスの指令の上位互換ということになりますので、そのデッキの対面に限っては平均値をそのままに分散だけを下げる強い変更だと考えることができます。

逆に相手にVポケモンが入っていなければセレナとボスの指令は全く異なる性質のカードです。相手のベンチポケモンを呼べなくて困るかもしれないし、困らないかもしれない。それも相手のデッキや状況に依存します。

 

それぞれのカードは対面ごとに強さが異なり、例えばミライドンデッキにおけるビーチコートは雪道を割りたい対面では強力なカードである一方、ロストデッキ対面では相手に有効利用されてしまう弱いカードにもなります。

 

すなわち、デッキが持つグラフの形は対面の相手が何かによって常に変動します。

「環境にサーナイトが多そうだから、サーナイトに強いロストヤミラミを握ろう」という選択は、サーナイト対面については自デッキが低い点数(出力)を出してしまっても相手の高い点数(出力)を上回ることを期待しています。

 

60枚のデッキに含まれる1枚1枚のカードはそれぞれ色々な対面、状況においてどの程度デッキの強さに寄与するかの値が異なっており、その値の積み重ねがデッキの各対面、状況での強さを定義します。

色々な状況での強さをそれぞれ示す大きな行列(各カード)があって、その行列の和がデッキの強さになる、といったイメージです。

 

一言に「デッキの強さ」と言っても感じ方は様々でひとくくりに評価はできないので、「どんな状況」「どんな相手」といった変数で微分してそれぞれ評価していく必要があると考えています。

そこに「その状況」「その相手」に遭遇する割合を乗じた値というのを考え、この値の総和をデッキの全体的な強さとして評価します。

わかりやすくするために対面デッキの話を例として考えてみると

 

環境上での強さ f(x,y,z,…) = a*g1(x)+b*g2(y)+c*g3(z)+… 

a : サーナイトデッキに遭遇する確率

g1(x) : サーナイトデッキ対面での強さ(「デッキの強さ」関数を変数サーナイト微分した関数)

 

のような和で例えられる、ということです。

ここでいうg1(x)が平均と分散を与え、サーナイト対面への出力が分布として得られるというイメージです。

 

例えばドラピオンVはミュウ対面での強さを大きく引き上げますが、他の対面の強さにはさほど影響しません。そのため、「環境上での強さ f(x)」に与える影響はミュウ対面での強さに掛かる係数が大きいほど大きくなります。

この係数の大きさを推し量る行動のことを一般的に環境読みと呼ぶ、と僕は考えています。

 

そして予想した係数の大きさを前提に、環境上のデッキの強さf(x,y,z,…)が最大となるような関数の形を探すのがデッキ構築です。

1枚1枚のカードは色々な要素を持っていますし、他のカードとの組み合わせで新たな作用を生む(別の変数との積の項を持つ)こともあるので判断は難しいものですが、こうして要素を切り分けて(微分して)考えると少し考えがスッキリするかなと自分は考えています。

 

調整の具体例

CL調整の時の会話ログにちょうどいいのがあったので貼っときます。

あと最近よくポケカの話をする松井さんにこの記事の原稿見せたらちょうどいいの貰ったので置いときます。

 

 

 

おわりに

当たり前のことしか言ってないので今更コイツは何を言ってるんだ?という感想を持つ人が多いと思いますが、改めて言語化しようとすると少し難しかったので良い機会でした。

ほとんど自己満足みたいな文章を書きましたが、それでも誰かの参考になれば嬉しいです。