台灣十六張麻將 AI
規則引擎、自我對局評估體系與畫面辨識即時建議管線(只讀、只顯示、不代打)。2024 年寒假起的個人專案,2026 年暑假集中七週完成現行版本,持續改進。
- 期間
- 2024 年寒假起斷續進行;2026-07-17 至 09-06 集中七週完成現行版本
- 角色
- 獨立完成
- 技術
- Python(核心零外部相依)、缺數動態規劃、蒙地卡羅、行為複製神經網路、CNN、ONNX、mypy strict
- 規模
- 對獨立暴力參考實作 10 萬手 100% 一致;87 局真人桌實地驗證;統計原語自行實作並以合成資料測試鎖定
書審對應:附件 D-1

目標與難點
目標是規則經驗證、可設定家規、可統計評估的十六張麻將 bot。難點在評估:單局淨額標準差在高倍率下達 8 底,而策略改動的效果僅 0.01 至 0.03 底/局,以獨立樣本推導會將所需局數高估 35 倍。沒有可靠的評估,任何策略改動都無法判斷是好是壞。
規則引擎
- 全參數化家規:18 項以上分歧開關;胡牌判定含標準型與嚦咕型;台數與付款計算。
- 驗證:以獨立撰寫的暴力參考實作比對 10 萬手,結果 100% 一致;與開源實作差分 20 萬手零不一致;台數對照實際結算面板 18/18。
決策演算法
- 缺數(向聽)以逐花色 Pareto 動態規劃查表,配合增量狀態計算。
- 進張與實效進張枚數計數、二階進張。
- flat Monte Carlo afterstate 評估,搭配 Kaplan-Meier 競速時鐘。
- EV 模型:胡牌機率 × 底台 − 放槍風險。
- 行為複製神經網路捨牌策略(Conv1d 主幹,約 150 萬參數,通過追平閘)。
- 以 MLE 校準的真人化對手群作為評估對手;SPSA 參數調優。
評估體系
- 複式配對設計:1 對 3、座位輪換、角色互換、共享私有牌牆。
- 三段變異數縮減:單局標準差 σ 由 8.23 降至 0.32 至 0.74。
- 配對 t 檢定與 GSPRT、cluster-robust 標準誤、最小可偵測效應檢定力閘、發現波與複製波分離的晉升制。
- 統計原語自行實作、零外部相依,並以合成資料的測試鎖定。
評估體系可分辨 0.02 底/局等級的策略差異;九波實驗顯示確定性進張數作為決策骨幹優於 EV 與蒙地卡羅模型,後者僅保留可證明零代價的例外(開槓、聽牌層安全 tiebreak、可行性押退)。
畫面辨識與即時管線
- 樣板比對(NCC 加族內 margin)與 CNN 牌面分類器(ONNX 部署)並用,以雙閘棄權設計取代錯讀。
- 從擷取到建議的即時管線以 HUD 呈現:建議張、候選張的缺數與進張、對手威脅與放槍風險、規則摘要,狀態列顯示對準與讀出率、端對端延遲。打包為單一可執行檔。
- 只讀、只顯示、不代打;不點名任何平台。
成果
於 87 局真人桌實地驗證(錄影、逐局金額):據此校準防守策略、建立防守覆蓋層與逐局回歸測試;各波實驗結論與決策皆記錄於決策紀錄。
