Hola amig@ del saber,
Era cuestión de tiempo, ya hace 23 años que el Deep Blue de IBM ganó a Kasparov, y ahora unos técnicos australianos mediante Inteligencia Artificial (IA) y “Machine Learning” (la capacidad de aprender de una máquina que repite acciones prueba/error) han conseguido programar un sistema qué en 4 días de aprendizaje con una máquina de pinball, puede vencer a un rival humano
Esto ha sido comunicado esta semana en una reciente conferencia de desarrolladores de Microsoft que por circunstancias del COVID19 se ha tenido que celebrar de manera remota. Jack Skinner explica como él y un grupo de desarrolladores han programado una IA que se convierte en 4 días en un “pinball wizard”
Para llevarlo a cabo el equipo de Jack se hizo con un pinball “moderno”, más concretamente con un Star Wars de Data East de 1992, pero se podría usar con otros más recientes de Stern, Jersey Jack, Chicago Coin, Spooky, American… con los debidos ajustes. El sistema consta de un PC con Windows 10 que alberga los programas de IA y Machine Learning. Usa dos cámaras (una enfocando al DMD – Panel de Puntuación y otra al tablero de juego) y una Raspberry Pi que se encarga de activar los botones de START y lanzamiento, y sobre todo de los Flippers, la clave del juego
Sin nada previo en que basarse, el sistema ha tenido que aprender a jugar al pinball desde cero, al principio usaba los flippers de manera aleatoria y sin sentido para descubrir cómo funcionaba el juego. El equipo tuvo que reforzar el mecanismo de aprendizaje tratando a la IA como a un cachorro de mascota al que le has de enseñar lo más básico, para luego dotarle de mecanismos que le hiciesen ver indicadores positivos y negativos, diferenciar una buena puntuación de una mala, y maniobras que acaban haciendo que la bola se cuele, priorizando obviamente los positivos
Hay que añadir que a priori y por lo que se ve en las imágenes, este sistema carece de “force-feedback”, es decir no “atiza” a la máquina ningún empujón o movimiento, sólo usa los flippers y perfecciona tiros, por lo que si cabe tiene hasta algo más de mérito, quien sabe si nos podría enseñar trucos a los jugadores “humanos”
La idea es que la IA pueda ser capaz de desarrollar patrones que desencadenan buenas puntuaciones y los use preponderantemente, al final, en nuestro argot de jugadores de pinball, se le fuerza a aprender técnicas y tiros que consigan el máximo número de jackpots y súper jackpots, amén de bolas extra o de otro tipo de resultados positivos.
Cuenta Skinner que el primer día los resultados eran patéticos, las partidas bastante malas, pero en el segundo día ya comenzaba a haber buenas puntuaciones en alguna partida, que se incrementaron el tercero y ya más a menudo en el cuarto (todos sabemos que la regularidad es la norma en los buenos jugadores). Pues independientemente de la perfección que pueda tener el sistema, nunca el 100% de las partidas serán buenas, el efecto azar sigue existiendo, más si cabe si no se puede “menear” la máquina
Los desarrolladores tuvieron dos momentos que les emocionaron mucho, el primero fue cuando el segundo día la IA ya jugaba como una persona, la sensación era como si «el hombre invisible» estuviese echando unas partidas y el segundo fue cuando la IA “puso récord” batiendo los “factory” con una puntuación de 176MM
Pero el camino no estuvo exento de dificultades, cuando hablamos de días, hablamos de un pinball que no para de jugar una partida tras otra, noche y día. Aunque este Star Wars de Data estaba en buenas condiciones, una de las noches, sobre las 2AM estando “solo” se estropeó un Flipper, y la AI empezó a acumular datos malos (jugando con el Flipper roto), lo que les obligó a editar y borrar esa experiencia para que no se alterase el aprendizaje
Los que jugamos a esto, sabemos que si elegimos otra Star Wars (nosotros tenemos una), aunque la mecánica sea la misma, no hay dos máquinas que se puedan jugar igual, esto nos pasa en los torneos, no siempre vale la pena elegir un pinball que tengas, pues aún siendo el mismo modelo el juego va a cambiar, no me refiero a las reglas, pero si a los tiros y al comportamiento de la bola, por lo que si le ponemos a la AI otro Star Wars es seguro que el resultado no será el mismo, pero bueno, será curioso ver como juega. Hasta la fecha no hay vídeos que se pueda ver a la AI jugando y haciendo HI Scores buenos (pero los habrá en breve e intentaremos ponerlos aquí), pero si queréis ver la presentación que hicieron para la conferencia de Microsoft en inglés la podéis ver –> AQUÍ <–
¿Os imagináis que en el próximo torneo de pinball nos tocase jugar contra un adversario robótico?
Saludos Pinbaleros,
Elu Tortosa – Mirloblan
Interesante artículo y las cuestiones que plantea. Personalmente, dudo que en un corto-medio plazo una IA pueda batir a un jugador TOP. Cada pinball tiene su propia física, sus propios reglajes, su propio historial de uso lo que lo hace imprevisible y difícil de parametrizar. Cada partida es diferente. Sería como sentar a un robot con la mejor IA a los mandos de una motoGP o un F1, aun conociendo circuitos, velocidades de paso por curva, tramos… las condiciones cambiantes harían bajar el rendimiento. ¿Hasta cuándo? El tiempo lo dirá. Saludos.
Gracias José María, es tal cual comentas. Pero si se usa el mismo pinball (no me refiero a mismo modelo, porque aún siendo mismo modelo, se juegan diferente), la máquina puede aprender a dominarlo, pero estoy contigo que dudo mucho que pueda ganar a un jugador TOP… Por ahora!!