Si eres de esas personas a las que se les da genial un determinado videojuego es posible que nacieras con una habilidad innata para ello, y que no tuvieras rival desde el mismo momento en que empezaste a jugarlo. Posible, sí, pero no probable: la mayoría de los gamers mejoran gracias al sistema de prueba y error, experimentando con distintas estrategias y descartándolas hasta encontrar una exitosa, y optimizando su aplicación a partir de ese momento.
Si no somos capaces de ser maestros de la mayoría de videojuegos a los que nos enfrentamos es, sencillamente, por un problema de tiempo y fuerza de voluntad: no tenemos motivación ninguna para jugar millones de veces las mismas partidas hasta que nuestro sistema de juego sea excelente.
Psicología humana básica para enseñar a las máquinas a derrotar a los humanos en su juego (nunca mejor dicho)
Pero, ¿y si no tuvieras nada que hacer en la vida más que jugar? Mejor aún, ¿y si tu programación te obligara a ello? Entonces (obviamente) no serías una persona, sino una inteligencia artificial y tu método de estudio sería el llamado "aprendizaje por refuerzo" o "reinforcement learning". En su blog corporativo, la startup mexicana SoldAI lo explica así:
Los algoritmos de aprendizaje por refuerzo definen modelos y funciones enfocadas en maximizar una medida de 'recompensas', basados en 'acciones' y al ambiente en el que el agente inteligente se desempeñará. Este algoritmo es el más apegado a la psicología conductista de los humanos, ya que es un modelo acción-recompensa, que busca que el algoritmo se ajuste a la mejor 'recompensa' dada por el ambiente, y sus acciones por tomar están sujetas a estas recompensas.
Sin duda recordarás la gesta de AlphaGo, el primer software que fue capaz de derrotar a un campeón humano del ancestral (y complejo) juego chino Go. Esta IA fue entrenada jugando miles de veces contra jugadores aficionados y profesionales de Go, hasta que adquirió una técnica prácticamente perfecta.
Una vez llegados a ese punto, sus creadores (DeepMind, compañía filial de Google) crearon una nueva generación del software, llamada AlphaGo Zero. ¿Su principal diferencia? Zero estudiaba Go jugando miles de veces contra sí mismo. Cuando Zero se enfrentó a su antecesor, que venía de vencer sin esfuerzo a campeones humanos, fue capaz de ganarle. Una y otra vez. Hasta 100 veces seguidas.
De clásicos Atari a las recreativas
La propia DeepMind fue adquirida por Google (por 500 millones de dólares) después del impacto que logró en 2013 un software que habían desarrollado capaz de aprender a jugar a 61 clásicos de Atari a un nivel sobrehumano. Y lo hacía analizando, únicamente, la información de la pantalla, píxel a píxel, tal y como lo haría un ser humano. De todos modos, quizá DeepMind haya roto récords a la hora de enseñar a una IA a jugar (y ganar), pero no ha inventado nada: Arthur Samuel ya logró enseñar a una máquina a jugar a las damas, aprender de sus errores y derrotar a humanos... en 1950.
Lo mejor es que todo lo que rodea a la inteligencia artificial es cada vez más accesible para cualquier aficionado a la programación. Sin ir más lejos, un paseo por GitHub nos puede llevar hasta MAME Toolkit, una biblioteca de Python capaz de aplicar el aprendizaje de refuerzo al entrenamiento de una IA para que aprenda a jugar casi cualquier juego de arcade que podamos ejecutar en el emulador MAME (de juegos de recreativas). La propia página web del proyecto nos explica cómo programar un breve algoritmo de entrenamiento en Street Fighter III.
Ver 9 comentarios