stringtranslate.com

Leela Ajedrez Cero

Leela Chess Zero (abreviado como LCZero , lc0 ) es un motor de ajedrez gratuito, de código abierto y basado en una red neuronal profunda y un proyecto informático voluntario . El desarrollo ha sido encabezado por el programador Gary Linscott, quien también es desarrollador del motor de ajedrez Stockfish . Leela Chess Zero fue una adaptación del motor Leela Zero Go , [1] que a su vez se basó en el proyecto AlphaGo Zero de Google . [2] Uno de los propósitos de Leela Chess Zero era verificar los métodos del artículo AlphaZero aplicados al juego de ajedrez.

Al igual que Leela Zero y AlphaGo Zero, Leela Chess Zero comienza sin ningún conocimiento intrínseco específico del ajedrez aparte de las reglas básicas del juego. [1] Leela Chess Zero luego aprende a jugar ajedrez mediante el aprendizaje reforzado a partir del autojuego repetido , utilizando una red informática distribuida coordinada en el sitio web de Leela Chess Zero.

Hasta enero de 2024 , Leela Chess Zero ha jugado más de 2.200 millones de partidas contra sí mismo, jugando alrededor de 1 millón de partidas cada día, [3] y es capaz de jugar a un nivel comparable al de Stockfish , el principal programa de ajedrez convencional. [4] [5]

Historia

El proyecto Leela Chess Zero se anunció por primera vez en TalkChess.com el 9 de enero de 2018. [1] [6] Esto reveló a Leela Chess Zero como el motor de ajedrez de código abierto y autoaprendizaje por el que se conocería, con un objetivo de crear un motor de ajedrez potente. [7] En los primeros meses de entrenamiento, Leela Chess Zero ya había alcanzado el nivel de Gran Maestro , superando la fuerza de los primeros lanzamientos de Rybka , Stockfish y Komodo , a pesar de evaluar órdenes de magnitud menos posiciones debido a su profunda red neuronal en su Función de evaluación y su uso de la búsqueda de árboles de Monte Carlo .

En diciembre de 2018, el equipo de AlphaZero publicó un nuevo artículo en la revista Science que revela detalles no revelados anteriormente sobre la arquitectura y los parámetros de entrenamiento utilizados para AlphaZero. [8] Estos cambios pronto se incorporaron a Leela Chess Zero y aumentaron tanto su fuerza como su eficiencia de entrenamiento. [9]

El trabajo en Leela Chess Zero ha servido de base para el proyecto similar AobaZero para shogi . [10]

El motor ha sido reescrito y repetido cuidadosamente desde su inicio, y ahora se ejecuta en múltiples backends , lo que le permite utilizar de manera efectiva diferentes tipos de hardware, tanto CPU como GPU. [11]

El motor admite la variante Fischer Random Chess y se está entrenando una red para probar la viabilidad de dicha red a partir de mayo de 2020. [11]

Programa y uso

El método utilizado por sus diseñadores para hacer que Leela Chess Zero autoaprenda y juegue ajedrez por encima del nivel humano es el aprendizaje por refuerzo . Este es un algoritmo de aprendizaje automático, reflejado de AlphaZero utilizado por el código ejecutable / binario de entrenamiento Leela Chess Zero (llamado "binario") para maximizar la recompensa a través del juego autónomo . [1] [8] Como proyecto de computación distribuida de código abierto, los usuarios voluntarios ejecutan Leela Chess Zero para jugar cientos de millones de juegos que se alimentan al algoritmo de refuerzo. [3] Para contribuir al avance del motor Leela Chess Zero, se debe descargar la última versión candidata que no es de lanzamiento (no rc) del motor, así como el Cliente. Se necesita que el Cliente se conecte al servidor actual de Leela Chess Zero, donde se almacena toda la información de las partidas de ajedrez de autojuego, para obtener la red más reciente, generar partidas de autojuego y cargar los datos de entrenamiento nuevamente en el servidor. [12]

Para jugar contra el motor Leela Chess Zero en una máquina, se necesitan dos componentes: el motor binario y una red. (El binario del motor se diferencia del cliente en que el cliente se utiliza como plataforma de formación para el motor). La red contiene la función de evaluación de Leela Chess Zero que es necesaria para evaluar posiciones. [12] Las redes más antiguas también se pueden descargar y utilizar colocándolas en la carpeta con el binario Lc0.

Auto-juego Elo

Elo de juego automático se utiliza para medir la fuerza relativa de la red para buscar anomalías y cambios generales en la fuerza de la red, y puede usarse como herramienta de diagnóstico cuando Lc0 sufre cambios significativos. A través de juegos de prueba que se juegan con una variación mínima basada en la temperatura, [13] los clientes del motor Lc0 prueban la versión más reciente contra otras versiones recientes de la misma red, que luego se envía al servidor de entrenamiento para crear una evaluación Elo general.

Se utilizan fórmulas Elo estándar para calcular la fuerza Elo relativa entre los dos jugadores. Los cálculos de Elo de juego automático más recientes utilizan los resultados de los juegos contra múltiples versiones de la red para calcular un valor de Elo más preciso.

El enfoque de juego autónomo tiene varias consecuencias al medir la calificación Elo Lc0:

La inflación acumulativa del Elo de juego propio se puede comparar con otras series para medir la falta de generalidad al medir la fuerza con el Elo de juego propio acumulativo puro. La prueba de ejecución de Fischer Random Chess 71.4 (llamada redes 714xxx), se ubica en casi 4000 redes Elo 76 de autojuego acumuladas en su ejecución (714076). El T60 (6xxxx) con 63000 netos tiene un Elo de autojuego acumulativo de alrededor de 2900. Comparar 714076 con neto 63000 revela que 63000 vence claramente a 714076 en partidos cara a cara como máximo, si no en todos los controles de tiempo "justos". Sin embargo, el Elo de Net 63000 es significativamente más bajo que el de su oponente. Esto respalda la afirmación de que el Elo de autojuego acumulativo no es una medida objetiva de fuerza, ni es una medida que permita comparar linealmente la fuerza de la red Lc0 con la fuerza humana.

Configurar el motor para jugar un solo nodo con --minibatch-size=1y go nodes 1para cada movimiento realizado crea un juego determinista, y Self-Play Elo en dichas configuraciones siempre producirá el mismo resultado entre 2 de las mismas redes en la misma posición inicial: siempre se gana, siempre se pierde. , o siempre dibujar. El Elo de juego autónomo no es confiable para determinar la fuerza en estas circunstancias deterministas.

Productos derivados

En la temporada 15 del Top Chess Engine Championship , la locomotora AllieStein compitió junto a Leela. AllieStein es una combinación de dos derivados diferentes de Leela: Allie, que utiliza la misma red de evaluación que Leela, pero tiene un algoritmo de búsqueda único para explorar diferentes líneas de juego, y Stein, una red de evaluación que ha sido entrenada utilizando aprendizaje supervisado basado en datos de juegos existentes con otros motores (a diferencia del aprendizaje no supervisado que utiliza Leela). Si bien ninguno de estos proyectos sería admitido en TCEC por separado debido a su similitud con Leela, la combinación del algoritmo de búsqueda de Allie con la red Stein, llamada AllieStein, es lo suficientemente única como para justificar que compita junto con la corriente principal Lc0. (Las reglas TCEC requieren que un motor basado en redes neuronales tenga al menos dos componentes únicos de tres características esenciales: el código que evalúa una red, la red en sí y el algoritmo de búsqueda. Mientras que AllieStein usa el mismo código para evaluar su red como Lc0, dado que los otros dos componentes son nuevos, AllieStein se considera un motor distinto.) [14]

A principios de 2021, el blog LcZero anunció Ceres, un nuevo motor de ajedrez que utiliza redes LcZero. Implementa la búsqueda de árboles de Monte Carlo , así como muchas ideas novedosas de mejora algorítmica. Las pruebas Elo iniciales mostraron que Ceres es más fuerte que Lc0 con la misma red. [15]

Resultados de la competencia

En abril de 2018, Leela Chess Zero se convirtió en el primer motor que utiliza una red neuronal profunda en ingresar al Top Chess Engine Championship (TCEC), durante la temporada 12 en la división más baja, división 4. [16] Leela no tuvo un buen desempeño: en 28 juegos , ganó uno, empató dos y perdió el resto; su única victoria provino de una posición en la que su oponente, Scorpio 2.82, se estrelló en tres movimientos. [17] Sin embargo, mejoró rápidamente. En julio de 2018, Leela quedó séptima entre ocho competidores en el Campeonato Mundial de Ajedrez por Computadora de 2018 . [18] En agosto de 2018, ganó la división 4 de la temporada 13 de TCEC con un récord de 14 victorias, 12 empates y 2 derrotas. [17] [19] En la División 3, Leela anotó 16/28 puntos, terminando tercero detrás de Ethereal, que anotó 22,5/28 puntos, y Arasan en el desempate. [20] [17]

En septiembre de 2018, Leela se había vuelto competitivo con los motores más potentes del mundo. En el Campeonato de Ajedrez por Computadora de Chess.com (CCCC) de 2018, [21] Leela quedó en quinto lugar entre 24 participantes. Los ocho mejores motores avanzaron a la ronda 2, donde Leela quedó en cuarto lugar. [22] [23] Leela luego ganó el partido de 30 juegos contra Komodo para asegurar el tercer lugar en el torneo. [24] [25] Leela participó en la "copa TCEC", un evento en el que motores de diferentes divisiones TCEC pueden jugar partidos entre sí. Leela derrotó a los motores de divisiones superiores Laser, Ethereal y Fire antes de ser finalmente eliminada por Stockfish en las semifinales. [17]

En octubre y noviembre de 2018, Leela participó en la batalla relámpago del campeonato de ajedrez por computadora de Chess.com . [26] Leela terminó tercera detrás de Stockfish y Komodo. [27]

En diciembre de 2018, Leela participó en la temporada 14 del Campeonato Top Chess Engine . Leela dominó las divisiones 3, 2 y 1, terminando fácilmente en primer lugar en todas ellas. En la primera división, Stockfish dominó mientras Houdini , Komodo y Leela compitieron por el segundo lugar. Todo se redujo a una partida de la ronda final en la que Leela necesitaba mantener a Stockfish en empate con negras para terminar segundo por delante de Komodo. Leela logró esto y por eso se enfrentó a Stockfish en la superfinal. En un partido de ida y vuelta, primero Stockfish y luego Leela tomaron tres ventajas antes de que Stockfish ganara por el margen más estrecho de 50,5 a 49,5. [17]

En febrero de 2019, Leela logró su primera victoria en un torneo importante cuando derrotó a Houdini en la final de la segunda copa TCEC. Leela no perdió un juego en todo el torneo. [17] [28] En abril de 2019, Leela ganó el Campeonato de Ajedrez por Computadora 7 de Chess.com: Blitz Bonanza, convirtiéndose en el primer proyecto de red neuronal en llevarse el título. [29]

En la temporada 15 del Top Chess Engine Championship (mayo de 2019), Leela defendió su título de copa TCEC, esta vez derrotando a Stockfish en la final 5,5–4,5 (+2 = 7 −1) después de que Stockfish cometiera un error en un empate de siete hombres . [30] Leela también ganó la Superfinal por primera vez, con una puntuación de 53,5 a 46,5 (+14 −7 = 79) contra Stockfish, incluida la victoria con blancas y negras en la misma apertura predeterminada en los juegos 61 y 62. [31] [ 32]

En la temporada 16 de TCEC, Leela terminó en tercer lugar en la división principal, perdiendo la clasificación para la superfinal ante Stockfish y el nuevo motor de red neuronal profunda AllieStein. Leela no sufrió ninguna derrota en la división Premier, el único motor que lo hizo, y derrotó a Stockfish en uno de los seis partidos que disputaron. Sin embargo, Leela solo logró nueve victorias, mientras que AllieStein y Stockfish obtuvieron 14 victorias. Esta incapacidad para derrotar a los motores más débiles llevó a Leela a terminar tercero, medio punto detrás de AllieStein y un punto detrás de Stockfish. [33] En la cuarta copa TCEC, Leela fue sembrada primera como campeona defensora, lo que la colocó en la mitad opuesta de las llaves como AllieStein y Stockfish. Leela pudo clasificarse para la final, donde se enfrentó a Stockfish. Después de siete empates, Stockfish ganó el octavo juego para ganar el partido. [34]

En la temporada 17 de TCEC , celebrada en enero-abril de 2020, Leela recuperó el campeonato al derrotar a Stockfish 52,5–47,5, logrando seis victorias notables en los últimos diez juegos, incluida la victoria con blancas y negras en la misma apertura predeterminada en los juegos 95. y 96. [35] Se clasificó nuevamente para la superfinal en la temporada 18 , pero esta vez fue derrotado por Stockfish 53,5–46,5. [36] En la final de la Copa TCEC 6, Leela perdió ante AllieStein, terminando segunda. [37]

En la temporada 19 de TCEC, Leela volvió a clasificarse para la superfinal. Esta vez jugó contra una nueva versión de Stockfish compatible con NNUE , una función de evaluación basada en redes neuronales superficiales utilizada principalmente para los nodos de hoja del árbol de búsqueda. Stockfish NNUE derrotó a Leela de manera convincente con una puntuación final de 54,5–45,5 (+18 −9 = 73). [38] [39] Desde entonces, Leela se ha clasificado cuatro veces para la superfinal, solo para perder cada vez ante Stockfish: +14 −8 =78 en la temporada 20 , +19 −7 =74 en la temporada 21, +27 −10 =63 en la temporada 23 y +20 −16 =64 en la temporada 24.

Resumen de resultados

Juegos notables

Referencias

  1. ^ abcd "Leela Chess Zero: gráfico Elo completo". Lczero.org . 7 de marzo de 2019 . Consultado el 7 de marzo de 2019 .
  2. ^ "leela-cero". GitHub . Consultado el 27 de abril de 2018 .
  3. ^ ab "LCZero". lczero.org . Consultado el 13 de enero de 2022 .
  4. ^ "Lc0 gana el campeonato de ajedrez por computadora y hace historia". Ajedrez.com . Consultado el 29 de mayo de 2019 .
  5. ^ ab Pete (pete) (24 de mayo de 2019). "Stockfish contraataca y encabeza Lc0 en el campeonato de ajedrez por computadora". Ajedrez.com . Consultado el 29 de mayo de 2019 .
  6. ^ "Anuncio de lczero". TalkChess.com . Consultado el 11 de junio de 2018 .
  7. ^ "Anuncio de lczero - TalkChess.com". www.talkchess.com . Consultado el 21 de marzo de 2019 .
  8. ^ ab Plata, David; Hubert, Thomas; Schrittwieser, Julián; et al. (6 de diciembre de 2018). "Un algoritmo general de aprendizaje por refuerzo que domina el ajedrez, el shogi y el juego autónomo" (PDF) . Ciencia . 362 (6419): 1140–1144. Código Bib : 2018 Ciencia... 362.1140S. doi : 10.1126/science.aar6404 . PMID  30523106. S2CID  54457125.
  9. ^ "Papel AlphaZero y Lc0 v0.19.1". 7 de diciembre de 2018 . Consultado el 14 de febrero de 2019 .
  10. ^ Kobayashi, Yuki (15 de septiembre de 2019), GitHub - kobanium/aobazero: Aoba Zero. , recuperado el 25 de septiembre de 2019
  11. ^ ab "leela-ajedrez-cero". GitHub . Consultado el 11 de mayo de 2020 .
  12. ^ ab El motor reescrito, originalmente para tensorflow. Ahora todos los demás backends se han portado aquí: LeelaChessZero/lc0, LCZero, 2019-03-20 , consultado el 21 de marzo de 2019.
  13. ^ La temperatura es un concepto técnico que hace que el juego de Lc0 sea más aleatorio. La temperatura alta efectivamente significa que Lc0 realiza con mayor frecuencia movimientos distintos de los que cree que son los mejores. Esta es una configuración que solo debe usarse durante el entrenamiento, para ayudar a encontrar posiciones desconocidas y, por lo tanto, aprenderlas.
  14. ^ "Allie+Stein, el nuevo motor basado en redes neuronales que ingresa a TCEC S15". 2 de marzo de 2019.
  15. ^ "Anunciando Ceres". Blog de LcZero . Consultado el 26 de julio de 2021 .
  16. ^ "Última hora: Leela Chess Zero ingresa a la temporada 12 de TCEC". Ajedrez. 18 de abril de 2018.
  17. ^ abcdef "Base de datos de las temporadas 1-14 y Copa TEC 1-2". Legado TEC. Ajedrez . Archivado desde el original el 7 de diciembre de 2019 . Consultado el 26 de noviembre de 2022 .
  18. ^ "Campeonato Mundial de Ajedrez por Computadora 2018". ICGA . Consultado el 19 de julio de 2018 .
  19. ^ "Leela Chess Zero gana la medalla de oro en TCEC Div 4 | Chessdom". 11 de agosto de 2018 . Consultado el 21 de marzo de 2019 .
  20. ^ "El motor de ajedrez etéreo gana el oro en TCEC Div 3 | Chessdom". 17 de agosto de 2018 . Consultado el 21 de marzo de 2019 .
  21. ^ "Campeonato de ajedrez informático de Chess.com".
  22. ^ "Terminó la etapa 2 de CCCC. ¡Leela cuarta con una buena actuación! ¡Stockfish invicto!". Blog de LCZero . 26 de septiembre de 2018 . Consultado el 26 de septiembre de 2018 .
  23. ^ Cilento, Pete (26 de septiembre de 2018). "Stockfish y Houdini luchan por el campeonato de ajedrez informático; Komodo vs Lc0 por el tercer puesto". Ajedrez.com . Consultado el 9 de octubre de 2018 .
  24. ^ "¡Leela gana la serie de partidos contra Komodo y gana un juego de probabilidades de peón contra Stockfish!". Blog de LCZero . 3 de octubre de 2018 . Consultado el 9 de octubre de 2018 .
  25. ^ Cilento, Pete (4 de octubre de 2018). "Stockfish gana el campeonato rápido de ajedrez por computadora; Lc0 termina tercero". Ajedrez.com . Consultado el 9 de octubre de 2018 .
  26. ^ Cilento, Pete (11 de octubre de 2018). "El campeonato de ajedrez por computadora regresa para la batalla relámpago". Ajedrez.com . Consultado el 22 de noviembre de 2018 .
  27. ^ Cilento, Pete (19 de noviembre de 2018). "Stockfish gana el bombardeo del campeonato de ajedrez por computadora". Ajedrez.com . Consultado el 22 de noviembre de 2018 .
  28. ^ "¡Leela ganó la COPA TCEC!". Blog de LCZero . 4 de febrero de 2019 . Consultado el 12 de febrero de 2019 .
  29. ^ ab Cilento, Pete (17 de abril de 2019). "Lc0 gana el campeonato de ajedrez por computadora y hace historia". Ajedrez.com . Consultado el 18 de abril de 2019 .
  30. ^ "Copa TCEC 3 - Estadísticas del juego final". TCEC . Consultado el 26 de noviembre de 2022 .
  31. ^ "Lc0 ganó TCEC 15". Blog de LCZero . 28 de mayo de 2019 . Consultado el 28 de mayo de 2019 .
  32. ^ Högy, Kevin (2 de junio de 2019). "¿Una nueva era en el ajedrez informático? ¡Lc0 vence a Stockfish!". ajedrez24 . Consultado el 25 de junio de 2019 .
  33. ^ "Temporada 16, archivo Div P" . Consultado el 30 de septiembre de 2019 .
  34. ^ "Archivo de la Copa TCEC 4" . Consultado el 18 de noviembre de 2019 .
  35. ^ "Informe final de TCEC".
  36. ^ "Archivo de la temporada 18 de TCEC" . Consultado el 3 de julio de 2020 .
  37. ^ "Final de la Copa TCEC 6". Ajedrez TCEC . Consultado el 23 de julio de 2020 .
  38. ^ "Temporada 19, archivo Div SF" . Consultado el 19 de octubre de 2020 .
  39. ^ "Pescado seco 12". Blog de pescado seco . Consultado el 19 de octubre de 2020 .
  40. ^ ab "TCEC - Transmisión de ajedrez en vivo".
  41. ^ Cilento, Pete (4 de octubre de 2018). "Stockfish gana el campeonato rápido de ajedrez por computadora; Lc0 termina tercero". Ajedrez.com . Consultado el 20 de junio de 2019 .
  42. ^ Cilento, Pete (20 de noviembre de 2018). "Stockfish gana el bombardeo del campeonato de ajedrez por computadora". Ajedrez.com . Consultado el 20 de junio de 2019 .
  43. ^ Cilento, Pete. "Stockfish gana el campeonato de computadora rápida sobre Lc0; el próximo Bullet Chess". Ajedrez.com . Consultado el 20 de junio de 2019 .
  44. ^ Cilento, Pete (31 de enero de 2019). "Stockfish gana el campeonato de ajedrez por computadora Bullet; la próxima 'escalada'". Ajedrez.com . Consultado el 20 de junio de 2019 .
  45. ^ https://cccfiles.chess.com/archive/tournament-18208.pgn
  46. ^ Cilento, Pete. "El campeonato de ajedrez por computadora juega Blitz después de que Stockfish defienda el título". Ajedrez.com . Consultado el 20 de junio de 2019 .
  47. ^ Cilento, Pete (7 de agosto de 2019). "Stockfish gana el campeonato de ajedrez por computadora mientras las redes neuronales se ponen al día". Ajedrez.com . Consultado el 19 de septiembre de 2019 .
  48. ^ "Campeonato de ajedrez por ordenador". Ajedrez.com . Consultado el 19 de septiembre de 2019 .
  49. ^ "Campeonato de ajedrez por ordenador". Ajedrez.com . Consultado el 23 de diciembre de 2019 .
  50. ^ "Campeonato de ajedrez por ordenador". Ajedrez.com . Consultado el 23 de enero de 2020 .
  51. ^ "Campeonato de ajedrez por ordenador". Ajedrez.com . Consultado el 14 de abril de 2020 .
  52. ^ Doggers, Peter (18 de abril de 2020). "Leela Chess Zero vence a Stockfish 106–94 en el 13º campeonato de ajedrez informático de Chess.com". Ajedrez.com . Consultado el 24 de abril de 2020 .
  53. ^ "Resultados de CCC14". Formatos CCC . Consultado el 19 de agosto de 2020 .
  54. ^ "Campeonato de ajedrez por ordenador". Ajedrez.com . Consultado el 24 de febrero de 2022 .
  55. ^ "Campeonato de ajedrez por ordenador". Ajedrez.com . Consultado el 24 de febrero de 2022 .
  56. ^ "Campeonato de ajedrez por ordenador". Ajedrez.com . Consultado el 24 de febrero de 2022 .
  57. ^ "Campeonato de ajedrez por ordenador". Ajedrez.com . Consultado el 24 de febrero de 2022 .
  58. ^ "Campeonato de ajedrez por ordenador". Ajedrez.com . Consultado el 24 de febrero de 2022 .
  59. ^ "Campeonato de ajedrez por ordenador CCC 17: Rápido". Ajedrez.com . Consultado el 30 de marzo de 2022 .
  60. ^ "Campeonato de ajedrez por computadora CCC 17: Bullet". Ajedrez.com . Consultado el 24 de marzo de 2023 .
  61. ^ "Campeonato de ajedrez por computadora CCC 17: Blitz". Ajedrez.com . Consultado el 13 de julio de 2022 .
  62. ^ "Campeonato de ajedrez por ordenador CCC 18: Rápido". Ajedrez.com . Consultado el 24 de marzo de 2023 .
  63. ^ "Campeonato de ajedrez por computadora CCC 19: Blitz". Ajedrez.com . Consultado el 24 de marzo de 2023 .
  64. ^ "Campeonato de ajedrez por ordenador CCC 19: Rápido". Ajedrez.com . Consultado el 24 de marzo de 2023 .
  65. ^ "Campeonato de ajedrez por ordenador CCC 19: Bullet". Ajedrez.com . Consultado el 24 de marzo de 2023 .
  66. ^ "Campeonato de ajedrez por computadora CCC 20: Blitz". Ajedrez.com . Consultado el 24 de marzo de 2023 .
  67. ^ "Campeonato de ajedrez por ordenador CCC 20: Rápido". Ajedrez.com . Consultado el 30 de junio de 2023 .
  68. ^ "Campeonato de ajedrez por computadora CCC 20: Bullet". Ajedrez.com . Consultado el 4 de agosto de 2023 .
  69. ^ "Campeonato de ajedrez por computadora CCC 21: Blitz". Ajedrez.com . Consultado el 18 de agosto de 2023 .
  70. ^ "Campeonato de ajedrez por ordenador CCC 21: Rápido". Ajedrez.com . Consultado el 13 de octubre de 2023 .
  71. ^ "Campeonato de ajedrez por ordenador con los mejores motores". Ajedrez.com . Consultado el 3 de diciembre de 2023 .

enlaces externos