ブラックジャックを考える(1)

 〜ベーシックストラテジーを求める(その1)〜

 ここではカードゲームの方のブラックジャックを考えてみます。
 こんなことを書きたい、と思ったのは冲方丁さん著の「マルドゥック・スクランブル」を読んだためです(笑
 小説ですが、ブラックジャックをするシーンがあり、それがとても面白かったのです。

 ブラックジャックで勝つのはほとんど運、と考えてたりしませんか?
 もしくは確率、と考えても、そんなに難しいことはない、と考えてたりしませんか?

 わたしはそうでした。
 しかし、それを読んでブラックジャックの奥深さを知りました。
 さかのぼっては「アイシールド21」という漫画にて、ブラックジャックのシーンがありました。
「『カウンティング』って裏技があってね。出たカードを全部覚えといて、残りのカードが何か分かれば、確実に勝てちゃうんだ!」
 あぁ、なるほど・・・と、思いました。
 でも、「人間の記憶力じゃ絶対無理なんだよ」とも言われて・・・まぁ、そのくらいです。

 しかし、マルドゥック・スクランブルで知りました。
 もっと簡単なカウンティングがあるということ、ベーシックストラテジーというのがあるということ。
 それで興味を持ったわたしは、実際に確率を計算してやろう、とこうやってみる次第です(笑



ブラックジャックとは?
 まずはルール解説としましょう。
 ここで考えるのは通常のマルチデッキタイプとします。
 すなわち、使われるトランプは6組312枚です。

 まず、ベット・・・掛け金を提示します。
 それからカードが配られます。
 ディーラーの方は1枚オープン(アップカード)&1枚クローズ(ホウルカード)で、プレイヤーには2枚オープンで。
 そしてプレイヤーが出来るのは次のことです。
 ステイ…もうカードを引かずにそれで勝負する。
 ヒット…1枚カードを引く。
 スプリット…2枚が同じ数字のカードだったら、同じ額の掛け金を出して、カードを分けてそれぞれ別の手にする。
 ダブルダウン…もう1枚しか引かないかわりに掛け金を倍にできる。
 サレンダー…掛け金の半額を放棄する代わりに降参する。
 絵札は全部10であり、Aは1とも11とも数えることができます。
 Aを11と数えたものを含む時、ソフト、と言います。
 つまり、Aと5で16の時はソフト16、という風に言うということです。
 何度でもヒットできますが、合計して22以上になってしまうとバーストと言い、ディーラーの勝ちが確定します。
 21以下でステイすると、続いてはディーラーの番です。

 ディーラーは裏返しにしてたカードを表にし、17以上になるまで引き続けます。
 数字が17以上になった時点で終わりです、ディーラーはそれ以上カードは引きません。
 また22以上になったらバーストとなり、プレイヤーの勝ちが確定するのも同じです。

 そして、ディーラーの数字とプレイヤーの数字を比べ、数が大きい方が勝ち、引き分けは引き分けです。

 また、Aと10(10,J,Q,K)の組み合わせで21になるのをブラックジャックと言い、他の21より強い役となります。



ベーシックストラテジーを求める
 ベーシックストラテジーは直訳して基本戦略。
 カードが配られた時点の、自分のカードとディーラーの表示してある1枚のカードを見て、ステイ・ヒット・スプリット・ダブルダウンのどれを選ぶか、という戦略です。
 考えてみると、結構「え?その戦略になるの??」とびっくりするところもあります。


 では、計算してみましょう。

 まずは簡単に考えましょう。
 すなわち・・・。
 それぞれのカードを引く確率は1/13である、ということです。
 まぁ、実際は例えば最初に見えてる「2」が1枚あるとすれば、次に2が来る確率は23/309となりますが、混乱するので、簡単のためにそう考えることとします。


1.ディーラーの数値の確率を考える
 ディーラーの方を先に考えてみましょう。
 それはディーラーは機械的にカードを引くからです。
 計算にはエクセルを使ってみました。
 それぞれのカードを引く確率は1/13と考えて計算してみると・・・。

 縦軸にあるのが表に見えてるカードの数字。
 横軸は最終的な数値です。
 2〜6だとプレイヤーに有利で、7〜Aだとディーラーに有利であることがわかりますね。


2.プレイヤーの勝率を考える(ステイ)
 プレイヤーは手持ちの2枚のカードは見えています。
 それは4〜21のいずれかになります(3以下はないですよね)
 まずは単純にステイで勝負した場合、どのような勝率になるか計算してみましょう。

 上は勝率、中は敗率、下は期待値。
 横軸はプレイヤーの数字、縦軸はディーラーのアップカードの数字です。
 17以下や16以下では変わらないのでまとめてます。
 引き分け、という要素があるので、こういう形に(笑
 計算方法は単純ですね。
 例えばプレイヤーの数字が18だったら、1の表においてディーラーの数字が17とバーストである確率を足したものが勝率になるし、21〜19の確率を足したものが敗率になります。
 で、期待値は勝率から敗率を引いたもの、ですね。
 21-10orAの敗率が正になってますが・・・これは、ディーラーにブラックジャックができた場合のことを考えてます。
 プレイヤーもブラックジャックなら引き分けになりますが、最初の2枚でブラックジャックできなければ絶対にブラックジャックにはならないので、このような形にしてます。


3.プレイヤーの勝率を考える(ヒット-ステイ)
 では次は1回だけヒットをした場合、どのような勝率になるか、考えてみましょう。
 だんだん複雑になってきます(汗
 まずは勝率です。
 2での考えを踏まえると。
 2を引く確率(1/13)×その後でステイでの勝率(2の表)+3を引く確率(1/13)×その後でステイしての勝率(2の表)+・・・と考えられます。
 敗率は2の表の勝率ではなく、敗率を掛けます。
 すると。

 上から勝率、敗率、期待値になります。
 横軸がプレイヤーの数値、縦軸がディーラーのアップカードの数字です。


4.プレイヤーの勝率と戦略を考える(ヒットorステイ)
 さぁ、そろそろ大詰めです(笑
 ヒットとステイを分ける基準はなんでしょうか?
 簡単に言えば、ヒットするのとステイするのとどっちが期待値が大きいか、です。
 しかし、ここでさらに考えなければなりません。
 3ではヒット1回だけでしたが、実際は何度でも、21超えるまでヒットすることはできます。
 それも考慮しないといけません。
 どう考えるか、というと・・・。
 ヒットした結果の状況の戦略がヒットならば、さらにヒットするわけです。
 で、計算方法はというと。
 上から順々に考えていきます。
 ヒットしてその数値になる確率とそこでの期待値を掛けたものを足し合わせるわけです。
 するとどうなるか。

 さぁ、ここまできました、あと一息です(笑


5.プレイヤーの戦略を考える(ヒットorステイorダブルダウン)
 最後にダブルダウンも考えましょう。
 ダブルダウンは1回だけしか引かない代わりに掛け金を2倍にすることです。
 すなわち、期待値で言えば、3の表の期待値に2を掛けたものになるわけです。
 それで、期待値を比べてヒットかステイかダブルダウンかを考えます。
 またサレンダーは期待値が-0.5です。
 ということは期待値が-0.5以下ならサレンダーした方がいいということになります。
 では結果。

 これでベーシックストラテジーが求まりました(笑



 よくやったわたしっ!頑張った!(自画自賛
 正解はこちらにあります(ぉ

 しかし・・・。
 11-10のところが違うぽい・・・( ´・ω・)
 おかしいなぁ・・・サレンダーも違うし・・・。
 どうやら、1のディーラーの数字の確率の10とAのあたりがおかしいぽいですが・・・うーん。
 まぁ、実際、この計算ではソフトAの存在を無視してるので数が少なくなるほど違うのですが(笑

 む〜、その辺の修正は次回以降にしましょう(ぉ
 さて、次回はプレイヤーの最初のカードにAがある場合を考えてみます♪
 それを考えると、ここのやつももっと正確に求まります。
 あまり期待してる人はいないでしょうが、乞うご期待♪(ぇ



 おまけ、この計算に使ったエクセルファイルです(ぉ
 どんな計算でやったか、分析してみたければどうぞ。
 ・・・ちゅうか、どこがおかしいかわからんからわかった人は教えてplz(汗