Table Of ContentResolució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: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 En el capítulo 7 en castellano y en el 8 en inglés. El algoritmo de Q-Learning (Watkins, 1989) intenta resolver el problema de cómo se debe.