Han pasado casi 20 años desde que la supercomputadora IBM Deep Blue venció por primera vez al actual campeón mundial de ajedrez, Gary Kasparov, bajo las reglas del torneo estándar. Desde entonces, las computadoras que juegan al ajedrez se han vuelto mucho más potentes, dejando con pocas posibilidades a los mejores seres humanos, incluso en contra de un moderno programa de ajedrez que se ejecuta en un teléfono inteligente
Pero mientras que las computadoras se han vuelto más rápidas, la forma en que funcionan los programas de ajedrez no ha cambiado. Su poder se basa en la fuerza bruta, un proceso de búsqueda a través de todos los futuros movimientos posibles para encontrar el mejor.
Por supuesto, ningún ser humano puede igualar eso o acercarse de ninguna manera. Mientras que Deep Blue buscaba unos 200 millones de posiciones por segundo, es probable que Kasparov no estuviese buscando más de cinco por segundo. Y, sin embargo, jugaba en esencia al mismo nivel. Es evidente que los seres humanos tienen un truco bajo la manga que los ordenadores todavía tienen que dominar.
Este truco está en la evaluación de las posiciones de ajedrez y reducirlos a los caminos de búsqueda más rentables. Eso simplifica dramáticamente la tarea de cálculo, ya que poda el árbol de todos los movimientos posibles a unas pocas ramas.
Las computadoras nunca han sido buenas en esto, algo que hoy cambia gracias al trabajo de Mateo Lai en el Imperial College de Londres. Lai ha creado una máquina de inteligencia artificial llamada Giraffe (jirafa) que se ha enseñado ella misma a jugar al ajedrez mediante la evaluación de posiciones de una manera mucho más al estilo de los seres humanos, y de una manera totalmente diferente a los programas convencionales de ajedrez.
Recién estrenada, la nueva máquina juega al mismo nivel que los mejores programas de ajedrez convencionales, muchos de los cuales se han puesto a punto durante muchos años. A nivel humano, es equivalente a la condición de Maestro Internacional FIDE, colocándolo dentro de la parte superior, que es de 2,2 por ciento de los jugadores de ajedrez en los torneos.
La tecnología detrás de la nueva máquina de Lai es una red neuronal. Esta es una forma de procesar la información inspirada en el cerebro humano. Se compone de varias capas de nodos que están conectados de una manera que cambia cuando el sistema es capacitado. Este proceso de entrenamiento utiliza una gran cantidad de ejemplos para poner a punto las conexiones para que la red produzca una salida específica al dársele una cierta entrada, como reconocer la presencia de rostro en una imagen, por ejemplo.
En los últimos años, las redes neuronales se han convertido en muy poderosas gracias a dos avances. El primero es una mejor comprensión de cómo afinar estas redes a medida que aprenden, gracias en parte a las computadoras mucho más rápidas. El segundo es la disponibilidad de masivos conjuntos registrados de datos para entrenar las redes.
Eso ha permitido que los científicos informáticos entrenen redes mucho más grandes organizadas en muchas capas. Estas llamadas redes neuronales profundas han convertido en muy poderosas, y ahora superan habitualmente a los humanos en tareas de reconocimiento de patrones, como el reconocimiento facial y el reconocimiento de escritura.
Así que no es ninguna sorpresa que las redes neuronales profundas sean capaces de detectar patrones en el ajedrez, y eso es exactamente el enfoque que ha tomado Lai. Su red se compone de cuatro capas que, juntas, examinan cada posición en el tablero de tres maneras diferentes.
La primera observa el estado global del juego, cosas tales como el número y el tipo de piezas en cada lado, de qué lado va a mover, los derechos de enroque, y así sucesivamente. La segunda analiza características centradas en las piezas, tales como la ubicación de cada pieza en cada lado, mientras que el aspecto final analizado es el mapeo de los recuadross que cada pieza ataca y defiende.
Lai entrena a su red con un conjunto cuidadosamente generado de datos extraídos de juegos de ajedrez reales. Este conjunto de datos debe tener una correcta distribución de las posiciones. «Por ejemplo, no tiene sentido entrenar el sistema de posiciones con tres reinas de cada lado, porque esas posiciones casi nunca surgen en los juegos reales», dice.
También debe tener un montón de variedad de posiciones desiguales, más allá de las que normalmente se producen en los mejores juegos de ajedrez de nivel. Eso es porque a pesar de que estas posiciones desiguales rara vez surgen en los juegos de ajedrez en la realidad, sí surgen todo el tiempo en las búsquedas que el equipo realiza internamente.
Y este conjunto de datos debe ser enorme. La cantidad masiva de conexiones dentro de una red neuronal tiene que ser ajustada durante el entrenamiento, y esto sólo se puede hacer con un vasto conjunto de datos. Utilice un conjunto de datos demasiado pequeño y la red puede quedar en un estado que no reconoce la amplia variedad de modelos que se producen en el mundo real.
Lai generó su conjunto de datos eligiendo al azar cinco millones de posiciones de una base de datos de juegos de ajedrez de computadora. Luego creó una mayor variedad, añadiendo un movimiento legal al azar a cada posición antes de usarla para el entrenamiento. En total generó 175 millones de posiciones de esta manera.
La forma más habitual de entrenar estas máquinas es evaluar manualmente cada posición y utilizar esta información para enseñar a la máquina a reconocer a aquellas que son fuertes y las que son débiles.
Pero esta es una tarea enorme con 175 millones de posiciones. Se podría hacer con otro programa de ajedrez, pero la meta de Lai era más ambiciosa. Quería que la máquina aprendiera sola.
En su lugar, utilizó una técnica de programa de inicio en la que Giraffe jugó contra sí misma, con el objetivo de mejorar la predicción de su propia evaluación de una posición futura. Esto funciona porque no se fijan puntos de referencia que en última instancia determinan el valor de una posición, tanto si el juego más tarde se gana, se pierde o se empata.
De esta manera, la computadora se entera de qué posiciones son fuertes y cuáles son débiles.
Después de haber entrenado a Giraffe, el último paso fue probarla, y aquí los resultados dan una lectura interesante. Lai probó su máquina en una base de datos estándar llamada Test Suite Estratégico, que consta de 1.500 posiciones que son elegidas para poner a prueba la capacidad de un programa de reconocer diferentes ideas estratégicas. «Por ejemplo, un tema pone a prueba la comprensión del control de archivos abiertos, otras pruebas la comprensión de cómo cambia el valor del alfil y los caballos con respecto al otro en diferentes situaciones, e incluso en otras pruebas, la comprensión del control central», dice.
Los resultados de este ensayo fueron anotados al finalizar 15.000.
Lai utilizó esto para probar la máquina en diversas etapas durante su formación. Al comenzar el proceso de iniciación, Giraffe rápidamente alcanzó una puntuación de 6000 y, finalmente, culminó en 9700 después de sólo 72 horas. Lai dice que coincide con los mejores programas de ajedrez del mundo.
«[Esto] es notable debido a que sus funciones de evaluación son gigantes cuidadosamente diseñados a mano con cientos de parámetros que han sido afinados tanto manual como automáticamente durante varios años, y muchos de ellos han sido trabajadas por grandes maestros humanos», añade.
Lai va a utilizar el mismo tipo de enfoque de aprendizaje automático para determinar la probabilidad de que un movimiento determinado es digno de seguir probando. Eso es importante porque evita búsquedas innecesarias a lo largo de ramas no productivas del árbol y mejora dramáticamente la eficiencia computacional.
Lai dice que este enfoque probabilístico predice la mejor jugada el 46 por ciento de las veces, y ubica el mejor movimiento en los tres primeros del ranking el 70 por ciento de las veces. Así que el equipo no tiene que molestarse con los otros movimientos.
Este es un trabajo interesante que representa un cambio importante en la forma en que trabajan los programas de ajedrez. No es perfecto, por supuesto. Una desventaja de Giraffe es que las redes neuronales son mucho más lentas que con otros tipos de procesamiento de datos. Lai dice que Giraffe tarda aproximadamente 10 veces más que un motor de ajedrez convencional para buscar el mismo número de posiciones.
Pero incluso con esta desventaja, es competitiva. «Giraffe es capaz de jugar en el nivel de un Maestro Internacional de la FIDE en una PC moderna comercial común», dice Lai. En comparación, los mejores programas juegan al nivel de super-gran maestro.
Eso sigue siendo impresionante. «A diferencia de la mayoría de los programas de ajedrez en existencia hoy, Giraffe deriva su capacidad de juego no por ser capaz de ver muy lejos hacia delante, Sino por ser capaz de evaluar las posiciones difíciles con precisión, y comprender complicados conceptos posicionales que son intuitivos para los seres humanos, pero que han sido difíciles de alcanzar para los programas de ajedrez durante mucho tiempo», dice Lai. «Esto es especialmente importante en las fases de apertura y final del juego, donde se juega excepcionalmente bien.»
Y esto es sólo el comienzo. Lai dice que tiene que ser sencillo de aplicar el mismo enfoque a otros juegos. Uno que se destaca es el juego tradicional chino de Go, donde los seres humanos todavía tienen una ventaja impresionante sobre sus competidores de silicio. Quizás Lai podría abrir una grieta en ese lado.
Ref: arxiv.org/abs/1509.01549: Giraffe: Using Deep Reinforcement Learning to Play Chess.
Fuente: X. Aportado por Eduardo J. Carletti
Más información:
- El predictor: utilizando juegos para saber el futuro
- Las reglas para el cálculo clásico de probabilidades podrían depender de la aleatoriedad cuántica
- Un ejército de chips de teléfonos inteligentes podría emular el cerebro humano
- Watson, la computadora que concursa en televisión
- Transistor sináptico aprende mientras computa