xqbase/eleeye

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

何を解決するか

ElephantEye は、高水準で象棋(中国将棋)をプレイできる無料でオープンソースのゲームエンジンです。盤面の状態を分析し、最善の手を決定し、人間プレイヤーや他のエンジンと対戦するための計算論的ロジックを提供します。

動作方法

ElephantEye は「ブルートフォース」アプローチと厳密なゲーム理論アルゴリズムを組み合わせています。主な技術的要素は以下の通りです:

  • 探索アルゴリズム: 反復深化を伴う再帰的 Alpha-Beta 探索、キラー手、履歴ヒューリスティクスを用いて、将来の手を効率的に探索します。
  • 手の生成: 滑走駒(飛車と砲)の手を高速に生成し、駒のピン状態を判定するために BitRanks と BitFiles(ビットボード)を使用します。
  • 最適化: 冗長な計算を避けるために、2段階の置換表(深さ優先と常に上書き)を実装し、Null Move Pruning(R=2)を用いて探索を高速化します。
  • 評価: 探索ロジックと盤面評価関数を API を介して分離しており、開発者が評価関数を交換または改善できるようにしています。
  • プロトコル対応: UCCI 3.0 プロトコルをサポートしており、XQWizard などの GUI フロントエンドと統合可能です。

対象ユーザー

  • 象棋愛好家: 強力な AI 相手を探しているプレイヤー、または自分の対局を分析するツールが必要な人。
  • ゲームAI開発者: 伝統的なゲーム木探索アルゴリズムやボードゲームAIアーキテクチャに興味があるプログラマー。

特徴

  • UCCI 3.0 対応: 標準的な中国将棋エンジンインターフェースとシームレスに連携可能。
  • 豊富なオープニングブック: 上位プロの対局から導かれた 10,000 通りの対称的手を収録。
  • モジュール設計: 探索エンジンと評価関数を分離しており、他の開発者が容易に拡張または修正できる構造になっています。
  • 包括的なツールセット: オープニングブックの作成、探索木の分析、対局記法フォーマットの変換などに使えるユーティリティが付属。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト