基於概率與胡牌表的麻將AI演算法
github專案連結:https://github.com/yuanfengyun/mj_ai
麻將概率問題:
1、已經四個玩家每人有13張手牌2、桌上已經打出的牌
3、玩家A有1個確定的胡牌目標
問: 玩家A摸入5張牌胡牌的概率?
公式見圖:概率計算公式.jpg
整體思路
1、當我手上有14張牌時,如果能胡,直接胡掉。
如果不能胡,我需要知道打出哪張牌以後,我胡牌的概率大
2、分別計算打出每張牌以後的胡牌概率,選出概率最大的牌打出
3、胡牌概率的計算
根據胡牌表中的每項,求5張牌能胡的概率,然後求和
優點:
1、基於概率計算,準確性高
2、可以處理特殊牌型的選擇問題,比如是否該胡七對這種大牌
3、純數學計算,不需要遞迴、回溯這些操作
4、不需要麻將知識
相關推薦
基於概率與胡牌表的麻將AI演算法
github專案連結:https://github.com/yuanfengyun/mj_ai 麻將概率問題:1、已經四個玩家每人有13張手牌 2、桌上已經打出的牌 3、玩家A有1個確定的胡牌目標 問: 玩家A摸入5張牌胡牌的概率? 公式見圖:概率計算公式.jpg 整體思路
基於漏桶(Leaky bucket)與令牌桶(Token bucket)演算法的流量控制也叫過載保護
基於漏桶(Leaky bucket)與令牌桶(Token bucket)演算法的流量控制 Congestion Control Algorithm,這是TCP裡的一個專業術語,擁塞控制演算法。說的也是流量控制類似的事。 老規矩,直接上圖。 先看看漏桶(Leaky bucke
源碼架設教程之麻將AI算法與數據結構棋牌
算法 麻將ID構架 用一維數組PAICAPTION(143)來記錄每張牌的ID和文字信息,數組內容為文字描述,下標用作ID(0-143,共144張牌) 1、胡牌判斷基本構架 用一維數組來記錄各個牌型的數量,例如 int PAI[38] = { 0,
帶賴子的超高效麻將、跑鬍子胡牌演算法
騰訊課堂視訊講解:https://ke.qq.com/course/305608?tuin=104cb0e2 文件 github地址 https://github.com/yuanfengyun/qipai/tree/master/doc lua版 https://github.com/yuan
C語言單純的模擬麻將胡牌演算法!簡單分析,不喜莫入
不帶賴子,14張牌,以筒子為例子,不考慮雜交系列,純屬探索性演算法,並非完整麻將演算法,請勿存在誤區。單純的模擬題, 簡單的搜尋。 1表示1筒 2表示2筒。。。。 9表示9筒。 小編給大家推薦一個學習氛圍超好的地方,C/C++交流企鵝裙:87096
麻將胡牌演算法python版
#coding:utf8 ##################### #作者:skillart #bolg:http://blog.csdn.net/skillart/article/details/40422885 # ##################### # 資料格
swift--廣東麻將v2.0(帶胡牌、聽牌演算法和自動打牌功能)
本程式實現了廣東麻將的全部功能:自動摸牌、打牌、碰、槓、聽牌、胡牌(其中莊家手動打牌,其它電腦玩家自動打牌),具體功能有: 系統通過骰子確定莊家,然後發牌,最開始從莊家手動打牌。 可以碰,槓,不能吃牌;沒有癩子。只能自摸。 所有玩家自動.碰、槓,在某個玩家打牌
麻將胡牌的演算法
清一色是麻將的種類之一,指有一種花色的序數牌組成的胡牌。 數字1-9,每個數字最多4張牌; 我們不考慮具體的花色,我們只看數字; 刻字:三張一樣的牌:111.222.333 順子:三張連續的牌123,46,789 對子:兩張連續的牌;11,22,33,44 需要一個程式實現
檢測四川麻將是否胡牌演算法的實現
自己寫了一個四川麻將胡牌的演算法,加入有兩組牌讓你判定是否胡牌,就只是最簡單的那種胡法,非常不完善。 其中char *as1 = "1W1W2T2D3W3W5W5W7W7W8W8W9W9W"; char *as2 = "1W1W1W2W3W4W4W5W6W7W8W9
麻將胡牌演算法 極速(速度接近理論極限)
此麻將胡牌演算法優點: 1.可處理多賴子牌(萬能牌) 2.演算法速度極快:1ms可大約計算1W+副手牌是否可胡(帶賴子、0.08us左右),不帶賴子的牌型更快。(最新版的演算法速度感覺已很接近理論極限值) 3.不同玩法的麻將,可用同一套胡牌演算法,載入不同的胡牌配置檔案即可
基於Python與百度的AI介面的語音轉文字的簡單小程式。
匯入 wave #匯入wave Python自帶 來自 pyaudio 匯入 PyAudio , paInt16 #匯入pyaudio模組內的類和常量安裝方法pip install pyaud
麻將簡單胡牌演算法
1/*************************************************************** 2 * 檔名:hu.cpp * 3 *
【求助】華為OJ題 成都麻將胡牌規則
描述: 說起麻將,那可是川渝市民的最愛,無論親朋好友聚會,還是業務談判,總是少不了麻將的聲音。 成都麻將只能包括3種類型:條,筒,萬。沒有“門、東南西北、紅中”。 每種牌都是數字從1到9,每個數字有4張,共36張。筒,萬,條均一樣。 胡牌簡化規則如下: 1.必須有一個對子
麻將胡牌演算法
用數字代替麻將中的所有牌: 一萬~九萬 1~9 一筒~九筒 11~19 一條~九條 21~29 東、南、西、北、中、發、白 31~37 胡牌的種類:對對胡、十三么和33332 判斷胡牌的過程(以下所說的規則,都是針對手牌已經按從小到
癩子麻將胡牌以及聽牌演算法實現
最先實現的就是演算法的實現。 需求:碰槓胡 ,不能吃 ,不能聽 ,只能自摸胡,其中癩子可以做任意牌但是不能碰和槓。 寫的時候還不會玩麻將,還是老闆教的。^_^ 最麻煩的是胡牌演算法。之前搜到的都是不包含癩子正常的胡牌,用的是%3餘2,其中餘數2就是餘的將的意思。 但是有癩
基於GitLab與Git Extensions搭建版本控制工具
基本 cmd img html nat 需求 無法 spa hang 1.背景 大家知道GitHub是現在非常流行的代碼托管工具,但是如果有些項目不想開源的話,則需要付費,因此萌生了自己搭建一個Git的版本控制工具,供內網使用。GitLab則是個好的選擇,但是GitL
如何查看與顯示oracle表的分區信息
tab 分區 子分區 ext sub key 分區表 class oracl 顯示分區表信息 顯示數據庫所有分區表的信息:DBA_PART_TABLES 顯示當前用戶可訪問的所有分區表信息:ALL_PART_TABLES 顯示當前用戶所有分區表的信息:USER_PAR
jQuery基於json與cookie實現購物車的方法
構造 exp als com else cookies 一個 可選參數 int /** * 添加商品及數量到購物車cookie中,返回當前商品在cookie中的總數 */ function AddToShoppingCar(id, num, t
再學ajax--第二天 | 基於php+mysql+ajax的表單註冊、登錄、註銷
常量 insert 寫在前面 break 證明 收獲 localhost 技能 tex 寫在前面 ajax學習到了第二天,這次是用第一天封裝的ajax函數,後端使用了php+mysql實現基本的註冊,登錄,註銷。 php是我前幾個月get到的技能,我已經學習到了
深度學習數學基礎介紹(二)概率與數理統計
特征 數字特征 抽樣分布 第5章 最大 中心 3.4 獨立 知識 第1章 隨機事件與概率§1.1 隨機事件§1.2 隨機事件的概率§1.3 古典概型與幾何概型§1.4 條件概率§1.5 事件的獨立性 第2章 隨機變量的分布與數字特征§2.1 隨機變量及其分布§2.2 隨機變