Inteligencia artificial uruguaya canta contraflor al resto

Joven ingeniero creó un sistema que aprendió el juego y puede “dar pelea” a un humano; sigue su desarrollo para disputar campeonatos

TRUCOImagen _NIA7425.jpg
Truco uruguayo
ESTEFANIA LEAL

"De mis amigos soy el peor que juega. Lo tengo más que aceptado”, reconoce Juan Pablo Filevich. Aprendió las reglas de su padre pero nunca pudo “jugar tan bien” como él. El pasado pisado. Este joven ingeniero diseñó una solución computacional para el truco uruguayo que, con modestia, dice que “da pelea” (con una tasa de ganancia superior al 50%) a un humano y que seguirá perfeccionando para que pueda competir (y ganar) ante jugadores profesionales.

Esta historia comienza el 29 de octubre de 2018, el día de su cumpleaños que, contrario a sus deseos, se presentaba bastante aburrido. Había quedado fascinado con los logros de AlphaGo, la inteligencia artificial desarrollada por Google DeepMind que había vencido al mejor jugador de Go del mundo. ¿Por qué no programar algo así para el truco? Lo que empezó para sacudirse la modorra terminó en una tesis de grado que fue distinguida por la Academia Nacional de Ingeniería por conseguir lo que no se había logrado antes: resolver el truco uruguayo, un juego de información imperfecta, suma positiva, multiagente y de tamaño grande (con más de un millón de conjuntos de información) que no había sido abordado por la literatura científica.

Jugando al Truco
Truco uruguayo
Darwin Borrelli/Archivo El Pais

Entrenando una IA.

Vayamos despacito que aquí entramos en el terreno de la Teoría de Juegos. Esta es una rama de la matemática que modela, estudia y predice cualquier tipo de interacciones -desde el truco hasta la guerra- con el objetivo de encontrar un equilibrio entre los agentes (o jugadores).

“Si hay un solo jugador y el futuro es completamente predecible no es divertido; distinto es si hay un jugador que no sabe lo que va a jugar el otro o se juega contra un futuro que se desconoce”, explica Héctor Cancela, profesor titular en el Departamento de Investigación Operativa del Instituto de Computación de la Facultad de Ingeniería de la Universidad de la República. El problema es que encontrar ese equilibrio no es tarea sencilla.

El Go o el ajedrez son juegos de información perfecta y suma cero, lo que los hace más sencillos de modelar. La información perfecta se refiere al hecho de que cada jugador tiene la misma información que estaría disponible luego de cada acción tomada. Es decir, cada jugador puede ver los movimientos de sus contrincantes.

El truco, en cambio, es de información imperfecta porque los jugadores necesitan analizar todos los posibles resultados a la hora de tomar una decisión. Ven sus cartas pero no las de los otros. Además es el azar quien elige las cartas que recibirá cada jugador.

La diferencia entre suma cero y suma positiva es que en el primero alguien gana y alguien pierde, pero en el otro caso se van “ganando puntos” en cada mano que suman al total.

El profesor lo explica así: “En una mano yo puedo sacar dos puntos de envido y vos sacar tres puntos de truco/retruco. En cada mano no hay ‘suma cero’, sino ‘suma positiva’ puesto que ambos tenemos alguna recompensa”. Además, la mano de menos puntos igualmente obtiene un punto.

El objetivo de Juan Pablo era encontrar un “equilibrio de Nash” (el de Mente Brillante) para el truco. Esto es la respuesta “óptima” o, sencillamente la “mejor respuesta”, dado el perfil de estrategias de los jugadores, de forma tal que no exista ningún incentivo para tomar otra decisión.

El quid de la cuestión, claro está, es que no se conoce cuál es la estrategia de ninguno de los oponentes.

Y aquí aparece otro concepto: los métodos Monte Carlo. Con estas técnicas computacionales (creadas durante la Segunda Guerra Mundial con el objetivo de mejorar la toma de decisiones estratégicas en condiciones de incertidumbre) se hace una simulación en tiempo real. “En vez de estudiar todas las jugadas posibles que puede hacer cada jugador, analiza una cierta cantidad de opciones o futuros para que el resultado se aproxime mucho al que se tendría explorando todas las posibilidades”, explica el profesor Cancela.

Los métodos Monte Carlo, por ejemplo, son aquellos que utiliza el software de un Tesla para estacionarse de forma autónoma. “Hace simulaciones para ver cuál es el camino más óptimo para la maniobra”, apunta Juan Pablo.

El modelo por él diseñado logró “muy buenos resultados” al aproximarse a la “estrategia óptima mano a mano”. Y ahora continúa su desarrollo para resolver la estrategia óptima de toda una partida. “El intervalo de confianza fue superior al 50% en cada partida”, apunta el ingeniero.

Vale aclarar que este modelo no replica jugadas “ni busca copiar a un humano”, sino que aprendió las reglas del truco desde cero, un entrenamiento que le llevó unas 4.000 horas de cómputo. “Es solo una fracción de la cantidad de horas que usaron en Estados Unidos para resolver el póker”, comparó. ¿Sabe cuántas? Quince millones de horas.

Parte del trabajo se realizó en el Centro Nacional de Supercomputación, una infraestructura computacional que tiene un poder superior a 10.000 computadoras tradicionales. “Hay que saber usar ese aparato. Es monstruoso. Tenés que estar muy fino con la programación”, advierte Juan Pablo.

Además de probarse contra profesionales, Juan Pablo tiene dos pendientes. Uno es terminar una aplicación de su modelo para aquel que se anime a descargarlo y jugar contra él y desarrollar un bot que pueda jugar en sitios online de truco para desafiar a los usuarios. “La técnica se pondrá a disposición para el que quiera jugar contra un buen contrincante”, cuenta Héctor a Domingo.

JUGAR SIN ARREPENTIMIENTO: LA MORALEJA DEL MODELO

Así se puede explicar el funcionamiento del algoritmo programado por Juan Pablo Filevich: este juega contra sí mismo y, una vez finalizada la partida, revisa hacia atrás cada decisión para determinar cuál jugada “hubiese minimizado el arrepentimiento” o haber jugado otra cosa. Y aclara: “Se dice que uno juega perfecto cuando juega sin arrepentimientos”. Usted ya lo habrá pensado: “Es como la vida misma”. Sea un modelo computacional o una persona ante un problema, lo difícil es determinar el arrepentimiento futuro, puesto que eso es una incertidumbre. Lo conocido es el pasado. Los métodos Monte Carlo, entonces, sirven para simular el futuro y tomar la mejor decisión pensando que minimirzará el arrepentimiento.

¿Encontraste un error?

Reportar

Te puede interesar