Ahora que ya conocemos las bases de los agentes de aprendizaje por refuerzo y los diferentes componentes, vamos a explorar el potencial de los agentes de aprendizaje por refuerzo en uno de los ejemplos clásicos de esta área, los juegos de Atari y en particular Pacman.

Para este ejercicio vamos a utilizar la implementación de Pacman de Berkeley para explorar algoritmos de aprendizaje, en nuestro caso particular utilizaremos los agentes de aprendizaje por refuerzo. Pueden descargar los archivos de este ejemplo (utilizando este enlace) y ejecutarlos localmente desde su máquina.

Para ejecutar el programa pueden ejecutar la terminal desde la carpeta donde se encuentren los archivos descomprimidos (e.g., Downloads/AI-Pacman-Projects-master/Reinforcement).

La ejecución del agente se realiza utilizando el comando:

python pacman.py -p PacmanQAgent -x 2000 -n 2010 -l smallGrid -a epsilon=0.1,alpha=0.3,gamma=0.7

Este comando se encarga de ejecutar el programa de Python pacman.py utilizando un agente de aprendizaje con refuerzo, donde los parámetros indican lo siguiente:

El resultado de la ejecución debería ser similar al descrito a continuación:

Training Done (turning off epsilon and alpha)

---------------------------------------------

Pacman emerges victorious! Score: 495

Pacman emerges victorious! Score: 503

Pacman emerges victorious! Score: 503

Pacman emerges victorious! Score: 503

Pacman emerges victorious! Score: 495

Pacman emerges victorious! Score: 503

Pacman emerges victorious! Score: 503

Pacman emerges victorious! Score: 503

Pacman emerges victorious! Score: 503

Pacman died! Score: -503

Average Score: 400.8

Scores: 495.0, 503.0, 503.0, 503.0, 495.0, 503.0, 503.0, 503.0, 503.0, -503.0

Win Rate: 9/10 (0.90)

Record: Win, Win, Win, Win, Win, Win, Win, Win, Win, Loss

Para este ejercicio debe correr el agente de pacman desde un ambiente local combinando diferentes parámetros (x, n, l, epsilon, alpha, gamma) para observar el comportamiento del agente. ¿Qué conclusiones puede sacar del comportamiento y los distintos resultados del agente?

Para completar este ejercicio envíe un reporte (en formato pdf) explicando el comportamiento del agente para cada combinación de parámetros utilizado, dando un análisis de los resultados observados.