Enciclopedia de Conocimientos Fundamentales
UNAM ˜ SIGLO XXI


regreso








9.4.1 Ajedrez, un juego difícil

El ajedrez es un juego recreativo y de competencia para dos jugadores. La variante actual del juego de ajedrez nació en Europa en la segunda mitad del siglo XV, pero está basado en versiones más viejas provenientes de Persia y la India. Hoy en día existen millones de jugadores de ajedrez alrededor del mundo.

El tablero de juego es un cuadrado de 8 × 8, con 64 posiciones. Al inicio del juego, cada jugador, uno a cargo de las piezas blancas y otro a cargo de las negras, controla 16 piezas: un rey, una reina, dos torres, dos caballos, dos alfiles y ocho peones. El objetivo del juego es hacerle jaque mate al rey del oponente, lo que significa que dicho rey está en inminente peligro de ataque o en jaque y no tiene posibilidad de escapar en la siguiente jugada.

Las reglas del ajedrez son complejas y la manera de evaluar qué tan bueno es un movimiento es una tarea complicada. Por supuesto, para un sistema de cómputo decidir su siguiente jugada, es un reto aún mayor, pues hay que simular la manera en la que una persona juega, evaluar qué tan bueno es cada movimiento y ejecutar el mejor posible, pero todo esto debe hacerse en un periodo corto de tiempo. Recuérdese que un juego típico dura entre 10 minutos y una hora e involucra unos 60 movimientos.


Curiosidades
El sistema de medición Elo fue creado por Arpad Elo, un profesor húngaro-americano de física, y permite evaluar de manera relativa los niveles de destreza de jugadores de ajedrez y go. El esquema Elo fue adoptado por la Federación Internacional de Ajedrez (FIDE, por sus siglas en francés), y aunque hoy se utiliza una variante de Elo, usualmente se conoce la calificación de un jugador como su FIDE o Elo, de manera indistinta. Solamente cuatro jugadores en la historia del ajedrez han obtenido más de 2 800 puntos: Garry Kaspárov de Rusia, Vladimir Kramnik de Rusia, Vaselin Topalov de Bulgaria y Viswanathan Anand de la India.

Al igual que en las otras aplicaciones de la computación que se han revisado, estudiar un juego con tantas posibilidades, como el ajedrez, ha impulsado el estado del arte en diversos temas relacionados con algoritmos y cómputo distribuido. Hoy en día, la computadora más poderosa para jugar ajedrez se llama Hydra y se estima que tiene una calificación Elo de más de 3 000, con lo cual, y éste es el propósito del proyecto Hydra, una computadora domina el mundo del ajedrez, con el reconocimiento de los humanos.

Hydra es un nombre tomado de la mitología griega que hace alusión a un monstruo de nueve cabezas que peleó (y fue derrotado) por Hércules. Pero en esta ocasión, no es un monstruo mitológico, sino un poderoso sistema de cómputo para jugar ajedrez patrocinado por el grupo de empresas PAL.

Tan monstruosa como su contraparte mitológica, Hydra, el monstruo de los tableros de ajedrez, acorralará a cualquiera que se cruce en su camino. Está configurada para envolver el mundo del ajedrez en cuatro versiones, todas con contrapartes en la mitología griega, Orthus (Ortos), Chimera (Quimera), Scylla (Escila) y, la más temible de todas, Hydra (Hidra).

Orthus es un horroroso perro de dos cabezas que cuidaba el ganado de Geryon y aterrorizaba a aquellos que se atrevían a cruzar sus campos. La Chimera es un monstruo con cabeza de león, cuerpo de cabra y cola de dragón, que arrasó con la ciudad en la que vivía. Scylla es un monstruo con seis cabezas de perro, vivía en una cueva y se dedicaba a atacar y aterrorizar marinos. En el caso del ajedrez, después de los monstruos ya descritos, Hydra es la forma perfecta y atacará al mundo del ajedrez con la fuerza de sus nueve cabezas de estrategia y velocidad. Una serpiente venenosa y enorme, capaz de infundir terror en cualquier persona. Cada vez que una cabeza es dañada, otras dos crecen en su lugar.

¿Podrá alguien enfrentar su fuerza sin par, este reto con múltiples cabezas, un duelo monstruoso? En la Antigüedad, los monstruos legendarios fueron derrotados por héroes como Hércules y Aquiles. Hoy, sin embargo, los monstruos han vuelto, están en el tablero de ajedrez y fueron creados por el hombre.

El primer sistema de cómputo en hacer historia en el mundo del ajedrez fue Deep Blue, que logró vencer en un torneo internacional en seis juegos a Garry Kaspárov en 1997, con dos victorias, una derrota y tres empates. Sorprendentemente, la principal fortaleza de Deep Blue era su fuerza bruta: era un equipo masivamente paralelo con 30 nodos basados en el equipo RS/6000 de IBM, que incluía 480 procesadores especiales para jugar ajedrez. El programa de Deep Blue para jugar ajedrez fue escrito en el lenguaje de programación C. ¿Qué tan poderosa era Deep Blue en términos de ajedrez? ¡Era capaz de evaluar 200 millones de posiciones por segundo! En 1997, Deep Blue estaba considerada como la supercomputadora número 259 en la lista de las más poderosas del mundo y era capaz de calcular 11.38 gigaflops. En computación se utilizan los flops como medida del rendimiento de un sistema de cómputo; son siglas en inglés de operaciones de punto flotante por segundo. Giga equivale a 109 flops, es decir, Deep Blue era capaz de calcular 11 380 000 000 flops.

Eso es mucho poder de cómputo, pero aun así suena insuficiente, ya que en un juego normal y siguiendo la técnica que se explicó arriba, donde se intentaron todos los movimientos posibles de nuestras piezas, se evaluaron las nuevas posiciones generadas, luego se estudiaron todos los posibles movimientos del contrincante para cada uno de los posibles movimientos que se hicieron y se evaluaron nuevamente las posiciones resultantes y así sucesivamente. ¿Qué se genera con este tipo de evaluaciones? Un árbol donde cada rama representa una posible partida; un jugador realiza el primer movimiento indicado en esa rama, el contrincante contesta con el segundo, luego el jugador efectúa el tercero, él el cuarto, etcétera.

¿De qué tamaño es el árbol que se genera? De aproximadamente 1060 posiciones, que es un número tan grande que es más o menos mil veces más que el número de átomos de hidrógeno en el Sol. De manera que, aunque Deep Blue puede calcular 200 millones de operaciones por segundo, no podría calcular en un tiempo razonable las 1060 posiciones. Entonces, ¿qué se puede hacer? ¿Cómo logró vencer al campeón del mundo? Un punto intermedio es revisar sólo hasta cierto nivel en el árbol. Deep Blue bajaba y evaluaba las distintas posiciones usualmente hasta el nivel 12 y, en ciertos movimientos cruciales, llegaba hasta el nivel 40 del árbol, lo que significaba unos 170 millones de hojas en el árbol por segundo. La evaluación que hacía Deep Blue es muy básica, pero suficiente para servir de guía, y evaluaba la cantidad de material presente en el tablero, utilizando el valor estándar de cada pieza, por ejemplo, un peón vale un punto, un alfil o un caballo tres y así sucesivamente.

De acuerdo con cálculos posteriores al triunfo de Deep Blue, se encontró que con cada nivel extra en el árbol que pudiera explorar el sistema, subía entre 200 y 300 puntos su evaluación Elo. Este resultado permite concluir que el ajedrez puede resolverse mediante la computación. No sólo eso, muestra que aun para resolver problemas que parecen imposibles, como el ajedrez, algo de ingenio combinado con el poderío de las computadoras, esa fuerza bruta que se mencionó anteriormente y que, en resumen significa intercambiar el juicio por la búsqueda, produce soluciones aceptables.


Inicio de página