Resolución de laberintos en StarCraft empleando aprendizaje por refuerzo Realizado por: Juan Deltell Mendicute Alberto Lorente Sánchez Jesús Martínez Dotor Trabajo de fin de grado del Grado en Ingeniería del Software Facultad de Informática Universidad Complutense de Madrid Curso 2014/2015 Director: Antonio Sánchez Ruiz-Granados Departamento de Ingeniería de Software e Inteligencia Artificial Este documento está preparado para ser imprimido a doble cara. Autorización de difusión y utilización Se autoriza a la Universidad Complutense de Madrid a difundir y utilizar con fines académicos, no comerciales y mencionando expresamente a sus autores, tanto la memoria como el código, la documentación y/o el prototipo desarrollado. Juan Deltell Mendicute Alberto Lorente Sánchez Jesús Martínez Dotor Madrid, 19 de junio de 2015 Toda la documentación y material no compilable se publican bajo una licencia CC BY-SA: Creative Commons, Attribution-ShareAlike 4.0 International [1]. El código desarrollado se encuentra en el siguiente repositorio público de GitHub [2]: https://github.com/TFG-RL-StarCraft/TFGStarCraft Dicho código se publica bajo una licencia libre GPLv3: GNU General Public License versión 3 [3]. StarCraft® es una marca comercial o una marca registrada de Blizzard Entertainment, Inc., en EE. UU. y/o en otros países. Las marcas, iconos e imágenes empleados en esta memoria son propiedad de sus respectivos propietarios, y se utilizan únicamente con fines académicos. A nuestras familias y novias, por aguantarnos. Índice Índice de figuras ..................................................................................................... XI Resumen ................................................................................................................ XIII Abstract .................................................................................................................. XV Capítulo 1. Introducción ........................................................................................... 1 1.1 Motivación ................................................................................................................... 1 1.2 Objetivos ..................................................................................................................... 2 1.3 Estructura del documento............................................................................................ 3 1.4 Organización del grupo de trabajo .............................................................................. 4 Capítulo 2. Introduction............................................................................................ 5 2.1 Motivation .................................................................................................................... 5 2.2 Objectives ................................................................................................................... 6 2.3 Document Structure .................................................................................................... 7 2.4 Working Group Organization ....................................................................................... 8 Capítulo 3. Aprendizaje por refuerzo y StarCraft ................................................... 9 3.1 Aprendizaje automático ............................................................................................... 9 3.1.1 Aprendizaje supervisado ............................................................................................ 9 3.1.2 Aprendizaje no supervisado ......................................................................................10 3.2 Aprendizaje por refuerzo ........................................................................................... 10 3.3 Q-Learning ................................................................................................................ 12 3.3.1 La función Q ..............................................................................................................13 3.3.2 Parámetros Alpha y Gamma .....................................................................................14 3.3.3 Funcionamiento del algoritmo Q-Learning .................................................................16 3.3.4 Selección de acciones y exploración .........................................................................17 3.4 StarCraft ................................................................................................................... 18 3.4.1 BWAPI ......................................................................................................................21 3.4.2 Competiciones ..........................................................................................................22 VII Capítulo 4. Arquitectura, Teseo Q-Learning Framework, y herramientas adicionales .............................................................................................................. 25 4.1 Arquitectura del sistema ............................................................................................ 25 4.2 Teseo Q-Learning Framework ................................................................................... 26 4.2.1 Diseño y arquitectura ................................................................................................27 4.2.2 Ejemplo de instanciación ...........................................................................................35 4.3 Herramientas de diseño de los experimentos y análisis de datos ............................. 38 Capítulo 5. Resolución de laberintos lógicos ...................................................... 41 5.1 Mapas ....................................................................................................................... 41 5.1.1 Mapa fácil..................................................................................................................42 5.1.2 Mapa medio ..............................................................................................................43 5.1.3 Mapa difícil ................................................................................................................44 5.2 Experimentos con Alpha y Gamma ....................................................................... 45 5.2.1 Mapa fácil..................................................................................................................46 5.2.2 Mapa medio ..............................................................................................................50 5.2.3 Mapa difícil ................................................................................................................54 5.2.4 Conclusiones ............................................................................................................56 5.3 Experimentos con estrategias de recompensa .................................................... 57 5.3.1 Mapa fácil..................................................................................................................60 5.3.2 Mapa medio ..............................................................................................................62 5.3.3 Mapa difícil ................................................................................................................64 5.3.4 Conclusiones ............................................................................................................66 Capítulo 6. Resolución de laberintos en StarCraft .............................................. 71 6.1 Cambiando el dominio ............................................................................................... 71 6.1.1 Posición y movimiento de unidades ..........................................................................72 6.1.2 Diseño de los mapas .................................................................................................74 6.2 Experimentación........................................................................................................ 75 6.2.1 Gráficas y Resultados ...............................................................................................76 6.3 Conclusiones ............................................................................................................. 79 VIII Capítulo 7. Conclusiones y trabajo futuro ............................................................ 83 7.1 Conclusiones ............................................................................................................. 83 7.2 Trabajo futuro ............................................................................................................ 85 Capítulo 8. Conclusions and future work ............................................................. 89 8.1 Conclusions ............................................................................................................... 89 8.2 Future work. .............................................................................................................. 91 Capítulo 9. Aportaciones individuales al proyecto. ............................................. 95 9.1 Juan Deltell Mendicute .............................................................................................. 95 9.2 Alberto Lorente Sánchez ........................................................................................... 97 9.3 Jesús Martínez Dotor ................................................................................................ 99 Bibliografía y referencias ..................................................................................... 103 Anexo ..................................................................................................................... 107 Especificaciones de los sistemas y componentes usados ............................................ 107 IX
Description: