當前位置:首頁 » 操作系統 » 天天川麻源碼

天天川麻源碼

發布時間: 2023-01-11 18:04:33

1. 四川麻將出現天胡與地胡的概率

      人在四川過年,免不了上桌打麻將,作為一個標準的麻將新手,上桌送錢是免不了的,當然在這個運七技三的游戲中,本民工居然還偶然有一天贏了一點點錢。

      於是這個引起了本民工的好奇,實際上民工本人以前開發過鬥地主外掛,還搞了三個麻將作弊APP還有配套的藍牙硬體,有兩個是用手機控制麻將出牌,有一個是用手機查看桌上所有人手上牌的(原理是用IC麻將牌)。

所以,一定要遠離賭博,珍愛生命!

    因為好奇加上正好過年有時間,本民工於是想用實現一個能夠自打麻將的小程序,首先是使用圖像識別的方法獲取出牌和發牌信息,其實模擬按鍵操作出牌,理論這樣種採用圖像識別的外掛是封不了的,因為圖像識別對本民工來說完全不是事兒,大概2007年時間,已經有一樣的方法做了一個自動偷菜外掛。所以難點就只在麻將出牌AI和攻防AI上了,然後先查詢了一下當前麻將AI的現況,好象當前基本是採用「有限狀態機」和 博弈樹alpha-beta 來,實現水平還沒有達到人類頂級高手。當然既然已經有了在圍棋上大殺四方的狗,麻將應該也不遠了,當然狗用的是Deeplearning來做,正好Deeplearning也正好是本民工在玩的東西。所以想嘗試弄一個AI玩一下。但是弄下為,實際情況是…

    又掉坑裡了。 

    首先是想Deeplearning一下,發現沒有樣本!

    其次,找了很久,網上也沒有什麼像樣的開源庫可以直接用,好不容易找到一個算和牌(胡牌)的源碼,結果一看,效率低得嚇人。世上一切都是有代價的,計算機的基本代價就是空間與時間,演算法不優化,很多玩法(主要是笨方法)沒得搞。

    算了,反正過年閑著,先發明一下輪子吧。

     第一步,概率估算。

    蒙特卡洛法。本來本民工是想用蒙特卡洛法去生成海量樣本的,然後統計出一些有意思的概率,然後把相關概率形成參數表,供後面的 博弈樹alpha-beta 搜索優化用。

蒙特卡洛法,原理在這里就不表述了,但是這個的確是一個非常非常優秀的搞法,在處理復合概率問題方面,特別適合本民工這樣不喜歡動腦的人。

因此在樣本生成的過程中,一些有意思的數據就出來了。

先看一下地胡的概率。

注意一點: 因為出牌AI還沒有完成,目前還沒有讓程序開始自動對弈,本文給的地胡概率並不準確,這個概率只是上手就有可能胡的概率。

以下是三個數據:

總體大概做了十幾次發牌測試吧,因為每次要大概十分鍾時間,太浪費寶貴時間,還不如多娛樂下別的,所以十幾次也夠了,出現地胡的概率是46W~116W次這樣,抽樣中值位置大約是80萬。

需要說明的這不是一個嚴肅學術研究,只是一個有意思的測試。所以本民工的隨機發牌程序實際是每家發了14張牌。所以真正有地胡的概率是320萬(只有莊家是會起手拿14張牌)。

另外,這個是四川麻將,四川麻將是108張牌,只有萬、條、筒。實際上概率大了很多。

結論就是:打四川麻將地胡的概率是320萬分之一,這個概率… 比摸百萬大獎還要難。簡單算了一下,平均一天打10場麻將,大概平均要876年可能搞得上一次地胡。

好了地胡概率算出來了。下面是天胡。

不好意思天胡概率,還沒有算出來。

本民工做了大概率四次每次3000萬的抽樣(每次要搞4個小時左右,太浪費時間),抽樣樣本是1.2億次,因為只有莊家有條件天胡,所以實際是抽樣4.8億次沒有出現一次天胡。

所以本民工算是明白了,為什麼傳說中會有老頭摸到天胡,激動得那個…,這個概率真是太低了。因為這個概率本民工現在也沒有算出來,現在還不敢亂說,那天把發牌和計和程序改成並發後,找台電腦讓他去瞎算吧。

但是不論是地胡還是天胡它的實際概率,怎麼說呢?遠比本民工想像的要低非常多,因為我身邊出現過兩次,打牌時朋友和我說他的牌是摸了一張就上聽,雖然沒有地胡上,但實際上320萬分之一這個就是四川麻將摸牌上聽的概率。我怎麼可能有這么好運氣呢?當然需要說明的是,從小到大我沒有聽說身邊有人地胡過,也許是身邊沒有人打作弊麻將吧。

另外,再分享一下,一個有意思的概率。

就是起手有一個對加上3副牌(含兩個對)的概率,同時還缺了一門牌的概率,大概是6萬分之一。平均一天打10場麻將,大概16年能搞得上來一次。這個似乎比較平民化,打麻將的人人都有機會,不過似乎也比我想像的要低。本民是不是應該檢查一下演算法的問題了?

說到最後,放個彩彈。

不知道大家沒有仔細看圖,實際上本民工已經隨機抽樣出來了天胡牌。請仔細看數據圖2。因為只出現了一次,所以沒有形成統計樣本。

熱點內容
安卓市場手機版從哪裡下載 發布:2025-05-15 20:17:28 瀏覽:813
幼兒速演算法 發布:2025-05-15 20:15:08 瀏覽:86
best把槍密碼多少 發布:2025-05-15 20:13:42 瀏覽:548
android安裝程序 發布:2025-05-15 20:13:20 瀏覽:559
c語言跳出死循環 發布:2025-05-15 20:06:04 瀏覽:824
a19處理器相當於安卓哪個水平 發布:2025-05-15 20:05:29 瀏覽:639
榮耀9i安卓強行關機按哪個鍵 發布:2025-05-15 20:00:32 瀏覽:750
密碼鎖寫什麼最好 發布:2025-05-15 19:05:31 瀏覽:782
5的源碼是 發布:2025-05-15 19:04:07 瀏覽:719
c語言創建的源文件 發布:2025-05-15 18:54:08 瀏覽:611