Fat Fritz 2: lo mejor de ambos mundos

por Albert Silver
10/02/2021 – Podría parecer que AlphaZero representa, al menos de momento, algo así como el fin de los tiempos, pero resulta que ha sido dado un paso aún más lejos: las redes neuronales artificiales que antes requerían una tarjeta gráfica muy potente pueden funcionar con una CPU corriente. La idea surgió del trabajo de unos programadores japoneses que desarrollaron esta tecnología para el análisis del shogi, el ajedrez japonés. El siguiente paso ha sido adaptarla también para el análisis del ajedrez. En un principio se implementó para Stockfish 12, pero ahora también funciona con el nuevo "Fat Fritz 2".

Fat Fritz 2 Fat Fritz 2

Fat Fritz 2.0 incluye la versión más reciente de la interfaz de usuario más avanzada en el mundo con funciones de entrenamiento, análisis automáticos y una base de datos con 1 millón de partidas. Asimismo, está incluida la membresía para la Cuenta ChessBase Premium durante seis meses.

Más...

No se le puede negar al año 2020 su carácter de eslabón perdido, pero ha sido a la vez un año extraordinario para el ajedrez y en particular para el ajedrez informático que ha vivido un impresionante auge. 

El proyecto de AlphaZero ha inspirado a muchos otros y aunque se que tal vez la investigación tecnológica tomara enseguida otros derroteros la realidad es que los investigadores siguen explorando las múltiples aplicaciones que tienen las redes neuronales artificiales, el último avance hace que sea hace ahora asequible para todos porque ya no requieren tarjetas gráficas súper potentes. 

La idea es debida de los programadores de "shogi", la variante japonesa del ajedrez. 

La revolución de AlphaZero 

Si bien es cierto que la red neuronal artificial de AlphaZero es extraordinariamente poderosa tenía el inconveniente de requerir el uso de tarjetas gráficas muy potente, también para al analizar con los módulos alijados en la nube, Leela y Fat Fritz: para poder procesar la inmensa cantidad de datos, era necesario que funcionasen en una GPU (unidad de procesamiento gráfico), es decir, en unas tarjetas gráficas muy potentes y  bastante caras. 

Combinar una red neuronal grande y poderosa con la velocidad y precisión de la búsqueda de Stockfish u otros módulos de ajedrez era un sueño  que parecía inalcanzable. 

Permítannos presentarles el sistema NNUE.

NNUE - sin GPU

NNUE es el acrónimo inglés para Efficiently Updatable Neuronal Network, originalmente escrito ИИUƎ. En castellano significaría algo así como "red neuronal eficiente y actualizable". Al contrario que una red neuronal artificial normal, la NNUE no depende de las unidades de procesamiento gráfico (tarjetas gráficas), sino que funciona de manera eficiente con un procesador central (CPU) corriente, algo muy útil para el cálculo y la evaluación de los movimientos en los juegos informáticos. 

Para los ajedrecistas AlphaZero es antes que nada quien ha revolucionado el modo en que juegan los módulos de ajedrez. Pero su desarrollo tiene su origen en el juego de go. El tercer juego para el cual se han aplicado los estudios es el shogi, la versión japonesa del ajedrez. 

No sorprende por tanto que la tecnología de AlphaZero haya tenido también impacto en el mundo del shogi. Pero, en lugar de utilizarla sin más, el programador japonés Yu Nasu, ha desarrollado y publicado un informe revolucionario para una red neuronal totalmente novedosa y con una arquitectura que se conoce como NNUE. Inspirado por el gran éxito de la empresa Deep Mind, consiguió que el sistema funcionase a pleno rendimiento en un ordenador que únicamente disponía de una unidad central de procesamiento (CPU) y sin la necesidad de tarjeta gráfica. 

Al igual que AlphaZero y la primera versión de Fat Fritz, la nueva NNUE igualmente arma su propia base datos de conocimientos, y la va ampliando con los análisis y las experiencias que esta le brinda.  Es decir, cada vez que se agregan nuevos conocimientos el sistema aprende de manera autodidácta. 

La NNUE ha revolucionado por completo los programas de shogi que han aumentado su fuerza bastante más de 100 puntos Elo. Los programadores de los programas de shogi, han compartido sus conocimientos con el mundo del ajedrez. Se trataba de una fuente con "código abierto" y así era posible utilizar el código Shogi NNUE, para el programa Stockfish, que igualmente es de código abierto. Tras el gran éxito de Stockfish 12, autores de otros módulos de ajedrez han utilizado ese sistema en su trabajo de programación. Recientemente el equipo de Komodo sacó el módulo Dragon. Y ahora ChessBase ha sacado Fat Fritz 2.0

Fat Fritz 2, más grande y mejor

Fat Fritz 2 entra en juego también, funciona con la novedosa tecnología NNUE y con del mismo código abierto que Stockfish. La diferencia entre Stockfish 12 y Fat Fritz 2 estriba en los siguientes aspectos:

  • En el caso de Fat Fritz 2, la evaluación de las posiciones, no proviene de un módulo "de bruta fuerza", tal y como es el caso con Stockfish o Komodo, sino de la red neuronal original de Fat Fritz, de ChessBase.  
     
  • La segunda diferencia es que la red neuronal artificial de Fat Fritz 2 dobla en tamaño a la de Stockfish 12. Fat Fritz 2 utiliza 512 neuronas en lugar de 256, eso le permite almacenar el doble de conocimientos. 

Ahora bien, ¿cuál ha sido el resultado al comparar directamente la red neuronal más grande de Fat Fritz 2 con Stockfish 12?, en una prueba muy amplia, con un ritmo de juego de 1 minuto, más un segundo, Fat Fritz subió 48 puntos Elo al enfrentarse a Stockfish 12.

Los resultados de Fat Fritz 2 vs Stockfish 12:

293 victorias / 76 derrotas / 1217 empates

Diferencia de Elo: 47,8 +/- 8.0, LOS: 100 %,  percentaje de tablas: 76,7 %
1586 de 1586 partidas completadas

Nota: La razón por la que el número de partidas es impar, se debe al hecho de que se han utilizado 793 posiciones, lo cual, al mirarlo también con colores opuestos, resulta en 1586 partidas. 

Finales de oro

Sería plausible concluir que la fuerza de juego en los finales de partida es por lo general superlativa, sin embargo, siempre es posible encontrar algunas excepciones.

Veamos una selección con algunos ejemplos: 

El miráculo de Shirov ...Ah3!!

 

Este tema ha sido bastante difícil para los módulos en la mayoría de los casos, incluso si teniendo acceso a todas las Tablebases disponibles. Al analizar en un ordenador portátil con 6 cores, o para los usuarios que tengan un ordenador de sobremesa que no sea súper fuerte, he aquí los resultados de Stockfish 12 y de Fat Fritz 2:

Análisis de Stockfish 12

Es verdad que 37 segundos tampoco son un tiempo muy largo, pero la mayoría de las personas no quisiera esperar el resultado tanto tiempo. 

El análisis de Fat Fritz 2

¡Fat Fritz 2 únicamente tardó cinco segundos!

Por supuesto, se trata tan solo de una posición, pero ¡no una cualquiera! la jugada de Alexei Shirov aparece todas la antologías publicadas hasta la fecha.. 

Otra curiosidad surgió en un artículo publicado hace unos meses por nuestro experto en finales, GM Karsten Mueller. Karsten quería probar con una versión beta de Fat Fritz 2 para ver qué concluiría el programa acerca de un final que se disponía a estudiar. Se llevó una muy grata sorpresa cuando vio que el programa encontraba la refutación de uno de sus movimientos. La razón de su alegría radicaba en que eso demostraba que los nuevos módulos servirían como herramienta para el análisis de finales de partida muy complejos. 

 

Aquí Fat Fritz 2 vio la posibilidad de ganar empezando con 52...e7.

A continuación, Karsten analizó la misma posición también con Stockfish 12, que tenía acceso a 30 threads, tablebases de siete piezas y tras nueve millares de nudos el módulo señaló 52.d6 como su primera opción dictaminando que ofrece la victoria.. 

No parece que despierte ninguna duda el recibir tan positiva evaluación, ¿verdad? 

¿Tendría razón Stockfish 12 con su evaluación y serviría su recomendación para ganar? Examinamos el movimiento sugerido por Stockfish 1252.d6, con Fat Fritz 2, pero éste concluyó que tal jugada sólo conducía a  unas tablas: según Fat Fritz 2, había un error grave a tan solo 5 plies de la línea principal de 50 ply de Stockfish. 

 

En lugar de 56.h3? tal y como sale arriba, el movimiento de Fat Fritz 2, 56.Cb4! salvaría la partida. Cierto, tampoco eso es prueba de la verdad absoluta, pero se trata  de un ejemplo lo suficientemente significativo como para ser subrayado. 

Sea como fuere, es obvio que Fat Fritz 2 supone un paso de gigante que promete resultados analíticos fantásticos, así como un gran disfrute para quién trabaje con semejante herramienta. Quien creyera fuera de su alcance algo así, debido al alto coste de las tarjetas gráficas, podrá ahora beneficiarse de esta nueva versión que funcionará en la CPU normal de su ordenador. 

Reconocimientos

El desarrollo de este tipo de trabajo nunca es mérito de una sola persona sino siempre de todo un equipo y esto por supuesto vale también en el caso de Fat Fritz 2. 

debemos todo nuestro reconocimiento a Daniel Uranga, una mente brillante de Argentina, programador, quien nos ha prestado su inestimable ayuda en toda prueba e idea por descabellada que esta fuera, y. francamente ¡he una cuantas! Para el proyecto su ayuda y su habilidad han ha resultado inestimables: recientemente Amazon ha reconocido su valía contratándolo como programador en su sucursal del Reino Unido.

Agradezco también a mi amigo Dietrich Kappe, fuente inagotable de ideas y de códigos útiles, su grandísima ayuda que me ha ayudado a alcanzar el máximo nivel en el desarrollo del proyecto: su amistad y su generosidad no tienen igual. 

Finalmente, me gustaría dar las gracias a los programadores del equipo del fabuloso programa Stockfish y a sus innumerables colaboradores. Y por supuesto, cómo no, muchas gracias a Yu Nasu por haber inventado la revolucionaria tecnología NNUE y a Tanuki (nodchip) por su adaptación del código Shogi para su utilización en el ajedrez.  

Fat Fritz 2

Fat Fritz 2.0 incluye la versión más reciente de la interfaz de usuario más avanzada en el mundo con funciones de entrenamiento, análisis automáticos y una base de datos con 1 millón de partidas. Asimismo, está incluida la membresía para la Cuenta ChessBase Premium durante seis meses.

Más...


Editor y escritor de la página de ChessBase de noticias en inglés. Vive en Río de Janeiro (Brasil)
Discussion and Feedback Join the public discussion or submit your feedback to the editors