Linux Adictos David Naranjo  

Leela Chess Zero, un inteligente motor de ajedrez de código abierto

LeelaChessZero

Leela Chess Zero (LCZero o LCZ) se ha presentado como un motor de ajedrez gratuito y de código abierto. Fue desarrollado por Alexander Lyashuk y Gary Linscott, que también es un desarrollador del programa Stockfish. Leela Chess Zero está inspirada en el motor Leela Zero, que se basa en el proyecto AlphaGo Zero de DeepMind.

Leela Chess Zero es un motor de ajedrez compatible con UCI diseñado para jugar ajedrez a través de una red neuronal. Al igual que Leela Zero y AlphaGo Zero, Leela Chess Zero conoce solo las reglas del juego y nada más.

Un motor de ajedrez contiene el algoritmo que calcula el mejor movimiento en una posición dada.

Estos programas son diferentes entre sí, tienen un estilo de juego personalizable, un nombre y sistemas de clasificación específicos, en resumen, tienen una personalidad. Hay todos los niveles y pueden ser comerciales, de código abierto o gratuitos.

Sin embargo, es necesario distinguir la interfaz gráfica del motor de ajedrez. Esta interfaz de usuario (o ajedrez GUI) es el programa que alojará, ejecutará estos motores y administrará el entorno visible para el usuario (tablero de ajedrez, información del cálculo de módulos, evaluación de la posición, uso de bases de tablas, profundidad de Investigación, animación de variantes, etc.).

Estas interfaces también permiten que los motores se encuentren entre sí durante los torneos. Otra ventaja es que los programadores pueden centrarse en el rendimiento de su motor sin tener que gestionar la representación visual del tablero de ajedrez.

Estas interfaces pueden ser XBoard / WinBoard, Arena o Chessbase (comercial).

Sobre Leela Chess Zero

Leela Chess Zero está entrenado en un sitio web dedicado. Unos pocos meses de desarrollo y entrenamiento son suficientes para que Leela Chess Zero alcance el nivel de un GMI (es decir, el título de Gran Maestro Internacional (GMI), creado a partir de 1950, utilizado tanto en ajedrez como en damas). Supera a las versiones anteriores de Rybka, Stockfish o Komodo, también potentes motores de ajedrez, mientras analiza menos posiciones que estos programas.

En abril de 2018, Leela Chess Zero se convirtió en el primer motor basado en redes neuronales en ingresar al Campeonato de motores de ajedrez superior (TCEC) durante la temporada 12 en la división más pequeña.

¿Como instalar Leela Chess Zero en Linux?

Para quienes estén interesados en probar Leela Chess Zero, primero deben saber que existe una nueva versión de Leela Chess Zero, versión 0.21.2, está disponible desde junio y está disponible en GitHub.

Esta versión incluye los siguientes cambios:

  • Optimizaciones para las tarjetas GTX 16xx (cudnn-fp16 ahora funciona para ellas, incluso si no mejora el rendimiento, así como para las tarjetas RTX)
  • la función “Post-it” está habilitada de forma predeterminada: esto mejora el juego LC0 cuando ve a un compañero de equipo en algún lugar durante la búsqueda
  • la fórmula de Centipawn se ha actualizado: LC0 ahora mostrará valores de evaluación más similares a los que muestran otros motores
  • Optimización para una red neuronal más amplia (más filtros) para futuras ejecuciones (tal vez test60).

Ahora, podrán realizar las descargas de los archivos, los cuales son este y este otro.

Estos archivos los deben de descomprimir y con las carpetas resultantes realizaremos lo siguiente.

Ingresaremos a la carpeta “lczero-common-master” dentro de ella encontraremos una carpeta llamada “proto”, esta carpeta la moveremos dentro de la otra carpeta resultante que es “LeelaChessZero-lc0-46e4053” pero dentro de otra carpeta que esta dentro de “libs” que es “lczero-common

Quedando la siguiente ruta “LeelaChessZero-lc0-46e4053/libs/lczero-common/proto”.

Ahora aquí el desarrollador nos da algunas indicaciones:

  • Si desean utilizar tarjetas gráficas NVidia, instalen CUDA y cuDNN .
  • Si desean utilizar tarjetas gráficas AMD, instalen OpenCL.
  • Si desean la versión OpenBLAS Iinstalen OpenBLAS ( libopenblas-dev).
  • Para realizar la compilación debemos previamente contar con ninja-build, meson y opcionalmente gtest ( libgtest-dev).

La compilación la realizaremos dirigiéndonos al directorio principal y ejecutando el archivo:

./build.sh

Finalmente si quieres conocer un poco más al respecto, así como otros métodos de instalación para algunas distribuciones de Linux en especifico como Ubuntu, openSUSE y en una Raspberry Pi puedes consultar el siguiente enlace.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.