Una interfaz universal de ajedrez (UCI) es un protocolo de comunicación abierto que permite a los motores de ajedrez comunicarse 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 compite con el antiguo "Protocolo de comunicación del motor de ajedrez" introducido con XBoard/WinBoard.
En 2002, ChessBase, la compañía de software de ajedrez que comercializa Fritz, comenzó a respaldar el protocolo UCI, que anteriormente solo contaba con algunas interfaces y motores.
A partir de 2007, se sabe que más de 100 motores son compatibles directamente con UCI, incluyendo a los mejores motores disponibles en el momento.
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, generalmente se espera que la interfaz de usuario maneje el libro de aperturas, 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 apertura. Las diferentes interfaces de usuario suelen tener sus propios formatos propietarios.
Si bien la interfaz de usuario también puede asumir la responsabilidad de manejar las bases de tablas de finales, esto se maneja mejor en el propio motor, ya que tener información de la base de tablas puede ser útil para considerar posibles posiciones futuras.
El protocolo UCI de Stefan-Meyer Kahlen en Shredder utiliza una notación algebraica larga para los movimientos. Un "nullmove" del motor a la GUI debe enviarse como 0000.
Ejemplos e2e4 e7e5 e1g1 (enroque corto) e7e8q (promoción)
Funciones El parámetro uci_limitstrength le dice a los motores con esta característica que jueguen a un nivel más bajo. El parámetro uci_elo especifica la clasificación Elo a la que el motor apuntará a jugar.
Variantes La UCI ha sido modificada para jugar algunas variantes de ajedrez. Algunos de estos son: Universal Shogi Interface (USI), variante para el shogi; Universal Chinese Chess Interface (UCCI), variante para el 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.
Véase también Motor de ajedrez Shredder XBoard
Referencias
Enlaces externos Lista de motores UCI (a febrero de 2014) Descarga de especificaciones técnicas de UCI
Categoría:Ajedrez Categoría:Motor de ajedrez Categoría:Programas de ajedrez