xqbase/eleeye

ElephantEye - a XiangQi (Chinese Chess) Engine for XQWizard with Strong AI

解決的問題

ElephantEye 是一個免費的開源遊戲引擎,旨在高水準下進行象棋(中國象棋)對弈。它提供了分析棋盤局面、決定最佳走法,並與人類玩家或其他引擎對戰所需的計算邏輯。

工作原理

ElephantEye 採用「暴力搜尋」方法,結合嚴格的博弈論演算法。主要技術元件包括:

  • 搜尋演算法: 使用帶有迭代加深的遞迴 Alpha-Beta 搜尋,結合殺手步、歷史啟發式等技術,高效探索未來可能的走法。
  • 走法生成: 使用 BitRanks 和 BitFiles(位棋盤)快速生成滑行棋子(車和砲)的走法,並判斷棋子的牽制狀態。
  • 優化: 實現兩層取代表(深度優先與始終覆蓋),避免重複計算,並使用空著剪枝(R=2)加速搜尋過程。
  • 評估: 透過 API 將搜尋邏輯與棋盤評估函數解耦,允許開發者替換或改進引擎對局面強弱的評估方式。
  • 協定支援: 支援 UCCI 3.0 協定,可與 XQWizard 等 GUI 前端無縫整合。

適用對象

  • 象棋愛好者: 尋找強力 AI 對手或需要分析對局的玩家。
  • 遊戲 AI 開發者: 對傳統博弈樹搜尋演算法和棋類 AI 架構感興趣的程式設計師。

主要亮點

  • UCCI 3.0 兼容: 可與標準中國象棋引擎介面無縫協作。
  • 豐富的開局庫: 包含從頂級職業比賽中提取的 10,000 個對稱走法。
  • 模組化設計: 將搜尋引擎與評估函數分離,便於他人在此基礎上擴展或修改。
  • 完整的工具集: 內建用於建立開局庫、分析搜尋樹、轉換對局記譜格式的實用工具。

相關