Posts etiquetados ‘Ajedrez’

Uno de los mitos de la modernidad fue la búsqueda de un punto cero, un pilar sólido, irrefutable, libre de sesgos y prejuicios, de presupuestos y de ideas infundadas. Eso fue lo que intentaron Descartes y Bacon: encontrar esa nuda veritas, certeza absoluta a partir de la cual, si utilizabas el método adecuado, el recto pensar, podrías construir la totalidad del edificio del saber. Los positivistas actuales caen de nuevo en ese mito cuando hablan de los hechos, como si éstos representaran la realidad pura (si bien lo que a mí me molesta más es caer en el otro extremo: que, a partir de aquí, se concluya con estupideces como que la verdad no existe, o que la propia ciencia es literatura). Es imposible enfrentarse a la realidad metafísicamente desnuda, pero eso no quita que existan caminos mejores que otros para acercarse a ella.

Este debate, punto central de la historia de la filosofía, me ha venido a la cabeza cuando de nuevo oigo hablar del impresionante Alpha Zero (ahora que los de Deepmind han publicado un nuevo artículo en Science), la IA de Google que, partiendo del único conocimiento básico de las reglas del ajedrez, no teniendo ni un solo dato sobre táctica, estrategia, ni alguna base de datos de partidas clásicas, machacó a uno de los mejores programas de ajedrez de la actualidad: Stockfish 8 ¿Cómo ha sido posible algo así?  Alpha Zero comienza como un niño pequeño que acaba de aprender a jugar y no sabe nada más del juego (parte de una tabula rasa). Entonces, empieza a jugar contra sí mismo, con movimientos en principio aleatorios, pero siguiendo un clásico aprendizaje reforzado: las jugadas que llevan a la victoria en una partida serán más probables en las siguientes, y las que llevan a la derrota menos.

El programa decide la jugada mediante un árbol de búsqueda de Monte Carlo (no usa la poda alfa-beta de Stockfish). Ante la insuperable explosión combinatoria que supone predecir todos los movimientos posibles desde una posición hasta el final de la partida, Alpha Zero simula y elige, aleatoriamente, solo algunas y, de entre ellas, escoge la más prometedora. Nótese que eso no le hace tomar una decisión óptima, pudiendo, perfectamente, perder muchísimas jugadas mejores e, incluso, si tuviese la mala suerte de escoger un grupo de jugadas mediocres, hacer una mala jugada. Sin embargo, para que eso no ocurra (o, al menos, no ocurra demasiadas veces), es aquí donde la red neuronal artificial profunda orienta al árbol de decisión sobre qué caminos son los mejores y cuáles son rápidamente desechables en virtud del conocimiento previo atesorado tras todas las partidas anteriores (Alpha Zero, al contrario que versiones previas que funcionaban con aprendizaje supervisado, utilizaba solo una red y no dos).

Tras solo 4 horas de auto-entrenamiento, Alpha Zero derrotó a Stockfish 8, programa con un Elo ponderado de 3.400 (El mejor jugador humano, Magnus Carlsen, tiene un Elo de 2.835 a diciembre de 2018), lo cual no deja de ser absolutamente impresionante, simplemente, como logro dentro de la creación de programas de ajedrez. En el reciente artículo se publican nuevas partidas entre ambos y los resultados no dejan lugar a dudas sobre el poder de Alpha Zero: ganaba a Stockfish incluso cuando solo contaba con una décima parte del tiempo del otro. Incluso ganó también a la nueva versión de Stockfish, la 9.

Pero lo realmente espeluznante es que Alpha Zero comenzó, valga la redundancia, de cero, solo sabiendo las reglas y nada más… Es muy instructivo el gráfico de aperturas que nos ofrecieron en el primer artículo publicado (Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm, de diciembre del 2017), en el que se ve cómo el programa va utilizando unas y rechazando otras según avanza en el juego.

Vemos como la apertura española o la defensa siciliana, tan populares entre los profesionales del ajedrez, son desechadas rápidamente, mostrando una clara predilección por la apertura inglesa y por las de peón de dama. Alpha Zero va aprendiendo en soledad las jugadas que la humanidad ha entendido tras siglos (o quizá milenios) de estudiar el ajedrez, y las desecha para jugar a su manera. Demis Hassabis dijo que Alpha Zero no juega ni como un humano ni como una máquina, sino casi como un alienígena. Y es cierto, esa forma de jugar no ha sido vista hasta la fecha y los analistas están perplejos comprobando alguna de las extrañas y, aparentemente ininteligibles, jugadas de esta singular IA. Lo cual, además, saca a la palestra el tema de las diferentes formas de inteligencia o estilos cognitivos posibles. Hasta ahora, cuando hablábamos de diferentes estructuras cognitivas, teníamos que irnos a los animales, a los que, tradicionalmente, se considera con muchos menos recursos cognitivos que nosotros. Ahora tenemos una máquina endiabladamente superior, que hace las cosas de una forma muy diferente a todo organismo conocido.

Pero es más, la interpretación más evocadora de su increíble aprendizaje es que el conocimiento humano le estorba.  Stockfish es muy bueno, pero es demasiado humano: su forma de jugar está muy lastrada por su conocimiento de partidas entre humanos. Pero, ¿y qué tiene de malo el conocimiento humano? Que su comprensión del juego está limitada por las capacidades humanas, por nuestra débil memoria y por nuestra escasa capacidad de razonamiento para componer jugadas. Alpha Zero tiene una perspectiva mucho más amplia sobre el ajedrez (se está viendo ya que parece que no valora las piezas del modo tradicional, haciendo continuos sacrificios en pos de ventajas posicionales a largo plazo).

Bien, pues preguntémosle a Alpha Zero cómo juega y mejoremos nuestro juego. No podemos, la red neuronal de Alpha Zero es una caja negra total: su conocimiento se encuentra distribuido entre los valores numéricos de los pesos de sus nodos neuronales… Abriendo su interior no podemos entender nada, pues el deep learning tiene este grave defecto: no podemos pasar su conocimiento a fórmulas lineales tal que podamos entenderlo y traducirlo en estrategias de juego. O sea, hemos creado el ente que mejor juega al ajedrez de todos los tiempos y no sabemos cómo lo hace. Solo nos queda verlo jugar y, externamente, intentar comprender por qué hace lo que hace como si observáramos a un jugador que no quisiera desvelar los secretos de su juego.

Algunos han destacado el dato de que Alpha Zero analiza solamente unas 60.000 posiciones por segundo en comparación con los 60 millones de Stockfish, anunciando, a mi juicio muy apresuradamente, el fin de la fuerza bruta. En primer lugar a mí 60.000 jugadas por segundo me sigue pareciendo fuerza bruta. No sé al lector, pero a mí en un segundo casi no me da ni para darme cuenta de que estoy jugando al ajedrez. Y en segundo, el funcionamiento de Alpha Zero es engañoso en cuanto a la potencia de cómputo que necesita. Si bien, una vez entrenado, necesita bastante menos que cualquier módulo competente de ajedrez, para su entrenamiento previo necesita muchísima. De hecho, necesita jugar muchas más partidas que cualquier gran maestro humano para llegar a su nivel.

Y es que, a nivel teórico, Alpha Zero no es demasiado novedoso. De modo muy general, no es más que un árbol de decisión que Monte Carlo (inventado desde mediados del siglo pasado) más una red neuronal convolucional que no parece tener nada fuera de lo que ya sabemos desde hace tiempo. Entonces, ¿por qué no se ha hecho antes? Precisamente porque hacía falta una potencia de cómputo de la que no se disponía. Las redes neuronales artificiales siguen teniendo el mismo defecto de siempre: su lentitud de entrenamiento, hacen falta millones de ejemplos para que vayan aprendiendo. Entonces, la fuerza bruta que no necesitan para funcionar, sí que la necesitan para entrenarse. No obstante, el avance es, a nivel práctico, muy significativo: una vez entrenado ya no necesita más de dicha potencia.

Otro aspecto, seguramente el más importante, es la polivalencia que prometen y que nos hace soñar con la añorada IAG (Inteligencia Artificial General). Alpha Zero no solo es invencible al ajedrez, sino al Go y al Shogi ¿En cuántas tareas podrán desenvolverse a nivel sobrehumano esta nueva generación de máquinas? Prudencia: las máquinas ya nos machacaban desde hace tiempo en muchas ocupaciones, siempre y cuando éstas fueran fácilmente formalizables. El ajedrez, el Go o el shogi, aunque sean juegos muy complejos, son trivialmente formalizables: tablero de juego delimitado con precisión y solo unas pocas reglas de juego, igualmente, muy precisas. En entornos más complejos y confusos  tienen problemas. A pesar de que, precisamente, la IA conexionista se mueve mejor que la simbólica en ellos, todavía tiene muchas dificultades. Pensemos que un coche autónomo, aunque sepa desenvolverse en ambientes muy cambiantes, lo único que hace es moverse por vías, habitualmente, bien delimitadas (su “micromundo” es casi  de dos dimensiones). Moverse competentemente en un determinado nicho ecológico es de lo primero que saben hacer los organismos vivos más sencillos. Aunque estamos hablando de excelentes avances, todavía queda mucho por hacer.

Desde el Círculo de Ajedrez José Raúl Capablanca, se nos presenta un problema que los módulos tradicionales no son capaces de solucionar, precisamente, porque no son capaces de planes generales a muy largo plazo ¿Sería capaz Alpha Zero de solucionarlo? Juegan blancas y ganan.

La solución en este vídeo.

 

Me gusta mucho el ajedrez. Es un juego bellísimo, de un orden geométrico asombroso. Me encanta revivir partidas clásicas analizando la genialidad de esos grandes jugadores que tuvieron un momento de inspiración y que combinaron magistralmente sus piezas desde un plan trazado con muchas jugadas de antelación. Los resultados son muy hermosos: jugadas perfectas, cálculos precisos, trampas invisibles que en una jugada hacen cambiar por completo el sino de la partida. Y todo eso desde la romántica visión de un duelo a muerte entre caballeros, una encarnizada lucha entre dos cerebros en la que no hay suerte (el ajedrez no es un juego de azar), todo lo que pase es enteramente responsabilidad tuya. Las derrotas son muy duras.

Sin embargo, cuando me pongo a jugar pronto me doy cuenta que no tengo la genialidad de los grandes maestros. No puedo calcular con tanta antelación ni se me ocurren combinaciones tan brillantes. No es sólo falta de inteligencia en comparación con grandes jugadores, sino falta de preparación y entrenamiento: no me sé todas las aperturas, ni siquiera domino ninguna de forma más o menos competente. Tampoco tengo conocimientos sólidos de los fundamentos teóricos del juego. Supongo que necesitaría años de entrenamiento para poco más que no hacer el ridículo en un torneo federado.

¿Cómo, siendo un mediocre, juego entonces mis partidas? Como no puedo tener una visión global perfecta de lo que pasa en el tablero ni puedo anticipar con claridad el futuro a medio y largo plazo, vivo en el presente. ¿Cómo? Siguiendo una serie de principios básicos, de recomendaciones, de apuestas más o menos arriesgadas: despliega rápido tus piezas, presiona el centro, enrócate lo más pronto posible, no saques la dama hasta que la partida esté avanzada, que tus alfiles tengan diagonales largas para moverse, busca columnas vacías, ataca el peón más débil de la cadena, si tienes ventaja material no temas cambiar piezas, busca ataques dobles, clava piezas adversarias, etc. Luego, mi memoria también me ayuda: puedo recordar partidas clásicas o que ya he jugado, repetir estrategias que me han funcionado y evitar errores que me costaron la derrota. Igualmente mi conocimiento de mates clásicos es de gran ayuda al final de la partida. Téngase en cuenta que todas estas directrices de juego son sólo consejos, prácticas que sólo serán válidas en un contexto dado pero que muchas veces serán inútiles o, incluso, contraproducentes.

¿Y qué tiene que ver esto con la mente? Pues que la mente funciona de modo muy similar a un jugador aficionado al ajedrez como yo:

1. Nuestro cerebro es un conjunto de módulos, de subsistemas encargados de realizar tareas concretas, una caja de herramientas para sobrevivir. Hay que tener claro que nuestra mente no fue diseñada para encontrar la verdad ni para descubrir los grandes misterios del cosmos, está diseñada para adaptarse al medio, para operar y desenvolverse en él. La mente tiene una finalidad muy práctica. En la metáfora, cada módulo es un principio básico, una directriz de juego, una forma de hacer las cosas.

2. Las directrices de juego son sólo apuestas, hipótesis, tentativas, en muchas ocasiones chapuceras o mal avenidas unas con otras. Por eso nos equivocamos, por eso el error es tan común en nuestro quehacer cotidiano (y tan necesario).

3. La memoria es otro subsistema encargado de seleccionar las mejores directrices, almacenándolas para nuevos usos. Por eso la memoria está muy ligada a las emociones. ¿Qué recordamos después de una partida? Aquella jugada pésima que me hizo perder. ¿Qué emoción iba ligada a esa jugada? Rabia, impotencia… Las emociones intensas suelen ir ligadas a momentos cruciales en el proceso de aprendizaje. Y es que el cerebro humano es una gran maquinaria de aprendizaje en el que se ensayan constantemente conductas, unas se refuerzan y otras se desechan. Creo que nos diferenciamos más de los animales por nuestra enorme capacidad de aprendizaje que por nuestra inteligencia.

4. No existe el “teatro cartesiano”, un lugar donde existe una visión unificada, clara y sencilla de toda la partida. Sólo tenemos visiones parciales de la realidad dadas por cada módulo particular, múltiples perspectivas, estrategias y enfoques, diseñadas por la selección natural para no ser irreemplazables:  si falla una tenemos más. Aunque pierda ese valioso alfil puedo seguir intentando ganar la partida. La redundancia es una característica fundamental de nuestro cerebro. De hecho, una de las definiciones más comunes de persona inteligente es decir que es aquella que aporta más soluciones ante un problema dado. Una buena mente es la que, sencillamente, tiene muchos recursos.

5. ¿Por qué no existe ese “teatro cartesiano”? ¿Por qué no tener una visión global, unificada de todo? ¿Por qué no visualizar el tablero con claridad y distinción? ¿No ganaríamos más partidas? Así es pero es mucho menos eficiente teniendo en cuenta la escasez de medios. A la naturaleza le hubiera costado mucho crear un Carlsen en cada ser humano. Además, la variabilidad o diversidad de genotipos es una gran estrategia evolutiva. Pensemos que la naturaleza crea todos los cerebros tan buenos al ajedrez como Magnus Carlsen. Entonces, todos los seres humanos jugarían muy bien, pero con un estilo único, con unos determinados hábitos y, a pesar de la calidad del juego, con unos puntos débiles. La naturaleza rápidamente sacaría unos rivales que explotarían a la perfección tales defectos. La humanidad estaría condenada a la extinción. Por el contrario, diseñando jugadores mediocres pero variados, aumenta las probabilidades de supervivencia. Es lo mismo que ocurre con los pesticidas y las plagas. Solo las especies con una alta tasa de mutación sobreviven a los venenos del agricultor, haciéndose inmunes a ellos en unas cuantas generaciones.

6. El cerebro, al igual que la partida de ajedrez, es un sistema muy dinámico: se está construyendo movimiento a movimiento. Los principios de juego de los que parto pueden ir cambiando, combinarse o refutarse mientras se juega. Hay momentos en los que vendrán bien y en otros no, de modo que no hay una fórmula magistral para cada partida y, por eso, cada partida es siempre distinta al igual que cada mente es única e irrepetible. Incluso ante posiciones similares, muchas veces optaremos por estrategias diferentes (ya sea por que nos falla la memoria, porque se nos ha ocurrido algo mejor o, sencillamente, porque tenemos una corazonada), y es que no solemos funcionar mediante la lógica bivalente propia de las máquinas, sino más bien con lógica borrosa: tendemos a repetir una estrategia que funcionó, pero no lo hacemos el 100% de las veces desde el principio, sino que vamos subiendo el porcentaje a medida que funciona y no tenemos problema alguno en cambiarla si surge la necesidad. Por eso tropezamos muchas veces en la misma piedra, porque eso, al final, hace que tropieces muy pocas veces.

Durante su estancia en Teddington visitaba de vez en cuando, cerca de Dorking, a la madre del profesor Champernowne, quien recuerda que una tarde se presentó en el salón con un par de calcetines blancos que él mismo se disponía a zurcir. Terminado el trabajo, dijo que lo había encontrado muy relajante. La verdad es que zurcía con mucho esmero, e hizo un zurcido realmente primoroso en unos pantalones oscuros, sólo que con hilo blanco o de algún otro color claro. Solía jugar en el jardín de Mrs. Champernowne. En este juego, cada jugador tenía que correr alrededor del jardín después de haber movido, y, si llegaba de nuevo al tablero antes de que hubiese movido su adversario, ganaba un movimiento extra. Su rapidez probablemente compensaba a Alan de no ser demasiado buen jugador de ajedrez. El objeto de este juego era arrojar luz sobre los efectos del ejercicio violento en el funcionamiento del cerebro.

Sara Turing (madre de Turing) en Alan M. Turing (1959)

Estas costumbres podrían estar bien para un niño, pero esto ocurrió sobre 1947, año en el que Turing tenía ya unos treinta y cinco años.

Dos moralejas:

1. Nunca uses hilo claro para hacer zurcidos en ropa oscura.

2. Si juegas al ajedrez contra un rival superior pero físicamente inferior, proponle un experimento para probar los efectos del ejercicio violento en el funcionamiento del cerebro.

El 25 de Noviembre de 2006 tuvo lugar el primero de los seis enfrentamientos  entre el campeón del mundo de ajedrez, el gran maestro ruso Vladimir Kramnik y el computador de la empresa alemana Chessbase, Deep Fritz. La apuesta era la siguiente: Kramnik cobraba automáticamente por jugar medio millón de dolares y podría doblar esa cifra si ganaba en el cómputo: un millón de dólares por seguir demostrando que los seres humanos somos mejores que nuestras creaciones digitales. No era la primera vez que se encontraban. Ya en el año 2002  empataron en Bahrein. Habían pasado cuatro años y un computador mejora muy deprisa. ¿Vencería esta vez la máquina al hombre? Veamos a los dos púgiles:

Vladimir Kramnik: era el candidato idóneo para esta prueba ya que no es un jugador agresivo y temerario como pudiera ser el actual líder de la FIDE VeselinTopalov o el valiente Viswanathan Anand. Kramnik es calmado, frío, conservador. Alguien que más que a ganar juega a no perder (sobre todo si juega con negras), jugador teórico, lógico y sistemático antes que intuitivo o fogoso. Según Kasparov, representa el triunfo del pragmatismo de mercado en el ajedrez mezclado con la tenacidad de Karpov. Con estas características no había nadie mejor que él para vencer a Deep Fritz. Aquí tenéis algunas de sus mejores partidas.

Vladimir Kramnik

Deep Fritz: era capaz de procesar nueve millones de posiciones por segundo. Uno esperaría encontrarse a un mastodonte como, por ejemplo, su homólogo Deep Blue de IBM, pero en vez de eso uno ve poco más que lo que tenemos en la fotografía: no se necesita más que la potencia de  un Pentium III para tener una fuerza bruta suficiente para derrotar al campeón del mundo.  Y es que hoy en día no hace falta demasiado. A mí no deja de maravillarme como en mi Nintendo DS, el juego de ajedrez Chessmaster, que apenas ocupa 30 megas de memoria y que usa el pequeño procesador de la DS (de 32 bits y 66 Mhz), juega a un nivel Elo de 1850, es decir, mejor que cualquier persona inteligente que no esté  entrenada seria y prolongadamente en el juego. Y, por supuesto, el juego Fritz 10, que es el que tengo en mi ordenador, será invencible para mí y para el 99,9% de la población mundial, hasta el fin de nuestras vidas.

Deep Fritz

Primera partida: tablas

Segunda partida: gana Deep Fritz por error intantil de Kramnik. Aquí ocurre otra cosa interesante. Hay muchos que no se creyeron esto. ¿Cómo era posible que Kramnik, digno sucesor de Kasparov, no viera un mate en uno? Y es que las máquinas también nos superan en otra cosa: la honestidad. En esta competición había en juego intereses económicos de peso: la venta de videojuegos, la posibilidad de una lucrativa revancha… Yo no sé lo que realmente pasó, pero sí estoy seguro de que la realmente inocente en este asunto era Deep Fritz, la única que no se puede dejar llevar por las bajas pasiones humanas.

Tercera partida: tablas.

Cuarta partida: tablas.

Quinta partida: tablas.

Sexta partida: gana Deep Fritz

Aquí tenéis las seis partidas visualizadas y con sus respectivas crónicas (muy breves por cierto) por parte de EL PAÍS

Aquí podéis comprar la versión multiprocesador del programa que venció al campeón del mundo por unos 120 euros.

En la actualidad, el mejor programa informático de ajedrez se llama Rybka con un Elo ponderado en 3150 (A julio de este año, el jugador humano con mayor Elo según la clasificación de la FIDE era Topalov con 2813… ¡la máquina tiene la friolera de 337 puntos más!). Sin embargo, Rybka  perdió sorprendentemente contra el número 28 del mundo Vladim Milov. Quizá el hombre tenga aún cierta esperanza, yo creo que no, e incluso me atrevería a pronosticar que dentro de unas décadas el ajedrez habrá sido agotado por las computadoras. Lamentablemente, el número de jugadas, aunque sea astronómico, no es infinito.