Resumen:
|
Este proyecto consiste en la creación de una plataforma, denominada RL-GGP (Reinforcement Learning General Game Playing), que permita usar y evaluar algoritmos de aprendizaje por refuerzo en diferentes tipos de juegos por ...[+]
Este proyecto consiste en la creación de una plataforma, denominada RL-GGP (Reinforcement Learning General Game Playing), que permita usar y evaluar algoritmos de aprendizaje por refuerzo en diferentes tipos de juegos por turnos (tres en raya, damas, ajedrez, etc.) de una forma sencilla y genérica para todos los algoritmos. Con genérica se entiende que lo que se pretende es que tanto los algoritmos como los propios juegos sigan un estándar perfectamente definido y por supuesto que la propia aplicación los acepte y los haga jugar.
Los juegos por turnos descritos en un estándar de descripción de juegos, denominado GDL (Game Description Language). Los algoritmos utilizados se han adaptado de la librería de van Hasselt y se han integrado en RL-Glue, una plataforma estándar de algoritmos de aprendizaje por refuerzo. Los algoritmos de aprendizaje por refuerzo son algoritmos generalistas que no están diseñados a juegos por turnos, pero pueden "aprender" a jugar con una buena elección de recompensas y muchas partidas. En concreto, los algoritmos de aprendizaje por refuerzo van adquiriendo experiencia en cada partida, lo que les permite ir aprendiendo las reglas del juego, las cuales desconocen en un principio, y por supuesto aprenden como ganar dicho juego.
Un intérprete de GDL informa a los jugadores de las acciones de las que disponen y cuando están quebrantando las reglas, y según su acción se determina la recompensa que recibirá cada jugador en cada movimiento. Para ello se ha utilizado una aplicación cliente servidor que permite que varios jugadores se conecten al servidor usando un determinado protocolo, los cuales son informados de los diferentes estados a los que transita el juego, en base a la descripción GDL que se le haya proporcionado a dicha aplicación. Dichos jugadores en el caso de esta implementación son creados mediante la herramienta de jugadores de juego genéricos Jocular.
Se han realizado experimentos con dos juegos diferentes y varios algoritmos mostrando así el potencial de la herramienta.
Por último, dado que los juegos se representan en el lenguaje estándar GDL y los algoritmos de aprendizaje por refuerzo se han implementado mediante el interfaz RL-Glue. Con este interfaz se puede implementar de forma simple cualquier tipo de algoritmo de aprendizaje por refuerzo.
[-]
|