中國象棋計算機博弈發展史研究報告
系統梳理中國象棋計算機博弈從 1980 年代到 2026 年的技術演進、代表引擎與社群生態。 搜索的完整流程 → 測試對局的安排
☰ 目錄
搜索的完整流程
一次引擎搜索的完整流程:
- 接收"go"指令,解析搜索參數
- 初始化搜索狀態(根局面、搜索深度等)
- 迭代加深搜索(從depth=1開始)
- 在每一層調用Alpha-Beta搜索
- PVS搜索主變分支
- 在非主變分支使用零窗口搜索
- 應用各種剪枝技術
- 使用NNUE評估葉子局面
- 更新置換表
- 達到迭代加深條件(時間用完或達到最大深度)
- 返回最佳着法給GUI
引擎內存使用分析
中國象棋引擎的內存使用分佈:
- 置換表:64-1024MB(主要內存使用者)
- NNUE網絡權重:2-10MB
- 開局庫:1-100MB(取決於大小)
- 預計算表:1-5MB
- 其他數據結構:1-10MB
引擎性能指標
中國象棋引擎的核心性能指標:
- NPS(每秒搜索節點數):表示引擎的搜索速度
- 平均搜索深度:表示引擎在單位時間內的搜索深度
- 緩存命中率:表示置換表的利用效率
- 剪枝率:表示各種剪枝技術的效果
- ELO等級分:表示引擎的棋力水平
第三十二卷 中國象棋引擎測試的最佳實踐
測試環境設置
中國象棋引擎測試的環境設置規範:
- 使用相同的硬件和操作系統
- 使用相同的編譯器和編譯選項
- 使用相同的開局庫和時間控制
- 控制處理器核心的隔離(避免其他進程干擾)
- 記錄環境信息用於結果復現
測試對局的安排
中國象棋引擎測試對局的安排規範:
- 開局選擇:使用多樣化開局(或標準開局測試集)
- 顏色輪換:紅方和黑方交替使用測試引擎和參考引擎
- 時間控制:使用標準時間控制(如15秒+0.5秒)
- 對局數量:至少1000局以獲得統計顯著的結果
- 結果記錄:記錄每局的結果(勝/負/和)