Sólo puede
quedar uno:
Evolución de Bots
para RTS basada en
supervivencia
Antonio Fernández-Ares, Antonio M. Mora,
Pablo G...
Índice
1.Introducción
a.RTSs
b.Planet Wars
c.Programación Genética
d.Problema del cálculo
del Fitness
2.SurvivalBot
a.Sele...
Introducción: RTSs
Real-Time Strategy games (RTS-games)
Recursos
Unidades
Edificaciones
Victoria Conseguir todos los recu...
Introducción: Planet Wars
Edificaciones:
Planetas
Unidades:
Naves
Recursos:
Naves generadas
en cada planeta
Introducción: Programación Genética
Algoritmo Evolutivo que evoluciona árboles de
decisión binarios
➔Nodos internos: Condi...
Problema del cálculo del Fitness
Selección basada en Justa (por supervivencia)
Política de reemplazo (perdedores)
Experimentos y Resultados
Parámetro Valor
Tamaño población 32
Initialización Aleatoria (árboles de tres niveles de profund...
SurvivalBot vs GPBot
Evolución del Score
Número de Victorias
Evolución de la Edad (generaciones que sobrevive un individuo)
Análisis de Incertidumbre (ruido)
Factor de ruido:
Score máximo – Score mínimo:
30 mejores bots
10 mapas (5 entrenados)
30...
SurvivalBot Vs TODOS
BotName Simulations in
training
BullyBot Ninguna*
SurvivalBot 8 000
Genebot 32 000
ExpGenebot 32 000
...
Conclusiones (I)
Bots generalistas:
• No especializados contra un
oponente concreto
• No necesitan un rival para su
evalua...
Conclusiones (II)
Menor número de combates:
• Reducción del tiempo de
computación
Conclusiones (III)
Menos sensible al ruido:
• Si pierde un combate ➡ será
eliminado
• Alta presión selectiva
Trabajo futuro
• Probar el método en nuevos problemas (y
algoritmos).
• Aplicar mecanismos para mejorar el AE.
• Considera...
Muchas gracias
¿Alguna
pregunta?
Antonio Fernández-Ares
antares@ugr.es - @antaress
Pablo García-Sánchez
pablogarcia@ugr.es...
Próxima SlideShare
Cargando en…5
×

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

13 visualizaciones

Publicado el

RESUMEN:
Este artículo propone un algoritmo evolutivo para optimizar el comportamiento de bots (NPCs) que no requiere de una función de fitness explícita,
usando en su lugar combates por pares (a modo de "justa") en los que sólo uno
de los contendientes sobrevivirá. Este proceso hará las veces de mecanismo de
selección del algoritmo, en el que sólo los ganadores pasarán a la siguiente generación del mismo. Se ha utilizado un algoritmo de Programación Genética,
diseñado para generar motores de comportamiento para bots del conocido RTS
Planet Wars. Este método tiene dos objetivos principales: en primer lugar, paliar
el efecto que la naturaleza "ruidosa" de la función de fitness añade a la evaluación
y, en segundo lugar, generar bots más generales (menos especializados) que los
que se obtienen mediante algoritmos evolutivos en los que se usa siempre un contendiente común para evaluar los individuos. Más aún, la omisión de un proceso
de evaluación explícito reduce el número de combates necesarios para evolucionar, lo que reduce a su vez el tiempo de cómputo del algoritmo. Los resultados
demuestran que el método converge y que es menos sensible al ruido que otros
métodos más tradicionales. Además de esto, con este algoritmo se obtienen bots
muy competitivos en comparación con otros bots de la literatura.

Publicado en: Tecnología
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
13
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
0
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

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

  1. 1. 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 -
  2. 2. Í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
  3. 3. 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
  4. 4. Introducción: Planet Wars Edificaciones: Planetas Unidades: Naves Recursos: Naves generadas en cada planeta
  5. 5. 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 ->
  6. 6. Problema del cálculo del Fitness
  7. 7. Selección basada en Justa (por supervivencia)
  8. 8. Política de reemplazo (perdedores)
  9. 9. 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}
  10. 10. SurvivalBot vs GPBot
  11. 11. Evolución del Score
  12. 12. Número de Victorias
  13. 13. Evolución de la Edad (generaciones que sobrevive un individuo)
  14. 14. 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
  15. 15. SurvivalBot Vs TODOS BotName Simulations in training BullyBot Ninguna* SurvivalBot 8 000 Genebot 32 000 ExpGenebot 32 000 GPBot 8 000 HotFBot 180 000
  16. 16. Conclusiones (I) Bots generalistas: • No especializados contra un oponente concreto • No necesitan un rival para su evaluación
  17. 17. Conclusiones (II) Menor número de combates: • Reducción del tiempo de computación
  18. 18. Conclusiones (III) Menos sensible al ruido: • Si pierde un combate ➡ será eliminado • Alta presión selectiva
  19. 19. 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.
  20. 20. Muchas gracias ¿Alguna pregunta? Antonio Fernández-Ares antares@ugr.es - @antaress Pablo García-Sánchez pablogarcia@ugr.es - @fergunet Antonio M. Mora amorag@ugr.es - @amoragar

×