ブラックジャックの勝率を上げたくて、ディーラーのバースト率を1300万回かけて計算してみた

# 本投稿の目的
トランプゲーム「ブラックジャック」における『ディーラー』の、初手ごとのバースト率を計算します。

# はじめに
トランプゲーム「ブラックジャック」では、まずプレイヤーが、表になっている2枚のカードから、「次のカードを引くかどうか」ということを判断します。
その際、例えば「Q」「K」のような強い手札なら、言うまでもなく「スタンド(引かずに終わる)」という選択をするでしょう。
しかし、例えば「10」「5」のような微妙な手札の場合、バースト(21を超えること)を恐れて次を引かない、ということも多いと思います。

![file1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204834/ab08a774-1640-fac2-8e0a-fbee0bd8a4e2.png)

一方で、プレイヤーの得点が17未満でスタンドした場合、プレイヤーが勝つためには、**「ディーラーがバーストする」**ということを祈るしかありません。
それは、ディーラーは「17以上まで引き続ける」という世界共通のルールのためです。
ディーラーが17～21になれば、プレイヤーの負け。
ディーラーが22以上になれば、プレイヤーの勝ち。ということになります。

そのため、自分が勝利するために超重要になってくるのが、
ヒット(引く) or スタンド(引かない) の段階で、
**「ディーラーはバーストするかどうか？」**
の判断です。

![file2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204834/5e23302c-e101-e989-9a3d-9a072da4859b.png)

最初に場にカードを配る際、ディーラーの手札は1枚公開されています。
自分の手札が17未満の場合に、ヒットかスタンドかを決める場合には、
**「今ディーラーが見えている手札1枚で、ディーラーがバーストする確率」**
が、超重要な要素です。
そのままスタンドした場合には、ディーラーのバースト率 = プレイヤーの勝率になります。

そこで今回は、ディーラーの初手ごと(1～13)に、ディーラーのバースト率を計算してみます。

# 検証方法

- 山札は、52枚のパターン、ならびに52枚4セット→208枚のパターンとする
- プレイヤーの要素は取り入れず、ディーラーのみでゲームを行う
- まずはディーラーの初手を、1に固定する
- そのままディーラーがブラックジャックを実施する。17以上になるまで手札を引き続ける
- 結果の点数と、バーストしたかどうかを記録する。これを100万回繰り返す
- 100万回完了したら、ディーラーの初手を2に変更し、同じ処理を繰り返す
- 以上の流れを、初手を1～13で、各100万回、合計1,300万回ブラックジャックを実施する
- それぞれの初手ごとに、バースト率と、最終点数の推移を計算する

もちろん、手動で1,300万回やるのは無理なので、プログラミングします。
[以前書いた記事](https://qiita.com/hirossyi73/items/cf8648c31898216312e5)で作ったC#のプログラミングを、そのまま流用しています。

# 結果
表にまとめました。
※各初手ごとに、100万回で検証しています。

## 一覧
|初手|バースト率 52枚|バースト率 52枚×4セット|
|---|---|---|
|1|11.2814%|11.0174%|
|2|35.55%|35.5126%|
|3|37.5917%|37.521%|
|4|43.1333%|43.1712%|
|5|46.3084%|46.1001%|
|6|41.5123%|41.6665%|
|7|24.3494%|24.2288%|
|8|21.9696%|21.8951%|
|9|23.9652%|23.8183%|
|10|21.3837%|21.3874%|
|11|21.4819%|21.3717%|
|12|21.4571%|21.2703%|
|13|21.5109%|21.3918%|


## 詳細
※列17～26は、各初手ごとの、最終得点の件数です。

### 52枚
|初手|バースト率|17|18|19|20|21|22|23|24|25|26|
|---|---|---|---|---|---|---|---|---|---|---|---|
|A|0.1128|118327|130965|128928|131281|377685|27759|28862|23119|18892|14182|
|2|0.3555|136031|126789|133007|126322|122351|158993|62243|43618|49438|41208|
|3|0.3759|122115|129504|125603|127316|119545|101760|150105|53564|43424|27064|
|4|0.4313|130115|83044|115658|117970|121880|105475|96274|144579|47597|37408|
|5|0.4630|120217|124727|116605|73387|101980|103473|94185|88732|137907|38787|
|6|0.4151|169107|112990|106267|100042|96471|42985|92277|80877|75864|123120|
|7|0.2434|387910|140236|75133|76664|76563|60562|51687|36122|51196|43927|
|8|0.2196|136672|377436|131418|66549|68229|55427|50680|49100|46455|18034|
|9|0.2396|131998|55908|381094|127766|63582|59758|51737|47223|39158|41776|
|10|0.2138|123360|121664|123747|292919|124473|53869|49652|43324|37265|29727|
|J|0.2148|122605|121415|124099|292787|124275|53900|49987|43708|37291|29933|
|Q|0.2145|123389|121473|123674|292626|124267|54344|49961|43491|37175|29600|
|K|0.2151|124197|121259|123143|292671|123621|54053|50374|43746|37287|29649|

### 52枚×4セット=208枚
|初手|バースト率|17|18|19|20|21|22|23|24|25|26|
|---|---|---|---|---|---|---|---|---|---|---|---|
|A|0.110174|120105|130257|129570|130221|379673|27081|27781|22752|18423|14137|
|2|0.355126|135301|128728|133202|126417|121226|161894|61121|43059|48204|40848|
|3|0.37521|124457|128685|126461|126035|119152|100839|152559|52222|43363|26227|
|4|0.431712|129024|86097|114850|118188|120129|104863|94922|147297|46704|37926|
|5|0.461001|123223|123505|117132|73773|101366|102014|94220|86644|140007|38116|
|6|0.416665|169207|112435|106113|100377|95203|44794|90000|81480|74317|126074|
|7|0.242288|389351|140190|76237|76151|75783|59491|52267|35539|51753|43238|
|8|0.218951|136861|378666|130951|66870|67701|56378|49974|49385|45156|18058|
|9|0.238183|132904|55997|381364|127525|64027|59298|52728|46442|38801|40914|
|10|0.213874|122816|122645|123031|294161|123473|54521|49898|43413|36568|29474|
|J|0.213717|123444|122771|123676|292932|123460|54842|49581|43055|36602|29637|
|Q|0.212703|123176|123132|123733|293887|123369|54292|49248|43153|36714|29296|
|K|0.213918|122684|122974|123013|294415|122996|54997|49534|43216|36651|29520|

52枚でやった場合と、52枚×4セットでやった場合、どちらも結果はほぼ同じでした。
また、もっとも大事なのが、**「バースト率」**です。

ディーラーの初手が1、つまりAの場合は、**バースト率は11%しかありません。**
つまり、ディーラーの初手がAで、17未満なのにプレイヤーがスタンドしてしまったら、その時点で**プレイヤーは「勝率は11%しかない」**ということになります。
なので、その時点でスタンドすることは、かなり分の悪い勝負になります。
多少頑張ってもヒットする、もしくは潔くサレンダー(降参)、という選択肢が生まれてくるわけです。

一方でディーラーの初手が4～6の場合、**バースト率は4割を超えています。**
なのでプレイヤーは、**たとえ手札が17未満でスタンドしたとしても、4割強の確率で勝てる**ということです。それはそこまで、分の悪い勝負ではないでしょう。

こういったことが、上記の表から分かります。

※なお実際には、この確率は多少のブレがあります。
実際には、「すでに他のプレイヤーに配られているカードは二度と引かれない」ため、次に引くカードは、若干絞られます。
「場に小さな数がいっぱい出ているから、次引くカードは大きな数の可能性が高い」などです。
上記の表をベースに、確率の上下を計算しても良いかもしれないですね。

-----

以上です。
この確率を暗記するだけで、ブラックジャックの勝率が大きく変わるかもしれないですね。
ブラックジャックをやる方は、是非覚えておいて欲しいです！

また、プログラミングを覚えてしまえば、こんな検証もお手軽にできます。
これからプログラミングをやってみたい！と考えている方は、是非楽しみにしていてくださいね。

# リンク集
- [元記事](https://qiita.com/hirossyi73/items/cf8648c31898216312e5)
- [トランプ画像 - チコデザ](https://chicodeza.com/freeitems/torannpu-illust.html)