Объяснение
UCI означает универсальный шахматный интерфейс. Это открытый протокол, определяющий, как пользовательский интерфейс взаимодействует с . Графический интерфейс является программой, показывающей доску, часы и элементы управления, а движок является программой, вычисляющей ходы и оценки. 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
