Hearthstone環境考察

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

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

大会シーンなどでデッキの選出順に最適解はあるのか、という問題です。
ゲーム理論の文脈で考えますが、特別な知識は不要です。


とりあえず簡単な例として、2ヒーローBO3コンクエスト形式を考えてみます。*1

プレイヤーAとプレイヤーBがBO3で対戦します。
プレイヤーAはシャダウォックシャーマンとトークドルイド、プレイヤーBはミラクルローグとクエストウォリアーを使用すると考えます。*2
対戦する可能性がある組み合わせは

シャダシャー VS ミラクル (40-60)
シャダシャー VS クエウォリ (65-35)
トークンドル VS ミラクル (60-40)
トークンドル VS クエウォリ (30-70)

の4通りです。右に示したのはざっくりとした勝率です。シャダシャーVSミラクルローグの場合は、シャダシャーの勝率がだいたい40%という意味になります。


表にまとめると、下のようになります。

↓A/B→ ミラクル クエウォリ
シャダ 0.4, 0.6 0.65, 0.35
トーク 0.6, 0.4 0.3, 0.7


数字は左側がAの勝率、右側がBの勝率です。例えば一番右上の(0.4, 0.6)は、シャダシャーVSミラクルローグの対戦では40%でAが勝ち、60%でBが勝つという意味になります。


両者とも勝ち抜ける(=先に2勝する)確率を上げることが目的だと考えます。また、お互い最善のプレイを行うと仮定します(お互い最善手を尽くした結果が上で挙げた勝率になっていると考えます)。


対戦の流れをまとめると、

①お互い自分のデッキの中で、これまで勝ったことのないものを1つ同時に選ぶ。この段階で相手の選んだデッキはわからない。

②お互いデッキを見せあい、対戦をする。対戦の結果は勝率によって決定される。

③①~②を、どちらかの使えるデッキが0になるまで続ける。

となります。当たり前の話だと思いますが、きちんと定義しておくことが重要です。


この行程を、上の例に沿って図にすると以下のようになります(ゲームの木と呼びます)。まずは1戦目です。

f:id:ta9e2hs:20180608054933p:plain

「自然」とは、どちらのプレイヤーの意思でもなく、確率に従ってどちらのルートを通るかが決定されるということです。
黄色く囲っている枠は、プレイヤーBがどちらの点にいるか自覚していないということです。①よりAとBは同時にデッキを選ぶことになっているため、BはAが選んだデッキを知ることができません。


2戦目以降の行程を全て書き出すと複雑なので、一般化して「1戦目の勝者W」と「1戦目の敗者L」とが対戦する形で表記します。実際には、1戦目の木の終端8つ全てに下と同じものが付くと考えてください。
敗者LはXとYの2種類のデッキを選べます。勝者Wは残った1種類のデッキしか使えません。勝者Wの残ったデッキに対するXの勝率をx、Yの勝率をyとします。

f:id:ta9e2hs:20180608055801p:plain

2戦目、3戦目に関してですが、まず1戦目の勝者Wには選択がありません。また、1戦目の敗者Lに関しても、同じデッキ相手に2回勝つ必要があるため、どちらを先に出しても勝率は変わりません。*3

つまり、1戦目が終わった段階で、その後のデッキ選出に関係なく勝率が定まってしまうということです。


では、それぞれの組み合わせに関して、1戦目終了段階での勝率を求めます。
例えば一番左側の「1戦目にAがシャダシャー、Bがミラクルを選び、Aが勝った」ケースを考えてみると、1戦目の勝者W=A、敗者L=Bとなります。Aの残ったデッキはトークンドルです。Bの残ったデッキのうち、Xをミラクルローグ、Yをクエウォリとしましょう。このときx=0.4, y=0.7です。

このとき、Bの勝率はx*y=0.28、Aの勝率は1-x*y=0.72となります。つまり1戦目で左端の状況になった場合、Aは72%の確率で勝つということです。


同様の計算を残り7つのケース全てに適用すると、以下のようになります。当然ですが、Bの勝率は1-(Aの勝率)です。

f:id:ta9e2hs:20180608055603p:plain

1戦目のゲームツリーに着目すると、お互いがデッキを選んで以降は、お互い勝率をそれ以上操作することができません。つまり1戦目のデッキを選出した段階で、その後の行動に関わらず勝率が定まってしまうということです。

例えば一番左側、つまりAがシャダシャー、Bがミラクルローグを選んだ状況を考えます。
Aは40%の確率でこのマッチに勝利し、以後のマッチの勝率が72%になります。一方でAは60%の確率でこのマッチに敗北し、以後のマッチの勝率は19.5%になります。
つまり、この状況に陥った場合のAの勝率の期待値は、(0.4*0.72)+(0.6*0.195) = 0.405となります。

同様に、残り3つのパターンに関しても計算を行います。結果を下にまとめます。

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

これが1戦目で選出するデッキによって決まる、BO3の勝率となります。前の表と同じく、左側の数字がA、右側がBの勝率です。
例えば左上の場合、1戦目にAがシャダシャー、1Bがミラクルローグを選択した場合、AがBO3に勝つ確率は40.5%になるということです。


この状況で「必勝法」は存在するでしょうか。
残念ながら、答えはNOです。

ひとまず、Aの視点に立って見てみましょう。
Aとしては、初戦を「シャダシャーVSクエウォリ」または「トークンドルVSミラクルローグ」の形に持っていきたいです。直感的にも1戦目に勝てればBO3の勝利がとても近くなるので、この発想が正しいことは分かると思います。
しかし、初戦を良い形で終えるためには、相手が1戦目でどちらのデッキを出してくるかを「読む」必要があります。
相手がクエウォリを選ぶと「読んだ」ならばシャダシャーを選ぶべきですし、相手がミラクルを選ぶと「読んだ」ならばトークンドルを選ぶべきです。
最善手が相手の選択に対する「読み」に依存する以上、必勝法は存在しません。

証明は省きますが、一般的にどのようなデッキの組み合わせであっても、BO3における最善の初手は存在しません。*4



思った以上に長くなったので一旦ここで止めます。続くかもしれない(続かないかもしれない)。

※続きを書きました。banの考慮が主な内容になります。
ta9e2hs.hatenablog.com

*1:以後簡単のため、「BO3」と表記している箇所は全てBO3コンクエスト形式をさすとします。

*2:適当にHSReplayから使用率上位のデッキを取ってきただけで、別に何のデッキでも構いません。

*3:2戦目でXを選択した場合、Lの勝率は2戦目に勝ってかつ3戦目に勝つ確率なのでx*y。Yを選んだ場合もy*xとなるため、両者は同じになります。

*4:ゲーム理論的に表現すると、初手のデッキ選択を戦略とする任意の2ヒーローBO3ゲームにおいて、強支配戦略が存在しない、ということです。