Hace algo más de un año, en diciembre de 2017, publiqué un artículo comentando la aparición de una nueva inteligencia artificial, Alphazero, creada por DeepMind, una división de Google en el Reino Unido, diseñada para jugar al ajedrez, que había batido de forma incontestable a Stockfish, el indiscutido campeón mundial de programas de ajedrez. En esa fecha DeepMind publicó un paper preliminar, explicando someramente el método seguido para generar la IA, una red neuronal, así como el resultado de la competición programada contra Stockfish: 100 partidas, en las que Alphazero venció en 28 y las 72 restantes fueron tablas. Y en ese documento se mostraron 10 de las 100 partidas jugadas, todas ellas victorias de Alphazero, que dejaron bastante ojipláticos a multitud de jugadores, maestros y analistas.
Sin embargo, y a pesar de la enorme calidad del juego de Alphazero demostrado en esas pocas partidas, hubo también quien tuvo serias dudas sobre el desarrollo del match, debido a las condiciones que se dieron durante el mismo en cuanto a la gestión del tiempo, la configuración del hardware utilizado, etc.
DeepMind ha seguido trabajando en ese proyecto y el mes pasado (diciembre de 2018), un año después, ha publicado un nuevo paper muchísimo más detallado que el anterior, donde se explican pormenorizadamente muchos de los extremos que habían quedado en el limbo, se resuelven las dudas que se habían generado y donde, en fin, se muestran los resultados de diferentes enfrentamientos con Stockfish con condiciones diferentes… y no sólo con él.[1] Y los resultados siguen siendo alucinantes, o al menos a mí me lo parecen. Tanto es así que la superprestigiosa revista Science ha publicado este anuncio en su portada.
Antes de seguir, un inciso: DeepMind ha utilizado el mismo algoritmo, y gestionado del mismo modo, para jugar no sólo al ajedrez, sino a otros dos juegos tan endemoniados o más que el ínclito ajedrez: el shogi[2] y el go.[3] La verdad es que no sé casi nada de ninguno de ellos, así que poco puedo aportar al respecto. En el documento publicado se hace referencia también a estos dos juegos, pero yo me centraré en lo que sí conozco más o menos bien: el ajedrez. Únicamente hay que destacar el hecho de que el mismo algoritmo, sin cambios, conociendo exclusivamente las reglas del juego y con la misma técnica de autoaprendizaje (aunque generando, obviamente, diferentes redes neuronales en cada caso) haya sido capaz de fulminar igualmente a los programas campeones mundiales de cada uno de estos dos juegos. En el caso del go, ese campeón mundial era precisamente AlphaGo, también de DeepMind y el origen primigenio de este mismo Alphazero, y en el del shogi, ese programa es ELMO. Ambos han sido destrozados por Alphazero… y hasta aquí puedo contar.
El ajedrez es, como ya sabéis, y con enorme diferencia, el juego más analizado desde el punto de vista de su juego por ordenadores. Muchos años han pasado desde que Deep Blue ganó aquella mítica partida a Gary Kasparov en 1996, y en estos tiempos todo el mundo está de acuerdo en que ningún ser humano, ni tan siquiera el flamante campeón mundial, Magnus Carlsen, sería capaz de ganar un match a ninguno de los programas más potentes existentes (Rybka, Komodo, Houdini o el mismo Stockfish, el actual campeón).
Ya comenté en el artículo del año 2017 lo que se sabía por entonces acerca de Alphazero (que era lo publicado en la comunicación preliminar): se trataba de un algoritmo que construía una red neuronal profunda entrenada mediante autojuego, es decir, que todo lo que aprendía era jugando contra sí misma, sin ningún otro estímulo exterior. Es decir, el programa sólo sabía las reglas del juego… y nada más.
Esta aproximación de tabula rasa se olvida de todo lo aprendido sobre el juego a lo largo de centurias de análisis por parte de los mejores jugadores de la historia y de los mejores programas de ajedrez del momento. Alphazero no sabe nada de teoría de aperturas (ni siquiera “sabe” qué es eso de una “apertura”), ni de trucos tácticos, celadas y demás, ni de las procelosas ventajas o desventajas de determinadas estructuras muy conocidas (peones doblados, peones pasados, la importancia de la pareja de alfiles, etc), ni tampoco de la existencia de ciertas tablas de finales que permiten hallar sin esfuerzo el mejor camino para ganar o empatar una posición cuando quedan pocas piezas en el tablero. Por no conocer, ni siquiera conoce el valor teórico de las piezas, establecido a lo largo de siglos de estudio.[4] En el paper indican que Alphazero no evalúa cada posición en puntos (peones), como lo hacen la gran mayoría de programas de ajedrez, sino que mide la probabilidad de victoria o derrota, entre 1 y -1. Eso explica seguramente por qué sacrifica tantos peones o piezas en plena apertura o en el juego medio sin que parezca importarle la pérdida de material: porque evalúa que así maximiza sus probabilidades de ganar el juego y eso es lo único que le importa.
En fin, todas estas estructuras han sido analizadas, valoradas y estudiadas hasta la saciedad por generaciones de analistas y grandes maestros, se han editado infinidad de libros, blogs, videos explicativos y demás, y las conclusiones han sido plasmadas en los mejores programas para jugar al ajedrez. Estos aúnan una gigantesca capacidad de cálculo, decenas de millones de movimientos evaluados por segundo, con una sofisticada técnica de búsqueda y selección de movimientos, normalmente basada en el popular algoritmo de poda “alfa-beta”, así como una serie de funciones de evaluación diseñadas ad hoc para mejorar sus prestaciones. El resultado son programas que son, simplemente, imposibles de batir consistentemente por un humano.[5] Por ejemplo, en la sexta partida del reciente match por el Campeonato del Mundo entre Caruana y Carlsen, celebrado en Londres el pasado mes de noviembre, Fabio Caruana, con negras, hizo en el movimiento 68 la muy humana jugada Cf3, que le llevaba a una posición donde tenía una leve ventaja que Carlsen, con su maestría habitual, diluyó hasta llegar a tablas “muertas” diez jugadas más tarde. Pues bien, rápidamente Stockfish dio su veredicto: de haber jugado 68. … Ah4 en lugar de Cf3, Caruana hubiera conseguido una ventaja ganadora que hubiera cristalizado en jaque mate inevitable… en la jugada 105, ¡37 jugadas más tarde! A ver quién es el guapo que es capaz de evaluar una posición (y menos en un final, con pocas piezas en el tablero) con una profundidad de 37 jugadas, o sea, 74 movimientos. Así son estos monstruos de silicio, inagotables y casi infalibles.
Pues bien: ahí radica la sorpresa de la fulgurante aparición de Alphazero: su existencia ha desmontado muchas de las bases inamovibles del diseño de programas. Sí, ya sé que esto mismo lo dije hace un año, pero lo voy a repetir de todos modos.
En primer lugar, Alphazero aparece por “generación espontánea”, en el sentido de que no bebe en absoluto de ninguna fuente anterior. Sólo le han enseñado las reglas básicas del ajedrez, cómo mueven las fichas y cuál es el objetivo: zamparse al rey enemigo. Nada más. Además, ni siquiera se ha programado ninguna técnica sofisticada de búsqueda al estilo de un alfa-beta clásico, sino que usa un algoritmo mucho más sencillo y de propósito general, como es el de Montecarlo, para seleccionar las mejores jugadas a probar. Es decir, una auténtica tabula rasa sin paliativos: nada de herencias de ningún tipo y empecemos todo desde cero.
Luego, en segundo lugar, le han puesto a jugar consigo mismo, nada de contra otro programa preexistente, bueno o malo. Es decir, al principio movía aleatoriamente las piezas, puesto que no tenía ni la menor idea de si una pieza era mejor que otra, si era bueno o malo ocupar el centro, o doblar peones o coronar… y eventualmente uno de los dos bandos gana, luego las jugadas que ha realizado deben ser mejores que las del bando que perdió.
Tras cada conjunto de ejecuciones (de 4.096 ejecuciones cada lote, según comenta el documento) se consolida la mejor red neuronal obtenida hasta el momento, que se cataloga como “Mejor jugador”, y en siguientes iteraciones se juega siempre contra este “Mejor jugador”. Si tras un lote de ejecuciones el nuevo jugador ha demostrado ser mejor que él, entonces ocupa su trono y vuelta a empezar. Es decir, aprende de sus propios errores y toma sus propias decisiones sin tener en cuenta ningún otro parámetro.
El entrenamiento de la red terminó cuando llevaba unas 700.000 iteraciones, proceso que duró apenas 9 horas en los gigantescos servidores de Google… lo que implica que en un hardware menos sofisticado igual hubiera tardado diez o cien veces más: una nadería de tiempo, en cualquier caso. Parece que cuando llevaba 300.000 iteraciones (unas cuatro horas de entrenamiento) ya derrotaba consistentemente a Stockfish. Y con las 700.000 finales… lo arrasa.
Con la información publicada el año pasado esto parecía ya evidente, pero, como ya dije, algunos grandes maestros comentaron que las condiciones de la prueba de entonces no fueron justas con Stockfish, sugiriendo que estaban favoreciendo claramente a Alphazero en el match. Incluso hubo quien afirmó que en condiciones de igualdad Stockfish seguramente ganaría el match. En concreto, se quejaron de que:
a) La configuración de hardware usado, con miles de procesadores, no favorecía a Stockfish, que está más bien pensado para correr en un máquina “normal”, con un pequeño número de procesadores. En cambio, es ideal para un programa como Alphazero.
b) La gestión del tiempo que se usó (1 minuto por jugada para cada contendiente) no favorecía tampoco a Stockfish, que tiene una sofisticada rutina para determinar, a imagen de lo que hace un jugador humano, en qué jugadas debe gastar muchísimo tiempo y en cuáles no. Un tiempo fijo por jugada puede hacer que en algunas de ellas sobre el 99,9% de ese minuto (por ser “jugadas únicas”), mientras que en otras pueda resultar insuficiente. Supongo que aquí cada programa queda en espera tras realizar su jugada hasta la respuesta del rival, es decir, no utilizan el tiempo de cálculo del otro para seguir pensando sobre la posición, como evidentemente sí hacemos los humanos.
c) No se le permitiera usar ni su generoso libro de aperturas ni el de finales, lo que podría llevar a Stockfish a cometer algunos errores, sutiles siempre, desde luego, pero errores al fin.
d) No se usara la última versión del programa, aunque desde luego que no hay mucha diferencia entre una versión y otra, pero siempre ayuda usar la última versión, que suele ser mejor en cuanto a resultados.
e) Por fin, como sólo se publicaron 10 de las 100 partidas jugadas, reclamaron el acceso a todas las partidas para poder evaluar el programa de forma exhaustiva, y no sólo las 10 mostradas, que eran, eso sí, espectaculares.
Pues bien, ahora, en el documento publicado en diciembre de 2018, los autores explican detalladamente el nuevo proceso de enfrentamiento entre Alphazero y Stockfish, y todas las dudas se han disipado, o al menos quedan muchas menos.
Para empezar, ahora se ha jugado un número muy superior de partidas, decenas de miles, con diferentes puntos de partida: se han jugado conjuntos de 1.000 partidas (500 con cada color) “libres”, en el sentido de que se comienza desde la posición inicial y cada programa elige la apertura como le da la real gana, sin cortapisas. Pero es que además se han jugado varios otros conjuntos de 1000 partidas modificando algunos parámetros, sobre todo el tiempo disponible para Alphazero, y conjuntos de 400 partidas comenzando con posiciones provenientes de las 12 aperturas “humanas” más jugadas (española, siciliana, francesa, Caro-Kann, inglesa, gambito de dama, nimzoindia, etc), y otros enfrentamientos adicionales. Ya voy adelantando que el resultado de las 1.000 partidas “normales” (desde la posición inicial, con el mismo tiempo para cada jugador) es abrumador: Alphazero ganó 155 partidas, perdió 6 y empató el resto, 839. Una paliza en toda regla, nuevamente. Vale, menos abrumador que el 28 a 0 del paper original, pero paliza, de todos modos.
Veamos:
a) Se ha usado la configuración de hardware que se usó con Stockfish en el TCEC (Top Chess Engine Championship, el campeonato mundial oficioso de programas de ajedrez, en el que precisamente Stockfish ha resultado ser el mejor programa los últimos años). Esta configuración es de 44 hilos en 44 núcleos (2 CPU’s Intel Xeon Broadwell de 2.2 GHz con 22 núcleos cada una), con 32GB para la tabla de búsqueda y las tablas syzygy de finales. Es decir, la que se supone que es la configuración ideal para Stockfish. Con esta configuración, Stockfish calculaba 60 millones de movimientos por segundo… sin embargo Alphazero “sólo” revisaba 60.000 movimientos por segundo, una milésima parte, y sin embargo ganó consistentemente en todos los enfrentamientos, lo que indica algo que se decía hace muchos años y que dejó de decirse en vista de la aplastante superioridad de los programas de “fuerza bruta”: que era mucho más importante la calidad en la elección de las jugadas a revisar que no la cantidad de movimientos revisados. El ex-campeón mundial Gary Kasparov se congratula de ello en un editorial en la propia revista Science.
b) Las partidas se jugaron también con el control de tiempo que se usa en el TCEC: tres horas por jugador, con 15 segundos adicionales por cada jugada, que cada programa gestionó como mejor supo. En el caso de Stockfish, con su sofisticado algoritmo de gestión del tiempo. En el caso de Alphazero, como no tenían nada de eso previsto, se limitaron a usar en cada movimiento como máximo una veinteava parte del tiempo que le restaba para el total de la partida. Nada más. Y ya se ven los resultados.
Pero es que además se han programado varios conjuntos más de 1.000 partidas en las que, manteniendo los parámetros de Stockfish, se limitó el tiempo a usar por Alphazero: Con la tercera parte del tiempo (una hora en vez de tres, más 5 segundos adicionales por jugada), con la décima parte del tiempo, una treintava parte del tiempo y, por fin, con la centésima parte. Pues bien, Alphazero apenas se resintió con la tercera parte del tiempo (ganó alguna partida menos con blancas, pero Stockfish no fue capaz de ganar más veces); ganó también con claridad con la décima parte del tiempo, y sólo cuando usaba la treintava parte de tiempo fue capaz Stockfish de vencer el match… pero no por paliza, pues aun así Alphazero consiguió un número apreciable de victorias, tanto con blancas como con negras. Con la centésima parte del tiempo que su rival (108 segundos para la partida completa, más 0,15 segundos por movimiento) sí que fue capaz Stockfish de darle una buena zurra a Alphazero… que aun así fue capaz de ganar más partidas que las 6 que ganó su rival en el match con tiempos iguales. El gráfico siguiente lo muestra:
c) Stockfish sí usó las tablas de finales syzygy en todos los enfrentamientos. Sin embargo, no se le dejó usar su extenso libro de aperturas en el match principal (tampoco lo usó Alphazero, claro está, porque no lo tiene). Para revisar el impacto del uso del libro de aperturas por Stockfish, se programó un nuevo enfrentamiento de 1.000 partidas dejando usar dicho libro de aperturas… y nuevamente la paliza fue épica, como se ve en el gráfico anterior.[6] De hecho, los autores comentan que cuando Stockfish usaba su libro de aperturas los juegos resultaban todos muy parecidos (y aburridos: bastante más del 90% acababan en tablas), por lo que cambiaron levemente los parámetros de Alphazero, permitiéndole elegir cualquier movimiento posible que tuviera una evaluación como mucho un 1% menor que el movimiento más fuerte, que es el que elegiría en condiciones normales. Es decir, introdujeron un pequeño elemento aleatorio en la elección de las jugadas. El resultado fue que la tasa de victorias de Alphazero pasó del 5,8% al 14%, similar a la del conjunto base de 1.000 partidas (que era de un 15,5%)… ¡la creatividad al poder!
Adicionalmente se programaron nuevos duelos de 400 partidas, 200 con cada color, para cada una de las 12 aperturas “humanas” seleccionadas (aquellas con más de 100.000 apariciones en las bases de datos online de partidas entre jugadores humanos). La paliza fue, nuevamente, épica: de las 4.800 partidas jugadas en estos enfrentamientos Stockfish apenas fue capaz de ganar unas cuantas, entre una y dos docenas (las trazas rojas que se vislumbran en el gráfico siguiente), mientras que Alphazero ganó un número considerable de ellas (el documento no cuantifica estas cifras, pero se pueden inferir del gráfico).
Y, por fin, aún se ejecutaron otros 50 duelos más en los que se empezaba desde una posición determinada, las utilizadas en el mismo torneo TCEC que sirve de referencia (100 partidas, 50 con cada color, para cada una de las 50 posiciones seleccionadas, en total 5.000 partidas). Algunas de estas posiciones tomadas del TCEC no son neutrales en absoluto, sino que implican clara ventaja para algún color; esto hizo que el número de victorias de uno u otro programa fuera muy grande cuando les tocaba jugar con el bando en ventaja. Alphazero volvió a ganar consistentemente en prácticamente todos los matches.
d) En las pruebas se usó la versión de Stockfish que ganó el TCEC de 2016, la versión 8, que era la vigente en el momento de la prueba. Sin embargo, mientras estaban confeccionando el documento apareció una nueva versión de Stockfish, la 9, por lo que programaron un nuevo duelo de 1.000 partidas con esa nueva versión… y el resultado fue muy similar al obtenido con la versión anterior: una paliza similar a la del enfrentamiento original. En el primer cuadro mostrado están los resultados de este match, similares a los del match base.
e) Esta vez sí han publicado un gran número de partidas de los matches, no todas, porque son muchos miles. En concreto, se han publicado 110 partidas del match principal de 1.000 comenzadas desde la posición inicial, seleccionando una al azar de cada tipo de apertura usada, incluyendo las seis partidas perdidas por Alphazero en este match. También se han publicado otras 100 partidas más del match usando las posiciones predeterminadas de TCEC, en este caso seleccionando al azar una partida con blancas y otra con negras de cada una de las 50 posiciones usadas. Por fin, el gran maestro Matthew Sadler ha seleccionado 10 partidas más que le parecen interesantes para la comunidad de jugadores de ajedrez. Esta vez sí que hay donde mirar… por parte de quien sepa, claro.
En esta excelente página de Colin McGourty en chess24.com podéis encontrar no sólo la noticia en sí, sino que se pueden reproducir (con la evaluación jugada a jugada del propio Stockfish) las nuevas 210 partidas publicadas, además de las 10 que se publicaron en diciembre de 2017. Y por si fuera poco, el gran maestro Matthew Sadler ha publicado cinco videos en los que analiza cinco partidas que para él tienen un gran interés para los aficionados, videos que se enlazan desde la propia página.
Como corolario curioso, dos o tres apreciaciones que a mí me surgen de la información publicada en el paper:
Una, que la mínima ventaja que da a las blancas el hecho de hacer el primer movimiento es sencillamente enorme. En el match base Alphazero fue capaz de ganar 145 partidas de las 500 que jugó con blancas, ¡un espectacular 29%!, pero apenas ganó 10 con negras, el 2%. En cuanto a Stockfish, de las seis partidas que ganó 4 lo fueron con blancas y 2 con negras. Y en los juegos basados en las “aperturas humanas” ocurre más o menos lo mismo, no tan acentuado… porque es obvio que hay aperturas más eficaces que otras para las blancas o para las negras. Todo esto me sugiere que, en el futuro, ni con un juego perfecto será posible ganar una partida con negras; lo máximo que se podrá aspirar será a entablar la partida. Hay grandes maestros (pocos, es cierto) que siempre han defendido que jugar con negras es algo magnífico y que hay las mismas posibilidades de ganar que con blancas. Pues no, es obvio.
Dos, y hablando de aperturas concretas, un tema infinito entre aficionados y jugadores profesionales, algunas han quedado poco menos que refutadas por Alphazero, mientras otras han recibido un espaldarazo. Por ejemplo, durante el proceso de aprendizaje, en el que el algoritmo iba eligiendo las mejores jugadas (y, por tanto, aperturas; recordad que Alphazero no usa un libro de aperturas) para enfrentarlas al “Mejor Jugador” del momento, fue transitando por diferentes sistemas y defensas, desde una bastante extraña al principio, pasando por el gambito de dama, la defensa francesa, etc… para quedarse finalmente (se supone que porque la considera la más firme) con la Apertura Ruy López, o española, y en concreto con la variante Berlín (1 e4, e5. 2 Cf3, Cc6. 3 Ab5, Cf6). Curiosamente, esta apertura está reputada como una de las más sólidas para las negras y ha sido empleada con fruición en torneos magistrales cuando el jugador con negras no quiere arriesgar y juega a no perder. En el duelo Carlsen-Kariakin del Campeonato del Mundo de 2016, por ejemplo, se empleó en más de la mitad de las partidas por uno y otro jugador.[7]
Y tres de las aperturas más antiguas, que se siguen jugando hoy en día, la Española clásica (1 e4, e5. 2 Cf3, Cc6. 3 Ag5, a6), la Defensa Francesa (1 e4, e6. 2 d4, d5.) y la Caro-Kann (1 e4, c6) han quedado virtualmente refutadas. Alphazero ha ganado más de las mitad de las partidas que jugó con blancas con estas aperturas y unas pocas con negras, mientras Stockfish apenas fue capaz de ganar un par o dos entre las tres. Es decir, a Alphazero mejor no le hagas una Caro-Kann o una Francesa: te destruirá. Y si quieres jugarle una Española, más te vale que sea una variante Berlín (1 e4, e5. 2 Cf3, Cc6. 3 Ab5, Cf6) o te destruirá de todos modos. Si Alphazero empieza con e4, mejor plantéale una Defensa Siciliana (1 e4, c5. 2 Cf3, Cc6.), es con la que tienes más oportunidades de que no te destroce.
.
Bien, creo que con las 4.000 palabras y pico que llevo hasta ahora es suficiente.[8] Esta forma autodidacta de aprender un juego como es el ajedrez, complejo y muy estudiado, ha resultado ser mucho más eficiente que cualquier otra. Y demuestra el poder de las redes neuronales y del deep learning aplicado a problemas reales. A mí me preocupa, sinceramente, que estos programas salten del inocuo y divertido juego del ajedrez (o del go, o del shogi) a otras áreas más… importantes. Que lo harán. Tarde o temprano, pero lo harán, si no lo han hecho ya. Y si alguien con criterio no tiene el control final sobre lo que puedan decidir estos supersistemas… a saber qué podría pasar. Claro que, por otra parte… ¿dónde encontraremos a esa persona o grupo de personas con criterio suficiente como para mantener el control final? ¿De verdad lo van a hacer “mejor” que las IA’s? Bufff. Viendo el nivel de competencia que demuestran cada día las personas muy importantes que dirigen este nuestro mundo… no quiero ni pensarlo.
Los optimistas (o pesimistas, quién sabe) dicen que ese escenario no va a ocurrir, que este tipo de juegos con reglas muy bien definidas y en ambientes cerrados son muy propicios para el autoaprendizaje, pero que el mundo real es muy distinto, mucho más difuso y con reglas cambiantes, donde no existe información perfecta para cadal problema y, por tanto, estas técnicas de deep learning no sirven para eso. Pero, claro, Google pagó una cantidad gigantesca de dinero[9] para hacerse con el control de DeepMind, compañía especializada en estas cositas de redes neuronales y tal… y no creo que su objetivo cuando la compró fuera exclusivamente darle una paliza al pobre diablo de Stockfish. En este siglo, en el que nuestro teléfono sabe de nosotros más que nosotros mismos, podemos esperar cualquier cosa. No necesariamente mala, desde luego. Pero, desgraciadamente, tampoco necesariamente buena.
Veremos.
Disfrutad de la vida, mientras podáis.
- Además, en su web han publicado mucha más información adicional. [↩]
- Una especie de ajedrez japonés que se juega en tableros de 9×9, tiene piezas diferentes con movimientos diferentes a los del ajedrez y permite que las piezas capturadas puedan ser reintroducidas en el tablero, pero con el color cambiado, entre otras diferencias. [↩]
- Antiquísimo juego chino de piedras blancas o negras que se juegan en un tablero de 19×19 escaques, cuyo objetivo es dominar el máximo número posible de casillas del tablero eliminando las fichas del contrario que quedan rodeadas por las fichas propias. [↩]
- Por cierto, estos valores normalmente aceptados son: peón, 1 punto; caballo y alfil, 3 puntos cada uno; torre, 5 puntos; dama, 9 ó 10 puntos (según dónde mires). El Rey no tiene un valor definido, puesto que tiene que estar siempre presente o la partida ha terminado. Luego, su valor varía conforme van desapareciendo piezas del tablero y se convierte en un defensor o atacante activo más. De todas formas, estos valores teóricos sufren infinidad de modificaciones dependiendo de la posición: que esté más o menos abierta o cerrada, que haya o no amenazas materiales, etc, etc, etc. [↩]
- Quizás puedan perder una partida de vez en cuando contra un gran maestro, pero en una confrontación a doce partidas, por ejemplo, son imbatibles. [↩]
- Curioso resulta que en este caso concreto, y de forma excepcional, tanto Álphazero como Stockfish ganaran más partidas con negras que con blancas; habrá que revisar en serio si las aperturas más analizadas están de verdad bien analizadas. [↩]
- Curiosamente, en el último duelo Carlsen-Caruana no se ha usado ni una vez… posiblemente ambos jugadores tenían miedo del análisis anti-Berlín que hubiera podido hacer la otra parte y han jugado en su lugar mucha Siciliana, seguramente la apertura que lleva a posiciones de doble filo que da más oportunidades a ambos jugadores… como bien ha demostrado Alphazero, por cierto. [↩]
- Ya veis, no aprendo a resumir… [↩]
- Entre 400 y 500 millones de dólares, según parece. [↩]
The Nuevos datos sobre Alphazero, un avance muy significativo en la Inteligencia Artificial by , unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 Spain License.
{ 11 } Comentarios
Leo esto: “acrifica tantos peones o piezas en plena apertura o en el juego medio sin que parezca importarle la pérdida de material: porque evalúa que así maximiza sus probabilidades de ganar el juego y eso es lo único que le importa.”
Y lo primero que me viene a la mente son libros y películas de ciencia ficción, imaginaros a una maquina así tomando decisiones políticas o de guerra…. aunque el “fin” sea noble, los medios podrían ser increíblemente terribles…
1 Precisamente porque dentro de los objetivos que le han fijado los humanos no entra el minimizar la pérdida de material. Ahí es donde tenemos que asegurar el control de las IA’s en que
1) No puedan definirse sus propios objetivos 2) Exista un control completo sobre los objetivos y restricciones fijados a cada IA con intervención en el mundo real (Robots, identificaciones de usuarios, cuentas corrientes, etc…) creo que se acerca el momento de hacer un registro público de IA’s como el actual de los repositorios de datos personales (LOPD).
Os la he enviado a Meneame y ha llegado a portada:
https://www.meneame.net/story/nuevos-datos-sobre-alphazero-avance-muy-significativo-artificial
@Isangi, seria al mas puro estilo del juego de Ender.
Gracias por vuestros comentarios, amigos.
Yo también estoy un poco acojonado con todo esto, porque efectivamente podemos estar cerca de Matrix, o Terminator, o cualquier otra novela/peli de scifi: igual la IA que hayamos entrenado para que su objetivo sea mantener la paz entre los humanos a toda costa decide que, para cumplir su objetivo, lo más sencillo es acabar de una santa vez con estos incorregibles humanos antes de que ellos mismos hagan el trabajo…
Ya digo, si Google ha pagado un potosí por DeepMind no creo que su objetivo sea zurrarle al buen Stockfish, por muy gratificante que eso sea.
Iremos viendo. ¡Espero!
Sin ánimo de desmerecer el trabajo de DeepMind, lo cierto es que AlphaZero ha utilizado MUCHA mas “potencia de cálculo” que StockFish, ya que esos 44 núcleos de CPU, comunes en ambos casos, son muy poco comparados con las 4 TPUs adicionales que utilizó AlphaZero.
Curiosamente, AlphaZero deja de ganar a StockFich cuando le das 30 veces menos tiempo que a StockFich, y, por otro lado, las TPU se consideran que son unas 30 veces más rápidas que la GPU.
Si ambos algoritmos corrieran sobre exactamente la misma máquina (sin esas TPUs, solo 44 núcleos de CPU) yo apostaría un 80% lo que tengo por StockFish.
En mi teléfono móvil tengo instalada la versión 10 de Stockfish (salió hace más de un mes, por tanto la 9 ya no es la última) y a pesar de correr en un dispositivo muy modesto, es perfectamente capaz de sobrepasar a cualquier gran maestro. Es realmente inhumano. En el ejemplo de la 6ª partida del campeonato mundial, tras cuatro minutos en modo análisis, es capaz de señalar la jugada correcta, aunque no llegue a ver el mate en 37 (en mi móvil sólo tengo las tablas de finales syzygy de las posiciones con hasta 5 piezas, no puedo permitirme más, y además sólo he configurado 2 threads, porque prefiero tener alguna cpu del móvil libre). Es impresionante ver cómo una red neuronal entrenada compitiendo consigo misma derrote de forma tan contundente y consistente a Stockfish, un programa resultado de destilar tantos y tantos años de experiencia ajedrecística y algorítmica.
jlese ¿cuan dificil es hacer esa instalacfión? ¿alguna guia?
jlese: Parece que la versión 9 salió justo cuando acababan de hacer las baterías de enfrentamientos; por eso planificaron un match adicional para comprobar qué pasaba con esa nueva versión. Y pasó que apenas hubo diferencia con la versión 8.
Que yo sepa no hay una versión de Alphazero disponible ni pagando por ella ni como software libre, aunque se rumoreó que Fabiano Caruana pudo disponer de alguna forma de Alphazero durante su entrenamiento para el campeonato mundial. Quizá por eso Carlsen no hizo ni una sola apertura berlinesa durante el match, por si acaso el nuevo monstruo de silicio había encontrado el antídoto, como parece que ha encontrado para la francesa o la Caro-Kann…
Y desde luego que ningún gran maestro puede ni soñar en batir consistentemente a Stockfish (ni a Rybka, ni a Houdini…), y por lo tanto, tampoco a Alphazero.
Vienen tiempos curiosos… aunque seguramente si alguien consigue una IA realmente imbatible en alguno de los temas “importantes”… no nos vamos a enterar, como no se enteraron los alemanes del III Reich hasta muchísimos años después que los ingleses leían tranquilamente sus “indescifrables” mensajes de Enigma gracias a la super-IA de la época: Colossus.
Gracias por tu esclarecedor comentario.
Hola Isangi, Para instalar Stockfish en el móvil, lo mejor es bajarse la app DroidFish, que en realidad es un “front-end” para Stockfish o cualquier otro motor. La última versión de DroidFish es la 1.73, que lleva ya incluido el motor Stockfish 10. Yo uso la 1.72, porque no me lo bajo de la Play Store, sino de F-Droid, que parece que siempre va una versión por detrás (el motor actualizado siempre te lo puedes bajar de la web de Stockfish).
Aquí tienes información sobre la configuración de Stockfish: https://thezugzwangblog.com/stockfish/ En general, los valores de configuración del motor en Droidfish son adecuados, en todo caso se puede cambiar el número de threads (en teoría, hasta el número de CPUs que tenga tu móvil).
Si además quieres las tablas syzygy busca información en http://syzygy-tables.info . Allí recomiendan bajárselas por torrent. Las syzygy con hasta 5 piezas en el tablero ocupan casi 1 GB, creo recordar. Si quieres también las de 6 piezas, procura tener 150 GB libres en una SD (instalarlas en el disco duro de un PC es una MUY mala idea, por los tiempos de acceso). Si quieres las de 7 piezas, ni te cuento… Yo las tengo instaladas en el directorio “rtb” debajo del directorio “DroidfFish” en mi SD, que es la ubicación por defecto (configurable en alguna subopción en la sección “Ajustes/Opciones” de Droidfish.
Una dirección interesante para los amantes del ajedrez en ordenador o en dispositivo móvil:
http://master64chess.foroactivo.com
Muchisimas gracias jlese, lo reviso y lo probaré, gracias.
Escribe un comentario