La Interfaz Universal de Ajedrez ( UCI ) es un protocolo de comunicación abierto que permite a los motores de ajedrez comunicarse con interfaces de usuario . [1] [2]
Historia
En noviembre de 2000 se publicó el protocolo UCI. Diseñado por Rudolf Huber y Stefan Meyer-Kahlen , el autor de Shredder , el UCI rivaliza con el antiguo "Protocolo de comunicación de motor de ajedrez" introducido con XBoard/WinBoard .
En 2002, Chessbase , la empresa de software de ajedrez que comercializa Fritz , comenzó a dar soporte a UCI, que anteriormente sólo era compatible con unas pocas interfaces y motores.
A partir de 2021 [actualizar], se sabe que más de 300 motores admiten directamente 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). [ cita requerida ]
En particular, se espera que el libro de aperturas sea manejado por la IU , simplemente seleccionando movimientos para jugar hasta que se agote el libro, y solo entonces iniciando el motor para el cálculo en la posición resultante. La UCI no especifica ningún formato en disco para el libro de aperturas. Las diferentes IU suelen tener sus propios formatos propietarios. [ cita requerida ]
Si bien la interfaz de usuario también puede asumir la responsabilidad de manejar las tablas de finales , esto se puede manejar mejor en el motor mismo, ya que tener información de la tabla puede ser útil para considerar posibles posiciones futuras. [3]
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 interfaz gráfica de usuario debe enviarse como 0000. [4]
- Ejemplos
- e2e4
- e7e5
- e1g1 (enroque corto de las blancas)
- e7e8q (para promoción)
Características
El parámetro uci_limitstrength indica a los motores con esta función que jueguen a un nivel inferior. El parámetro uci_elo especifica la puntuación Elo con la que el motor intentará jugar. Entre los motores que han implementado uci_elo se incluyen Delfi , Fritz , Hiarcs , Houdini , Junior , Rybka , Shredder , Sjeng y Stockfish .
Variantes
La UCI ha sido modificada para poder jugar algunas variantes del ajedrez . Algunas de ellas son: [5]
- Interfaz Universal Shogi (USI), un dialecto para shogi ; [6]
- Interfaz universal de ajedrez chino (UCCI), un dialecto del xiangqi . [7]
Cada uno de estos protocolos también puede definir variantes de la Notación de Juegos Portátil (PGN) y la Notación Forsyth–Edwards (FEN) . Se dice que el CECP de XBoard requiere muchos menos cambios para admitir variantes. [5]
Véase también
- Protocolo de comunicación del motor de ajedrez (protocolo XBoard)
- Desfibradora
- Tablero X
Referencias
- ^ "Motores de ajedrez". Business World Online . 2017-04-06 . Consultado el 2018-06-14 .
- ^ Torres, JC (23 de junio de 2014). "Lichess acoge a los jugadores ciegos con nuevas funciones para su sitio de ajedrez". SlashGear . Consultado el 14 de junio de 2018 .
- ^ Chess Life. Federación Estadounidense de Ajedrez. 2003.
- ^ "Protocolo UCI". www.wbec-ridderkerk.nl . Consultado el 14 de junio de 2018 .
- ^ ab Evert. "Protocolo UCI para variantes de ajedrez". TalkChess.com .
- ^ "La Interfaz Universal de Shogi (USI)". hgm.nubati.net .
- ^ "中国象棋电脑应用规范 (五):中国象棋通用引擎协议". www.xqbase.com .
Enlaces externos
- Lista de motores UCI (actualizada continuamente)
- Página de descarga de especificaciones técnicas de la UCI