Computadoras de Ajedrez: de ChessGenius a AlphaZero

Han pasado más de 20 años desde que Deep Blue derrotó a Kasparov. Hoy en día no es ninguna noticia. El ELO del mejor ajedrez electrónico es de unos 3.500 puntos ELO, frente a los 2.850 del mejor humano.

Han pasado más de 20 años desde que Deep Blue derrotó a Kasparov, en el célebre match organizado por IBM.

Hoy en día no sería ninguna noticia. El ELO es un sistema de puntuación que sirve para medir la fuerza de un jugador a partir de sus resultados, y la fuerza de los rivales con los que se ha enfrentado. La puntuación ELO estimada del mejor ajedrez electrónico (AlphaZero) es de unos 3.500 puntos, frente a los 2.850 del mejor jugador humano (Magnus Carlsen).

¡Esta es la diferencia que existe entre el propio campeón mundial, y un aficionado fuerte!

Sin embargo ¿sabías que la 1ª computadora de AJEDREZ en derrotar al campeón del mundo no fue Deep Blue, sino ChessGenius? ¿Y que corría en un PC con un procesador PENTIUM y unos 64 Mb de memoria RAM?

¿Y que el mejor programa de ajedrez actual lo ha programado Google, se llama Alpha Zero, y se enseñó a jugar a sí mismo, partiendo solo del conocimiento de las reglas del juego?

Sigue leyendo para tener una visión global de la historia de cómo las computadoras de ajedrez han llegado a convertirse en jugadores muy superiores a los humanos.

Deep Thought de IBM: el antecesor de Deep Blue que fue el primer programa de ajedrez capaz de derrotar a un gran maestro de ajedrez.

Hasta finales de los años 80 del siglo XX no había color. Las computadoras de ajedrez no eran rivales para los jugadores humanos.

No obstante, desde finales de los años 50, en los que se desarrolló la primera computadora capaz de jugar al ajedrez, la progresión fue muy notable.

Sin embargo, el comienzo del fin lo marcó el lanzamiento del programa Deep Thought por parte de IBM.

Fue un momento en el que la compañía inventora del ordenador personal «pivotó» su línea de negocio, volcándose en el desarrollo de software y en los servicios de consultoría.

Dentro de su división de inteligencia artificial y algorítmica, hacer un programa capaz de derrotar a los mejores jugadores humanos de ajedrez era a la vez un reto y un premio: ¿quién conseguiria ser el primero? Una carrera por conquistar el Polo Sur de silicio.

En 1988, Deep Thought compartió el primer lugar con Tony Miles en el Campeonato de Software Toolworks, por delante de un ex campeón mundial Mikhail Tal y varios grandes maestros como Samuel Reshevsky, Walter Browne y Mikhail Gurevich. También derrotó al gran maestro Bent Larsen, convirtiéndolo en el primer ordenador en derrotar a un gran maestro en un torneo.

En función de los resultados que obtuvo en ese torno, la performance de Deep Thought fue de 2545 puntos de ELO. ¡Nivel de Gran Maestro de clase media – alta! Pero todavía lejos del campeón del mundo Kasparov, y su gran rival Karpov, que por aquel entonces superaban los 2.700 puntos de ELO.

En 1989 los programadores de IBM decidieron intentar morder al pez grande ¡Y retaron nada más que al mismísimo Kasparov!

Tenían claro que Kasparov era un hueso duro de roer, si no prácticamente inalcanzable, pero de los archivos de registro (logs) obtenidos durante el duelo, sin duda podrián mejorar las funciones de evaluación del programa.

Y Kasparov, al que le podemos criticar muchas de las cosas que hizo durante su reinado, como por ejemplo ignorar ignominiosamente que el candidato legítimo de la PCA era Shirov, y jugar la final del campeonato del mundo PCA contra Kramnik, consiguió popularizar el ajedrez y llevarse un cheque para la buchaca.

A continuación podéis consultar las dos partidas, en las que Kasparov no tuvo contemplaciones con nuestro primer gran héroe cibernético del ajedrez.

Kasparov es derrotado en un match a 6 partidas por Deep Blue en 1997.

En mayo de 1997, una versión actualizada de Deep Blue derrotó a Kasparov por 3½-2½ en un match de seis partidas que tuvo una gran repercusión mundial.

Es necesario ponerse en contexto. En 1997 habían pasado dos años del lanzamiento de Windows 95, y poco a poco los ordenadores personales se estaban convirtiendo en productos de consumo.

Casi todo el mundo tenía un programa de ajedrez en su PC, y aunque éstos eran cada vez jugadores más fuertes, poca gente tenia confianza en que un programa de ordenador pudiera derrotar al campeón del mundo, teniendo en cuenta además los antecedentes recientes.

Kasparov ganó la primera partida, perdió la segunda y empató las tres siguientes. Sin embargo, Kasparov fue aplastado en la sexta partida.

Hay que tener en cuenta que en esta partida  Kasparov esaba completamente desquiciado, y cometió un error garrafal en las primeras jugadas. Kasparov achaca al cansancio y al enfado con la conducta del equipo de IBM en ese momento como la razón principal de su derrota.

Afirmó que varios factores pesaron en su contra en este match. En particular, se le negó el acceso a partidas recientes de Deep Blue, en contraste con el equipo de programadores de IBM que podía estudiar cientos de partidas de Kasparov.

Después de la derrota, Kasparov dijo que a veces veía una profunda inteligencia y creatividad en los movimientos de la máquina, sugiriendo que durante la segunda partida, en la que fue derrotado, un fuerte jugador humano había intervenido en ayuda de la máquina.

IBM negó haber hecho trampa, diciendo que la única intervención humana ocurrió entre juegos. Las reglas ofrecían a los desarrolladores la posibilidad de modificar el programa entre partidas, una oportunidad que, según ellos, se utilizaba para apuntalar las debilidades en el juego de la computadora que se revelaron durante el transcurso del juego.

Kasparov solicitó copias impresas de los archivos de registro (logs) de la máquina, pero IBM se negó, aunque más tarde la empresa publicó los registros en Internet.

Kasparov exigió una revancha, pero IBM se negó y desmanteló el programa Deep Blue.

Kasparov sostiene que se le dijo que el match iba a ser un proyecto científico para impulsar el desarrollo de la inteligencia artificial, pero que pronto se hizo evidente que IBM quería ganarle y nada más para obtener una gigantesca campaña de publicidad.

REBEL y su desafío con Anand.

De todos modos, la derrota de Kasparov no había resuelto la cuestión sobre la supremacía de la inteligencia artificial sobre la humana en el campo de batalla del tablero de ajedrez.

El match había sido demasiado polémico, y sobre el desempeño de Kasparov había influido muy negativamente la perreta que se había cogido con el equipo de IBM, y su sospecha de que un jugador humano estaba «guiando» la estrategia de la máquina, lo que unido a su capacidad de cálculo lo hacía un enemigo temible.

Sin embargo, en aquellos años prácticamente se duplicaba la memoria y la capacidad de procesamiento de los ordenadores personales cada año.

Con el aumento de la potencia de procesamiento, los programas de ajedrez que se ejecutaban en PCs comenzaron a rivalizar con los jugadores de primer nivel.

En 1998, Rebel 10 derrotó a Viswanathan Anand, que en ese momento era el segundo del mundo, por un marcador de 5-3. Sin embargo, la mayoría de las partidas no se jugaron en controles de tiempo normal.

De los ocho juegos, cuatro fueron juegos relámpago o blitz (cinco minutos más cinco segundos de incremento por  jugada), dos fueron a un ritmo de juego semirápido (15 minutos por jugador) y dos con un ritmo de juego lento.

Como era de esperar, pese a ser Anand un jugador famoso por su rapidez de pensamiento, Rebel se impuso por 3 – 1 en el ritmo de juego blitz, y por 1 1/2 – 1/2 en semirápidas.

Sin embargo, Anand mantuvo alto el pabellón de la especie humana imponiéndose por 1 1/2 a 1/2 en ritmo lento.

Toda la información del match está en la web (anticuada) de Rebel.

Kramnik contra Deep Fritz en 2002, la humanidad todavía aguanta.

En octubre de 2002, Vladimir Kramnik (que había sucedido a Kasparov como Campeón Mundial de la PCA o asociación de ajedrecistas profesionales) y Deep Fritz compitieron en un match a ocho partidas que terminó en un empate  4-4.

A Kramnik se le dieron varias ventajas en este encuentra de las que no habían disfrutado otros rivales humanos de programas de ajedrez en matches de carácter similar en el pasado.

El código de Fritz fue «congelado» algún tiempo antes del primer encuentro, con lo que éste no siguió evolucionando durante un tiempo,  y Kramnik recibió una copia de Fritz para practicar durante varios meses y así poder conocer su estilo de juego, sus fortalezas y debilidades.

Otra diferencia era que en los juegos que duraban más de 56 jugadas, a Kramnik se le permitía aplazar la sesión hasta el día siguiente, durante el cual podía usar su copia de Fritz para ayudarle en su análisis nocturno de la posición.

Si analizamos las partidas de este match, podemos apreciar como cambió radicalmente el estilo de juego de los jugadores humanos respecto de épocas anteriores, como la paliza que Kasparov infrigió a Deep Thought.

Los jugadores humanos empezaron a desarrollar técnicas «anti ordenador». Evitaban el intercambio de golpes y las posiciones de carácter táctico, en las que la capacidad de cálculo del ordenador era muy superior a la del ser humano, y buscaban posiciones tranquilas, de carácter estratégico, en las que imperara la lógica abstracta sobre el cálculo concreto.

Es decir, intentaban demostrar que los programas de ajedrez no tenían inteligencia artificial, sino que eran «calculadoras de ajedrez».

Kramnik, aplicando estas estrategias anti-ordenador, consiguió ganar las partidas 2 y 3 del match. En la ronda 5, Kramnik cometió un error garrafal, y perdió. ¡Los ordenadores no comenten errores, pues ni se cansan ni se confunden, si hacen una mala jugada es por error en la programación del humano que desarrolló su motor de juego!

A continuación puedes reproducir las jugadas de esta primera derrota de Kramnik en el match.

El juego 6 fue descrito por los comentaristas del torneo como «espectacular». Kramnik, en una mejor posición a principios del mediojuego, intentó sacrificar una pieza para conseguir un fuerte ataque táctico, una estrategia conocida por ser muy arriesgada contra los ordenadores que están en su mejor momento defendiéndose de tales ataques. Fiel a su forma de jugar, Fritz encontró una defensa hermética y el ataque de Kramnik se agotó, dejándolo en una mala posición.

Kramnik abandonó, creyendo que estaba perdido. Sin embargo, los análisis humanos e informáticos posteriores demostraron que era poco probable que el programa Fritz hubiera sido capaz de forzar una victoria y Kramnik se rindió cuando la posición era tablas. ¡Otra debilidad humana, las máquinas no se desmoralizan y por tanto no abandonan!

Las dos últimas partidas acabaron en tablas, cerrando en empate el encuentro. La sensación que quedó fue que Kramnik todavía era mejor jugador que la máquina, pero como ser humano que era, cometía errores.

Los últimos duelos de igual a igual: Kasparov contra Deep Junior  y Kasparov contra X3D Fritz (2003).

En enero de 2003, Kasparov participó en un encuentro  de seis partidas con control de tiempo clásico,  con un fondo de premios de un millón de dólares contra Deep Junior. El programa de ajedrez era capaz de evaluar tres millones de posiciones por segundo.

Después de una victoria cada uno y tres empates, en la última partida Kasparov consiguió una posición superior. Sin embargo, ofreció tablas porque sintió la presión del ordenador. ¡No quería cometer errores como en su match contra Deep Blue!

Así pues, el encuentro acabó en empate, aunque Kasparov había mantenido una ligera iniciativa.

Se puede decir que una de las grandes novedades de este match es que, lo mismo que los humanos habían adoptado estrategias anti-ordenador, buscando posiciones de carácter estratégico sin complicaciones, los programadores habían implementado estrategias anti gran maestro, buscando complicaciones. Esta partida es un magnífico ejemplo:

 

Ese mismo año, Kasparov disputó otro match contra el programa X3D Fritz. Además del interés indudable que tenía esta batalla entre humanos y ordenadores por la supremacía del ajedrez mundial, el match estuvo rodeado de una atractiva parafernalia tecnológica: se utilizaba una pizarra virtual, gafas 3D y un sistema de reconocimiento de voz.

Nuevamente el match terminó en empate, tras dos tablas y una victoria para cada uno.

Se acabó la historia hombre – máquina. La máquina es muy superior al hombre: Kramnik contra Deep Fritz (2006).

Kramnik, entonces todavía Campeón del Mundo, y el primer campeón unificado desde que Kasparov dividiera el título de campeón del mundo al separarse de la FIDE, jugó un encuentro de seis partidas contra el programa de computadora Deep Fritz en Bonn, Alemania, del 25 de noviembre al 5 de diciembre de 2006, perdiendo 4-2 contra la máquina, con dos derrotas y cuatro empates.

Recibió 500.000 euros por jugar y habría recibido otros 500.000 euros si hubiera ganado el partido. Deep Fritz versión 10 se ejecutó en un ordenador que contenía dos CPUs Intel Xeon (un procesador Xeon DC 5160 de 3 GHz con un FSB de 1333 MHz y una caché L2 de 4 MB) y fue capaz de evaluar ocho millones de posiciones por segundo.

Kramnik recibió una copia del programa a mediados de octubre para probarlo, pero la versión final incluía un libro de apertura actualizado.

Excepto actualizaciones limitadas del libro de aperturas, no se permitió cambiar el programa durante el transcurso del match.

Las bases de datos de final de juego utilizadas por el programa se restringieron a cinco piezas, a pesar de que una base de datosde seis  piezas ya era muy popular.

En los primeros cinco juegos Kramnik dirigió el juego hacia una típica estrategia posicional «anti-computadora». Así, la primera partida  terminó en tablas en la jugada 47. Muchos comentaristas de ajedrez pensaba que probablemente Kramnik tuviese una posición ganadora. Pero las computadoras no se cansan, y no se desaniman. Son muy tenaces en el juego final.

En la segunda partida, para la que se concedió a Kramnik dos días de descanso (algo que sería totalmente inusual entre un match de humano a humano), Deep Fritz derrotó a Kramnik tras una inmensa pifia de este último.¡Se había dejado dar jaque mate en una jugada, en un final de probables tablas! Increible, igual desde el punto de vista de la psicología humana, el módulo táctico de los humanos se desconectó al jugar con una estrategia anti ordenador.

Las siguientes tres partidas acabaron en tablas, motivo por el que Kramnik necesitaba ganar en la última partida para empatar el match, tomó más riesgos de los habituales, y perdió nuevamente.

Deep Fritz ganó por un claro 4 – 2. Estaba claro que los humanos jugaban un ajedrez más interesante, con ideas más sorprendentes y razonamientos más originales, pero eran incapaces de sostener el nivel de precisión necesario para jugar contra el ordenador durante 5 horas.

Ya había quedado claro que, desde un punto de vista competitivo, los progeramas de ordenador eran superiores a los ajedrecistas humanos.

Sin embargo, la evolución de los programas de ordenador no se detuvo, siguiendo su escalada de fuerzo de juego hasta los 3.300 puntos de ELO.

De Deep Fritz a Stockfish: el mejor jugador de ajedrez universal es una máquina.

Tras la derrota de Kramnik contra Deep Fritz, los programas de ajedrez continuaron mejorando, tanto en sus algoritmos como en la capacidad del hardware sobre el que funcionaban.

En la actualidad, abril de 2018, y según el portal computerchess.org los 3 mejores motores de ajedrez son Stockfish, Houdini y Komodo, con unas puntuaciones ELO de 3.445, 3.408 y 3.406 respectivamente.

Sin embargo, Stockfish, el considerado por todos el mejor programa de ajedrez de la actualidad, y que se distribuye bajo una licencia de software libre como la de Linux, fue aplastado por la inteligencia artificial Alpha Zero, en un trabajo de investigación impulsado por una compañía propiedad de Google: Deep Mind. Jugaron 100 partidas, venciendo Alpha Zero en 24, y empatando las restantes.

Alfa Zero. ¿El mejor jugador de ajedrez de todos los tiempos?

AlphaZero es un programa desarrollado por la compañía de investigación de inteligencia artificial DeepMind, propiedad de Alphabet.

El 5 de diciembre de 2017, el equipo de DeepMind publicó un artículo cientifico con la introducción de AlphaZero, el cual, en 24 horas, logró un nivel de juego sobrehumano en Ajedrez, GO y Reversi al derrotar a los programas campeones del mundo, Stockfish, Elmo y la versión de 3 días de AlphaGo Zero, en cada caso haciendo uso de unidades de procesamiento de tensores (TPUs) personalizadas para las que se optimizó el uso de los programas de Google.

AlphaZero fue entrenado únicamente a través de «auto-juego» usando 5.000 TPUs de primera generación para generar los juegos y 64 TPUs de segunda generación para entrenar las redes neuronales, todos en paralelo, sin acceso a libros de apertura o tablas de final de juego.

Después de sólo cuatro horas de entrenamiento, DeepMind estimó que AlphaZero estaba jugando a un nivel de Elo más alto que Stockfish; después de 9 horas de entrenamiento, el algoritmo derrotó decisivamente a Stockfish 8 en un torneo de 100 partidas. El algoritmo entrenado jugaba en una sola máquina con cuatro TPUs.

En el torneo de ajedrez de AlphaZero contra Stockfish 8 (campeón mundial TCEC 2016), a cada programa se le dio un minuto de tiempo de reflexión por jugada. A Stockfish se le asignaron 64 subprocesos y un tamaño de hash de 1 GB, un ajuste que Tord Romstad de Stockfish más tarde criticó como subóptimo.

AlphaZero fue entrenado en ajedrez por un total de nueve horas antes del torneo. Durante el torneo, AlphaZero funcionó en una sola máquina con cuatro TPUs específicos para cada aplicación. En 100 juegos desde la posición inicial normal, AlphaZero ganó 25 juegos como blancas, ganó 3 como negras y empató los 72 restantes.

 

 

2 opiniones en “Computadoras de Ajedrez: de ChessGenius a AlphaZero”

  1. ¡Hola a todos! Una pregunta que tenéis que responder para poder participar en el concurso que hemos publicado en sortea2.com.
    ¿Cual fue el resultado final del match entre Vladimir Kramnik y Deep Fritz, que tuvo lugar en el año 2006, que supuso el punto de inflexión en la supremacía entre humanos y programas de ajedrez?

Deja un comentario

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