UCI

2022-02-26 07:03:32

跳转到导航跳转到搜索通用国际象棋界面(UCI)是一个开放的通信协议,使国际象棋引擎能够与用户界面进行通信。[1] [2]

2000年11月,UCI协议发布。UCI由鲁道夫·胡伯和斯特凡·迈耶·卡伦(Stefan Meyer Kahlen)设计,后者是《碎纸机》一书的作者,与老款";国际象棋引擎通信协议";引入XBoard/WinBoard。

2002年,销售Fritz的国际象棋软件公司Chessbase开始支持UCI,此前只有几个接口和引擎支持UCI。

根据设计,UCI将一些任务分配给用户界面(即表示层),这些任务通常由引擎(在业务层)本身处理。[需要引用]

最值得注意的是,开场白通常由用户界面处理,只需选择要播放的动作,直到出局,然后启动引擎,在结果位置进行计算。UCI没有为开卷指定任何磁盘格式。不同的用户界面通常有自己的专有格式。[需要引用]

虽然用户界面也可以负责处理游戏结束时的数据库,但这在引擎本身中可以更好地处理,因为拥有数据库信息有助于考虑未来可能的位置。[3]

斯特凡·迈耶·卡伦';碎纸机中的UCI协议使用长代数表示法进行移动。A";nullmove";从引擎到GUI应以0000的形式发送。[4]

uci_limitstrength参数告诉具有此功能的发动机在较低级别上进行播放。uci_elo参数指定发动机将要进行的elo等级。实现uci_elo的引擎包括Delfi、Fritz、Hiarcs、Houdini、Junior、Rybka、Sjeng和Stockfish。

这些协议中的每一个都可能定义PGN和FEN的变体。据说XBoard CECP需要的修改要少得多,以支持变体。[5]

^托雷斯,JC(2014-06-23)"Lichess通过新的国际象棋网站功能拥抱盲人玩家";。SlashGear。

^ "中国象棋电脑应用规范(五):中国象棋通用引擎协议". www.xqbase。通用域名格式。