ユニバーサルチェスインターフェース(UCI )は、チェスエンジンがユーザーインターフェースと通信できるようにするオープン通信プロトコルです。[1] [2]
歴史
2000 年 11 月に、UCI プロトコルがリリースされました。Rudolf Huber 氏と、Shredderの作者であるStefan Meyer-Kahlen氏によって設計された UCI は、 XBoard/WinBoardで導入された古い「チェス エンジン通信プロトコル」に匹敵します。
2002年、Fritzを販売しているチェスソフトウェア会社Chessbaseは、それまで少数のインターフェースとエンジンでしかサポートされていなかったUCIのサポートを開始しました。
2021 年現在[アップデート]、300 を超えるエンジンが UCI を直接サポートしていることがわかっています。
デザイン
設計上、UCI は、従来はエンジン (ビジネス層) 自体によって処理されていた一部のタスクをユーザー インターフェイス (プレゼンテーション層) に割り当てます。[引用が必要]
最も注目すべきは、オープニングブックは通常UIによって処理されることが想定されており、単にブックから外れるまでプレイする手を選択し、結果の位置で計算するためにエンジンを起動するだけです。UCI はオープニングブックのディスク上の形式を指定していません。異なる UI は通常、独自の専用形式を持っています。[引用が必要]
UIはエンドゲームのテーブルベースの処理も担当できますが、テーブルベースの情報があれば将来の可能性のあるポジションを検討する際に役立つため、エンジン自体で処理する方がおそらくより適切です。[3]
シュレッダーのシュテファン・マイヤー・カーレンのUCIプロトコルは、移動に長い代数表記のバリエーションを使用します。エンジンからGUIへの「nullmove」は0000として送信する必要があります。[4]
- 例
- 翻訳
- え7e5
- e1g1 (白のショートキャスリング)
- e7e8q (昇進用)
特徴
uci_limitstrength パラメータは、この機能を備えたエンジンに低いレベルでプレイするように指示します。 uci_elo パラメータは、エンジンがプレイすることを目指すElo レーティングを指定します。 uci_elo を実装しているエンジンには、 Delfi、Fritz、Hiarcs、Houdini、Junior、Rybka、Shredder、Sjeng、Stockfish などがあります。
バリエーション
UCIはいくつかのチェスのバリエーションをプレイできるように変更されました。これらのいくつかは次のとおりです: [5]
- 将棋の方言であるユニバーサル将棋インターフェース(USI)[6]
- ユニバーサル・チャイニーズ・チェス・インターフェース(UCCI)、シャンチーの方言。[7]
これらのプロトコルはそれぞれ、ポータブルゲーム記法(PGN)とフォーサイス・エドワーズ記法(FEN)の変種も定義している。XBoard CECPは、変種をサポートするのに必要な変更がはるかに少ないと言われている。[5]
参照
- チェス エンジン通信プロトコル(XBoard プロトコル)
- シュレッダー
- エックスボード
参考文献
- ^ 「チェスエンジン」。Business World Online。2017年4月6日。 2018年6月14日閲覧。
- ^ Torres, JC (2014-06-23). 「Lichess が新しいチェスサイト機能で視覚障碍者プレイヤーに対応」SlashGear . 2018-06-14閲覧。
- ^ チェスライフ。米国チェス連盟。2003年。
- ^ 「UCIプロトコル」www.wbec-ridderkerk.nl . 2018年6月14日閲覧。
- ^ ab Evert. 「チェスのバリエーションのための UCI プロトコル」。TalkChess.com。
- ^ 「ユニバーサル将棋インターフェース(USI)」hgm.nubati.net。
- ^ "中国象棋电脑应用规范(五):中国象棋通用引擎协议". www.xqbase.com。
外部リンク
- UCI エンジンのリスト (継続的に更新)
- UCI 技術仕様ダウンロードページ
