中國象棋計算機博弈發展史研究報告

系統梳理中國象棋計算機博弈從 1980 年代到 2026 年的技術演進、代表引擎與社群生態。 第一章 引擎開發者羣像 → 第六章 結語:技術、社區與文化的融合

☰ 目錄

第一章 引擎開發者羣像

1.1 陳朝營:從個人開發者到商業引擎領袖

陳朝營是中國象棋引擎史上最重要的人物之一。他開發的象棋旋風(Cyclone/Tornado)和倚天象棋(Intella)代表了2005-2010年間中國象棋引擎的最高水平。

陳朝營並非計算機科學科班出身,他憑藉對編程和中國象棋的熱愛,從零開始學習引擎開發技術。他的技術積累過程包括:

  1. 研究ElephantEye的開源代碼,理解中國象棋引擎的基本架構
  2. 學習國際象棋引擎(特別是Crafty和Fruit)的先進技術
  3. 在棋中論壇上與社區成員交流,獲取反饋和技術建議
  4. 通過比賽檢驗引擎性能,不斷優化和改進

陳朝營的開發者日記(發表於棋中論壇)記錄了他開發引擎的心路歷程和技術思考。這些日記是中國象棋引擎開發的珍貴歷史資料。

陳朝營的技術哲學:

  • 搜索爲王:他認爲引擎棋力的核心在於搜索效率,評估函數次之
  • 工程優先:他強調代碼效率和性能優化,注重編譯和運行時的性能
  • 用戶導向:他重視引擎的易用性和用戶體驗,使旋風成爲大多數用戶的理想選擇

1.2 黃晨:開源之父的技術貢獻

黃晨對UCCI協議的貢獻已在前面章節詳細討論。這裏補充其技術人格的一些側面:

黃晨的技術哲學:

  • 開放共享:他堅持將ElephantEye以LGPL許可證開放,即使這意味着他的引擎棋力永遠無法追上商業引擎
  • 教育優先:他撰寫的技術文檔以教學爲目標,幫助初學者理解和掌握引擎開發技術
  • 標準化推動:他設計的UCCI協議和XQF格式,促進了中國象棋引擎生態的標準化

黃晨的xqbase.com網站不僅發佈ElephantEye,還整理了大量的中國象棋編程資源。網站內容包括:

  • 局面表示的實現詳解
  • 着法生成的算法優化
  • 搜索樹的實現框架
  • 評估函數的設計思路
  • UCCI協議的完整規範
  • 中國象棋編程常見問題解答

xqbase.com的維護工作持續了十餘年,期間黃晨不斷更新和補充內容。即使在ElephantEye的棋力已經被商業引擎超越後,他仍然堅持維護網站和代碼。

黃晨還開發了一系列工具:

  • ElephantBoard(象棋巫師):一個功能豐富的中國象棋GUI
  • XQFTOOLS:XQF格式和PGN格式之間的轉換工具
  • UCCI調試器:幫助開發者測試UCCI協議實現的工具

這些工具構成了中國象棋引擎開發的基礎設施,降低了他人的開發門檻。

1.3 蔣志敏與張閩:名手組合的技術故事

蔣志敏和張閩的象棋名手在中國象棋商業引擎領域創造了輝煌的歷史。這對組合的特點在於:

蔣志敏主要負責引擎的搜索算法和核心引擎邏輯。他在搜索優化方面有深厚造詣,名手的PVS搜索效率在同時代引擎中處於領先地位。

張閩主要負責評估函數和局面理解。他對中國象棋的棋理有深入理解,名手的評估函數被認爲是手工評估時代的巔峯之作。

兩人的分工合作模式是名手成功的關鍵:一個人專注於"怎麼搜"(搜索算法),一個人專注於"怎麼評"(評估函數)。這種專業化的分工模式在個人開發者爲主的中國象棋引擎社區中非常罕見。

名手的命名也有一個有趣的故事:"名手"二字既取"著名棋手"之意,也隱含"名師出高徒"的企業願景(引擎幫助棋手提高水平)。

名手對中國象棋教師羣體的重視也是其成功因素之一。名手團隊與多所象棋學校和培訓機構合作,使名手成爲象棋教學的標準工具。

1.4 李國來與GGzero:強化學習的先行者

李國來開發的佳佳象棋最早採用了傳統的Alpha-Beta架構。但他敏銳地意識到AlphaZero對棋類AI的革新意義。

GGzero項目是李國來對強化學習路線的探索。這個項目面臨的主要挑戰:

  1. 計算資源不足:深度強化學習需要大量的GPU計算資源,個人開發者的資源非常有限
  2. 技術路線不成熟:在當時,中國象棋強化學習的學術研究還處於非常早期的階段
  3. 與Alpha-Beta的差距:GGzero的棋力始終未能達到傳統Alpha-Beta引擎的水平

儘管如此,GGzero的探索爲中國象棋引擎的後續發展積累了重要的經驗。它證明了:

  1. MCTS+神經網絡可以應用於中國象棋
  2. 自我對弈訓練可以生成有用的局面評估數據
  3. 中國象棋強化學習的技術路線上需要更多社區協作

1.5 Daniel Tan:跨學科的新一代開發者

Daniel Tan是新一代中國象棋引擎開發者的代表。他的背景體現了中國象棋引擎開發者的多元化趨勢:

  • 學術背景:Daniel Tan有計算機科學的學術研究經驗
  • 跨學科視野:他的研究涵蓋NNUE的設計、訓練數據集優化、搜索算法改進等
  • 國際合作:他與Neftali Watkinson Medina合作發表了關於NNUE訓練數據集的學術論文

Daniel Tan的Orange引擎是中國象棋獨立NNUE引擎的代表。與基於Stockfish代碼庫的皮卡魚不同,Orange是從零開始實現的獨立引擎。這種"從零開始"的開發路線雖然困難,但有助於深入理解NNUE的技術細節。

第二章 棋中論壇的技術帖精選

2.1 技術帖:空着裁剪在中國象棋中的適配

棋中論壇上關於空着裁剪(Null Move Pruning)的討論是中國象棋引擎技術交流的重要案例。以下是對論壇討論的整理:

主題:Null Move在中國象棋中的R值選擇

R值(空着裁剪的深度縮減值)的選擇對空着裁剪的效果有顯著影響:

  • R=2:裁剪激進,搜索速度快,但可能漏算關鍵着法
  • R=3:裁剪程度適中,推薦的默認值
  • R=4或以上:裁剪過於激進,不建議在大多數局面使用

在中國象棋中,空着裁剪的適配需要考慮:

  1. 將帥照面:在將帥照面的局面下需要禁用空着裁剪
  2. 殘局階段:在殘局中空着裁剪的激進程度需要降低(因爲一步棋的價值更大)
  3. 將軍局面:在被將軍時不能使用空着裁剪

2.2 技術帖:評估函數的調優策略

棋中論壇上關於評估函數調優的討論:

評估函數的調優方法是社區長期討論的話題。主要方法包括:

  1. 試錯法:手動調整參數,然後通過自戰測試驗證效果
  2. 數據驅動法:使用大規模棋譜數據,通過線性迴歸或更復雜的統計方法優化參數
  3. 對比法:在特定局面下比較不同參數設置的評估結果

在中國象棋評估函數中,以下參數需要重點調優:

  • 子力價值:車馬炮士象兵的基礎分值
  • 位置價值:每個棋子在棋盤上每個位置的分值
  • 棋型價值:特定棋型(如空頭炮、窩心馬、擔子炮等)的調整分

第三章 中國象棋引擎的棋力進化路線圖

3.1 1985-1995:初級階段

棋力特徵:業餘初級(約1200-1600 ELO)

代表引擎:將族(1989)、象棋大師3(1992)

技術限制:

  • 搜索深度4-7層(將族)到6-8層(象棋大師3)
  • 評估函數基於簡單的子力價值和基礎位置權重
  • 沒有或只有極簡單的置換表
  • 沒有空着裁剪或LMR等高級剪枝
  • 單線程運行

與人類對手的關係:可以擊敗業餘初級和中級愛好者,但容易輸給業餘高級和市級棋手。

3.2 1995-2005:中級階段

棋力特徵:業餘高級到市級(約1700-2100 ELO)

代表引擎:棋隱(1997)、夢入神機(2004)、象棋奇兵(2005)

技術改進:

  • 搜索深度提升到8-10層
  • 評估函數新增位置價值和棋子活動性評估
  • 引入置換表
  • 開始嘗試基礎剪枝技術(如簡單的空着裁剪)
  • 仍然以單線程爲主

與人類對手的關係:可以穩定擊敗省級以下棋手,但面對國家大師時仍有明顯差距。

3.3 2005-2015:高級階段

棋力特徵:國家大師到超越特級大師(約2200-2800 ELO)

代表引擎:象棋旋風(2005-2008)、棋天大聖(2006)、倚天象棋(2008)、象棋名手(2009-2014)

技術改進:

  • 搜索算法全面升級到PVS
  • 多線程並行搜索(2-4核)
  • 分佈式計算支持(名手)
  • 評估函數高度精細化(數百個特徵)
  • 全面的剪枝技術(空着裁剪、LMR、SEE、Futility等)
  • 大規模開局庫和殘局庫支持

與人類對手的關係:2006年後,頂級引擎已達特級大師水平。2010年後,引擎全面超越人類棋手。

3.4 2022-2026:NNUE時代

棋力特徵:遠超人類極限(>3300 ELO)

代表引擎:皮卡魚(2022-至今)、Orange(2024)、Cyclone-nn(NNUE版)

技術革新:

  • NNUE神經網絡評估替代手工評估
  • Lazy SMP並行搜索(高核心數可擴展)
  • ATT++等新型評估架構
  • 基於Fishtest的統計驗證
  • 開源社區驅動開發

與人類對手的關係:引擎棋力遠超人類棋手,對局不存在懸念。引擎的主要競爭對象是其他引擎。

第四章 中國象棋引擎商業史

4.1 商業引擎的定價與授權

中國象棋商業引擎的定價模式經歷了以下演變:

早期(2000-2005):以光盤媒體銷售爲主,價格在幾十到一百元人民幣之間。

中期(2005-2010):轉向序列號或硬件加密鎖授權,價格在幾百元到上千元之間。

後期(2010-2022):採用在線激活模式,分核心數定價(如2核版、4核版、6核版),價格從數百元到數千元不等。

名手的定價策略(示範):

  • 2核版:約200-300元
  • 4核版:約500-800元
  • 6核版:約1000-1500元
  • 分佈式版:約2000-3000元(需要多臺計算機)

商業引擎的授權限制:

  • 通常綁定硬件(通過CPU序列號或MAC地址)
  • 不支持轉讓(授權只能在特定機器上使用)
  • 不支持退款(購買前提供試用版用於評估)

4.2 商業引擎的市場競爭

中國象棋商業引擎市場競爭的主要參與者:

第一梯隊(2005-2015):旋風、名手、倚天

  • 棋力最高、價格也最高
  • 面向專業棋手和重度愛好者

第二梯隊(2010-2020):小蟲、佳佳等

  • 棋力略低但價格更親民
  • 面向更廣泛的業餘愛好者羣體

第三梯隊(2005-2015):各類小型引擎和工具

  • 針對特定需求(如開局庫製作、棋譜分析等)
  • 主要面向入門用戶

市場格局的變化:

  • 2005-2008年:旋風與倚天兩強爭霸
  • 2009-2014年:名手崛起並長期統治
  • 2015-2020年:商業引擎市場整體萎縮
  • 2022年皮卡魚開源後:商業引擎市場受到根本性衝擊

4.3 皮卡魚對商業引擎的衝擊

皮卡魚作爲免費開源引擎的出現,對中國象棋商業引擎市場產生了巨大影響:

  1. 棋力碾壓:皮卡魚的棋力超過了所有商業引擎
  2. 價格優勢:免費開源 vs 數百到數千元
  3. 更新速度:社區驅動 vs 個人/團隊開發
  4. 透明度:開源代碼可審查 vs 閉源黑盒

商業引擎的應對策略:

  1. 旋風推出了NNUE版(Cyclone-nn),試圖與皮卡魚保持競爭力
  2. 部分商業引擎降低價格或轉爲免費
  3. 一些小型引擎停止更新
  4. 引擎開發的重點從商業化轉向服務化(如雲庫訂閱)

第五章 中國象棋引擎的國際影響力

5.1 國際社區對中國象棋引擎的關注

隨着皮卡魚的開源和國際象棋社區的參與,中國象棋引擎開始獲得更廣泛的國際關注:

Stockfish社區對中國象棋的興趣:部分Stockfish社區的貢獻者也開始關注皮卡魚項目。他們帶來了國際象棋引擎開發的經驗和工具。

Fairy-Stockfish的中國象棋支持:Fairy-Stockfish作爲國際象棋變體引擎,其中國象棋支持爲中國象棋規則提供了一個國際象棋社區的參考實現。

學術論文的國際發表:Daniel Tan關於NNUE數據集的論文在國際學術會議(IEEE Conference on Games 2024)上發表,標誌着中國象棋引擎研究進入了國際學術視野。

5.2 中國象棋引擎與人工智能研究的關係

中國象棋引擎在人工智能研究中的位置:

教學案例:中國象棋引擎作爲AI教學的經典案例,在學生中具有較高的吸引力和參與度。

算法驗證平臺:中國象棋引擎爲驗證搜索算法、評估函數設計、並行計算策略等提供了良好的實驗平臺。

比較研究的對象:中國象棋與國際象棋的差異(規則、棋盤、棋子等)爲研究棋類博弈的通用性提供了有趣的研究素材。

第六章 結語:技術、社區與文化的融合

中國象棋計算機博弈的發展史不僅僅是技術的演進史,更是社區協作和知識共享的文化史。

從1989年將族在倫敦奪冠時的孤軍奮戰,到2026年皮卡魚在全球開發者協作下的持續進步,中國象棋引擎的發展反映了一個全球化社區的形成過程。

這段歷史告訴我們:

  1. 開放比封閉更有力量——皮卡魚對商業引擎的超越證明了開源模式的優越性
  2. 社區比個人更有韌性——一個天才開發者可以創造奇蹟,但一個社區可以持續創造奇蹟
  3. 標準比分散更有價值——UCCI協議、FEN格式、Fishtest框架等標準化工作,是引擎生態繁榮的基礎
  4. 數據比代碼更重要——在NNUE時代,訓練數據的質量決定了引擎的天花板

展望未來,中國象棋計算機博弈將繼續發展。雖然頂級引擎的棋力已經遠超人類極限,但中國象棋的魅力和智慧遠未被窮盡。每一次規則的完善、每一個新引擎的誕生、每一局精彩的對弈,都在爲中國象棋注入新的活力。

願這份報告能夠成爲中國象棋計算機博弈歷史記錄的一份有益貢獻,也願未來的研究者能夠在此基礎上繼續記錄和傳播這段獨特的知識共同體的故事。

(全文完)

第十卷 中國象棋引擎與人類棋手的交互