解释
UCI 是 Universal Chess Interface 的缩写,是定义用户界面如何与通信的开放协议。图形界面显示棋盘、时钟和控件,引擎计算着法和评价。UCI 让不同开发者的产品协同工作。
典型通信流程
- 界面启动引擎并发送 uci。
- 引擎返回名称、选项和 uciok。
- 界面可修改选项,并用 isready 确认准备完成。
- 界面用 position 发送初始局面或及可选着法。
- go 命令按时间、深度等限制启动搜索。
- 搜索中引擎可发送 info,结束时发送 bestmove。
UCI 着法通常写成起点格和终点格,如 e2e4;升变再加棋子字母,如 e7e8q。这不同于阅读棋谱常用的。
UCI 定义通信语言,不决定引擎强度或界面外观。它也不同于,两者命令不能直接互换。
常见混淆
UCI 与引擎
UCI 不计算着法,只负责向兼容引擎请求计算。
UCI 与 CECP
两者是不同协议,兼容其中一个的引擎未必理解另一个。
查看术语来源
- 1.UCI Protocol, Shredder Chess
- 2.UCI Protocol and Stockfish Commands, Stockfish
