Chrilly Donninger acerca de AlphaZero: los sistemas Alfa-Beta y Montecarlo, los premios por encajar bofetadas y la endogamia

por Chrilly Donninger
19/12/2017 – Chrilly Donninger, programador y especialista en ajedrez informático, se retiró de la faena hace 10 años. ¡Desafortunadamente! Desde luego, no se ha olvidado de sus conocimientos y está al tanto de todo. Le hemos rogado que nos diera su opinión acerca de AlphaZero en este artículo. | Foto: del archivo de ChessBase

Mega Database 2018 Mega Database 2018

Más de 7,8 millones de partidas disputadas entre 1560 y 2017. Indices de clasificación de partidas de ChessBase, con más de 100.000 posiciones clave. 72.000 partidas comentadas. Nueva enciclopedia de jugadores. Actualizaciones por Internet.

Más...

El sistema Montecarlo funciona

Lo que a mí me ha sorprendido en el proyecto de AlphaZero, es el hecho de que haya funcionado bien la búsqueda por el sistema Montecarlo. El sistema de búsqueda más habitual es el llamado algoritmo "Alfa-Beta". Es un sistema conceptual que suele buscar hasta una determinada profundidad, para a continuación valorar la posición. En realidad, algunas variantes se calculan más tiempo que otras. Es decir, en este algoritmo de búsqueda ya están involucrados también muchos conocimientos ajedrecísticos.

En el caso del sistema Montecarlo, se juegan las variantes hasta el final. En el backgammon eso se solía hacer "desde siempre" en forma del llamado "rollout". Si tras el movimiento A el 60 % de las partidas concluía en victorias y tras el movimiento B únicamente se ganaba el 55 %, entonces el movimiento A sería mejor que el B. Este método se había inventado en el juego de go por puro desvalimiento. El sistema Alfa-Beta no funcionaba muy bien para eso. El factor de ramificación era demasiado amplio. Carece de un concepto de "posición tranquila". En el caso del ajedrez, tras la búsqueda normal, se suele continuar con una búsqueda de la tranquilidad. Es decir, se vuelven a mirar aquellos movimientos que sirvan para capturar piezas. Si a ese respecto ya no se encuentra nada, entonces la posición se evalúa como "tranquila". No existe nada comparable en el go. La cuestión es bajo qué criterios se terminará la partida.

Partidas estúpidas en el juego de go

En el juego de go, las reglas originalmente eran muy fáciles. Las partidas, desde un punto de vista humano, más bien solían ser "caprichosas" y "estúpidas". Pero eso se ha perfeccionado con el tiempo mediante el aprendizaje de jugadas humanas. A través del "deep learning" (aprendizaje profundo), se ha desarrollado el concepto de "posición parecida". En este concepto, la máquina realizaba el movimiento en el juego de go que más se pareciese a los movimientos que los jugadores humanos habían realizado en sus partidas. Eso ha servido para mejorar de manera extraordinaria la búsqueda Montecarlo. Ya es suficiente si el porcentaje de movimientos buenos está por encima del 50 %. Lo más importante es evitar los movimientos que sean totalmente bobos. Resultó que es preferible no basarse en lo que hayan jugado las personas, sino que el programa vaya desarrollando ese tipo de conceptos por su propia cuenta, en el modo de "juego automático". Eso es algo que no me sorprende. Mi programa "Hydra" también había sido ajustado de tal manera que precisamente no jugara de manera humana.

"Me ca... en los finales de torres"

En su momento, yo también solía experimentar con la búsqueda Montecarlo. Queríamos mejorar el comportamiento del programa en los finales de torres. Muchas veces suelen ser muy profundos y complicados, y es difícil establecer unas pautas buenas al respecto. Pero la búsqueda normal Alfa-Beta no funcionaba bien para eso. En aquel entonces terminé el proyecto con las palabras: "¡Me ca... en los finales de torres! Simplemente los vamos a destrozar antes de llegar a eso".

Erdogan Günes, Chrilly Donninger | Foto: archivo de ChessBase

Esa afirmación de que AlphaZero lo ha "aprendido todo en un día" habría que relativizarla un poco. DeepMind tenía a su disposición 5.000 TPU (en un hardware desarrollado por Google especialmente para el "aprendizaje profundo"). Los TPU son mucho más potentes que una CPU. Además me gustaría hacer una observación acerca del mensaje "mejor que los humanos": recuerden que los programas de ajedrez desde hace mucho tiempo juegan mejor que las personas de carne y hueso.

Premios "cómete bofetadas"

En aquel entonces dejamos lo del proyecto Hydra porque nos empezábamos a aburrir. Los jugadores de la elite mundial únicamente estaban dispuestos a aceptar los retos hombre - máquina por premios "por encajar bofetadas" (tal y como los solíamos llamar), en lugar de jugar con premios por ganar los duelos. El jeque que había financiado el proyecto de Hydra, sin embargo, no quería pagar (casi) nada por el mero hecho de que que los jugadores se presentaran al duelo.

El programa Alpha-Go ahora juega un poco mejor que el programa más fuerte de ajedrez, Stockfish y éste juega muchísimo más fuerte que las personas de carne y hueso. Stockfish entonces sería la medida.

Falta por mencionar un punto más: entre los programas de primera fila hoy en día existe cierta "endogamía". El desarrollo de los programas se basa sobre todo en el juego contra los demás programas informáticos. Ahora, con AlphaZero entra en escena otra "especie" en este sistema ecológico tan limitado. Y se aprovecha de las debilidades que se han creado debido a dicha endogamía. Si los mejores programas de ajedrez tuvieran la posibilidad de ser perfeccionados también contra AlphaZero, el porcentaje del éxito volvería a cambiar. Dicho lo cual, para la mayoría de los programadores aficionados o semiprofesionales, naturalmente sería muy difícil competir con el equipo de "fórmula uno" de Google. Haría falta tener otro equipo como el de Hydra que también tenía fondos económicos para respaldar el proyecto.

En todo caso, y por mi parte, no estoy interesado en absoluto en algo semejante. A mí me parece mucho más interesante el juego de la bolsa. Otra cosa interesante sería póker.

Texto: Chrilly Donninger
Traducción: Nadja Wittmann (ChessBase)

Enlaces


Chrilly Donninger, Austria, trabajaba para la ESA (Agencia Espacial Europea) antes de que se dedicara a programar programas de ajedrez. Desarrolló el programa Nimzo y a continuación experimentaba con el proyecto Hydra, financiado por un jeque árabe. Chrilly Donninger escribe artículos interesantes sobre el ajedrez informático.

Comentar

Normas sobre los comentarios

 
 

¿Aún no eres usuario? Registro