Hace unos meses salió la noticia de que la empresa DeepMind, la misma que creara AlphaGo, un programa que venció a los mejores jugadores del juego de mesa oriental Go, codificado vía aprendizaje profundo y redes neuronales, había hecho lo mismo con el tema del ajedrez, creando AlphaZero, que a decir de sus creadores, en 4 días de auto-entrenamiento e indicándole al programa solamente el movimiento de las piezas, había logrado un nivel de Maestro Internacional. Para probar dicho nivel, pusieron a AlphaZero a jugar contra Stockfish, a cien partidas, en donde uno de los programas más fuertes del planeta no pudo ganarle una partida a AlphaZero.
El experimento quedó ahí y es claro que AlphaZero no corre en una máquina normal, sino que probablemente usa los recursos de la nube de Google y una poderosa infraestructura. Sin embargo, nació un proyecto al que se llamó Leela Chess Zero, que aparentemente juega 2700 puntos Elo (nivel ajedrez de elite humana) en una PC poderosa y que además, se puede descargar gratuitamente. Es interesante saber que por ejemplo, la máquina de IBM, Deep Blue, tenía un desempeño de 12 GFlops y que DeepMind tiene a su alcance una potencia computacional de 40 millones de GFlops.
La noticia de AlphaZero y su triunfo sobre Stockfish no eran claros. Por ejemplo, se probó haciendo que los participantes hiciesen una serie de jugadas por minuto, restringiendo la posibilidad de jugar las aperturas con ayuda de un libro electrónico, etcétera. Pero quizás estamos dejando pasar lo importante: que se está usando un nuevo método, una nueva técnica, para hacer que un programa juegue un gran ajedrez.
Después del artículo de DeepMind, más de un programador decidió poner a prueba la idea y nació así Leela Chess Zero, basado en el artículo mencionado. El sistema usa la búsqueda Montecarlo y el programa reside en el sitio de LCZero.
LCZero lleva apenas unos dos meses activo y funciona de manera distribuida, pidiendo que los interesados contribuyan con tiempo de computadora. La naturaleza del diseño del software de ajedrez usa una función de evaluación de unos 80 MB, la cual crece en fuerza exponencialmente en la medida que se usa una buena tarjeta gráfica que dispongo de muchos núcleos GPUs. Sin la tarjeta de gráficas, el desempeño es de apenas del 20% pero si se tiene una máquina de cuatro núcleos (una core i7) con tarjeta gráfica como GTX980M, el sistema juega unos 2700 puntos Elo, lo que es, ya dijimos, un nivel de gran maestro de elite.
Habrá que ir midiendo los avances de LCZero, los cuales podrían cambiar el rumbo de los programas de ajedrez y del cómo evaluamos este juego. Probablemente y gracias a las redes neuronales, el nuevo camino tecnológico parece estar abriendo brecha.
Ilustración cortesía de Chessbase.com