¿Cómo es el motor de ajedrez Leela Chess Zero? Descarga este gran motor de ajedrez

 

Leela Chess Zero (LCZero, Lc0) es un motor de ajedrez que utiliza redes neuronales y computación distribuida. El proyecto está dirigido por el programador Gary Linscott, que también es uno de los cuatro desarrolladores de Stockfish. En su creación, Linscott ha implementado las ideas de AlphaZero, el programa de redes neuronales de Google, aclamado a bombo y platillo a finales de 2017 por su masacre sin concesiones a los programas informáticos más potentes para jugar al ajedrez, al go y al shogi.


Descargar Leela Chess Zero (al final del post puedes ver como se instala)

Características de Leela Chess Zero

En su enfoque de los retos a los que se enfrentan, programas como Leela Chess Zero y AlphaZero son fundamentalmente diferentes de los motores de ajedrez con "algorítmicos" tradicionales como Stockfish, Komodo o Houdini. Las redes neuronales en las que se basan las primeras no están programadas en el sentido habitual, sino que se entrenan jugando contra sí mismas, formando su propio entendimiento.

Características Leela Chess Zero
Características Leela Chess Zero

 

El paradigma clásico de los motores de ajedrez utiliza un algoritmo de poda alfa-beta para la función de búsqueda (Alpha-Beta Pruning) y una función de evaluación implementada por el desarrollador, que prescribe al programa acciones estrictamente definidas según un algoritmo determinado, que se mejora continuamente por ensayo y error humano. Las entradas son una representación del tablero, las reglas básicas del juego y unos últimos movimientos, si la posición no es inicial. LCZero y AlphaZero reciben la misma entrada, pero utilizan la búsqueda de árbol Monte Carlo. La función de evaluación se deja en manos de las redes neuronales y su algoritmo de aprendizaje.

Una red neuronal (en nuestro caso una red neuronal artificial) es un intento de modelar, con cierta aproximación, una red de células nerviosas en un organismo vivo. Los trabajos en este ámbito han dado lugar a la aparición de la sección de inteligencia artificial del aprendizaje automático: en un momento dado, quedó claro que dichos modelos, debido al intercambio de información entre las neuronas de su interior, son capaces de aprender. Este algoritmo de aprendizaje en su proceso permite a la red neuronal reconocer dependencias complejas entre los datos de entrada y salida, realizando como resultado una operación de generalización. Así, el programa es capaz de encontrar la solución correcta, a pesar de la falta de datos sobre ella en la muestra de entrenamiento.
Una red neuronal "desnuda" aprendiendo el tablero es una estupidez. Pero cuanto más aprende jugando consigo mismo, más inteligente se vuelve. Además, junto con el método de Montecarlo, se complementan y mejoran gradualmente. 

Antes de su primer reto de 100 partidas de ajedrez con Stockfish, AlphaZero jugó al ajedrez contra sí mismo millones de veces en sólo cuatro horas y, como ya saben, hizo añicos a su oponente. Para entrenar la red neuronal de Google, han utilizado una potencia de cálculo colosal: miles de procesadores sensoriales.

El desarrollador de Leela Chess Zero tardaría siglos en entrenar a su hijo con un efecto comparable. El problema de la falta de potencia de cálculo se solucionó con el método de computación distribuida. Toda una comunidad de usuarios dona cada día los recursos informáticos de sus ordenadores al proyecto, participando así directamente en el entrenamiento y desarrollo de las redes neuronales de LCZero. En gran parte gracias a ellos, el número de partidas jugadas en total de Leela Chess Zero en junio de 2019 ya había superado los doscientos millones.

Leela Chess Zero se anunció el 9 de enero de 2018 en el foro talkchess.com. El motor comenzó su aparición en el Campeonato de Motores de Ajedrez (TCEC) en abril, comenzando en la temporada 12 con la División 4. El debut fue infructuoso: de 28 duelos que jugó Leela, perdió 25 y sólo ganó uno, y eso como consecuencia de que su oponente colgó. Sin embargo, el programa estaba en constante aprendizaje y progresaba rápidamente. En su decimotercera temporada en el TCEC, con un resultado de +14 -2 =12, ganó la División 4, en la que había fracasado apenas cuatro meses antes, y ascendió a la siguiente división. Allí, Leela terminó segunda con 7 victorias, con 18 empates y 3 derrotas.

A principios de otoño, Leela Chess Zero ya competía con los programas de ajedrez más potentes del mundo. En la primera ronda del Campeonato de Ajedrez por Ordenador 2018 (CCC1), celebrada en 3 etapas, entre los 24 programas participantes, el "neurodrive" obtuvo el 5º puesto. Los ocho primeros pasaron a la segunda ronda. De acuerdo con sus resultados, Leela ocupó la 4ª posición y luego, con la victoria sobre Komodo en el partido de 30 partidas, obtuvo el tercer puesto final en el torneo. En el partido final, Stockfish y Houdini lucharon por el liderazgo. En el siguiente torneo chess.com Computer Chess Championship Blitz Battle 2018 (CCC2), Leela volvió a ocupar el tercer puesto; Stockfish celebró la victoria, al igual que en el CCC1.

En diciembre de ese mismo año se celebró la 14ª temporada del TCEC. Esta vez Leela conquistó fácilmente todas las divisiones numeradas, de la 3ª a la 1ª. En la primera división, Stockfish se mantuvo a la cabeza, mientras que Komodo, Houdini y Leela lucharon por el segundo puesto. En la ronda final, el motor de la red neuronal tuvo que aguantar un empate en negro contra Stockfish para conseguir el segundo puesto y luchar en la superfinal. Leela lo consiguió y entró en el partido con una dura derrota de 50,5:49,5 ante su rival.

En febrero de 2019, el Leela Chess Zero ganó su primer gran trofeo, la Copa TCEC, derrotando a Houdini en la final del torneo y sin perder una sola partida por el camino. En mayo, en el marco de la 15ª temporada del TCEC, Leela volvió a enfrentarse a Stockfish en la Superfinal. Esta vez superó a su principal oponente, ganando un partido de 100 juegos con una puntuación de +14 -7 =79. Stockfish perdió el campeonato por primera vez en cuatro temporadas del Campeonato Top Chess Engine.


Descargar Leela Chess Zero.

LCZero no es un motor UCI típico, pero aún así soporta una interfaz de ajedrez universal y por lo tanto puede ser utilizado en un PC en un shell de ajedrez como Chessbase, Fritz o Arena. Sin embargo, instalar Lila y configurarlo para que funcione de forma eficiente y cómoda requerirá un poco más de esfuerzo y conocimientos, y quizá incluso una inversión, que en el caso de los mismos Stockfish, Komodo o Houdini.
Puedes descargar Leela Chess Zero desde la página oficial del desarrollador lczero.org. El programa es gratuito. Tendrás que descargarlo: 1) el archivo del motor lc0.exe y 2) el archivo de red

1) El propio motor se distribuye en tres versiones: Blas, OpenCL y Cuda.

  • Blas sólo consume recursos de la CPU; a diferencia de las versiones OpenCL y Cuda, no accede a la tarjeta de vídeo; por lo tanto, es significativamente más lento y más lento
  • OpenCL implica la GPU (unidad de procesamiento gráfico) que soporta OpenCL2
  • Cuda aprovecha las ventajas de las GPUs NVIDIA relativamente recientes y sólo funciona con ellas

Para saber si tu tarjeta de vídeo es compatible con el estándar OpenCL 1.2, puedes utilizar la utilidad GPU-Z (de distribución gratuita). Las tarjetas de AMD soportan OpenCL 1.2 desde hace cincuenta años (en la arquitectura GCN). Los gráficos integrados en la CPU (normalmente utilizados en los ordenadores portátiles) también funcionarán siempre que el estándar anterior sea compatible. Las GPU integradas de AMD permitirán utilizar la versión OpenCL de LCZero, a partir de la familia Kaveri.

Cuda es superior a OpenCL, pero sólo es compatible con las tarjetas gráficas NVIDIA a partir de la serie GTX 600, es decir, la familia Kepler (normalmente no más antigua que 2013) o más reciente (Maxwell, Pascal, Turing). Con cada nueva versión del motor sus requisitos pueden crecer - cuanto más potente sea la tarjeta de vídeo, más eficaz se mostrará.

Descargar el motor LCZero


2) En su trabajo, Leela Chess Zero utiliza redes neuronales entrenadas por desarrolladores y usuarios.

Descargar la red LCZero


Hay muchas redes disponibles para descargar y puedes utilizar cualquiera de ellas, pero hay que tener en cuenta que la última red no siempre es la más potente.

Instalar Leela Chess Zero

Cómo instalar en Windows

Descargue y descomprima la última versión del motor requerida
La red seleccionada se coloca en una carpeta con el motor desempaquetado
Actualizar los controladores de la tarjeta de vídeo con otros nuevos
El programa se conecta al shell como cualquier otro motor UCI


Notas:

Para el shell de Fritz puede necesitar un parche para mejorar la carga de máquinas no estándar; para Fritz 15 es el parche 15.36

Además de lcexe en el archivo con el motor hay aplicación client.exe; con su ayuda el usuario puede participar en el aprendizaje de la red neuronal LCZero - para el juego y el análisis con el motor en el PC no es necesario.

La instalación inicial suele ir bien, pero a juzgar por los comentarios de la comunidad de usuarios, puede haber dificultades con el trabajo posterior y la configuración.

No hay comentarios:
Write comentarios

Translate

Entradas populares