En febrero de este año, un programador llamado Daniel Shumway creó un sencillo software llamado WideEyes en el transcurso de un hackaton. Daniel creó ese software de inteligencia artificial con un único y curioso objetivo: evitar el aburrimiento. El resultado actual es Piglet, una inteligencia artificial capaz de aprender sin ayuda a jugar a títulos de Game Boy.

¿Cómo identifica un programa lo que es aburrirse y lo que no? La manera en la que Shumway ha definido esa variable es realmente ingeniosa. Piglet no reconoce lo que aparece en pantalla en los mismos términos en los que lo haría un ser humano. El software examina la memoria del emulador de GameBoy Advance Visual Boy Advance, y mide los bytes que han cambiado con cada fotograma del juego (a 30 fotogramas por segundo). Esta es la medida de "interés". Cuantos más bytes cambian en la memoria del emulador, más interesante es lo que sucede.

Advertisement

Si el fotograma sobrepasa cierta medida de interés, Piglet lo guarda e inicia un nuevo curso de acción para tratar de mejorar esa marca. Si no lo encuentra, vuelve atrás. Si localiza un nuevo curso de acción "interesante", lo guarda y sigue adelante. Las elecciones de Piglet se basan en una memoria de 200 fotogramas que fueron especialmente exitosos.

¿Cómo se traduce esto en términos de juego? Muy sencillo. Si al avanzar en, digamos, Super Mario, un enemigo mata al protagonista el juego evidentemente pierde interés porque termina, así que Piglet decide saltarlo y la recompensa de interés en forma de bytes en memoria sube. El curso de acción queda memorizado para saltar de la misma manera al siguiente enemigo.

Advertisement

El algoritmo que da vida a Piglet es, en realidad bastante sencillo. El propio Shumway explica, en un post de Gamasutra, que su comportamiento da más sensación de inteligencia de la que realmente tiene debido a que los videojuegos como Super Mario se basan en movimientos rápidos, pero muy repetitivos, que es la especialidad del software.

En juegos donde las decisiones son más complejas como Zelda, el comportamiento errático y de prueba-error de Piglet es mucho más aparente. Con todo, la creación de este joven programador es una pequeña genialidad en términos de inteligencia artificial. En este vídeo se puede apreciar el comportamiento de Piglet en diferentes juegos. [Daniel Shumway vía Gamasutra]

***

Psst! también puedes seguirnos en Twitter, Facebook o Google+ :)