CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

20
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia Antonio Fernández-Ares, Antonio M. Mora, Pablo García-Sánchez, Pedro A. Castillo, J.J. Merelo Universidad de Granada - CoSECiVi 2016 -

Transcript of CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Page 1: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Sólo puede quedar uno: Evolución de Bots

para RTS basada en supervivencia

Antonio Fernández-Ares, Antonio M. Mora, Pablo García-Sánchez, Pedro A. Castillo, J.J. Merelo

Universidad de Granada

- CoSECiVi 2016 -

Page 2: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Índice

1.Introducción a.RTSs b.Planet Wars c.Programación Genética d.Problema del cálculo

del Fitness

2.SurvivalBot a.Selección basada en

Justas b.Política de Reemplazo

3.Experimentos a.Configuración b.SurvivalBot vs GPBot c.Evolución del score d.Número de victorias e.Evolución de la edad f. Análisis de

incertidumbre g.SurvivalBot vs TODOS

4.Conclusiones 5. Trabajo Futuro

Page 3: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Introducción: RTSs

Real-Time Strategy games (RTS-games)

Recursos

Unidades

Edificaciones

Victoria Conseguir todos los recursos, eliminar todas las unidades del enemigo o destruir todas las edificaciones del rival

Page 4: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Introducción: Planet Wars

Edificaciones: Planetas

Unidades: Naves

Recursos: Naves generadas en cada planeta

Page 5: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Introducción: Programación Genética

Algoritmo Evolutivo que evoluciona árboles de decisión binarios ➔Nodos internos: Condiciones ➔Hojas: Acciones

Individuo -> modelo de comportamiento Evaluación -> jugar una combate contra un rival, obteniendo una puntuación Operadores adaptados ->

Page 6: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Problema del cálculo del Fitness

Page 7: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Selección basada en Justa (por supervivencia)

Page 8: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Política de reemplazo (perdedores)

Page 9: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Experimentos y Resultados

Parámetro Valor

Tamaño población 32

Initialización Aleatoria (árboles de tres niveles de profundidad)

Tipo de cruce Cruce de sub-árbol

Tasa de cruce 0,5

Máximo número de turnos por combate 1000

Mutación Mutación de un nodo

Tasa de mutación 0,25

Selección Justa (Torneo entre 2)

Reemplazo Estacionario

Criterio de parada 4000 iteraciones

Máxima profundidad de los árboles 7

Ejecuciones por configuración 30

Mapas utilizados en los combates uno aleatorio entre {76,69,7,11, 26}

Page 10: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

SurvivalBot vs GPBot

Page 11: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Evolución del Score

Page 12: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Número de Victorias

Page 13: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Evolución de la Edad (generaciones que sobrevive un individuo)

Page 14: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Análisis de Incertidumbre (ruido)

Factor de ruido:

Score máximo – Score mínimo:

30 mejores bots

10 mapas (5 entrenados)

30 combates por mapa

Page 15: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

SurvivalBot Vs TODOS

BotName Simulations in

training

BullyBot Ninguna*

SurvivalBot 8 000

Genebot 32 000

ExpGenebot 32 000

GPBot 8 000

HotFBot 180 000

Page 16: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Conclusiones (I)

Bots generalistas: • No especializados contra un

oponente concreto • No necesitan un rival para su

evaluación

Page 17: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Conclusiones (II)

Menor número de combates: • Reducción del tiempo de

computación

Page 18: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Conclusiones (III)

Menos sensible al ruido: • Si pierde un combate ➡ será

eliminado • Alta presión selectiva

Page 19: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Trabajo futuro

• Probar el método en nuevos problemas (y algoritmos).

• Aplicar mecanismos para mejorar el AE. • Considerar árboles de decisión mayores y

más complejos.

Page 20: CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia

Muchas gracias

¿Alguna pregunta?

Antonio Fernández-Ares [email protected] - @antaress

Pablo García-Sánchez [email protected] - @fergunet

Antonio M. Mora [email protected] - @amoragar