Hearthstone環境考察

使用率をまとめたり環境予測をしたりします。Hearthstoneに関連するトピックをゲーム理論や統計学の視点から取り上げ…たりもできればいいですね…

デッキの当て方を考えるのは結構難しいという話(続)

大会シーンなどでデッキの選出順に最適解はあるのか、という問題です。
前回の記事の続きとなります。未読の方は先にこちらをご覧ください。

ta9e2hs.hatenablog.com

前回同様ゲーム理論の文脈で考えます。特別な知識は必要としませんが、恐らく前回より難解です。


前回の記事の主張は、BO3コンクエスト形式の場合

①最初に選んだデッキの組み合わせで勝率が決まる
②どんなデッキを持ち込んだとしても、最適な初手が相手の選択に依存するため必勝法*1が存在しない

の2つでした。


今回はまず、「必勝法が存在しない」ことについてもう少し深く考えます。今後の考察に必要な手順となります。


前回と同じ例を用います。Aはシャダウォックシャーマンとトークドルイド、Bはミラクルローグとクエストウォリアーを持ち込んだと考えます。
前回計算した結果、初手のデッキの組み合わせによるBO3の勝率は以下のようになりました。

↓A/B→ ミラクル クエウォリ
シャダ 0.405, 0.595 0.552, 0.448
トーク 0.552, 0.448 0.405, 0.595


左側の数字がA、右側がBの勝率です。
例えば左上の場合、1戦目にAがシャダシャー、Bがミラクルローグを選択した場合、AがBO3に勝つ確率は40.5%になるということです。
Aの立場に立った時、仮に相手の初手がミラクルだと「読む」ならばトークンドルを初手に、クエウォリだと「読む」ならばシャダシャーを初手に選ぶことで勝率が高くなります。


例えばAがシャダシャーを選んだとします。仮に、もし仮にBがAの選ぶ手を知っているとすれば、Bはクエウォリではなくミラクルを選ぶのが最適です。
同様にAがトークンドルを選ぶことをBが知っているならば、Bはクエウォリを選ぶのが最善になります。

「必勝法が存在しない」というのは、上のようにどちらを選んでも裏目があるというということです。


こういう状況では、どうするのが良いでしょうか。
答えとしては、「ランダムに選ぶ」のが良いことになります*2

詳しい計算は省きますが*3、BO3ゲームにおいては、どんな組み合わせであっても、半々の確率で初手のデッキを選ぶことがお互いにとっての最適反応*4になります。

多くの場合1回きりの選択で、確率の話をしてもどうしようもないと思います。上の議論から得られる実践的な教訓があるとすれば、「BO3の初手には必ず裏目があるからそこで悩むな」ということになります。


お互いが最適反応をとっている(今回の場合、両者ともに半々の確率で初手を選ぶ)状況を均衡と呼びます。
均衡状態での勝率は簡単に求められて、上の例の場合Aの勝率は(0.5*0.405)+(0.5*0.522) = 0.4635となります*5
つまり、お互い最適反応をとるならば、このBO3においてAが勝つ確率は46.35%である、ということです。


ここから新しく、banについて考察をします。

これ以降は、3ヒーロー1banのBO3コンクエスト形式のゲームを考えます。
例として、Aの持ち込んだデッキがシャダシャー、トークンドル、招集ハンター、Bのデッキがミラクル、クエウォリ、キューブロックだった場合を考えます。
前回と同様、先にデッキごとの相性を表にすると以下のようになります*6

↓A/B→ ミラクル クエウォリ キューブ
シャダ 0.4, 0.6 0.65, 0.35 0.4, 0.6
トーク 0.6, 0.4 0.3, 0.7 0.3, 0.7
招集ハン 0.5, 0.5 0.8, 0.2 0.5, 0.5


例によって、数字は左側がA、右側がBの勝率です。例えば右上の場合、Aのシャダシャー対BのミラクルのマッチがあればAのシャダシャーが40%で勝つということになります。


ここで、banのあるゲームの流れを考えると、

①お互いのプレイヤーは自分の選んだデッキを相手に見せ、相手のデッキから同時に1つ選ぶ(ban)。相手が自分のどのデッキを選んだかはこの段階ではわからない。

②お互いがbanを行った後、banされたもの以外の2デッキを用いてBO3を行う。

となります。BO3の流れは前回説明した通りです。


冒頭で行った議論から、2×2のデッキの組み合わせが決まれば、均衡状態での勝率が求まることがわかっています。
つまり、banするデッキ次第でBO3の勝率が変わるということになります。

banの組み合わせは9通りあります。
例えばAがミラクル、Bがシャダシャーをbanした場合*7を考えます。残ったデッキでBO3を行う時、前回行ったのと同様の計算で、初手に選ぶデッキの組み合わせと勝率の関係が以下のように定まります。

↓A/B→ クエウォリ キューブ
トーク 0.375, 0.625 0.438, 0.562
招集ハン 0.438, 0.562 0.375, 0.625


上で議論した通り、均衡状態でのAの勝率は、(0.5*0.375) + (0.5*0.438) = 0.4065となります。
つまり、Aがミラクル、Bがシャダシャーをbanし、なおかつお互いBO3で最適反応をとる場合、Aの勝率は40.65%であるということです。


他の8通りについても、banの組み合わせと均衡上の勝率を求めることができます。それらをまとめると以下のようになります。

↓Aのban/Bのban→ シャダ トーク 招集ハン
ミラクル 0.4065, 0.5935 0.6635, 0.3365 0.34725, 0.65225
クエウォリ 0.4725, 0.5275 0.42, 0.58 0.396, 0.604
キューブ 0.558, 0.442 0.6635, 0.3365 0.4785, 0.5215


banにおける選択肢は相手のデッキである、という点に注意しながら見てください。
例えば一番右上の状況は、Aがミラクル、Bがシャダシャーをbanした場合、BO3における均衡上のAの勝率は40.65%になることを示しています。


さて、この状況において最善手はあるでしょうか。
答えはYESです。

まずはAの視点に立ちます。Aはキューブロックをban対象に選んだとき、Bが自分のどのデッキをbanしてきても勝率を一番高くすることができます。
ゆえに、Aにとってはキューブロックをbanするのが最善手です。

次にBの視点に立ちます。Bも同様に招集ハンターをban対象に選んだとき、Aが自分のどのデッキをbanしてきても勝率を一番高くすることができます。
ゆえに、Bにとっては招集ハンターをbanするのが最善手です。

つまりこの組み合わせの1banBO3においては、Aがキューブロック、Bが招集ハンターをbanすることが均衡ということになります。


ここで、デッキ別の勝率をもう一度示します。直感的に上の結果をどう捉えられるでしょうか。

↓A/B→ ミラクル クエウォリ キューブ
シャダ 0.4, 0.6 0.65, 0.35 0.4, 0.6
トーク 0.6, 0.4 0.3, 0.7 0.3, 0.7
招集ハン 0.5, 0.5 0.8, 0.2 0.5, 0.5


Aの持ち込んだデッキは、どのデッキもキューブロックに対する勝率が一番低いデッキになっています。そのため、Aがキューブロックをbanするのは自然だと思います。
実際に大会シーンでも、弱点を揃えてその弱点のデッキをbanするというのは良く見られるかと思います。
一般的に、自分のどのデッキも一番勝率が低くなるようなデッキを相手が使っている場合、そのデッキをbanすることは最善手になります*8*9

Bの持ち込んだデッキは、招集ハンターに苦手な傾向が見てとれると思います。ただしこの場合、Aとは異なりどのデッキも招集ハンターに対する勝率が一番低い、というわけではありません(ミラクルローグは対招集ハンターより対トークンドルの方が勝率が低いです)。
だとしても、総合的にみて一番相性の悪い招集ハンターをbanするのは自然なことだ、というのが直感的な解釈です。


では、最善手はどのような組み合わせでも存在するのでしょうか。
答えはNOです。

例えば、Aが招集ハンターの代わりに奇数パラディンを持ち込んだ場合を考えます。デッキ別の相性表は以下のようになります。

↓A/B→ ミラクル クエウォリ キューブ
シャダ 0.4, 0.6 0.65, 0.35 0.4, 0.6
トーク 0.6, 0.4 0.3, 0.7 0.3, 0.7
奇パラ 0.6, 0.4 0.2, 0.8 0.5, 0.5


この相性からも、上で議論した通りにban対象とBO3における均衡上の勝率が求まります。まとめると以下のようになります。

↓Aのban/Bのban→ シャダ トーク 奇パラ
ミラクル 0.2535, 0.7465 0.389, 0.611 0.34725, 0.65225
クエウォリ 0.516, 0.484 0.452, 0.548 0.396, 0.604
キューブ 0.444, 0.556 0.438, 0.562 0.4785, 0.5215


この場合、まずA視点では、banしてしまうと相手の行動に関わらず勝率が最も低くなるミラクルローグを選択肢から外します。
クエウォリをbanした場合、シャダシャーまたはトークンドルがbanされた時は良いですが、奇パラがbanされた時が裏目になります。

B視点に関してはより難しく、Aのban次第で最適なban対象が全く違うものになります。
こういった状況の場合、お互い最善手は存在しないということになります。

この例では最善手が存在しない以上、ランダムに選ぶのが最適ということになります。

Aはミラクル以外の中から確率的に選びます。
Bは3つの選択肢の中から選ぶことになりますが、Aがミラクルbanしてくることが構造上ありえないことを考慮すると、クエウォリとキューブどちらをbanされたとしても、シャダをbanするよりトークンドルをbanした方が勝率が上がることが分かります。そのためトークンドルまたは奇数パラディンの中から確率的に選んでbanすることになります。
具体的には、Aは確率0.4197でクエウォリを選ぶような戦略、Bは確率0.8549でトークンドルを選ぶような戦略をとるのが均衡になります*10
このとき、Aの均衡上の勝率はおよそ44.4%くらいになります*11


この例では2つのデッキから選ぶことが均衡になりましたが、当然3つのデッキから選ぶことが均衡になるような組み合わせも存在します。
とても複雑なようですが、一番重要な発見は、「3つのデッキの弱点が完全に被っていなくても、ある条件*12を満たせば最善手が存在する可能性がある」ということです。



まとめると、
・BO3のデッキ選出順は、どんなデッキの組み合わせであっても半々の確率で出すことが最適
・1banBO3の場合、banするデッキの組み合わせから(それ以降の選出順に関わらず)均衡上の勝率が求まる
・均衡上の勝率が求まれば、banすべきデッキ、すべきでないデッキがあるかどうかを計算で求められる
・条件を満たせば、banすべきデッキが一意に定まる


だいぶ長くなりましたが、これでもまだ一番簡単な例です。
BO5に関しての議論はこれまでと比較にならないレベルで複雑なので、記事にするか(できるか)はわかりません。







 

*1:必勝法と書きましたが、100%勝つ方法を指しているわけではありません。そんな方法はあり得ませんので悪しからず。

*2:正確に言えば、ランダムに選ぶのが一番マシという表現になります。

*3:Aが1番目の戦略をとる確率をa、Bが1番目の戦略をとる確率をbとおいて、bを固定したときのAの勝率を求めます。これはaの関数になっていて、b=1/2を境にa=1またはa=0が勝率を最大化するような形になります。b=1/2の場合はaをどのように設定しても勝率は同じになります。同様のことがBについても言えます。お互いa=1/2、b=1/2をとっている状態では、両者ともに確率を変えても勝率が変わりません。それ以外の場合、少なくとも片方は確率を操作して勝率を上げられます。ゆえにa=b=1/2以外の確率を選んでも得しません。

*4:最適反応とは、相手の行動が分かっている場合の自分の最も良い戦略の取り方を指します。確率的な戦略を含みます。

*5:当然、Bの勝率は1-0.4635=0.5365です。

*6:例によって勝率はHSReplayのデータを参考にざっくりとした値を付けています。別にどのような値でも構いません。

*7:厳密にはbanはヒーロー単位で考えますが、戦略の名前との整合性をとるためにデッキタイプをbanするような表記をします。1ヒーローにつき1デッキのため、本質的な違いはありません。

*8:ゲーム理論の文脈では、(弱)支配戦略になります。

*9:一番勝率が低いというのは相対的な弱点であることに注意してください。例え勝率が6割ある相手だとしても、他のデッキに対する勝率が6割以上あるならばそのデッキは一番勝率が低い相手になるため、弱点とみなします。

*10:小数点第5位を四捨五入しました

*11:計算ミスしてなければ。

*12:この条件は既知ですが、表記が長すぎるので省きます