雑談その2(分析方法)

いい加減な雑談、第2回です。
1回目同様、あんまりまとまりのない内容で、読みにくい内容になります。

ドミニオンブログ界隈で良く取り上げられる内容として、ドミニオンにおけるプレイ方針やプレイングの分析・検討などがあると思います。
サプライや状況が示されての「何切る?」の類(正確には「何買う?」や「何プレイする?」になりますが)などです。
この時の分析方法なのですが、なんとなく見ていると幾つかの傾向、というか分類が出来るような気がします。

1)厳密な確率計算を用いた分析
限られた状況に限定すれば、厳密な確率計算が可能です。
例えばイカサマなしで特別な要因(遊牧民の野営地を買ったり、他プレイヤーが義賊を買うとか)がなければ、1ターン目に手札に5金を引く確率は1/12、4金は5/12、3金は5/12、2金は1/12の確率です。
その延長上で、『初手「男爵・銀貨」「男爵・オアシス」「男爵・倉庫」「銀貨・銀貨」の組み合わせのうち、2周目(3〜4ターン)に6金が出る確率が最も高い組み合わせは?』(アタック・カードなどの外部からの影響はない)といった感じの分析をたまに見かけます。
このくらいまでなら、全てのパターンを洗い出しその確率を算出し(例えば3ターン目に「銅×3、男爵、屋敷」、4ターン目に「銅×3、屋敷×2」と引く確率とか)、集計することで最終的な検討内容(2周目に6金が出る確率)の評価値を算出することができます。
厳密な計算された確率として結果が提示・比較されるために説得力は高いと言えますが、あまり複雑な状況には対応できないという問題があります。

一応、理論上は更に複雑な状況についても確率計算は可能ではありますが(例えば上記の例で、3周目の5〜6ターン目に8金出る確率とか)、一度実際にやってもらうとわかりますが、集計すべきパターンの量が多くなりすぎて、やってられなくなります。
実際問題として考えると、厳密な確率計算ができるのは、初手の組み合わせを決めた上での2周目の動きや、それと同程度のごく限定した局面(手札と山札内容が分かっている1局面でのプレイ選択とか)の状況分析までが限界のような気がします。
上記の例でも「男爵・倉庫」のパターンは、倉庫をプレイする場合(倉庫が底に沈まない場合)、4ターン目終了前に3周目に向けたシャッフルが入るため、かなりパターン分けが面倒なります。

また2周目のような「手札に引いたアクションは常に使う」みたいなプレイ方針の定義が簡単にできる状況はいいのですが、意思を持って選択肢を選ぶ必要がある場合(デックにターミナル・アクション2枚以上で被った時にどれを使うかとか、残り山札2枚で鍛冶屋をプレイするかどうかとか)は、確率計算での分析では対応できないことになります。
どちらを選ぶかに意思(単純な確率として処理できないもの)が入るためです。
単純にそこで解析を分岐して比較する(例えば「Aをプレイした場合とBをプレイした場合で、どちらが8金に届く確率が高くなるか?」みたいな)やり方もありますが、さらに選択が必要な局面が出てくると、さらに細分化していき、結果、比較するパターンが細分化しすぎてすぐにやってられなくなります。

繰り返しになりますが、厳密な確率計算による分析は「結果が厳密に計算された確率として提示・比較されるために説得力は高い」のですが、複雑な状況には対応できず、実際にはごく限られた単純な局面の検討にしか使えません。
そこで出てくるのが、次のシミュレーターを用いた分析になります。

2)シミュレーターを使った分析
「鍛冶屋ステロイドと礼拝堂プレイのどちらが強い(勝率が高い)か?」といった問題は、あまりに分岐が多く、何度も意思決定を繰り返すため、厳密な確率計算ができません。チェスや将棋・囲碁が未だに解析されていないのと同じですね。
ドミニオンの場合、チェスなどに比べ確率的な違い(同じ初手で初めても、3ターン目の手札が同じになるとは限らない)がある分は複雑ですが、逆に取れる手(プレイや購入などの選択肢)はそこまで複雑でない場合が多くなります。
そのため、ステロイドのようなプレイが煩雑でない戦法であれば、事前に意思決定に関して簡単な約束事(プレイ方針)を作っておけば、それを元にコンピューターにオートマチックにプレイさせても、それなりの結果は出せます。

例えば、こんな簡単な方針に従ってプレイしてみても、それなりに鍛冶屋ステロっぽいプレイになります。

・アクション・カードは鍛冶屋を2枚まで買い、鍛冶屋を手札に引いたら常にプレイする
・8金以上あったら属州購入
・6金、7金は属州が残り4枚以下なら公領、そうでなければ金貨購入
・5金は属州が残り4枚以下なら公領、そうでなければデックに鍛冶屋が2枚無ければ鍛冶屋購入、2枚あったら銀貨購入
・4金は属州が2枚以下なら屋敷、そうでなければ鍛冶屋が2枚無ければ鍛冶屋購入、2枚あったら銀貨購入
・3金は属州が2枚以下なら屋敷購入、そうでなければ銀貨購入
・2金は属州が2枚以下なら屋敷購入、そうでなければパス
・1金以下は常にパス

こういったプレイ方針を立てさえすれば、コンピューターを用いたシミュレーション(Geronimoo's Dominion Simulatorなど)で「鍛冶屋ステロvs公使ステロ」みたいな評価を行うことが出来ます。

この場合も、さらに方針を細かく設定することにより、さらに上級者のプレイに近い結果を引き出すことが出来る可能性はあります。
ただ、この点も1)の確率計算の時と同様に、「どこまでシミュレーションのプレイ方針の作成に手間や労力をかけることできるのか?」という問題になるような気がします。

3)「属州4枚までのターン数」分析
その他に、例えば「○○プレイで属州4枚購入までの平均ターン数」みたいな分析も良く見かけます。例えばネドミやほぼドミなどの一人回し10回の結果とか。
これもある意味、広義のシミュレーション(簡易シミュレーション)と言えるかと思います。

4)その他
その他に確率や測定値(ターン数など)を使わない分析も、当たり前ですが結構見かけます。
全般的な話(例えば「手札が強くて、山札が残り2枚の時に鍛冶屋をプレイしない」とか)もあれば、具体的な数値が出ていないだけでシミュレーション結果と意味合いは同じ経験知(シミュレーションの代わりに、これまでの自分のプレイ経験から出た分析結果)もあります。

こういった分類を思い立ったきっかけは、ちょっと前にtwitter上で「ドミニオンの考察における理系・文系分類」みたいな話があがっていて、具体的な内容は最早よく覚えていませんが、1)のような確率計算を理系的として、それ以外の全体的なプレイ方針とかの考察を文系的みたいな話になっていたような気がします(記憶違いだったら、申し訳ありませんが)。
「仮説を立てて、その検証をするために実験(この場合、シミュレーション)をする」のは現代の科学の考え方の根幹にあたる部分なので、2)のようなシミュレーションでプレイ方針を検討することが理系的でないというのには違和感がありました。
ただこの話を続けるには、そもそも「文系・理系の定義は?」という所から話を始める必要があって、そこの話も長くなりますし、文系に分類される分野でもシミュレーションを使っている分野はあるし、文系・理系が混じりあったような領域もあるし、そもそもここでの文系・理系の分類は大学(理系なら大学院)の出身学部が文系の人、理系の人という程度の話だった可能性も高く、発言している人毎に文系・理系に込めた意味が違った可能性も高くて何とも言えず、この話をこれ以上ここでする気はありません。

ただ、この件を考えている際に、別の要素について思う所がありました。
次回の「最終目的は何ですか?」という話にもつながりますが、1)確率計算や3)属州4枚の分析において、「2周目の金貨獲得」「属州4枚購入(獲得)」といった目標(ゴール)が良く採用されていますが、ドミニオンにおいて「2周目の金貨獲得」「属州4枚購入(獲得)」は勝利条件と完全に一致するわけではありません。
ただ、これらの条件を達成することが、かなりの局面で勝利に近づいている状態であるのも確かです。
これらの条件は、「勝利する」という最終目的(真の目的)に対する近似というか、代理の目的となります。
では、なぜ代理の目的を用いるのかというと、「真の目的について分析するのは難しい(手間がかかる)けど、代理の目的について分析するのは比較的簡単」だからです。

ネドミを立ち上げて、一人回しで10回プレイして属州4枚購入までのターン数を計測するのは、下手すれば10分もかからない上に、多分、結構楽しい作業になると思います。
そして、こういった代理の目的を使った分析というのは、理系の中でも、理学系(特に数学みたいな純粋な理論系)はともかく、それ以外の工学系とかだと当たり前に使われていることになります。

(1)「鍛冶屋ステロがどれくらい使える戦法なのか、知りたい」
(2)⇒鍛冶屋を含む数千兆のサプライの組み合わせすべてについて、それぞれに対応した様々なプレイングや環境(2人戦、4人戦とか)に対した場合の結果を解析する→無理
(3)⇒代わりに「(一人回しで)属州4枚購入までの平均ターン数が、どれくらい速いかを検討する」

(2)に比べて(3)の場合、その手間は比較にならないくらい少なくなっているのが分かるかと思言います。
また(3)の検討結果について、(1)「鍛冶屋ステロがどれくらい使えるのか」の完全な回答にはなりませんが、推測するための材料としてはかなり良い材料になっていると思います。
実際に検討に使える時間や手間は有限で、その中で結果を出すという観点からも、代理の目的で検討するということは必要となります。

ただ代理の目的は「代理の目的であって真の目的ではない」という点も忘れてはいけないとも思います。
真の目的と代理の目的で、結果に大きな差異が出てくるような局面もあるということです。
例えば、2人戦で対戦相手が公領・公爵をプレイしている局面とか、相手がBig Bridgeみたいな一発コンボをプレイしている局面で考えると、「属州4枚に素早く到達する」プレイングが強いとは限りません。
例えば対「公領・公爵」戦の場合、自分も公領・公爵にいくかという検討が必要ですし、公領・公爵に対抗して属州メインで行く場合でも、「(属州4枚目標ではなく)公領をカットしながらでも継続して属州をたくさん購入できる」プレイングの方が強いことが多いでしょう。

「すべてのパターンを検討出来ないから、手間を省くために代理の目的をたてて代用する」のは効率の面から考えてもっともな方法ですが、「それが代理の目的についての分析結果であることを【完全に】忘れてはいけない」(頭の片隅にはとどめておいて、今回の検討対象が真の目的から外れている例ではないか?と考える姿勢は持っておく必要がある)のではないかと思うわけです(この辺、上手くまとまりませんが)。
この辺は、結局バランス(効率)の問題という気もします。

また代理の目的で分析する場合、「いかに真の目的に近く(真の目的から外れるような例が少ない)、かつ分析しやすい代理の目的」を考えつくかという点は非常に大事な点となります。
その辺が分析する際に重要なセンスといったところになるような気がします。
また、その点について考えると、一部のコンボの分析を除けば、「属州4枚まで」とか「2周目の金貨」などは、代理の目的としてはかなり汎用性が高く、良い目的のように思います。

逆に、代理の目的を立てる時点で間違っていると、その分析結果自体が真の目的とまったく連動しなかったり、間違った結果となります。
この辺も注意が必要といえます。

2)のシミュレーションを行うような場合でも、立てたプレイの方針自体が間違っていたり、適切なものでない場合も、結果が違ってしまう場合が出てきます。
以前、シミュレーターの大使館ステロのプレイ方針で「大使館を1枚も買ってない時点で6金出た場合、1枚目の大使館を買うべきか、金貨を買うべきか?」といった問題があった記憶があります。

余談ですが、私のようなブログで考察している人が強いわけではない(強い人もいますが)ことが多いのは、分析している内容がドミニオンの中のごく一部分に過ぎないからという話があります。
例えば、「男爵−銀貨」より「男爵−願いの井戸」の方が良い初手(の場合が多そう)と知っていても、その差は2周目に金貨を買える確率が2〜3割違う(6割弱と8割強)とかでしかなく、10回同じサプライで遊ぶならともかく、1回プレイするだけなら、運が悪ければ出やすい確率とは逆の目がでることもあります。
また期待通りにそこで差がついた場合でも、次は「金貨を先に買えた優位を使って勝ち切る」プレイングが必要になります。
たまに「このプレイングを知らないと絶対的な差がつく」というサプライもありますが、たいていのサプライは序盤、中盤、終盤といったその局面ごとのプレイングや知識や、全般的な技量といった、考えることを放棄すると「全体知」みたいなものと運の積み重ねで勝敗が決まるもので、細かい一局面の判断ができるようになっても、勝率が大きく変わることはないかなと。
ただ、一般的にはそういった知識は「無い」より「あった」方がいいし、そういったものの積み重ねも全体知の一部になっていくのかなとも思いますし。

まとまりがありませんが、今回はこの辺で。