Programado para matear

Roa Zubia, Guillermo

Elhuyar Zientzia

Los programas de ajedrez ya utilizan la estrategia, pero no son los mismos que los humanos.
Programado para matear
01/02/2010 | Roa Zubia, Guillermo | Elhuyar Zientzia Komunikazioa
(Foto: Guillermo Roa)

Hay una forma perfecta de jugar al ajedrez. La secuencia de movimiento de las piezas es óptima, ya que con esta secuencia no hay peligro de perder la partida. Sin embargo, hay un problema: nadie sabe cuál es la secuencia perfecta.

La teoría de juegos, una rama de las matemáticas, demostró hace tiempo que existe, pero la complejidad del ajedrez ha impedido que los matemáticos vayan más allá. No saben si esa secuencia lleva a ganar o al empate. El partido es perfecto, pero nadie sabe quién es. Esto es una buena noticia para los jugadores de ajedrez.

Sin embargo, los informáticos han avanzado mucho. En la actualidad, el software de ajedrez no se basa en el mero cálculo, sino que se ha integrado en el marco de la estrategia. "Evalúa las ubicaciones de las piezas según un criterio estratégico, analizando diferentes características: los endrokes, la ubicación de los peones, si existen diagonales abiertas para alfiles, etc.", explica Antonio Salmerón, informático de la Universidad de Almería. "Por supuesto, luego tiene que utilizar el cálculo para saber si la jugada ha llevado o no a una situación incorrecta. Pero, básicamente, la estrategia orienta el juego del ordenador".

Estrategia humana

La estrategia también orienta el juego de los jugadores humanos. En la base, al igual que en una batalla de una guerra, trata de tomar el control de la zona; en el ajedrez, dominar el centro del tablero es tomar el control de la zona, tanto de la ubicación de las piezas, como de la zona central desde otras ubicaciones. Una vez conseguido, el juego está bien orientado. Y para conseguirlo hay que utilizar la estrategia.

La propia estrategia es difícil de definir. Funciona a muchos niveles y abarca muchos factores. Por ejemplo, el uso de la estrategia implica tomar decisiones, hacer movimientos para engañar al otro, medir los beneficios del intercambio de piezas (sacrificar una pieza para comer otra al enemigo), entrar en ataque con más de una pieza, etc. Y eso es más que calcular las jugadas y la respuesta del rival.

Algunos grandes maestros dicen que se puede jugar al ajedrez sin hacer ningún cálculo y con una estrategia pura. "Yo creo que eso es decir demasiado, pero al menos indica la importancia de la estrategia respecto a los cálculos", dice Salmerón.

Antonio Salmerón (Almería, 1971). Informático. Es Catedrático de Estadística e Investigación Operativa de la Universidad de Almería. Experto en inteligencia artificial y ajedrez. Premio José Cuena en el Congreso de la Asociación Española de Inteligencia Artificial 2001, CAEPIA'2001. Y Bayes es el director del proyecto de desarrollo de software de ajedrez Chess. Además es jugador de ajedrez: En 2005 fue Campeón de Almería por equipos con el equipo Alboran, miembro de la Reverté-Universidad de Almería, y en 2008 fue Campeón de Andalucía en Honor. Ed. : José Miguel Puerta.

Estrategia informática

De hecho, en los últimos años el software de ajedrez ha avanzado en ello, añadiendo a la programación una perspectiva estratégica.

"Desde el punto de vista informático, el ajedrez es un problema de búsqueda. Hay que buscar las secuencias de movimiento más adecuadas que llevan al máximo beneficio", dice Salmerón. Existen algoritmos conocidos que lo hacen, como el Minimax. El ordenador construye un árbol de posibles jugadas pero no en su totalidad, detecta y no desarrolla ramas que dirigen los algoritmos de Minimax a resultados desfavorables. Esto evita muchos cálculos innecesarios. Es una estrategia básica. Sin embargo, los software actuales utilizan estrategias mucho más refinadas que Minimax.

"Para ello es necesaria la inteligencia artificial", afirma Salmerón. El ordenador aprende a jugar mediante algoritmos muy complejos, analizando las bases de datos de partidas de ajedrez.

Hay muchas técnicas para ello. Antonio Salmerón y sus compañeros, por ejemplo, han aplicado al problema del ajedrez la idea de las redes bayegas. Es una representación matemática de una distribución de probabilidad a partir de un conjunto de variables. En el caso del ajedrez, esta representación indica al ordenador qué jugadas dirigen hacia un buen resultado y cuáles no.

"Por un lado, es un medio para aprender de las bases de datos de los partidos jugados por jugadores humanos y, por otro, le ayuda a descubrir cómo es el jugador que tiene delante". En la base hay tres tipos de jugadores: los agresores, los de posición y los intermedios. "Queremos que el ordenador actúe como un ser humano, es decir, que cuando se opone a un enemigo agresivo, adopte una posición de posición y viceversa. Un jugador no se siente cómodo cuando le obliga a jugar un tipo de juego contrario".

Deep Blue

Utilizando técnicas de inteligencia artificial, los informáticos han conseguido que las máquinas funcionen perfectamente. "Actualmente los programas de ajedrez tienen más fuerza que casi cualquier jugador", afirma Salmerón. No es mucho tiempo que el ordenador Deep Blue de IBM y el jugador Gari Kasparov se enfrentaron, en 1996 por primera vez y en 1997 se disputaron cinco partidos más. El segundo partido lo ganó Deep Blue, la primera vez que un ordenador ganaba contra un gran maestro. El ordenador tenía una gran capacidad de cálculo, pero también utilizaba la estrategia.

(Foto: © George Mayer/123 RF)

Desde entonces no hay duda de la capacidad del ajedrez informático. Sin embargo, durante aquellos partidos se habló mucho del test de Turing. Era una vieja idea de inteligencia artificial. En la década de 1950, el inglés Alan Turing afirmó que las máquinas pronto serían capaces de imitar a los seres humanos en términos de inteligencia. Por lo tanto, propuso un test para poder diferenciar una máquina de una persona mediante una entrevista. Y estando tan cerca el mundo del ajedrez del ámbito de la inteligencia artificial, muchos propusieron completar un test de Turing a través del ajedrez, un test que permitía diferenciar una máquina o una persona en función de cómo un jugador jugaba un partido de ajedrez.

Cuando Deep Blue ganó a Kasparov surge la duda de si este test de Turing con ajedrez sería posible o no. Finalizado el segundo partido, Kasparov indicó que Deep Blue no había jugado como un ordenador. Lo compararon con un jugador humano.

Sin embargo, a partir de entonces han mejorado mucho los programas de ajedrez. Mejora de la programación y mejora de los ordenadores. Como consecuencia, la situación ha cambiado radicalmente. "Hoy en día hay programas muy avanzados para el ordenador de casa, que se pueden comprar a 50 o 60 euros", dice Salmerón. "Son programas que ganan a casi cualquiera. Normalmente son utilizados por los jugadores de ajedrez para entrenar".

El programa más conocido es Fritz, un software comercial muy común en la actualidad. Fritz, a pesar de que gana la mayoría de los partidos --con estrategias complicadas-, no se comporta como el hombre. En el test de Turing se vería claramente que es un programa. "Por eso estos programas no son atractivos, tienen demasiada capacidad, siempre ganan y además son muy monótonos. Ganan siempre igual", dice Salmerón. "Ese es, en mi opinión, el reto de los programadores: humanizar este juego. A mí no me gusta jugar contra un programa de ajedrez actual".

Este es el objetivo de las empresas que realizan programas de ajedrez. El tema de la estrategia quizás no ha alcanzado el techo, pero ha alcanzado un nivel muy alto. Sobre. Pero ahora quieren desarrollar un juego parecido al juego humano, no para superar un test, pero sí para darle vitalidad. Todavía falta mucho para que los ordenadores piensen como los humanos, incluso en el ajedrez.

Valor piezas
No es lo mismo una torre que un alfil. El primero es más poderoso que el segundo, pero ¿cuánto? Los informáticos trabajan de forma numérica y deben cuantificar estos valores. Así pues, hay una escala de valores para las piezas: se asigna al peón el valor 1, al caballo el valor 3, al alfiler el valor 3, a la torre el valor 5 y a la reina el valor 9. Estos valores dependen de la movilidad de la pieza y de las posibilidades que ofrece. Pero estos valores no son suficientes para programar el ajedrez.
Si un caballo está en una esquina del tablero, sólo se puede mover a dos sitios en un solo movimiento. Si está en el centro de la tabla puede saltar a ocho lugares. Y dependiendo de la ubicación de las otras piezas, su ubicación en un determinado lugar puede tener mayor o menor valor.
(Foto: Guillermo Roa)
Por ello, junto con el valor intrínseco de la pieza, los programadores utilizan una matriz de 8 x 8 dimensiones por pieza. Cada elemento de la matriz corresponde a una casilla de la tabla. También se puede dar un valor negativo a los cuadros. Por ejemplo, para intentar sacar los caballos al principio del partido, el valor negativo se da a la propia casilla en la que se encuentra el caballo. De esta manera se puede dirigir numéricamente el juego.
Sin embargo, las matrices y los valores de las piezas no definen la estrategia de un jugador. Para ello es necesario realizar un análisis más allá de los números.
Deep Blue y Gari Kasparov
El ordenador Deep Blue disputó seis partidos contra el maestro Gari Kasparov. El primero lo ganó Kasparov, muy fácil para los expertos. El segundo partido fue para Deep Blue. Las tres siguientes terminaron en empate y la última ganó el ordenador. Se ha escrito mucho sobre este juego de partidos: una máquina ganadora por primera vez contra uno de los mejores jugadores del mundo.
El ordenador Deep Blue funcionaba basándose en el algoritmo Minimax. Además, utilizó una enorme capacidad física. Utilizaba 256 procesadores y podía calcular 200 millones de movimientos por segundo, es decir, estudiaba 14 niveles de juego (posibles secuencias de 14 movimientos).
Kasparov dijo que la clave del segundo partido fue un movimiento muy raro, que no podía ser calculado por una máquina y que Deep Blue tuvo la ayuda oculta de los humanos durante el partido. Por ello, solicitó a la empresa IBM la posibilidad de realizar una investigación para ver qué pasó en los partidos. Los programadores aceptaron mal esa petición, afirmaron que habían actuado muy correctamente y se negaron a Kasparov.
La polémica sobre estos partidos no le llevó a ninguna parte. No sabemos si los de IBM ayudaron al ordenador. Sin embargo, su conocimiento no tenía gran importancia. Los programadores aseguraban que en el futuro sería un ordenador que ganaría también contra los 10 grandes maestros del mundo. Y ahora, en su futuro, ese anuncio se está cumpliendo.
Puente Roa, Guillermo
Servicios
261
2010
Servicios
022
Inteligencia Artificial; Software
Artículo
Otros
Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila