Ajedrez, Infoajedrez, Motores, Noticias, Partidas, Varios

Ajedrez y ordenadores: el último duelo hombre-máquina

Juan A. R. ParraEste artículo está inspirado en una conversación que tuve por email con Luis Méndez Castedo sobre el análisis de partidas con programas de ajedrez. Para abrir boca, podéis leer este otro que escribí en 2012 (¡hace ya más de 10 años!) “Sobre el ajedrez, los programas de ordenador y los humanos”, y también uno de 2014 titulado “Módulos de ajedrez: evolución y mejora continua”.

Es curioso que hoy en día, en pleno siglo XXI y cuando hace mucho que los programas de ajedrez han sido aceptados mundialmente como herramientas para la preparación y análisis de partidas, todavía existen algunos “tozudos” que se niegan a aceptar el hecho de que nos han superado en todos los aspectos de la lucha ajedrecística. Primero decían que las máquinas sólo calculaban y no pensaban, hasta que se dieron cuenta de que dichos cálculos eran realmente una forma de pensamiento, pero mucho más exacta y fiable. Luego esgrimían que sólo los humanos pueden crear arte como hacían Alekhine, Tal o Kaspárov, cuando al más mínimo desliz rival los programas desencadenan sobre el tablero una tormenta de sacrificios imposibles e inconcebibles por los mejores tácticos de la historia, y además correctos y sin errores. Después sostenían que no sabían de estrategia como Capablanca, Lásker, Botvínnik o Físcher, hasta que se dieron cuenta de que son capaces de planificar estrategias de decenas de jugadas inimaginables para un humano. También dijeron que los programas no sabían jugar finales, pero el incremento de la potencia de cálculo de los ordenadores les permitió prever con muchísima antelación temas de coronación de peones y mates, por no citar el uso de las “Tablas de Finales” de hasta 7 piezas que se crearon hace ya unos cuantos años. Por último, únicamente les quedó “argumentar” que no les gustan las máquinas y que eso no es ajedrez…

Pero todo no ha sido siempre así, no sólo porque los creadores y programadores han ido mejorando sus algoritmos con el paso del tiempo, sino porque el “hardware”, en concreto los microprocesadores, ha evolucionado de una forma exponencial, y ahora nadie se sorprende de tener en su casa un procesador con varios núcleos (¡incluso en el teléfono móvil!) cuando el siglo pasado era algo que sólo estaba al alcance de grandes empresas, corporaciones  y universidades.

De todo esto hablaremos a continuación, y revisaremos el último enfrentamiento hombre-máquina del que muchos no se acuerdan o ni siquiera han oído hablar, y que no fue la famosa derrota de Kaspárov contra Deep Blue en 1997, sino el encuentro que en 2006 enfrentó al vigente campeón mundial, el ruso Vladimir Krámnik (flamante e inesperado verdugo del invencible Kaspárov), contra el mejor módulo para PC que se había desarrollado hasta ese momento, ChessBase Deep Fritz 10.

Kramnik-Deep Fritz

El hardware

Aunque muchos aficionados ni siquiera reparan en este aspecto, uno de los primeros factores que hay que tener en cuenta a la hora de medir la fuerza de juego de un programa o módulo de ajedrez es el “hardware”, es decir, la máquina, PC (Personal Computer), ordenador o, como dicen en la mayoría de países de habla hispana, computadora en la que se ejecuta. En concreto, hablamos del procesador o microprocesador (CPU en inglés, “Central Processing Unit” o “Unidad Central de Proceso”), alma del ordenador y responsable de realizar todos los cálculos. Desde hace algunos años existen módulos de ajedrez que aprovechan las capacidades vectoriales de las tarjetas gráficas más modernas, pero personalmente creo que sólo ha sido una “moda pasajera”…

Para hacernos una idea, podemos asegurar que el módulo actual más moderno, Stockfish 15, ejecutándose en un teléfono móvil (celular) de última generación, sería incapaz de ganar una sola partida al mismo módulo ejecutándose en un moderno PC. Es por ello que los campeonatos del mundo que se han celebrado entre programas a lo largo de la historia, en mi opinión, nunca han sido justos, ya que no sólo influían los algoritmos implementados por los autores de los mismos, sino también la máquina utilizada, y muchas veces tenía ventaja quien dispusiera de los mejores patrocinadores. Por tanto, para comparar la fuerza real entre módulos es necesario enfrentarlos ejecutándose en el misma ordenador, y es lo que llevan haciendo desde hace muchos años en páginas como SSDF (“Swedish Svenska schackdatorföreningen” o “Swedish Chess Computer Association”), CEGT (“Chess Engines Grand Tournament”), TCEC (antes “Thorensen Chess Engine Competition”, actualmente “Top Chess Engine Championship”, véase mi artículo de 2011 “¡El rey (Rybka) ha muerto… larga vida al rey (Houdini)!”) o CCRL (“Computer Chess Rating Lists”).

A grandes rasgos, podemos decir que la potencia de un microprocesador está íntimamente ligada con la disipación de calor, y uno de los mayores retos de los ingenieros electrónicos desde siempre ha sido conseguir modelos más potentes, en el menor espacio posible y de forma que no se fundan los delicados componentes electrónicos o bien tengamos en casa una estufa en vez de un ordenador. Esto también tiene que ver con el número de núcleos del mismo, algo así como decir que se integran varios procesadores que pueden trabajar en paralelo dentro de un mismo procesador, un hito impensable no hace demasiados años y que hoy en día vemos como algo natural. Por si fuera poco, dichos núcleos cada vez funcionan a mayor frecuencia (medida en GHz o “gigahercios”), y, para rizar el rizo, cada núcleo, con el objeto de aprovechar su potencia en tareas menos exigentes, es capaz de desdoblarse en dos hilos de ejecución, de forma que puede atender a mayor número de procesos en paralelo. Los hilos y los GHz son los responsables de que los microprocesadores se calienten como una freidora…

Actualmente los micros más potentes para PC necesitan enormes disipadores de calor y ventiladores (e incluso refrigeración líquida, aunque ésta es otra historia que tiene más que ver con la desmedida potencia de las tarjetas gráficas…), y obviamente en un ordenador portátil (“laptop”) o en un teléfono móvil esto resulta imposible por falta de espacio. Por poner un ejemplo, el PC que usan «El Divis» y David Antón para entrenar (al que llaman «Don Stephen» en honor al jugador de baloncesto Stephen Curry), tiene 44 núcleos (y posiblemente 88 hilos de proceso), y comentan que calienta la habitación como si fuera una estufa. Obviamente, cuesta varios miles de euros…

Obsérvese que sólo estoy refiriéndome aquí a microprocesadores de ordenadores personales, más o menos caros, pero que se pueden adquirir y disponer de ellos en cualquier hogar. Obviamente existen ordenadores mucho más potentes, llegando a utilizarse el término “superordenador” para aquéllos que son considerados los más potentes del mundo y que cuestan millones de dólares, y que normalmente están dedicados a tareas «menos altruistas» que jugar al ajedrez (y también podemos decir que secretas e incluso de dudosa reputación social). Un ejemplo lo tenéis en la siguiente imagen, el superordenador ruso Lomonosov del Departamento de Ciencias de la Computación de la Universidad Estatal de Moscú que se usó en 2012 para generar las tablas de finales de 7 piezas.

Superordenador Lomonosov

Realmente, la capacidad de cálculo de un conjunto hardware-software en ajedrez se mide en los llamados “nodos por segundo”, es decir, en el número de posiciones por segundo que es capaz de analizar. Como referencia, cualquier teléfono móvil actual es capaz de procesar varios millones de posiciones por segundo, y un PC más o menos moderno alcanza varias decenas de millones. En esta página de Ipman Chess podéis comprobar que un “modesto” Intel Core i7 8700K (6 núcleos y 12 hilos) llega a los 25 millones de nodos, un moderno AMD Ryzen 9 5900X (12 núcleos y 24 hilos) supera los 50 millones, un monstruo de última generación que apenas ha salido al mercado como es el AMD Ryzen 9 7950X (16 núcleos y 32 hilos) alcanza los 90 millones, y  ordenadores con procesadores más caros y difíciles de montar para un particular, como los AMD Threadripper o AMD EPIC, superan los 200 millones de nodos, mientras que en primer lugar aparece un «maquinón» que integra 8 procesadores Intel Xeon Platinum 8168, ¡con un total de 384 hilos y 431 millones de nodos por segundo! También podemos ver lo que se llama un “cluster” (conjunto de ordenadores trabajando conjuntamente en paralelo) formado por 128 CPUs con 32 hilos cada una, es decir, ¡4.096 hilos que alcanzan la friolera de 4.801.341.606 nodos por segundo!

Deep BlueDeep Blue en 2007 en el Computer History Museum (Mountain View, California). Foto: James the photographerDeep BlueCC BY 2.0

Por establecer algún tipo de comparación, el superordenador millonario IBM Deep Blue que derrotó a Kaspárov en 1997 (del que hablaremos más adelante) estaba dedicado exclusivamente al ajedrez, formado por 30 nodos que integraban 480 chips especializados en ajedrez (16 por cada nodo), con unas frecuencias que no superaban los 135 MHz (cuando los micros actuales llegan a los 5 GHz), y llegó a ser capaz de analizar unos 200 millones de nodos por segundo. Sin embargo, utilizaba algoritmos llamados de “búsqueda por fuerza bruta”, analizando todas las posibles jugadas en cada posición. Se le estimó por entonces una fuera de juego de unos 2700 Elo (véase el término “Elo” para quien no lo conozca), suficientes para derrotar a Kaspárov en el match, ya que las máquinas ni se cansan, ni se sorprenden, ni se asustan y, sobre todo, no cometen errores graves. Por el contrario, Stockfish en cualquier PC doméstico con 4 núcleos, aun analizando muchos menos nodos por segundo, supera fácilmente los 3000 Elo (en CCRL se estima en más de 3500 Elo) debido a su sofisticada función de evaluación y a los modernos métodos de búsqueda y poda de ramas del árbol de variantes capaces de encontrar rápidamente las jugadas buenas y desechar las malas.

Llegados a este punto me gustaría dedicar unas palabras al archiconocido programa AlphaZero, que revolucionó algunos conceptos de los programas y del propio ajedrez con su fugaz aparición en 2017 (cómo pasa el tiempo…). He de decir que no me equivoqué cuando ya por entonces comenté con algunos amigos y compañeros de ajedrez que AlphaZero tendría el mismo recorrido que Deep Blue, es decir, casi ninguno, con una inversión multimillonaria que IBM recuperó ampliamente en su época cuando se disparó el valor de sus acciones en bolsa, aunque no creo que Google haya conseguido lo mismo, claro que seguramente tampoco lo necesita.

De forma muy resumida, AlphaZero consiste en un algoritmo de inteligencia artificial basado en redes neuronales que aprende mediante un entrenamiento exhaustivo. Es decir, en lo que se refiere al ajedrez, es como un niño al que se le explican las reglas del juego y empieza a jugar millones y millones de partidas contra sí mismo, mejorando y ensayando nuevas jugadas cada vez que alguna de éstas no le da un buen resultado.

Una red neuronal normalmente requiere una inmensa potencia de proceso para realizar todas esas pruebas de ensayo y error en un tiempo razonable. En concreto, AlphaZero utilizó 5.000 TPUs (de 1ª generación) para jugar millones de partidas contra sí mismo durante 24 horas, y 64 TPUs (de 2ª generación) para entrenar la red neuronal analizando dichas partidas durante 4 horas. Una TPU (“Tensor Proccessor Unit” o “unidad de procesamiento de tensor”) es una CPU específica desarrollada por Google para manejar el tipo de cálculos necesarios para el aprendizaje de estas redes neuronales. Después, el programa de juego de AlphaZero corría en una máquina con “tan solo” 4 TPUs que accedían a la información y conocimiento generado durante la etapa de entrenamiento. Y entrecomillo lo de “tan solo” porque en este artículo de ADSL Zone señala que una sola TPU de Google es entre 15 y 30 veces más potente que un procesador normal de un PC en tareas de aprendizaje. En este otro artículo en inglés de ARSTechnica explica que una TPU con 4 módulos de proceso alcanza 45 TFLOPS (“TeraFLOPS” o billones de operaciones en coma flotante por segundo, es decir, ¡1012 FLOPS!), y 64 TPUs serían unos 11 PFLOPS (“PetaFLOPS”, ¡1015 FLOPS!). Uno se pierde haciendo cálculos para las mencionadas 5.000 TPUs de la fase de entrenamiento, pero baste con citar que un Intel Core i7 980 XE del año 2010 llegaba a “tan solo” 109 GFLOPS (“GigaFLOPS” o 109 FLOPS), mientras que una tarjeta gráfica de esa época como la nVidia Tesla C2050 procesaba unos 515 GFLOPS.

En definitiva, hablamos de una inversión multimillonaria que sirvió para derrotar a Stockfish 8 en unas condiciones totalmente desiguales, cuando éste ni siquiera era la última versión, corrió en un PC medianamente potente, con un tiempo limitado a tan solo 1 minuto por jugada (un sinsentido en enfrentamientos entre módulos), y ni siquiera se le permitió utilizar un libro de aperturas ni las tablas de finales.

TPU de GoogleMáquina con 64 tarjetas TPU de Google que alcanza 11,5 PFLOPS de capacidad de proceso.

 

Para terminar este apartado, me gustaría aclarar que profesionales como el campeón de mundo, Magnus Carlsen (y muchos otros jugadores), ni siquiera usan sus propios ordenadores, sino que alquilan su tiempo de análisis (dependiendo de las posibilidades de cada cuál…). Esto lo descubrí por primera vez hace unos años de la mano de Pablo Argüelles (alias “El Capa”), quien me contó que para sus estudios alquilaba tiempo de análisis en la “Nube de módulos de ChessBase” (“Engine Cloud”). Por un módico precio puedes elegir el módulo y las horas de análisis, lo que te proporciona un montón de hilos de proceso y muchos millones de nodos por segundo. Imagino que Carlsen alquilará máquinas mucho más potentes, aunque seguramente se las ofrezca algún patrocinador… Para el resto de los mortales, tenemos a nuestra disposición y de forma gratuita Lichess (véase mi artículo “Análisis de partidas en Lichess”, así como “Tablas de Finales en Ajedrez: todo lo que hay que saber”).

Mi historia con las “máquinas” de ajedrez

Sería muy largo hacer un completo recorrido por toda la historia de las máquinas y programas de ajedrez, pero en la Wikipedia tenéis un detallado artículo titulado “Ajedrez por computadora”, mientras que, como suele ser habitual, más completa aún es la versión en inglés titulada “Computer chess”. Otra página interesante es ésta, AjedrezRC, con un breve resumen de los hitos más importantes en la historia de los programas de ajedrez.

Antes de nada, es necesario distinguir entre lo que son máquinas dedicadas exclusivamente a jugar al ajedrez (que incluyen un tablero con piezas con sensores y un programa informático que responde a nuestros movimientos), y lo que son los programas de ordenador o, como actualmente se llaman, motores o módulos de juego (“chess engine” en inglés). Las primeras surgieron a finales de los años 70 cuando todavía no estaba extendido el uso de los ordenadores personales, mientras que los programas se empezaron a popularizar a principios de los 80. Para ahondar en éste y otros temas disponéis de una completa página (en inglés) llamada CPW o “Chess Programming Wiki”, donde habla sobre las “máquinas dedicadas” y sobre los motores o módulos. Resulta impresionante la cantidad de nombres de ambos tipos que existen o han existido, por lo que aquí sólo haré un recorrido por lo que yo he conocido de primera mano desde el año 1982 o 1983, que fue cuando empecé a interesarme tanto por el ajedrez como por la Informática.

Las “máquinas dedicadas” eran, sobre todo, caras, si hablamos de que tuvieran un buen nivel de juego y dispusieran de un tablero más o menos grande, pero hay que tener en cuenta que también eran muy caros los primeros ordenadores que aparecieron en los años 80. Aunque nunca compré ninguna, en 1995 jugué varias partidas contra la Kasparov Compact Chess Computer (Saitek Ltd.) que tenía un amigo, y en el nivel más alto (3′ por jugada) era bastante floja (1350 Elo estimado). Claro que su precio era asequible y se podía llevar a cualquier parte, como podemos ver en la imagen.

Kasparov Compact Chess Computer

En octubre de 1997, cuando estaba trabajando en Lisboa, jugué un match a 6 partidas contra otra maquinita que tenía un compañero, una Kasparov Express 16K (by SciSys). Aunque los niveles más altos eran algo mejores (1440 Elo estimado), la puse en el nivel 2 (5″ por jugada) y tenía bastantes “cruces de cables”, ganando más o menos fácilmente las 6 partidas.

Kasparov Express 16K

La compra del primer ordenador en la vida de uno es algo inolvidable, bueno, al menos para mí, no espero que todos los lectores compartan este sentimiento… Fue en 1985, y se trató del por entonces archiconocido Spectrum o, para ser más exactos, “ZX Spectrum 48K”. ¡De hecho, aún lo conservo! Bueno, en realidad se parecía más a una consola, aunque tampoco a las consolas que conocemos hoy en día, ya que incorporaba un teclado. Para muestra, mejor una imagen:

ZX Spectrum 48K

Como podéis apreciar, era más bien un juguete que estaba al alcance de casi todos los bolsillos. El Spectrum se conectaba al televisor que teníamos en casa y también a un lector de cintas de casete, ya que los programas se cargaban en él por las frecuencias y sonidos (o mejor dicho “ruidos estridentes”) grabados en dichas cintas. ¡Una auténtica revolución de la época con la que yo aprendí a programar en lenguaje BASIC! Y sí, como su propio nombre indica ¡funcionaba con 48 KB de RAM!

Por supuesto, no podían faltar los juegos de ajedrez para Spectrum, entre ellos el mejor era el “Cyrus IS-Chess”, creado por un genio todavía desconocido llamado Richard Lang. Claro que, teniendo en cuenta que el Spectrum funcionaba a una velocidad de unos escalofriantes ¡3,5 MHz!, no jugaba demasiado bien y además las partidas se eternizaban en los niveles altos (el nivel 8 era desesperante, consumiendo tranquilamente más de 3 horas para sus jugadas en una partida…). Pero desde luego, había que ganarle: de las 30 partidas que guardo en mi base de datos de matches de entrenamiento jugados contra él en los niveles 6, 7 y 8, el resultado fue de +19=1-5 a mi favor.

Como curiosidad, ésta es la primera partida que conservo contra Cyrus (nivel 6), revisada con Stockfish 15:

Para los nostálgicos como yo, en esta página de ZXSpectrum ¡podéis seleccionar el programa “Cyrus IS Chess” y jugar contra él online! (hay que emplear las teclas que explica debajo del tablero, lo más incómodo es mover las piezas con las teclas 5, 6, 7 y 8…). Además, hay cientos de juegos de Spectrum ordenados alfabéticamente por rangos de años, por si os queréis entretener un buen rato…

Cyrus IS Chess

En 1987 empecé la carrera de Informática, y tampoco puedo olvidar la llegada a casa de mi primer PC en 1988. Eso sí, esta vez tuve que dejarme absolutamente todos mis ahorros en él, y además pedirles ayuda a mis padres. Se trataba de un ordenador marca Bondwell con dos disqueteras de 5,25 pulgadas (¡discos que almacenaban la friolera de 360 KB, es decir, kilobytes!), pantalla CGA de 4 colores, y una impresora matricial marca EPSON, por un total de nada menos que 360.000 pesetas de las de entonces. Años después empezaron a verse los discos duros, y me compré uno de 30 MB por nada menos que 60.000 pesetas. ¡Y no, no me he equivocado, tenía 30 megabytes!

PC Bondwell Epson matricial

Y fue entonces cuando llegó el que podríamos definir como el primer programa que ya nos ponía las cosas difíciles a los jugadores de menos de 2000 Elo como yo, Psion Chess 2.13. El creador no era ni más ni menos que nuevamente Richard Lang, pero que ahora, además de mejorar el juego de Cyrus, se aprovechaba del “enorme” avance de hardware. Pasamos así a una máquina con 640KB de RAM, sistema operativo MS-DOS y procesador Intel 8088 de 16 bits a 8 MHz, es decir, más del doble que en el Spectrum, aunque realmente la velocidad de análisis con el micro de Intel era mucho mayor, y las partidas no se hacían tan largas y aburridas. Psion Chess fue campeón del mundo de programas en 1984 y 1987. Podéis incluso jugar contra él online en esta página de RetroGames, por supuesto con el teclado, ya que el ratón (o “mouse”) todavía no se había inventado…

Psion Chess

Sólo conservo un match de ese año jugando en el nivel 5 (30 segundos por jugada), con un resultado de +6=3-1 a mi favor, aunque creo que para mí tenía 2 horas para 40 jugadas. En el nivel 8 (1,5 minutos por jugada), todo era mucho más difícil… Veamos una de las partidas donde se aprecia que no se defendía bien, ya que la limitada profundidad de cálculo no le permitía ver las amenazas a tiempo:

Tampoco podemos dejar de mencionar otro programa que en esos primeros años del MS-DOS destacó por su nivel de juego. Se llamaba RexChes, creado por dos ilustres como son  Don Dailey y el GM (Gran Maestro) Larry Kaufman, creadores muchos años después de uno de los mejores programas de la historia, Komodo (Kaufman también participó en el desarrollo de Rybka, como luego veremos). Podéis probarlo online en RetroGames.

RexChes

A partir de ahí fui cambiando de PC a medida que éstos se iban quedando “desfasados”, y también cuando ya se habían popularizado en los hogares y su precio se parecía a lo que ahora conocemos. Aunque no recuerdo las fechas exactas, por las partidas de mi base de datos sé que entre 1991 y 1995 tuve un Intel 80486 a 33 MHz, seguramente con unos pocos MB de RAM.

En 1991 apareció MChess, primero la versión 1.41 que evolucionaría en 1993 a MChess Pro 3.5, campeón mundial en 1995 en Paderborn (Alemania). Su creador fue el matemático e ingeniero norteamericano Marty Hirsch. MChess fue uno de los primeros programas capaces de vencer a varios grandes maestros, entre los que destacan Christiansen, Zsuzsa (o Susan) Polgar, Rohde, Shabalov, Cifuentes y Wolff. También podéis jugar contra él online en RetroGames.

MChess Pro

En esos años surgió otra bestia en escena, conocido por las siglas de HIARCS: Higher Intelligence  Auto Response Chess System (ya sólo el nombre daba miedo…).  El inglés Mark Uniacke fue su autor, y ha estado mejorando su programa prácticamente hasta hace pocos años, del que siempre se ha dicho que tenía “un estilo muy humano”. Ganó el título mundial de programas en 1991 y 1993, así como la olimpiada de computadoras celebrada en 1992. Actualmente aún se comercializa como parte de un software llamado HIARCS Chess Explorer.

HIARCS

También en esos años apareció en escena Chess Genius, y adivinad quién era su autor: ¡nuevamente Richard Lang! Su experiencia con Cyrus y Psion Chess le permitieron desarrollar un programa realmente fuerte, tanto que la versión 3.0 fue el primer programa para PC capaz de vencer a un campeón mundial. Así, participó en el torneo Intel Grand Prix celebrado en Londres en 1994, un evento por sistema “KO” en partidas a ritmo rápido de 25 minutos a doble vuelta. Por casualidades del destino, en la ronda previa se enfrentó a Kaspárov, empatando una partida y ganando la otra, y eliminando así del torneo al mejor jugador del mundo. En este vídeo podéis ver las caras que puso Kaspárov, quien no se lo explicaba:

En la siguiente fase, Chess Genius eliminó al GM Nikolic en cuartos de final por 2-0, aunque en semifinales cayó derrotado en las dos partidas frente a Anand (en la final, Anand e Ivánchuk entablaron sus 2 partidas, después ganaron sus respectivas partidas en el desempate a 5 minutos, y finalmente Ivánchuk se llevó el torneo al empatar con negras en la partida de “armagedón”). Podéis probar la fuerza de Chess Genius 3 en RetroGames (hay que pulsar la tecla “Escape” para acceder a los menús).

Chess Genius

En 1996 cambié el PC por un Cyrix 133 MHz, un clónico equivalente a un Intel Pentium 166 MHz (o eso decían… porque no me dio buen resultado, con cuelgues y reinicios que se producían de tarde en tarde sin saber por qué…). Al año siguiente mi mujer me regaló mi primer portátil Intel Pentium 200 MHz con 2 GB de RAM, ya que esos dos años estuve trabajando en Lisboa y “no podía vivir sin ordenador…”. Ah, y por cierto, un punto de inflexión muy importante en la Informática: ¡ya todos utilizábamos Windows 95!

En 1996 Chess Genius ya estaba en la versión 6.0, mientras que unos pocos años antes ya empezó a asomar la cabeza uno de los programas más conocidos por cualquier jugador de ajedrez: ChessBase Fritz, proclamándose la versión 3 campeón del mundo en 1995 por delante de muchos favoritos.

Fritz

Las versiones 5.32 y 6 resultaron aún más fuertes, superando a los demás programas de la época. Además, ya incorporaban una idea novedosa, la de los motores o módulos (“chess engines” en inglés) independientes de la interfaz gráfica que se utilizara, aunque de momento sólo funcionaban con las interfaces de la propia ChessBase, incluyendo el famoso gestor de bases de datos de la compañía, lo que facilitaba enormemente el análisis de partidas. Los creadores originales de Fritz fueron Frans Morsch y Mathias Feist, aunque en 2013, a partir de la versión 14, las cosas cambiaron, puesto que de hecho las versiones 15 y 16 no eran más que un Rybka disfrazado. En RetroGames podéis jugar contra Fritz 1 y contra Fritz 2.

Ni que decir tiene que yo ya no tenía nada que hacer contra los “cerebros cibernéticos”, pero me servían para descubrir muchas ideas y variantes que habían quedado ocultas en mis partidas cuando las analizaba. El último “torneíllo casero” que jugué contra los programas fue en 1997, a ritmo de 30 minutos, aunque creo que para mí tenía 1 hora de tiempo. Me enfrenté a 10 de ellos a doble vuelta, y el resultado fue, como cabía esperar, bastante desastroso:

Torneo entrenamiento contra programas

Como se puede ver, tan sólo fui capaz de ganar al programa más débil, BattleChess, empaté con GNU Chess y le arranqué sendas tablas a Sargon V y Fritz 3. Obsérvese que perdí las 2 partidas contra Psion Chess 2.13, la misma versión a la que ganaba más o menos fácilmente en mis anteriores ordenadores… Para que nadie diga que sólo pongo partidas ganadas, he aquí la primera de ellas, en la que, tras un despiste en la jugada 14, Psion Chess me sacó del tablero:

A partir de ahí ya no jugué más contra los programas, al menos en partidas serias, pues era un resultado sabido de antemano, aunque también se podía seleccionar una fuerza determinada de juego, pero, por otra parte, pronto llegaría el boom del ajedrez online, que te permitía jugar contra rivales humanos de tu mismo nivel siempre que quisieras y a la hora que te apeteciera.

Aproximadamente a finales del año 2000 se estandarizó el llamado protocolo libre UCI (Universal Chess Interface), creado por Stefan Meyer-Kahlen (el autor de Shredder, como veremos a continuación). Esto permitió a los programadores crear interfaces gráficas y utilizar en ellas cualquier motor de juego existente que implementase dicho protocolo UCI, en contraposición con el protocolo propietario de ChessBase que sólo funciona en sus propias interfaces gráficas.

En septiembre de 2001 se produjo un salto importante en lo que a mi hardware se refiere, y adquirí un AMD Athlon 1,2 GHz. ¡pasando de 200 MHz a 1200 MHz! Creo que fue a partir de comienzos de siglo cuando los profesionales del ajedrez empezaron a tomarse en serio a los programas como una herramienta casi indispensable en la ardua tarea del estudio y del análisis. Además, en esos años aparecieron las Tablas de Finales de 5 piezas, indispensables para el estudio de esta fase de la partida. Aunque no lo recuerdo, seguramente también en esa época se suprimieron los aplazamientos de partidas (ya que no tenía sentido que los jugadores analizaran los finales en su casa con la ayuda de un ordenador), se redujo ligeramente el tiempo de reflexión y se introdujeron los relojes digitales y los controles con incremento de tiempo por jugada.

Mientras que Fritz fue sacando a la luz nuevas versiones que parecían insuperables (por ejemplo, el fuerte Fritz 8 en 2003), los programadores y amantes de los módulos no se durmieron en los laureles, aprovechando también el vasto conocimiento acumulado a lo largo de prácticamente dos décadas. Así, en 2003 apareció en el top Shredder en su versión 8, y durante algunos años pugnó con los Fritz 9, 10 y 11 por hacerse con el liderato. En 2006 tuvo lugar el match Krámnik-Deep Fritz del que luego hablaremos ampliamente y que supuso la derrota definitiva del hombre contra la máquina. El motor alemán Shredder (“trituradora” en inglés), creado por Stefan Meyer-Kahlen, ganó un buen puñado de campeonatos del mundo en distintas modalidades entre 1996 y 2006. Se puede jugar online contra él, entre otras, en esta página.

Shredder

Cabe mencionar que Shredder, como muchos otros módulos de esa época, surgió como software libre y gratuito, en muchos casos basado o aprovechando ideas del módulo Fruit (del francés Fabien Letouzey), que fue otro hito importante en lo que al desarrollo de programas de ajedrez se refiere. Cuando alguno de estos módulos despuntaba o alcanzaba el primer lugar del ranking mundial, ChessBase no tardaba en ofrecer a sus autores una suculenta cantidad de dinero y hacerse con sus derechos. Prácticamente el único que resiste es Stockfish, que sigue siendo libre y de código abierto, de forma que cualquier programador con conocimientos suficientes puede participar en su desarrollo y mejora.

Precisamente en el 2006 apareció otro monstruo capaz de superar incluso a Fritz 11, el famosos motor Rybka, que reinó prácticamente en solitario durante 4 o 5 años, pasando por sucesivas versiones 2.2, 2.3, 3 y 4, y que superó ampliamente la barrera de los 3000 puntos Elo. El creador principal fue el maestro internacional norteamericano (de origen checo) Vasik Rajlich, aunque también colaboraron otras personas, como por ejemplo su mujer, la MI polaca Iweta Radziewicz Rajlich que se encargó de las pruebas. Sin embargo, Rybka se vio envuelto en una enorme polémica cuando fue acusado de incluir partes del código fuente de Fruit, en cuyo caso no podía ser un programa de pago, sino que tenía que seguir conservando la licencia de software libre. De hecho, en 2011 la ICGA (International Computer Games Association) decidió descalificar a Rybka con carácter retroactivo, desposeyéndole de los 4 títulos mundiales conseguidos entre 2007 y 2010, obligando a Vasik a devolver los premios monetarios y prohibiéndole además participar en futuros eventos. En mi opinión, un castigo demasiado duro y desproporcionado…

Vasik Rajlich con RybkaVasik Rajlich en plena faena con sus análisis y pruebas de Rybka.

 

En agosto de 2009 compré mi último ordenador, un flamante Intel Core i7-920 2.66 GHz con 4 núcleos (8 hilos de proceso) y 6 GB de RAM. Era de lo mejorcito de la época, notándose enormemente el salto a un procesador multinúcleo, y aunque ya ha sido ampliamente superado desde hace años, sus análisis siguen siendo fiables en la mayoría de los casos. Lo que sí se nota es que los módulos han evolucionado, son más pesados, con funciones de evaluación más complejas que necesitan más tiempo para estabilizar la valoración de las jugadas, calculan menos nodos por segundo y, por tanto, tardo mucho más en analizar una partida…

A finales de 2010, Rybka, que también fue comprado por ChessBase, se estancó en su desarrollo (posiblemente a raíz de las acusaciones sobre él) y fue superado por Houdini 1.5, del programador belga Robert Houdart. Entre ese año y 2012 también terminaron de generarse las Tablas de Finales de 6 piezas, otro logro de cara al análisis de partidas. En 2011 apareció Houdini 1.5a, en 2012 la versión 3.0 y en 2013 la 4.0, cuando Stockfish ya empezaba a asomar la cabeza con su versión 4. Por supuesto, Houdini también fue adquirido por ChessBase y, curiosamente, ¡también fue acusado de plagio!

Houdini

En 2013 apareció en el top Komodo, que resultó sorprendente vencedor del campeonato del mundo “oficioso” organizado por TCEC temporada 5, venciendo a Stockfish en la final por 25-23 (+10=30-8), y repitiendo título en la temporada 7 en 2014 derrotando a Stockfish por 33,5-30,5 (+7=53-4). En Abril de 2015 salió Komodo 9.1, que resultó nuevamente campeón en TCEC temporada 8, superando por tercera vez a Stockfish en una superfinal a 100 partidas: 53,5-46,5 (+9=89-2). ¡89 tablas en 100 partidas dan una idea de la igualdad entre ellos! En abril de 2016 vio la luz la versión  9.42 y poco después la versión 10, pero ya no pudieron superar a Stockfish. Nuevamente ChessBase se hizo con Komodo en vista de sus buenos resultados. El creador de las primeras versiones de Komodo hasta la 6 fue Don Dailey (a quien ya vimos en RexChess), pero falleció tristemente a finales de 2013 de leucemia con tan solo 57 años. Mark Lefler cogió el relevo, apoyado por el amigo y colaborador de Daily en RexChess, el GM Larry Kaufman.

Komodo

Los años entre 2014 y 2016 marcaron un punto de inflexión en lo que se refiere a los mejores motores de ajedrez, casi todos ya propiedad de ChessBase, y es que Stockfish alcanzó la madurez suficiente como para luchar de tú a tú contra ellos, con mejoras y revisiones prácticamente diarias aportadas por toda la comunidad de desarrolladores que participaban en el proyecto. Realmente, los creadores de Stockfish que iniciaron la andadura en noviembre de 2008 fueron Tord Romstad, Marco Costalba, Joona Kiiski y Gary Linscott, aunque en 2011 Costalba y Kiiski abandonaron su participación, y a partir de ahí fue desarrollado por la llamada “Comunidad de Stockfish”.

Stockfish

Personalmente, a finales de 2017 empecé a utilizar Stockfish en mis análisis, pero una versión llamada asmFish, que consistía en una migración del original (escrito en lenguaje de programación orientado a objetos ‘C++’) a lenguaje ensamblador (o “ASM”), más rápido que el lenguaje ‘C++’. Sin embargo, las continuas y cada vez más complicadas modificaciones de Stockfish impidieron seguir el ritmo de traducciones a lenguaje ensamblador, así que, aparte de algunos períodos en los que trabajé esporádicamente con Komodo, en 2020 tuve que rendirme a la evidencia y adaptarme a Stockfish 11, aunque la verdad es que no me acaba de gustar demasiado que la valoración fluctúe y tarde bastante tiempo en estabilizarse.

El año 2020 fue también muy importante en lo que al ajedrez informático se refiere, ya que, a raíz de los avances de AlphaZero, así como de su versión para PC Leela Chess o Lc0, muchos módulos empezaron a incorporar la tecnología de las redes neuronales, en lo que se denominaron versiones NNUE (del japonés EUNN o “Efficiently Updateable Neural Network”). De esta forma, Stockfish se ha convertido en NNUE desde la versión 12 de septiembre de 2020, lo que supuso una apreciable mejora en su fuerza de juego. La contrapartida es que en mi PC ahora calcula aún menos nodos por segundo, aunque supuestamente lo hace mejor, pero para mí supone más tiempo de análisis de una partida. Espero no tardar mucho más en decidirme por algún monstruo de microprocesador moderno, y de momento el que tiene “más papeletas para ganar” es el AMD Ryzen 9 5900X de 12 núcleos y 24 hilos…

Para terminar, en CCRL es posible consultar la fuerza de juego de casi cualquier motor. Existen tal cantidad de adaptaciones de módulos, que CCRL muestra por defecto una lista resumida. Haciendo clic en el enlace «Complete list», aparecen todas las versiones de cada módulo, con un total de 498 nombres, algunos de los cuales ni me suenan. Komodo es el único programa comercial (en color azul) que le hace frente a Stockfish 14/15, mientras que un fuerte motor como HIARCS 15 aparece ¡en la posición 261 del total! Haciendo por ejemplo clic en el nombre de HIARCS, podemos ver que ha recibido auténticas palizas por parte de módulos desconocidos, que muchas veces sólo son clones de Stockfish a los que el autor incorpora alguna pequeña mejora y le cambia el nombre. En la parte inferior de la página también se pueden comparar módulos (se marcan varios módulos pulsando Control+clic), y así por ejemplo, se pueden comparar todos los motores de la familia Stockfish con todas las versiones de HIARCS.

Si alguien no sabe instalar Stockfish o cualquier módulo UCI en una interfaz gráfica, puede leer este artículo que escribí hace ya varios años: “Instalar motores UCI en programas ChessBase”.

Los enfrentamientos hombre-máquina

Seguramente mucha gente no sabe que la primera máquina capaz de jugar al ajedrez por sí misma fue creada por el ingeniero e inventor español Leonardo Torres Quevedo, una eminencia y un adelantado a su época, autor de muchos importantes inventos, como podéis leer en su biografía. En este vídeo aparece en funcionamiento su máquina “El ajedrecista”, capaz de dar mate con Torre y Rey contra Rey. Ténganse en cuenta que en 1912 ni siquiera se había inventado la electrónica, y él ya consiguió un sistema capaz de obtener las jugadas más o menos correctas, detectar la posición de las piezas en el tablero y moverlas sin intervención humana:

Desde siempre, el hombre se ha sentido arrastrado por el impulso de construir máquinas más avanzadas capaces de emular a los humanos, y que realizaran sus tareas de una forma mucho más rápida, exacta y, sobre todo, más barata. Si bien es cierto que ello ha supuesto un gran progreso para la humanidad, también ha llevado a la supresión de millones de puestos de trabajo, fundamentalmente en entornos industriales.

Aunque el ámbito del pensamiento y la racionalidad humana parecía vetado a este irresistible e imparable avance de la ciencia, la Inteligencia Artificial (IA) no ha dejado de conseguir pequeños avances día tras día. Seguramente el punto álgido de todo esto será aquel en el que las máquinas sean capaces de, como ya definió Alan Turing en 1950 en su famoso “Test de Turing”, establecer una conversación con nosotros sin que podamos distinguirlas de un ser humano.

El ajedrez no ha sido ajeno a este avance, de ahí que los programadores y entusiasta del ajedrez cibernético se marcaran un primer objetivo: superar a los humanos sobre el tablero. No tardaron mucho en conseguir esto en lo que a los aficionados y jugadores más neófitos se refiere, y, en realidad, tampoco tardaron demasiados años en superar a los mejores jugadores del mundo. Como ya comentamos, esto tampoco hubiera sido posible si no se llega a cumplir la famosa Ley de Moore en lo que al avance de la potencia de los microprocesadores se refiere.

Una vez alcanzado este objetivo, el siguiente paso era superarse a sí mismos y a los demás rivales de silicio, y el final del camino se alcanzará cuando se consiga el ajedrecista perfecto, suponiendo que esto sea posible algún día, aunque seguramente muchos ya no lo veamos…

Obviamente, para superar al ser humano había que medirse contra él. Cuando se vio que las máquinas vencían con facilidad a casi cualquier aficionado o ajedrecista más o menos fuerte, los únicos defensores de nuestra especie que quedaban eran los jugadores profesionales, y, en última instancia, los campeones del mundo.

En este artículo de la Wikipedia titulado “Torneos de ajedrez entre hombres y computadoras” se lleva a cabo un recorrido por todos los enfrentamientos que ha habido a lo largo de la historia entre una máquina de ajedrez y un jugador más o menos profesional (aunque la página en inglés “Human–computer chess matches” es algo más completa e incluye los últimos matches de 2020). Pero aún más detallado es este otro artículo titulado “Machines that Play Chess”, ¡además sólo es un resumen de una serie de 5 artículos que casi forman un libro por sí mismos! En lo que sigue hablaremos solamente de unos pocos hechos destacados, para luego ocuparnos del que realmente fue el último enfrentamiento hombre-máquina, el match Krámnik-Deep Fritz 10 celebrado en Bonn en 2006.

Aunque curiosamente no se menciona en dichos artículos, existen 3 partidas importantes debido sobre todo a la fama del rival humano. Se trata de las que jugó el excampeón del mundo Bobby Físcher en 1977 contra el programa “Mac Hack VI”, creado por Richard Greenblatt en el MIT. Téngase en cuenta que Físcher se coronó campeón mundial en 1972 y ya no volvió a jugar, renunciando al match con Kárpov en 1975 (y perdiendo así su título), por lo que realmente estas 3 partidas son las únicas que se le conocen hasta su fugaz vuelta en 1992. De hecho, no parece que exista referencia gráfica alguna del encuentro, y muy posiblemente Físcher, conociendo su carácter, ni siquiera dejó que ningún periodista o fotógrafo asomara sus narices por allí…

Con una fuerza estimada de “Mac Hack” de menos de 2000 Elo, Físcher no tuvo mayores problemas para endosarle un 3-0, atreviéndose incluso en la primera partida a plantear un Gambito de Rey con blancas. Podéis reproducir las 3 partidas en Chessgames.

Mac Hack VI, Greenblatt Program, Bobby FischerAños 70, equipo del programa “Mac Hack”, también llamado “The Geenblatt Chess Program”.

 

Los siguientes enfrentamientos hombre-máquina que cabe destacar, y a buen seguro los más famosos que conoce cualquier aficionado, fueron los de Kaspárov, para muchos el jugador más fuerte de toda la historia, contra la supercomputadora Deep Blue de IBM, aunque la primera versión de la mismo se llamó realmente Deep Thought.

Deep Thought (“Pensamiento Profundo”), con una fuerza estimada de 2551 Elo, todavía no tenía el nivel del campeón mundial cuando se enfrentaron por primera vez en 1989. Jugaron dos partidas el 22 de octubre de 1989 en el Marshall Chess Club de Nueva York, y Kaspárov ganó en ambas. En la primera con negras, a Kaspárov le costó algo de esfuerzo la victoria, pero la segunda con blancas fue una auténtica paliza. Tenéis ambas partidas en Chessgames.

El “mini-match” de 1989 fue organizado por el jugador, escritor, comentarista y promotor Shelby Lyman, llevándose Kaspárov la nada despreciable cifra de 10.000 dólares de la época. Las partidas se jugaron a un ritmo de 90 minutos para cada bando. Según parece, el hardware estaba formado por 3 computadoras SUN (uno de tantos cadáveres empresariales que dejó el sector tecnológico a lo largo de su historia…) conectadas entre sí, cada una con un circuito dedicado al ajedrez con doble procesador que se encargaba de realizar la búsqueda en el árbol de variantes, consiguiendo aproximadamente entre 700 mil y 2 millones de nodos por segundo (un número irrisorio comparado con los ordenadores y módulos actuales…).

Deep ThoughtLos creadores de Deep Thought en 1988 recogiendo el premio “Fredkin Intermediate Prize”: Murray CampbellFeng-hsiung HsuThomas AnantharamanMike Browne y Andreas Nowatzyk.

 

La evolución de esta primera versión de Deep Thought derivó en el superordenador Deep Blue de IBM, que se enfrentó a Kaspárov en 1996 en un match a 6 partidas. Por el resultado obtenido, se podría decir que Deep Blue había alcanzado los 2700 Elo.

El encuentro tuvo lugar en Filadelfia del 10 al 16 de febrero de 1996 en los locales de la ACCC (“Association for Computing Chess Challenge”), y se inició con la primera victoria de la historia de una máquina contra un campeón mundial en una partida a ritmo lento. Sin embargo, Kaspárov empató el match al ganar la segunda, después siguieron dos tablas, y Kaspárov salvó el orgullo de la humanidad (y el suyo…) venciendo en las dos últimas, para terminar con un resultado de 4-2 a su favor. Podéis ver las partidas en Chessgames y en este estudio de Lichess que incluye las gráficas con la evolución de las partidas.

Deep Blue 1996Kaspárov en la primera partida contra Deep Blue en 1996, y haciendo las veces de operador Feng-Hsiung Hsu, uno de los principales arquitectos del proyecto.

 

En lo que a las características técnicas se refiere, el Deep Blue de 1996 era un ordenador IBM RS/6000 SP formado por 36 procesadores PowerPC 604 a 120 MHz, que incluía 216 chips dedicados encargados de buscar las jugadas posibles en el árbol de variantes y evaluarlas (se tardó 3 años en diseñar estos chips específicos). Cada chip podía analizar 1,6 millones de posiciones por segundo, y en total se podía alcanzar un máximo teórico de 300 millones, aunque la media de una partida solía ser de 100 millones de nodos por segundo. La diferencia con respecto al anterior Deep Thought resultaba abismal.

El encuentro de 1996 sirvió al equipo de IBM para aprender y mejorar, lo que llevó a un nuevo encuentro contra Kaspárov al año siguiente en Nueva York, de nuevo a 6 partidas, en lo que supuso la primera victoria de una máquina sobre un campeón mundial en un encuentro de este tipo, posiblemente alcanzando una fuerza de 2750 Elo o incluso más. El ser humano había sido finalmente superado.

El encuentro comenzó el 3 de mayo, y esta vez fue Kaspárov quien ganó la primera partida con blancas tras varios errores graves de la máquina en el final. Pero poco le duró su alegría al ser derrotado en la segunda en una Apertura Española casi perfecta que podría haber firmado el mismísimo Kárpov. Después siguieron 3 empates bastante igualados, aunque en el tercero de ellos Kaspárov dejó escapar algunas oportunidades de obtener ventaja. Con igualdad en el marcador, se llegó la última y dramática partida en lo que supuso la victoria definitiva de la máquina sobre el hombre. Kaspárov, con negras, planteó una Defensa Caro-Kann, algo no precisamente habitual en él, y en la jugada 7 cometió un error conocido por cualquier practicante de dicha defensa. Por supuesto, Deep Blue tenía esta línea en su libro de aperturas, y ya no dejó escapar la ventaja en ningún momento, hasta obligar a rendirse a su rival en tan solo 19 movimientos. Mucho se ha hablado de esta derrota de Kaspárov, incluso llegándose a insinuar (o a afirmar…) que se dejó ganar bajo un acuerdo tácito con IBM, en lo que supuso una subida espectacular de las acciones de la compañía que les permitió ganar varios millones de dólares. Podéis ver las partidas en Chessgames y en el antes mencionado estudio de Lichess. Juzgad por vosotros mismos…

Deep Blue 1997Match con Deep Blue 1997: Kaspárov desmesuradamente contrariado, como siempre que perdía una partida…

 

En esta ocasión, el IBM RS/6000 que se utilizó tenía 30 procesadores mejorados, los PowerPC 604e a 200 MHz, y con 480 chips especializados (cada procesador controlaba 16 de estos chips) trabajando en paralelo llegando a analizar de media unos 200 millones de nodos por segundo (entre 2 y 2,5 millones en cada chip). Además, los chips habían mejorado en el sentido de integrar nuevo “conocimiento ajedrecístico”, con objeto de evitar algunas lagunas que se detectaron analizando las partidas del primer match. Es interesante hacer notar que, a pesar de tal velocidad de análisis, se estima que Deep Blue sólo era capaz de calcular entre 6 y 8 jugadas de profundidad (es decir, entre 12 y 16 movimientos de piezas o “plies”), lo que da muestra de la pobre sofisticación de los algoritmos implementados en el motor de juego. Aunque parece ser que en algunos casos concretos podía alcanzar las 20 jugadas (posiblemente en finales o en variantes con jugadas casi “forzadas”), actualmente casi cualquier PC con Stockfish es capaz de llegar a los 40 “plies” (20 jugadas de profundidad) prácticamente en unos pocos segundos de análisis.

En cualquier caso, la primera máquina que venció al mejor jugador del mundo en 1997 era un superordenador de millones de dólares con un enorme equipo de desarrolladores e ingenieros detrás de él. Sin embargo, el hardware y los microprocesadores para PC avanzaban a pasos agigantados. Así, mientras los programas para PC empezaban a cobrarse víctimas entre los grandes maestros de primera fila, llegamos al año 2000, cuando Kaspárov perdió su cetro mundial en Londres ante el joven ruso Vladimir Krámnik de 25 años. Éste basó su victoria sorprendiendo a Kaspárov con la Defensa Berlinesa de la Apertura Española (o “muro berlinés” como se llamó desde entonces), contra la que el campeón sólo pudo conseguir 5 empates con blancas. El resultado final fue de +2=13-0.

Dos años después, en 2002, Krámnik llegó a un acuerdo con la empresa ChessBase para jugar en Manama (Baréin) un encuentro contra el mejor de sus módulos, Deep Fritz 7, una evolución del Fritz “normal” capaz de aprovechar la potencia de los procesadores multinúcleo que empezaban a verse en muchos PCs. El organizador del evento fue Yousuf Ahmed Al Shirawi, exministro de Baréin y gran aficionado al ajedrez, mientras que el sustancioso fondo de premios fue aportado por el emir de Baréin, Hamad bin Isa Al Khalifa: 1 millón de dólares para Krámnik si ganaba, 800.000 si empataba, y 600.000 si perdía.

Krámnik contó con una ventaja especial, ya que meses antes de empezar el match se le proporcionó una copia exacta de la versión a la que se iba a enfrentar, de forma que el ruso pudo estudiar el estilo de juego del programa y preparar su estrategia de cara al encuentro, aunque para el match se permitía variar las preferencias del libro de aperturas de Deep Fritz. Además, también se acordó que las partidas que llegaran a la jugada 60 podían ser aplazadas, de forma que Krámnik podría incluso preparar la continuación con calma utilizando el propio módulo en sus “análisis caseros”. De todas formas, ninguna de las partidas llegó a ese número de jugadas.

El match comenzó el 4 de octubre, programado a 8 partidas, y Krámnik preparó una estrategia “anti-módulo” basada en jugar posiciones sencillas en las que no influyera la capacidad de cálculo, sino más bien el conocimiento ajedrecístico. Al principio esto le dio buenos resultados, ganando las partidas 2 y 3, con tablas en la 1 y en la 4. Pero los programas no se cansan y siempre juegan al mismo nivel, de forma que Krámnik cometió un grave error en la 5ª, mientras que en la 6º tuvo varios fallos e imprecisiones que le llevaron a una posición sin esperanzas en la que no quiso seguir sufriendo. Con el marcador igualado, y por suerte para él, jugó mejor las dos últimas partidas, aunque éstas acabaron demasiado rápido y el equipo de ChessBase aceptó las ofertas de tablas, tal vez por cortesía, ya que el programa podía haber continuado jugando sin desfallecer hasta que sólo quedaran los reyes sobre el tablero, teniendo entonces Krámnik muchas más posibilidades de equivocarse… Podéis reproducir las partidas en Chessgames.

Kramnik Deep Fritz 2002Krámnik en 2002 a punto de comenzar su partida contra Deep Fritz, manejado por Mathias Feist, uno de sus creadores. Cada contendiente disponía de 2 horas de tiempo para las 40 primeras jugadas (seguido de 1 hora para 16 jugadas a partir de la jugada 40).

 

Deep Fritz 7 se ejecutaba en un ordenador marca Compaq (otro cadáver tecnológico más…), un extraordinario PC para la época, con 8 procesadores Pentium III a 900 MHz., capaz de analizar 3 millones de posiciones por segundo. Recordemos que Deep Blue alcanzaba 200 millones de nodos por segundo, lo que da idea de la enorme evolución de los programas de ajedrez, y por supuesto del hardware, en tan solo 5 años. Según el propio Krámnik, él había preparado el match con Deep Fritz en un ordenador portátil con un solo procesador a 600 MHz, y una de las cosas que hizo fue revisar las partidas del match de 1997 entre Kaspárov y Deep Blue. Para su sorpresa, ¡Deep Fritz encontraba jugadas mejores en casi todas las posiciones de cada partida! La fuerza de juego de Deep Fritz 7 en el match se estimó en 2763 Elo. En ChessBase podéis ver este interesante reportaje gráfico de Frederic Friedel sobre el evento.

Aparte de algún otro encuentro hombre-máquina destacado que podéis ver en las páginas anteriormente citadas, como por ejemplo el de Kaspárov-Deep Junior 2003 (empate 3-3), en 2006 llegó el último match serio, del que hablaremos a continuación, y que supuso el reconocimiento definitivo de que los programas habían superado ya a los mejores jugadores del mundo.

A partir de aquí ya no hubo más enfrentamientos en igualdad de condiciones, aunque sí se han celebrado unos pocos con algún tipo de ventaja para los humanos. Por ejemplo, el gran maestro norteamericano Nakamura, uno de los mejores jugadores del mundo y que se proclamó hace pocos días Campeón del Mundo de Ajedrez960, Chess960 o Fischer-Random, se enfrentó a Komodo en dos ocasiones. En enero de 2016 en un match a 4 partidas online, con 45 minutos de tiempo más 15 segundos de incremento por jugada, corriendo el programa en un Intel Xeon con 24 núcleos. Naka jugó la 1ª partida con blancas con peón de ventaja, la 2ª con negras con peón de ventaja, la 3ª con negras con calidad de ventaja (Torre contra Caballo), y la 4ª, curiosamente, con blancas con igualdad de material ¡pero con 4 tiempos de ventaja!, es decir, 4 movimientos realizados sobre el tablero. El resultado fue de 3 tablas y una derrota en la 4ª partida.

El segundo match fue en noviembre de 2020 y se enfrentó a Komodo Dragon NNUE en un match online a 8 partidas patrocinado por Chess.com y repartido en dos días, a un ritmo de 15 minutos más 10 segundos de incremento por jugada. Komodo jugó siempre con blancas y con 2 peones menos (2 partidas sin los peones b2-f2, 2 sin c2-f2, 2 sin b2-g2, y 2 sin c2-g2). Aunque Naka (que se llevaba 250 dólares por cada victoria y 100 por cada empate) consiguió tablas en las 3 primeras partidas y perdió la 4ª, ¡el segundo día perdió las 4 partidas! Podéis reproducirlas en este estudio de Lichess.

Como curiosidad, aquí podéis ver dos vídeos donde “El Divis” con negras con Caballo de ventaja entabla contra Stockfish (ritmo “blitz” a 3’+2″), mientras que “Pepón” consiguió ganarle (aunque previamente había perdido en otra partida):

Kramnik-Deep Fritz 2006

Como ya hemos visto, Krámnik empató el primer duelo contra Deep Fritz 7 en 2002. Sin embargo, en 2006 las cosas fueron muy diferentes. Cuatro años mejorando un programa dan para mucho, además de que el ordenador empleado también era bastante más potente, y recordemos que hablamos de un “ordenador personal”.

En este caso la versión de Deep Fritz era la número 10, ejecutándose en uno de los PC más potentes que se podían encontrar en esa época. Se trataba de una máquina marca Fujitsu Siemens con 2 procesadores Intel Xeon DC 5160 con 4 núcleos cada uno a 3 GHz. y 3 GB de memoria RAM. El programa era capaz de analizar entre 8 y 10 millones de nodos por segundo, frente a los 3 millones del match de 2002.

Deep Fritz, Fujitsu Siemens Intel XeonEl ordenador del match se colocó detrás de la sala de juego, para evitar que el ruido de los ventiladores pudiera molestar a Krámnik.

 

El encuentro se jugó nuevamente a 6 partidas, esta vez en el Museo de Arte y Exhibiciones de Bonn (Alemania), entre el 25 de noviembre y el 5 de diciembre de 2006 (se jugaba en días alternos). Krámnik recibió inicialmente 500.000 dólares, que se doblarían si conseguía ganar el match. El patrocinador fue Peer Steinbrück, Ministro de Finanzas de Alemania en el gabinete de Ángela Mérkel. Años después Steinbrück fue acusado de haber desviado dinero público para la celebración del match.

Kramnik Deep Fritz Bonn 2006La impresionante sala de juego con una deslumbrante pantalla gigante que permitía a los espectadores ver la posición, los tiempos de ambos bandos y las últimas jugadas realizadas.

 

Al igual que ocurriera en el match de 2002, el equipo de analistas de Krámnik tuvo a su disposición el módulo de juego con casi dos meses de antelación, e incluso se acordó que se les proporcionaría para su preparación un ordenador de características similares al que se iba a utilizar en el match.

Otro aspecto a señalar, que ya sucedió en el match de 2002 y que no comentamos, es que Deep Fritz contó con su libro de aperturas, que no podría ser modificado durante el encuentro salvo, bajo supervisión arbitral y de los equipos, para añadir líneas que se hubieran jugado en las partidas anteriores, pero solamente con una profundidad de 10 plies, es decir, ¡5 jugadas! Actualmente los libros de aperturas son monstruosos, y, por qué no decirlo, en la mayoría de los casos innecesarios dado el nivel de juego de los módulos… Por si fuera poco (y esto también ocurrió en 2002), al principio de cada partida y mientras Deep Fritz estuviera siguiendo las jugadas de su libro de aperturas, Krámnik podía ver la pantalla con las jugadas del libro y las estadísticas del mismo, es decir, podía consultar el libro del mismo modo que lo hacía el módulo.

Kramnik Deep Fritz 2006 Kramnik Deep Fritz 2006En la primera imagen vemos a Krámnik consultando el libro de aperturas de Deep Fritz. Una vez que se salía de éste, y como se puede apreciar en la segunda imagen, ya no podía ver la pantalla del operador.

 

Por otra parte, Deep Fritz utilizaba las tablas de finales de 5 piezas, cuando las de Nalimov de 6 piezas ya existían desde 2005 (véase mi artículo “Tablas de finales en ajedrez: todo lo que hay que saber”). Otro hecho insólito es que, al llegar a una posición de las tablas de finales, el árbitro debía informar a Krámnik de ello, de forma que éste decidiera si continuaba jugando, se rendía o se acordaban tablas. ¡Todo el mundo sabe que es casi imposible para cualquier jugador acertar con todas las jugadas de las tablas de finales, incluso tan siquiera con algunas!

El ritmo de juego era de 2 horas para 40 jugadas, seguidas de 1 hora para 16 jugadas hasta que finalizase la partida. Si ésta no se acababa en las primeras 6 horas de juego, Krámnik podía aplazarla al día siguiente. Además, Krámnik también podía pedir el aplazamiento si se alcanzaban los 56 movimientos (aunque esta vez tampoco se llegó a dicho número de jugadas en ninguna de las partidas). Recordemos una vez más que las máquinas no se cansan, pero los humanos sí. Como ya ocurriera en el match de 2002, esto suponía que Krámnik podía analizar la partida aplazada con el propio módulo “en su casa”… Pero por si fuera poco, ¡tras cada partida el equipo de Krámnik recibía impresos todos los análisis que Deep Fritz había realizado! Esto incluía las valoraciones de cada jugada, la profundidad de cálculo, las jugadas esperadas y el tiempo de análisis. Sinceramente pienso que, sin esta serie de privilegios, la victoria de Deep Fritz hubiera sido mucho más abultada…

Kramnik Deep Fritz 2006Krámnik en la 2ª partida tras 34.Cxf8 de Deep Fritz, a punto de cometer posiblemente el error más grave de su carrera al dejarse dar mate en una con 34…De4?? 35.Da7#

 

Por cierto, el match de 2006 no fue la última vez que Krámnik se enfrentó a una “máquina” en público (supongo en su casa lo haría a menudo…). En este vídeo podéis verle jugar en noviembre de 2010 una distendida partida contra un brazo robot, aunque no se sabe qué programa había detrás de él. Tuvo lugar en Moscú a ritmo de 5 minutos, y entre los espectadores podemos ver a Gélfand y los jóvenes Carlsen, Eljánov, Mamédyarov y Nepo. Aunque Krámnik sudó de lo lindo, consiguió unas tablas con peón de menos.

A continuación veremos las 6 partidas del match con los análisis pertinentes (también podéis reproducirlas en Chessgames).

Partida 1: Kramnik – Deep Fritz 10 (½-½)

Veamos el gráfico de valoración de Lichess:

Kramnik Deep Fritz

Krámnik jugó su predilecta Apertura Catalana y lo hizo muy bien, llegando a un final en el que Deep Fritz no supo valorar la superioridad del Caballo blanco contra su Alfil negro, equivocándose en la jugada 28. Sin embargo, no era fácil encontrar el camino ganador, y Krámnik dejó escapar la oportunidad con su error de la jugada 30. Aunque siguió intentándolo, se firmaron las tablas en la jugada 47.

Veamos la partida analizada con la ayuda de Stockfish 15 (Intel Core i7-920 2.66GHz 4 núcleos). En cuanto hagáis clic en una jugada aparecerá el tablero, que podréis mover a donde menos estorbe (debajo del tablero tenéis un botón para girarlo, y otro para descargar la partida en formato PGN).

Partida 2: Deep Fritz 10 – Kramnik (1-0)

Kramnik Deep Fritz

En la segunda partida Krámnik, con negras, aceptó el Gambito de Dama de las blancas y éstas respondieron con la agresiva 3.e4. Tras una apertura igualada y completar ambos bandos el desarrollo en la jugada 17, Deep Fritz se quedó “sin ideas”, mientras que Krámnik adquirió ligera ventaja y acabó ganando el peón ‘a4’ a cambio del suyo de ‘f7’, valorando acertadamente que las blancas no tenían ataque.

Ya con una apreciable superioridad posicional, Krámnik se equivocó en la jugada 31 al permitir el cambio de torres. La ventaja se esfumó y se llegó al momento más crítico del match y posiblemente de la carrera del campeón mundial. Tras 34.Cxf8 y después de larga reflexión, se olvidó por completo de un simple mate en una jugada y jugó 34…De3??

Según parece, Krámnik ni siquiera se dio cuenta de su error, y se levantó para dirigirse a su sala de descanso. Mathias Feist, que manejaba Deep Fritz, no salía de su asombro cuando realizó la jugada de Krámnik en el ordenador y vio que Deep Fritz respondió inmediatamente moviendo su Dama a ‘a7’ y dando jaque mate. Y lo mismo le sucedió a Krámnik cuando se acercó y vio lo ocurrido…

Es muy fácil echarse las manos a la cabeza viendo este error “desde la barrera”, pero no nos sorprende tanto los que estamos habituados a “meter la pata” sobre el tablero. Aunque hablemos del campeón mundial, es seguro que vio el mate instantáneamente (al igual que lo ve casi cualquier ajedrecista de cualquier nivel), pero luego se enfrascó en complicadas y largas líneas estratégicas que le hicieron olvidarse de la amenaza más sencilla. Algo así como si te concentras tanto en una cosa que pierdes la noción de lo que te rodea. Seguro que a muchos os habrá sucedido en otros ámbitos de la vida…

Veamos la partida analizada con Stockfish 15:

Partida 3: Kramnik – Deep Fritz 10 (½-½)

Kramnik Deep Fritz

Krámnik repitió la variante de la Catalana de la primera partida, pero varió a 7.Dc2 (en vez de 7.Dd3) y consiguió cierta ventaja de desarrollo. Pero Deep Fritz entregó un peón para poder enrocarse y activar sus piezas. Tras unas cuantas maniobras, consiguió recuperar el peón, e incluso en el final aprovechó su mayoría de peones en el flanco de Dama para crear problemas a las blancas, ante lo que Krámnik se vio prácticamente obligado a entregar la calidad a cambio de un peón, llegándose a una posición igualada en la que se firmaron las tablas.

Partida 4: Deep Fritz 10 – Kramnik (½-½)

Kramnik Deep Fritz

Deep Fritz varió su planteamiento de la segunda partida y esta vez abrió de peón de Rey, decidiéndose Krámnik por la “sólida” Defensa Petroff. Las blancas eligieron la menos trillada Variante Moderna (2.d4) y consiguieron una prolongada presión sobre la posición negra, evitando incluso el enroque rival. Krámnik alivió un tanto la situación al forzar el cambio de damas, aunque tuvo que afinar todavía muchas jugadas llegando a un final de Caballo negro contra Alfil blanco en el que cualquier desliz hubiera llevado a la derrota. Una gran defensa por parte de Krámnik y una muestra de la fuerza de Deep Fritz en todas las fases de la lucha.

Partida 5: Kramnik – Deep Fritz 10 (½-½)

Kramnik Deep Fritz

A Krámnik se le agotaban las oportunidades para igualar el match, por lo que esta vez abandonó la Catalana y eligió el Gambito de Dama, continuando Deep Fritz con la Defensa Ragozin (4…Ab4), que derivó rápidamente a una Nimzo-India. Sin embargo, Krámnik cambió damas muy rápidamente, posiblemente para intentar hacer valer su pareja de alfiles, pero Deep Fritz jugó activamente y pronto consiguió hacerse con la iniciativa. Tras algunas escaramuzas tácticas, las negras se vieron obligadas a dar jaque continuo y la lucha terminó en tablas en tan solo 35 jugadas.

Partida 6: Deep Fritz 10 – Kramnik (1-0)

Kramnik Deep Fritz

Obligado a ganar, Krámnik arriesgó jugando una Defensa Siciliana. Sin embargo, era arriesgado por las posiciones a las que se llega en la Siciliana, que seguramente favorecen más al módulo, pero no por desconocimiento de la apertura. De hecho, y en contra de lo que pudiera parecer por su estilo, ésta fue su defensa favorita contra 1.e4 durante sus primeros años, mezclada con alguna Pirc y Francesa. Hasta 1998 no empezó a jugar 1…e5, primero con la Defensa Petroff 2…Cf6, y en 1999 ya jugó 2…Cc6, desesperando a Kaspárov en el match por el título del año 2000 con la sólida Defensa Berlinesa de la Apertura Española.

Lo que sí quizás resultó un error psicológico fue entrar en la Variante Nájdorf (5…a6), ya que él casi siempre seguía con 5…Cc6. En 2004 había ensayado la Nájdorf con malos resultados: 3 derrotas, 3 tablas y una sola victoria a ritmo rápido. Después de eso, sólo volvió a entrar en ella en la presente partida y una vez contra Anand en el campeonato del mundo de 2008, también cuando iba perdiendo y necesitaba imperiosamente la victoria (pero sólo consiguió tablas en posición inferior).

Deep Fritz eligió el agresivo Ataque Léonhardt-Sozin-Físcher (6.Ac4), y todo se complicó rápidamente tras la interesante 10.Te3!?, con idea de pasar la Torre al flanco de Rey. A pesar de jugar bien la apertura, Krámnik, como cabía esperar en un sistema tan agudo, empezó a fallar a partir de la jugada 16. Deep Fritz prácticamente no tuvo imprecisiones, así que fue aumentando paulatinamente su ventaja sin dar opciones al rival y decidiendo definitivamente el match a su favor.

Espero que os haya gustado este recorrido por la historia de los programas de ajedrez y también del hardware. Saludos.

3 Comments

  1. Horacio Kiel

    Debe ser uno de los artículos más completos de la web sobre el tema. Muy bueno!

  2. Daniel Canteli

    Artículo muy completo con toques viejunos, que tan buenos recuerdos nos traen a los que ya peinamos canas. Enhorabuena

  3. Horacio Kiel

    Uff! Esto es un libro pequeño más🏵️ que un artículo. Muy bueno. 👍🌴

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_bye.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_good.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_negative.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_scratch.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_wacko.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_yahoo.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_cool.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_heart.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_rose.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_smile.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_whistle3.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_yes.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_cry.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_mail.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_sad.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_unsure.gif  https://www.guapaweb.es/wp-content/plugins/wp-monalisa/icons/wpml_wink.gif