• 沒有找到結果。

貝氏信賴網路架構

程式實作方式

4.2 貝氏信賴網路架構

麻將遊戲中,玩家每一巡大致上會有吃、碰、槓和摸其中之一的動作後,才 會決定此巡的捨牌,為了取得到有效組合,玩家的動作不會是沒有規律的,所以 我們可以透過觀察玩家的動作,來找出玩家可能需要的牌。以貝氏信賴網路來呈 現則是如下圖 23 表示:

33

此貝氏信賴網路主要是模擬除了自己外其他三位玩家的動作,在每一巡去紀 錄場面上的變化,根據這些變化的數據和已知的參數節點之間的相依性,計算出 在此巡後,每張牌對於這個玩家可能需求的機率。因為節點機率表較大,故每個 節點的機率表在後面分別闡述。

A:首先先判斷玩家在此巡是做吃、碰還是摸的動作,這裡的動作會引響我 們接著要使用哪種策略,在圖中雖然只以一個節點表示,但其實比較像是三個節 點,分別是吃、碰、摸,因只有其中一種可能,故機率表如下:

A:做吃、碰、摸的動作

C:外面剩餘幾張時 可得的機率

吃後打哪張牌 碰後打哪張牌 摸後打哪張牌

D:吃、碰、摸後打哪張

B:決定捨牌,

尚缺某些牌

圖 23 麻將之貝氏網路架構

34

35

有玩家需要。

C:我們假設玩家不是隨機捨牌,並且沒有決策出錯的狀況下,則該玩家要的 牌定會在場面上還有剩餘張數,根據場面上可知的剩餘張數,我們事先用大量對 局統計出在剩餘 0 到 4 張下可獲得的機率,其機率表如下表 5:

從場面上可知的剩餘張數 機率

0

0

1

0.240263

2

0.23424

3

0.265879

4

0.259618

表 5 節點 C 的機率表

D:唯一能得知玩家需求的牌,就是透過玩家的動作與捨牌傾向來找。在這 裡我們藉由人類玩家的經驗法則來輔助我們做判斷。首先是「吃」,看玩家吃了甚 麼牌後捨甚麼牌,如果兩個牌的數字關係相近,則此玩家可能要某張牌;例如,

吃八萬,形成七、八、九萬一組後,打五萬,則可能要六萬或九萬;再來是「碰」, 因為碰不像吃一樣,同花色間的關係較高,所以無論碰了哪個數字,之後捨了同 花色的五,則可能對同花色的三、六、九或一、四、七有需求;最後是「摸」,如 果此巡動作是摸,則我們往前看一巡,看前巡該玩家捨了甚麼牌和此巡捨得牌是

36

否同花色且數字是否是相距為三,如果符合條件,再看前巡捨牌和此巡捨牌是大 到小來捨,或是小到大來捨。若為前者的話小牌數字減一及其同線牌,若為後者 的話大牌數字加一及其同線牌,舉例說明,有一玩家前一巡捨了七萬,在這巡捨 了四萬,則該玩家可能要的牌是三萬和其同線牌的六萬,而九萬因為相距較遠就 不計算。

同線牌,指的是在麻將中常用到的規律,同線牌共分三組,分別為:「一四七」、

「二五八」、「三六九」;同線牌的用法很多,像前面所提的用來觀察其他玩家的捨 牌來推測可能要的牌就是其中一種,還有像是如果手牌中有一四七時,會優先捨 一等等。

在 D 節點中的根據吃、碰、摸的動作再捨牌的經驗法則來找出需求的牌的機 率,也是我們事先計算好,所以在遊戲進行時,我們只需針對每位玩家計算出屬 於他們各自的 B 節點。

計算吃後捨牌要甚麼牌的機率是使用一個二維陣列來表示,表格中 0 表示沒 有,樣子如下:

37

吃牌 捨牌 可能要的牌

3

7 1 4 0

4

7 3 6 0

5

8 1 4 7

5

2 3 6 9

7

4 5 8 0

8

5 6 9 0

表 6 節點 D 之吃牌捨牌後可能要的牌

其相對應的機率表則為:

吃牌 捨牌 可能要的牌的機率

3

7 0.112132 0.115473 0

4

7 0.187335 0.033084 0

5

8 0.087608 0.112265 0.029531

5

2 0.027605 0.088621 0.082285

7

4 0.032548 0.031887 0

8

5 0.040318 0.019308 0

表 7 節點 D 之吃牌機率表

碰後捨五則可能要甚麼牌的機率表如下:

38

39

麻將因為每巡皆會獲得一張牌,這張牌可能可以和手中的多張牌做搭或做組,因 此換牌率是很高的,尤其在終局時特別明顯,前一巡還是屬安全的牌,到了這巡 就成了危險牌,所以在這裡我們就只針對最近的兩巡做判斷。

要得出 𝑃(𝐶|𝐷) 的結果除了上面各表格的資料外,還需知道 𝑃(𝐷|𝐶) 的值為 何,而 𝑃(𝐷|𝐶) 表示在外面剩餘幾張時,且同時此巡符合 D 節點預設中的動作以 及捨預設中的牌,符合在 D 節點中預設可能要的牌的機率;符合這些狀況的所有 牌的機率也是需要先計算好,同樣這裡使用大量對下得到我們需要的值。這次紀 錄是使用三維陣列,如同前面表 7、8 及 9 個別加上第三維,場外剩餘數量,以碰 後捨五則可能要甚麼牌為例子,表格如下,更完整的表格可參照附錄 6、附錄 7 與附錄 8。

要的牌

餘張數

1 4 7 3 6 9

4

0.1113 0.152 0.1363 0.1575 0.1649 0.0968

3

0.01894 0.038 0.0207 0.0236 0.0348 0.0209

2

0.0019 0.0051 0.0029 0.0032 0.0052 0.0028

1

0.0002 0.0001 0.0004 0.0002 0.0007 0.0001

表 10 場上剩餘幾張時的碰牌機率表(部分)

40

相關文件