Interfaz de ajedrez universal
La Interfaz Universal de Ajedrez (UCI) es un protocolo de comunicación abierto que permite que los motores de ajedrez se comuniquen con las interfaces de usuario.
Historia
En noviembre de 2000, se publicó el protocolo UCI. Diseñado por Rudolf Huber y Stefan Meyer-Kahlen, el autor de Shredder, UCI rivaliza con el antiguo "Protocolo de comunicación del motor de ajedrez" introducido con XBoard/WinBoard.
En 2002, Chessbase, la empresa de software de ajedrez que comercializa Fritz, comenzó a admitir UCI, que anteriormente solo había sido compatible con unas pocas interfaces y motores.
A partir de 2021, se sabe que más de 300 motores son compatibles directamente con UCI.
Diseño
Por diseño, UCI asigna algunas tareas a la interfaz de usuario (es decir, la capa de presentación) que tradicionalmente han sido manejadas por el propio motor (en la capa empresarial).
En particular, se espera que el libro de aperturas sea manejado por la interfaz de usuario, simplemente seleccionando movimientos para jugar hasta que esté fuera del libro, y solo luego iniciando el motor para el cálculo en la posición resultante. UCI no especifica ningún formato en disco para el libro de aperturas. Las diferentes interfaces de usuario suelen tener sus propios formatos propietarios.
Aunque la interfaz de usuario también puede asumir la responsabilidad de manejar las bases de tablas del final del juego, podría decirse que esto se maneja mejor en el propio motor, ya que tener información de base de tablas puede ser útil para considerar posibles posiciones futuras.
El protocolo UCI de Stefan-Meyer Kahlen en Shredder utiliza una variación de la notación algebraica larga para los movimientos. Un "movimiento nulo" del motor a la GUI debe enviarse como 0000.
- Ejemplos
- e2e4
- e7e5
- e1g1 (en castlinga blanca corta)
- e7e8q (para la promoción)
Características
El parámetro uci_limitstrength indica a los motores con esta función que jueguen a un nivel más bajo. El parámetro uci_elo especifica la calificación Elo a la que el motor intentará jugar. Los motores que han implementado uci_elo incluyen Delfi, Fritz, Hiarcs, Houdini, Junior, Rybka, Shredder, Sjeng y Stockfish.
Variantes
La UCI ha sido modificada para jugar algunas variantes de ajedrez. Algunos de estos son:
- Universal Shogi Interface (USI), dialecto para shogi;
- Universal Chinese Chess Interface (UCCI), un dialecto para xiangqi.
Cada uno de estos protocolos también puede definir variantes de PGN y FEN. Se dice que XBoard CECP requiere muchos menos cambios para admitir variantes.
Contenido relacionado
Probabilidad de póquer
Dibujar (póquer)
Hereje II