八一八賭博中的數學應用(3)

八一八賭博中的數學應用(3)

(三)BlackJack-21點 算牌

電影《21》就是圍繞著在拉斯維加斯賭場中的賭術21點(BlackJack)算牌引發的,感興趣的朋友可以找出來重溫一下。劇情中,但凡玩21點算牌的玩家都會受到賭場老闆的無情打擊,可以看出,其實賭博並不是一場氣運的爭奪戰。

下面我們來先簡單介紹一個遊戲規則

簡化版21點遊戲規則:

  1. 使用的紙牌只有A、2 、3、4、5、6、7、8、9、10、J、Q、K,共13種,為一套,遊戲中使用的牌有n套,n趨於無窮(據說現在賭場常用5~6副牌來進行21點遊戲);
  2. 紙牌A為1點,紙牌2 ~10的點數與其牌面數值相同,J、Q、K均為10點;
  3. 遊戲在玩家和莊家兩人之間進行,遊戲開始後:

(a) 莊家先給玩家派發2張牌,牌面向下,玩家可以查看這兩張版的點數;

(b) 莊家給自己派發2張牌,1張牌面向下,另一張向上,因此玩家只能知曉莊家1張牌的點數;

(c) 玩家根據手中牌的點數和莊家的1張明牌,計算獲勝的概率,然後下注;

(d) 玩家要牌Hit或者不再要牌Stand,可以連續要多張牌,但一旦放棄要牌Stand,則之後不能再次要牌,輪到莊家操作,若玩家手中所有牌的點數和大於21,直接判定玩家輸、莊家贏;

(e) 莊家給自己發牌,當手中牌的點數大於等於17時停止發牌,明牌公布點數,若莊家點數大於21或點數小於玩家點數,玩家勝,若莊家和玩家點數相同,平局,若莊家點數大於玩家,莊家勝。

第1條規則假設紙牌有無窮多張,因此,抽至每一種牌的概率均是1/13,不會因為已經使用了很多張牌而改變每種牌出現的概率。雖然這種假設與實際情況不符,但可以簡化分析,便於理解21點遊戲的基本概念。

第2條規則告訴我們13種牌的點數是1~ 10,有4種牌的點數都是10,因此點數10出現的概率更高。

遊戲中莊家的操作都是程序性的,沒有任何自由發揮的餘地。而作為玩家,能否合理的判斷要牌Hit或停止要牌Stand,是提高勝率的關鍵。接下來讓我們通過概率計算,讓數學理論告訴我們何時Hit,何時Stand,以及可能獲勝的概率。有了對勝率的判斷,再結合前面文章講過的凱利公式,就通過優化下注,使我們的收益最大化。

(1) 莊家手中明牌點數

莊家雖然發給自己2張牌,1張明1張暗,但由於假設紙牌的總數量無窮大,每次抽取1張牌只是1個獨立的隨機事件,與其它已抽到的牌無關。因此,可以將抽取1張牌的過程簡化為從1套13張牌中隨機抽取1張,得到1 ~10各點數的概率如下表和圖所示。點數1~ 9的概率都是1/13,而取得10點的概率為4/13。

(2) 玩家手中2張牌的點數和

玩家每得到1張牌時,其點數的概率與上面小節的分析相同。而兩張牌的點數和的概率則稍複雜一些,為便於理解,我們列出所有可能的點數組合如下表:

2張牌,考慮發牌順序的情況下,共169種組合,而點數和則只有19種情況,2 ~20,其中11和20出現的次數最高,都是16次。因此,可以計算各點數合的概率見以下圖、表:

(3) 莊家最終點數

莊家的最終點數是玩家做出Hit或Stand決策時需要考慮的關鍵要素,因此這一小節我們的目的是根據莊家明牌的點數計算其不同最終點數的概率。

莊家要牌的規則是點數和大於17就停止,故可能得到的最終點數是17~ 26,當點數大於21時莊家爆牌輸掉。

為不失一般性,設某人手中牌的點數和為n,則抽1張牌後,點數和變為m= n + c,當c= 1 ~ 9時,概率為1/13,當c = 10時,概率為4/13。下表給出了n= 0 ~ 20時,抽1張牌後總點數的概率。

對於莊家,最初的點數n是17、18、19和20時,不再抽牌。當n= 16時,得到總點數m= 17 ~ 21的概率都是1/13,而爆牌的概率是剩下幾種點數的概率和,即8/13。

當n= 15時,要獲得17點有兩種方式,一是以1/13的概率直接抽到2點,二是以1/13的概率先抽到1點,手裡的牌變成n= 16點的狀態,此時再次抽到1點使總點數變成17點的概率仍為1/13。得到17點的概率為上述兩種方式的概率之和。

為便於說明,定義函數P(m,n)為總點數從初始的n點變為最終的m點的概率,Q(i)為抽取1張點數為i的牌的概率。所以

P(17, 16) = Q(1) = 1/13

P(17, 15) = Q(2) + Q(1) P(17, 16) = 1/13 + 1/13 * 1/13

同理,點數從15變為21的情形為:

P(21, 15) = Q(6) + Q(1) P(21, 16) = 1/13 + 1/13 * 1/13

可見,最終點數m可能會通過抽取1張牌實現,或都通過抽取多張牌實現。對於後一種情況,概率的計算依賴於已經計算得到的P(m,n + i)。再舉個相對複雜一點的例子吧:

P(20, 10) = Q(10) + Q(1) P(20, 11) + Q(2) P(20, 11) + … +Q(6) P(20, 16)

利用上述規律,從n= 16時開始計算,依次減小n值,得到P(m,n)的結果如下表所示:

上表最後一列是莊家暴牌的概率。第1行n = 0,對應著遊戲開始還未發牌的狀態,莊家暴牌的概率是0.313,且得到20點的概率相對17、18、19、21點更高。

隨著遊戲的進行,莊家手中的牌總點數為1~ 16時,莊家可以利用上表判斷暴牌或取得各個最終點數的概率。

從玩家角度,只能看到莊家的1張明牌,因此,只能利用上表1~ 10點時的概率值進行決策。

這裡再補充一些概率論的基礎知識,感興趣的讀者可以利用上表數據驗證一下如下兩個等式:

其中R(i)是手中有兩張牌時,總點數為i的概率,就是前一小節講的內容。另外,手裡兩張牌時,是不可能暴牌的,因此 P(geq22,i)中i = 17 ~ 20時的概率是0。

n = 0得到的是各種點數可能出現的真正概率;n大於0,手中已經有牌,相當於我們知道了一些附加信息,基於此,可以得到這種特定情況下,各種點數的概率,即概率中經常見到的條件概率,專業一點,條件概率的符號應記為 P(m|n)

(4) 懶玩家的勝率

這個玩家比較懶,或者比較不差錢吧,手裡的牌是多少就這樣吧,不再要牌,肯定不會暴牌,但輸贏看天。那他的勝率有多大呢?

當玩家手裡總點數為1~ 16時,只有莊家暴牌,玩家才可能獲勝,勝率即是上一節中莊家點數概率表最後一列的數據。

當玩家手裡總點數為17時,莊家的最小可能點數也是17,玩家拼點數是贏不了的,只能等待莊家暴牌。

當玩家手裡總點數n大於17時,除了靠等莊家暴牌取勝,當莊家點數小於n時,也能勝,因此勝率是這兩種情況的概率之和。例如,玩家19點,莊家明牌8點,玩家勝率 =莊家17點概率0.139+ 莊家18點概率0.37 +莊家暴牌概率0.265= 0.774。

下表給出了玩家點數為n= 1 ~ 21時的勝率。n= 21時,雖不會輸,卻也不能保證100%獲勝,因為可能遭遇莊家同為21點的平局。

對於前面提到的那個懶漢玩家,手裡只有最初的2張牌,點數和為2~ 20,上表給出針對每種具體情況的勝率(條件概率)S(n,d),那怎麼在他開始玩牌前知道他的綜合勝率呢?想一想前一節最後提到的那個公式,只不過這裡要連續應用兩次才行:首先,玩家點數為n時,莊家明牌的點數有10種情況,且概率已知,即Q(d),用表中第n行的勝率乘以對應的Q(d)再加和,得到玩家點數為n時的綜合勝率;然後,用R(n)乘以與之對應的玩家點數為n時的綜合勝率,再加和,就得到最終的玩家勝率啦。這個勝率算下來只有0.374,所以,懶是有代價的!!!

(5) 理論派玩家的決策

作為一個有原則的玩家,要牌Hit或不要牌Stand的決策方法很簡單,選擇獲勝概率高的操作即可。

懶玩家Stand的勝率已經在上一小節中給出了結果。Hit的勝率怎麼算呢?讓我們借鑒第3小節的思路來逐步分析一下吧。

當玩家手中總點數n= 21時,若Hit,必暴,勝率H(n,d)降為0,若Stand,勝率S(n,d) > 0,故此時最佳決策應為Stand。針對莊家明牌d的勝率為W(21,d) = S(21, d),即上一小節數據表最後一行Stand的勝率;

當玩家手中總點數n= 20時,若Hit,有Q(1)的概率使點數變為n= 21,有1- Q(1)的概率暴掉,因此Hit的勝率計算公式為H(20,d) = Q(1) W(21, d),注意此處W(21,d)已經在前面計算得到了,為已知量。比較可知H(20,d) < S(20, d),故此時最佳決策仍為Stand,W(20,d) = S(20, d);

同理,對於玩家點數n,通用計算公式為:H(n,d) = Q(1) W(n+1, d) + Q(2) W(n+2, d) + … + Q(Min(21 - n, 10)) W(n+ Min(21 - n,10), d),等號右邊均為已經量,可以計算。然後比較Hit和Stand兩種操作的勝率做出決策,即令W(n,d) = Max(H(n, d), S(n, d)),同時記錄決策結果。

最後,得到的Hitor Stand決策表如下:

下表為與上述最佳決策對應的玩家勝率。表中最後一列為考慮各種莊家明牌後的玩家綜合勝率。同樣,利用玩家點數n= 2 ~ 20的數據(n= 1 ~ 10也可以噢,why?自己想去吧J),可以計算出玩家的綜合勝率為0.431,比懶玩家的勝率高了大約6%。

(6) 模擬實驗驗證

基於前面得到的最佳決策表,針對每一對(n,d)的組合進行模擬21點遊戲10萬次,計算獲勝的概率。將模擬實驗的勝率與理論值比較,絕對誤差均值0.0012,標準差0.0009,最大偏差0.004,誤差放大1000倍後的數據 (1000|	ilde{W}-W|) 請見下表:

結論,模擬結果與理論分析吻合良好。

最後,說明一下,簡化版21點遊戲規則與真實遊戲差距較大,這裡的簡化僅是為了便於大家對概率論基礎概念的理解,由淺入深嘛。後續的文章後逐步加入真實21點遊戲的各項規則和限制條件的。

推薦閱讀:

Penn Geometry Festival
經典力學的數學方法(四)變分學
事物的各組成部分隨時間分步更新,最終全部更新,那麼該事物還是原來的事物嗎?
談學生良好數學認知結構的建立

TAG:自然科學 | 賭博 | 數學 |