重ね引きを考慮した改善幅

重ね引きと λ

前章では、構築変更による手札品質の改善幅 \(\Delta\) と、想定対戦数 \(N\) に対してその差をどの程度重視するかを表す採用係数 \(k\) を導入しました。

しかし、カードの採用枚数を増やす場合には、もう一つ考えなければならない問題があります。

重ね引きです。

採用枚数を増やすと重ね引きも増える

遊戯王のデッキ構築では、

「初動札を増やせば安定する」

と考えることがあります。

これは間違いではありません。

初動札を増やせば、そのカードを1枚以上引ける確率は上昇します。

しかし同時に、

同じカードを2枚以上引く確率も上昇します。

たとえば、2枚目以降も

  • 貫通札になる
  • コストとして使用できる
  • 後続になる
  • 別の展開ルートとして使用できる

といったカードであれば、重ね引きはそれほど問題になりません。

一方で、

  • 同名ターン1がある
  • 通常召喚権が競合する
  • 1枚あれば十分に機能する
  • 展開後に余りやすい
  • 2枚目以降の用途がほとんどない

といったカードでは、重ね引きによって手札品質が低下します。

初手は5枚しかありません。

同じ役割のカードを2枚引いた場合、その1枚分だけ、本来引けた可能性のある誘発、貫通札、捲り札などを引けなくなっているとも考えられます。

したがって、

「Aを引ける確率が上がった」という理由だけでは、採用枚数を増やしたことが手札品質の改善になったとは判断できません。

重ね引きを3つの確率に分ける

カード群 \(A\) の採用枚数を評価するとき、本稿では次の3つを区別します。

ちょうど1枚引く確率

\[ P(A=1) \]

1枚以上引く確率

\[ P(A\geq1) \]

2枚以上引く確率

\[ P(A\geq2) \]

採用枚数を変更した場合には、それぞれの変化を、

\[ \Delta(A=1) \]
\[ \Delta(A\geq1) \]
\[ \Delta(A\geq2) \]

として確認します。

このうち、

\[ \Delta(A\geq1) \]

は、

Aに触れられる確率がどれだけ増えたか

を表します。

一方、

\[ \Delta(A\geq2) \]

は、

Aを重ねて引く確率がどれだけ増えたか

を表します。

ここまでは通常の確率計算で求めることができます。

しかし、ここで一つ問題があります。

重ね引きがどれくらい悪いのかは、確率計算だけでは決められません。

λ の導入

そこで本稿では、重ね引きによる価値低下を採用枚数評価へ取り込むため、独自の評価変数として

\[ \lambda \]

を導入します。

基本的には、

\[ 0\leq\lambda\leq1 \]

の範囲で使用します。

\(\lambda\) は、

「この構築において、Aを2枚以上引いた状態をどの程度悪く評価するか」

を表します。

重要なのは、λはカードにあらかじめ決められている客観的な数値ではないことです。

λはプレイヤー自身が決定します。

λ はプレイヤーが決める

重ね引きの価値は、カードやデッキによって異なります。

また、同じカードであっても、採用されているデッキによって2枚目の価値は変化します。

そこでλでは、重ね引きの価値を厳密に測定しようとはしません。

プレイヤー自身が、

「このカード、被ったらどれくらい嫌だろう?」

と考えて、その程度を数値として設定します。

たとえば、

λ 重ね引きの評価
\(0\) 重ねても問題ない
\(0.25\) 少し弱くなる
\(0.5\) 2枚目も使えるが明確に価値が落ちる
\(0.75\) かなり重ねたくない
\(1\) 2枚目以降は不要

程度の感覚で構いません。

たとえば、

「2枚目もコストになるので、そこまで悪くない」

なら、

\[ \lambda=0.25 \]

\[ \lambda=0.5 \]

と設定できます。

一方、

「通常召喚するカードなので、基本的には1枚だけ欲しい」

のであれば、

\[ \lambda=0.75 \]

\[ \lambda=1 \]

と設定することができます。

λを0.43や0.68のように厳密に決定する必要はありません。

むしろ本稿では、

これまで「被るとちょっと弱い」「2枚目も使える」「絶対に1枚だけ欲しい」と感覚的に処理されていた判断を、簡単な数値として確率計算へ入力できること

をλの目的としています。

確率そのものは数学によって決まります。

一方で、

「その重ね引きをどの程度悪いと思うか」

はプレイヤーの構築判断です。

λは、このプレイヤーの判断と確率計算を接続するための変数です。

λ を手札スコアとして考える

λの意味は、手札に簡単なスコアを与えると理解しやすくなります。

カード群 \(A\) について、

Aを引いた枚数 評価
0枚 \(0\)
1枚 \(1\)
2枚以上 \(1-\lambda\)

とします。

λ = 0 の場合

\[ \lambda=0 \]

なら、

Aを引いた枚数 評価
0枚 0
1枚 1
2枚以上 1

となります。

つまり、

何枚重なっても構わないので、とにかくAを1枚以上引きたい

という評価です。

λ = 1 の場合

\[ \lambda=1 \]

なら、

Aを引いた枚数 評価
0枚 0
1枚 1
2枚以上 0

となります。

つまり、

Aはちょうど1枚だけ欲しく、2枚以上の重ね引きをほぼ不要と考える

評価です。

中間の λ

たとえば、

\[ \lambda=0.5 \]

なら、2枚以上引いた状態の評価は、

\[ 1-\lambda=0.5 \]

となります。

これは、

「2枚目以降にもある程度の価値はあるが、1枚だけ引いた状態よりは明確に弱い」

というプレイヤーの評価を表します。

このようにλを変更することで、同じ採用枚数であってもカードの性質に応じた評価を行うことができます。

重ね引きを考慮した評価値

以上のスコアを用いると、カード群 \(A\) の評価値は、

\[ E = P(A=1) + (1-\lambda)P(A\geq2) \]

と表せます。

ここで、

\[ P(A\geq1) = P(A=1)+P(A\geq2) \]

なので、

\[ E = P(A\geq1) - \lambda P(A\geq2) \]

と書き換えることができます。

つまり、

Aを1枚以上引ける価値から、重ね引きによる損失をλの分だけ差し引く

という評価になります。

実質改善幅

構築変更前後の差を取ると、

\[ \Delta_{\mathrm{eff}} = \Delta(A\geq1) - \lambda\Delta(A\geq2) \]

となります。

本稿ではこれを実質改善幅と呼びます。

単純な改善幅、

\[ \Delta(A\geq1) \]

は、

「Aを引きやすくなった量」

だけを評価しています。

一方、実質改善幅、

\[ \Delta_{\mathrm{eff}} \]

は、

「Aを引きやすくなった利益」から「重ね引きが増えた不利益」をプレイヤーの評価λに応じて差し引いたもの

です。

λ = 0 なら1枚以上引く確率になる

\[ \lambda=0 \]

であれば、

\[ \Delta_{\mathrm{eff}} = \Delta(A\geq1) \]

となります。

つまり重ね引きを問題とせず、単純にAへ触れる確率の改善だけを評価します。

λ = 1 ならちょうど1枚引く確率になる

\[ \lambda=1 \]

であれば、

\[ \Delta_{\mathrm{eff}} = \Delta(A\geq1) - \Delta(A\geq2) \]

となります。

そして、

\[ P(A\geq1)-P(A\geq2)=P(A=1) \]

なので、

\[ \Delta_{\mathrm{eff}} = \Delta(A=1) \]

です。

つまりλを1にすると、

Aをちょうど1枚だけ引ける確率の改善

を評価することになります。

このように、

\[ 0\leq\lambda\leq1 \]

を動かすことで、

「とにかく1枚以上引きたい」

から、

「ちょうど1枚だけ引きたい」

までを、同じ式の中で連続的に表現できます。

λ と採用係数 k

前章で導入した採用係数 \(k\) は、

構築変更による改善幅を、想定対戦数に対してどの程度重視するか

を評価するための指標でした。

一方、λは、

その改善幅を求める前に、重ね引きをどの程度悪く評価するか

をプレイヤーが決定するための変数です。

したがって、本稿の考え方は、

\[ \text{プレイヤーが }\lambda\text{ を設定} \]
\[ \downarrow \]
\[ \text{重ね引きを考慮した実質改善幅 }\Delta_{\mathrm{eff}}\text{ を求める} \]
\[ \downarrow \]
\[ \text{想定対戦数 }N\text{ に対して改善を評価する} \]

という流れになります。

つまり、

  • \(\lambda\)カードや構築に対するプレイヤーの評価
  • \(\Delta_{\mathrm{eff}}\)その評価を反映した構築変更の改善幅
  • \(N\)そのデッキを使用する想定対戦数
  • \(k\)その改善幅をどの程度重視するか

をそれぞれ担当します。

重ね引きを考慮した採用係数

λによって手札を

\[ 0,\quad1,\quad1-\lambda \]

のスコアとして扱う場合、採用係数まで厳密に計算するには、このスコアのブレを使用します。

手札スコアを \(S\) とすると、

\[ E[S] = P(A=1) + (1-\lambda)P(A\geq2) \]

です。

また、

\[ E[S^2] = P(A=1) + (1-\lambda)^2P(A\geq2) \]

なので、

\[ \operatorname{Var}(S) = E[S^2]-E[S]^2 \]

となります。

想定対戦数を \(N\) とすると、平均スコアの標準偏差は、

\[ \sigma_S = \sqrt{ \frac{\operatorname{Var}(S)}{N} } \]

です。

したがって、重ね引きを考慮した採用係数は、

\[ k_\lambda = \frac{\Delta_{\mathrm{eff}}}{\sigma_S} \]

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

この計算は統合シミュレーターで行えるようにしています。

λ の位置づけ

λは、カードの絶対的な強さを示す数値ではありません。

また、

「このカードの正しいλは0.5である」

という唯一の正解が存在するものでもありません。

カードの2枚目以降の価値は、

  • デッキ構成
  • 他の初動との関係
  • コストとして使用できるか
  • 2枚初動になるか
  • 展開後の用途
  • プレイヤーが重視するゲームプラン

などによって変化します。

そのためλは、

「この構築において、私はこの重ね引きをどの程度悪いものとして扱うか」

をプレイヤー自身が明示するための変数です。

本稿では、重ね引きという主観を含む構築判断を、

\[ 0\leq\lambda\leq1 \]

という簡単な値に置き換えることで、確率計算へ組み込めるようにします。

これは本稿で提案する独自の評価方法です。

λの目的はプレイヤーの判断を排除することではありません。

むしろ、

プレイヤーの判断を残したまま、その判断を確率計算に接続できるようにすること

にあります。

基本モデルの限界

本稿のλモデルでは、

\[ A\geq2 \]

を一つの状態として扱います。

そのため、

  • 2枚引いた場合
  • 3枚引いた場合
  • 4枚引いた場合

の違いまでは個別に評価しません。

理論上は、

\[ A=2,\quad A=3,\quad A=4 \]

それぞれに異なるスコアを設定することも可能です。 しかし、そうするとプレイヤーが設定しなければならない変数が増え、採用枚数評価が急速に複雑になります。

そのため本稿では、

プレイヤーが簡単に重ね引きの程度を決定できること

を重視し、2枚以上を一つにまとめたλモデルを基本とします。


次へ:デッキ枚数