Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Genebot maeb

1,653 views

Published on

  • Be the first to comment

  • Be the first to like this

Genebot maeb

  1. 1. Optimización evolutiva de bots para el juego Planet Wars A. Fernández-Ares, A.M. Mora, J.J. Merelo, P. García-Sánchez, y C.M. Fernandesviernes 10 de febrero de 2012
  2. 2. Índice Introducción Descripción del problema Baseline: GoogleBot Primera aproximación: AresBot Segunda aproximación: GeneBot Conclusionesviernes 10 de febrero de 2012
  3. 3. Introducción Google AI Challenge Planet Warsviernes 10 de febrero de 2012
  4. 4. viernes 10 de febrero de 2012
  5. 5. Descripción del problema Estado Acciones Bot actual a realizar Restricciones RTS->Juego basado en turnos. 1 turno = 1 sec No se puede usar memoria para guardar estado del juego Estado actual: planetas y flotas Acciones: un archivo de texto con acciones leído por el juegoviernes 10 de febrero de 2012
  6. 6. Baseline: GoogleBot Incluido en el kit como base de comparación Cómo funciona: Busca el planeta que contiene más naves (base) El planeta objetivo se calcula usando la relación entre la tasa de crecimiento y el número de naves Espera hasta que la flota llegue al planetaviernes 10 de febrero de 2012
  7. 7. Primera versión: AresBot En cada turno: Selecciona la base de acuerdo a una puntuación (el resto se denominan colonias) Seleccionar un planeta objetivo a atacar Por cada colonia: Reforzar la base (tithe) ó Ayudar al ataqueviernes 10 de febrero de 2012
  8. 8. Parámetros de AresBot titheperc y titheprob: porcentaje de naves que el bot envía a la base/probabilidad de que ocurra. ωNS−DIS y ωGR: pesos del número de naves y distancia y tasa de crecimiento (usada en la función de puntuación para planeta objetivo) poolperc y supportperc: porcentaje de naves que el bot envía desde la base o colonias al planeta objetivo. supportprob: probabilidad de enviar naves extra desde las colonias al planeta objetivoviernes 10 de febrero de 2012
  9. 9. Operation GeneBot Usando técnicas intergalácticas (un GA) se mejora a AresBot para crear al poderoso GeneBot. Gen: array de parámetros 2-Tournament BLX-alpha crossover Re-evaluaciónviernes 10 de febrero de 2012
  10. 10. Función Fitness Cada individuo se enfrenta a GoogleBot en 5 mapas distintos Un individuo es mejor que otro si: Gana en más mapas Necesita menos turnos, en caso de empateviernes 10 de febrero de 2012
  11. 11. Experimentos Población de 200 individuos, 100 generaciones 40 segundos para evaluar cada uno, por lo que cada ejecución dura dos días. ->(sí, paralelismo en el futuro...) Se obtuvieron 15 bots distintosviernes 10 de febrero de 2012
  12. 12. Resultados titheperc titheprob ωNS−DIS ωGR poolperc supportperc supportprob AresBot 0,1 0,5 1 1 0,25 0,5 0,9 GeneBot 0,0179 0,00823 0,50954 0,23273 0,73321 0,58946 0,97405 Media 0,17386 0,09702 0,47252 0,36409 0,65732 0,59987 0,59987viernes 10 de febrero de 2012
  13. 13. viernes 10 de febrero de 2012
  14. 14. viernes 10 de febrero de 2012
  15. 15. viernes 10 de febrero de 2012
  16. 16. viernes 10 de febrero de 2012
  17. 17. viernes 10 de febrero de 2012
  18. 18. Conclusiones y Trabajo futuro El primer GeneBot terminó en la posición 1454 en la competición (36%), pero sólo se ejecutó una vez para conseguirlo. 1000 posiciones mejor que AresBot El fitness define bien al individuo Más cosas que hacer: Paralelismo (obviamente) Multi-objetivo Co-evolución Programación genética Parar cuando el bot tenga conciencia propia, claro.viernes 10 de febrero de 2012
  19. 19. ¡Gracias! (y preguntas, me temo)viernes 10 de febrero de 2012

×