Your SlideShare is downloading. ×
0
Antonio J Fernández Ares
Evolución, IA reactivas y RTS…20/07/2012     Evolución de IAs Reactivas en el Marco de los RTS   2
El proceso continuo de transformación de las especies…20/07/2012      Evolución de IAs Reactivas en el Marco de los RTS   3
Inteligencia artificial que sigue un modelo estímulo-   respuesta20/07/2012       Evolución de IAs Reactivas en el Marco d...
Real time strategy (games) o juegos de estrategia en   tiempo real20/07/2012      Evolución de IAs Reactivas en el Marco d...
Estudiar técnicas    evolutivas para diseñar IAs reactivas       para RTS20/07/2012   Evolución de IAs Reactivas en el Mar...
Necesitamos un entorno de pruebas20/07/2012    Evolución de IAs Reactivas en el Marco de los RTS   7
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   8
 Identificador  Propietario  Posición  Número de   naves  Ratio de   crecimiento20/07/2012   Evolución de IAs Reactiv...
 Identificador  Propietario  Número de naves  Planeta origen  Planeta destino  Duración del viaje  Turnos hasta   l...
 Turnos de 1 segundo:      Envía el estado del juego a los       jugadores      Recibe órdenes de ambos       jugadores...
>1s20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   12
Bot                             proporcionado por                             Google.                             Muy si...
Diseñando nuestro primer bot
Base                                                      Diezmo   • Planeta con mayor flota                              ...
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   16
𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠                                                      𝑟𝑟𝑟𝑟𝑟𝑟 =    Sacrificio      Beneficio                     ...
    El diezmo supone                                El ataque desde la      entregar cada 2 turnos                      ...
¡Porque evolucionar es posible!
 Representa la solución   a un problema como   un cromosoma   compuesto por genes.  Esta solución   constituye un   indi...
 Los individuos se   seleccionan para   “procrear” y perpetuar   su existencia en la   población.  La selección debe   f...
    Los individuos      procrean cruzando su      información genética      dando lugar a un nuevo      individuo.20/07/2...
    Es posible que el cruce      no salga bien,      produciendo una      mutación20/07/2012       Evolución de IAs React...
    Para conseguir cada      vez mejores      individuos, realizando      este cruce en varias      iteraciones o      ge...
Aresbot = {0,1}{ 0,5}{1}{1}{0,25}{0,5}{0,9} Consideramos a  AresBot como una caja  negra, que recibe unos  parámetros de ...
P_diezmo                       %_diezmo                                ωS     • Probabilidad de que          • Cantidad (e...
¿Cómo definimos que un bot es “mejor”?20/07/2012    Evolución de IAs Reactivas en el Marco de los RTS   27
 La función de fitness   nos sirve para definir   entre dos individuos   cual es mejor.  Para el fitness   definimos un ...
Las simulaciones nos resultan “caras”20/07/2012     Evolución de IAs Reactivas en el Marco de los RTS   29
    Realizar las simulaciones     resulta muy costoso en     tiempo:         40 (seg) x 5 x 200 x 100                   ≈...
¡Divide y vencerás!20/07/2012     Evolución de IAs Reactivas en el Marco de los RTS   31
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   32
¿Cómo sabemos que no ganamos por suerte?20/07/2012    Evolución de IAs Reactivas en el Marco de los RTS   33
 Nuestro bot es  estocástico. Nuestro fitness debe  evitar que se propaguen  constantemente  individuos con victorias  “...
G1         3005         2505         2005Turnos         1505         1005          505             5                 0 5 1...
G5         3005         2505         2005Turnos         1505         1005          505             5                 0 5 1...
¿Realmente indica que un bot es mejor que otro?20/07/2012     Evolución de IAs Reactivas en el Marco de los RTS   37
Si nuestro fitness es                                                                        bueno:                       ...
    Vamos a enfrentar a 40 bots entre ellos    Los agruparemos en función de fitness:       A            B              ...
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   40
¡Es el momento de evolucionar!20/07/2012     Evolución de IAs Reactivas en el Marco de los RTS   41
 Sabemos que nuestro GA es:      Eficiente.      Estable.      Consistente    ¡Es hora de evolucionar nuestros        ...
Generaciones                   100                    Individuos                 200         Probabilidad de cruce        ...
    Conseguimos 15 bots “mejores”20/07/2012    Evolución de IAs Reactivas en el Marco de los RTS   44
E15                                                                   525            E14                                  ...
100%                                                          98%             98%    99%     98%                          ...
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   47
Fijémonos en un detalle20/07/2012     Evolución de IAs Reactivas en el Marco de los RTS   48
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   49
    Todas sirven para cortar… ¿Cuál quiero?20/07/2012     Evolución de IAs Reactivas en el Marco de los RTS   50
El bot especialista y adaptativo a llegado20/07/2012      Evolución de IAs Reactivas en el Marco de los RTS   51
    Tenemos una herramienta (Genebot) que nos     permite optimizar con excelentes resultados     nuestro bot para un con...
Características     topológicas:     Distancia entre bases     Dispersión20/07/2012   Evolución de IAs Reactivas en el ...
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   54
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   55
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   56
DISTANCIA                                       DISPERSIÓN   Cercano                                         Periférico   ...
    Fitness: Conjuntos de mapas iguales     características.    Enemigo: Mejor Genebot disponible20/07/2012     Evolució...
%_ataqueColonias                                                                                                          ...
180                        165   160   140                                     129                                   130  ...
Absolutas             Porcentaje             Victorias            6227                  62,28%             Derrotas       ...
    Un GA es una excelente herramienta para     optimizar un bot.    Para que el GA sea útil debemos procurar que     la...
    El GA no solo nos puede servir para Optimizar     nuestro bot, sino para crear bots     especialistas y adaptativos....
EN VIDEOJUEGOS                                     FUERA DE VIDEOJUEGOS    En juegos RTS de iguales                      ...
    Algoritmo distribuido    Uso de GPUs para el cálculo matricial    Algoritmo co-evolutivo    Algoritmo multi-objeti...
Optimizing player behaviour in real time strategy game using evolutionary algorithms        • Aceptado en CEC año 2011    ...
Es la hora de las preguntas!20/07/2012      Evolución de IAs Reactivas en el Marco de los RTS   67
Un saludo20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   68
Upcoming SlideShare
Loading in...5
×

Evolución de IAs Reactivas en el Marco de los RTS

150

Published on

En este proyecto fin de carrera se aborda el diseño de un bot (o IA) para juegos RTS
haciendo uso de técnicas evolutivas, en concreto algoritmos genéticos. Como ntorno de pruebas para probar nuestras técnicas de diseño evolutivo, se utiliza un juego propuesto en el Google AI Challenge denominado Planet Wars. En primer lugar es presentado el concepto y normativa del juego desde el punto de vista de dicho campeonato. A continuación se muestra
un diseño inicial para el bot haciendo uso de una IA reactiva. Posteriormente dicha IA es optimizada haciendo uso de un algoritmo genético. Para dicho algoritmo génetico se realizan estudios con el fin de constatar que las decisiones tomadas son correctas y extrapolables a otros problemas de diseño similares. Así pues se presentan tanto estudios relacionados con el rendimiento del software, como estudios más centrados en el calidad y concepción fitness; fitness que es la pieza clave para determinar la calidad de nuestro diseño. Finalmente se
presenta un método de diseño especialista y adaptativo de la IA, haciendo uso para ello del mecanismo de optimización proporcionado por el algoritmo genético.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
150
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Evolución de IAs Reactivas en el Marco de los RTS"

  1. 1. Antonio J Fernández Ares
  2. 2. Evolución, IA reactivas y RTS…20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 2
  3. 3. El proceso continuo de transformación de las especies…20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 3
  4. 4. Inteligencia artificial que sigue un modelo estímulo- respuesta20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 4
  5. 5. Real time strategy (games) o juegos de estrategia en tiempo real20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 5
  6. 6. Estudiar técnicas evolutivas para diseñar IAs reactivas para RTS20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 6
  7. 7. Necesitamos un entorno de pruebas20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 7
  8. 8. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 8
  9. 9.  Identificador  Propietario  Posición  Número de naves  Ratio de crecimiento20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 9
  10. 10.  Identificador  Propietario  Número de naves  Planeta origen  Planeta destino  Duración del viaje  Turnos hasta llegar20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 10
  11. 11.  Turnos de 1 segundo:  Envía el estado del juego a los jugadores  Recibe órdenes de ambos jugadores  Actualiza el estado del juego  Comprueba condiciones de victoria20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 11
  12. 12. >1s20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 12
  13. 13. Bot proporcionado por Google. Muy simple pero eficaz en todo tipo de mapa20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 13
  14. 14. Diseñando nuestro primer bot
  15. 15. Base Diezmo • Planeta con mayor flota • Acción de una colonia Colonia de entregar una parte de sus naves a la base • Resto de planetas Ataque extra Objetivo • Atacar desde la colonia • Planeta que vamos a al planeta objetivo atacar20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 15
  16. 16. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 16
  17. 17. 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑟𝑟𝑟𝑟𝑟𝑟 = Sacrificio Beneficio 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 17
  18. 18.  El diezmo supone  El ataque desde la entregar cada 2 turnos colonias sucede el 90% el 10% de las flotas de de las veces, enviando la cada colonia la mitad de sus flotas alojadas A la BASE Al OBJETIVO20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 18
  19. 19. ¡Porque evolucionar es posible!
  20. 20.  Representa la solución a un problema como un cromosoma compuesto por genes.  Esta solución constituye un individuo.20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 20
  21. 21.  Los individuos se seleccionan para “procrear” y perpetuar su existencia en la población.  La selección debe favorecer a los mejores individuos Ya te Tu si que vales! llamaremos… Siguiente!20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 21
  22. 22.  Los individuos procrean cruzando su información genética dando lugar a un nuevo individuo.20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 22
  23. 23.  Es posible que el cruce no salga bien, produciendo una mutación20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 23
  24. 24.  Para conseguir cada vez mejores individuos, realizando este cruce en varias iteraciones o generaciones20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 24
  25. 25. Aresbot = {0,1}{ 0,5}{1}{1}{0,25}{0,5}{0,9} Consideramos a AresBot como una caja negra, que recibe unos parámetros de entrada 0,90000 o comportamiento. 0,10000 0,50000 Así podemos entender a AresBot como 0,50000 1,00000 Genebot con lo 0,25000 siguientes parámetros 1,00000 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 25
  26. 26. P_diezmo %_diezmo ωS • Probabilidad de que • Cantidad (en naves) • Peso del sacrificio en suceda el diezmo del diezmo la función de riesgo ωB Naves_extras P_ataqueColonias • Peso del beneficio en • Naves extras enviadas • Probabilidad de que la función de riesgo en cada flota una colonia ataque %_ataqueColonia • Tamaño (en naves) de la flota enviada20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 26
  27. 27. ¿Cómo definimos que un bot es “mejor”?20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 27
  28. 28.  La función de fitness nos sirve para definir entre dos individuos cual es mejor.  Para el fitness definimos un conjunto de mapa de pruebas y enfrentamos los individuos contra GoogleBot20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 28
  29. 29. Las simulaciones nos resultan “caras”20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 29
  30. 30.  Realizar las simulaciones resulta muy costoso en tiempo: 40 (seg) x 5 x 200 x 100 ≈ 46.29 días20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 30
  31. 31. ¡Divide y vencerás!20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 31
  32. 32. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 32
  33. 33. ¿Cómo sabemos que no ganamos por suerte?20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 33
  34. 34.  Nuestro bot es estocástico. Nuestro fitness debe evitar que se propaguen constantemente individuos con victorias “por azar”20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 34
  35. 35. G1 3005 2505 2005Turnos 1505 1005 505 5 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 Batallas Gana en 5 mapas Pierde en algún mapa Promedio20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 35
  36. 36. G5 3005 2505 2005Turnos 1505 1005 505 5 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 Batallas Gana en 5 mapas Pierde en algún mapa Promedio20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 36
  37. 37. ¿Realmente indica que un bot es mejor que otro?20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 37
  38. 38. Si nuestro fitness es bueno: “Es más probable que gane el individuo que el fitness indica que es 1º 100º mejor”20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 38
  39. 39.  Vamos a enfrentar a 40 bots entre ellos Los agruparemos en función de fitness: A B C D20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 39
  40. 40. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 40
  41. 41. ¡Es el momento de evolucionar!20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 41
  42. 42.  Sabemos que nuestro GA es:  Eficiente.  Estable.  Consistente ¡Es hora de evolucionar nuestros individuos!20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 42
  43. 43. Generaciones 100 Individuos 200 Probabilidad de cruce 0.6 Probabilidad de mutación 0.02 alpha 0.5 Política de reemplazamiento 2-torneo Elitismo 5 individuosNúmero de hebras evaluación 2 Número ejecuciones GA 1520/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 43
  44. 44.  Conseguimos 15 bots “mejores”20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 44
  45. 45. E15 525 E14 687 E13 470 E12 590 E11 528 E10 525 E09 857Ejecución E08 425 E07 540 E06 528 E05 656 E04 458 E03 531 E02 527 E01 559 0 100 200 300 400 500 600 700 800 900 E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 E11 E12 E13 E14 E15Fitness 559 527 531 458 656 528 540 425 857 525 528 590 470 687 525 Fitness (menos es mejor)20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 45
  46. 46. 100% 98% 98% 99% 98% 98% 90% 94% 90% 91% 90% 89% 87% 85% 84% 80% 82% 83% 70%Porcentaj de victoria 60% 50% 40% 30% 20% 10% 0% E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 E11 E12 E13 E14 E1520/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 46
  47. 47. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 47
  48. 48. Fijémonos en un detalle20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 48
  49. 49. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 49
  50. 50.  Todas sirven para cortar… ¿Cuál quiero?20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 50
  51. 51. El bot especialista y adaptativo a llegado20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 51
  52. 52.  Tenemos una herramienta (Genebot) que nos permite optimizar con excelentes resultados nuestro bot para un conjunto de mapas Si somos capaces de establecer topologías similares de mapas, podemos optimizar un bot para ese conjunto de mapas y usar su comportamiento siempre que nos encontramos en una situación parecida.20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 52
  53. 53. Características topológicas: Distancia entre bases Dispersión20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 53
  54. 54. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 54
  55. 55. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 55
  56. 56. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 56
  57. 57. DISTANCIA DISPERSIÓN Cercano Periférico • {-∞,16} • {-∞,-1} Medio Uniforme • {16,22} • {-1,1} Lejano Centrado • {22,∞} • {1,∞}20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 57
  58. 58.  Fitness: Conjuntos de mapas iguales características. Enemigo: Mejor Genebot disponible20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 58
  59. 59. %_ataqueColonias P_ataqueColonias naves_extras Dispersión %_diezmo P_diezmo Categoría Distancia wB wS [0,0] Cercana Periférica 0,187 0,028 0,734 0,570 0,239 0,661 0,507 [0,1] Cercana Uniforme 0,063 0,251 0,000 0,691 0,442 0,716 0,158 [0,2] Cercana Centrada 0,366 0,810 0,349 0,210 0,473 0,909 0,226 [1,0] Media Periférica 0,064 0,234 0,191 0,088 0,602 0,393 0,759ExGenebot [1,1] Media Uniforme 0,216 0,045 0,286 0,795 0,512 0,388 0,294 [1,2] Media Centrada 0,083 0,480 0,182 0,498 0,199 0,907 0,255 [2,0] Lejos Periférica 0,006 0,737 0,586 0,188 0,377 0,267 0,354 [2,1] Lejos Uniforme 0,148 0,161 0,249 0,223 0,240 0,279 0,847 [2,2] Lejos Centrada 0,947 0,023 0,170 0,356 0,588 0,963 0,741 Genebot 0,008 0,018 0,509 0,233 0,733 0,589 0,974 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 59
  60. 60. 180 165 160 140 129 130 120 112 102 100 83 79 80 59 60 48 40 20 0 Fitness (Experto)20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 60
  61. 61. Absolutas Porcentaje Victorias 6227 62,28% Derrotas 3771 37,72% TOTAL 999820/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 61
  62. 62.  Un GA es una excelente herramienta para optimizar un bot. Para que el GA sea útil debemos procurar que la selección favorezca a los mejores individuos. Esto se consigue con un fitness estable y coherente.20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 62
  63. 63.  El GA no solo nos puede servir para Optimizar nuestro bot, sino para crear bots especialistas y adaptativos. Para ello, solo hay que estudiar la topología del espectro del problema y aplicar la optimización de forma local a conjuntos de problemas similares.20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 63
  64. 64. EN VIDEOJUEGOS FUERA DE VIDEOJUEGOS En juegos RTS de iguales  Cualquier problema que se características. resuelva mediante una IA En juegos en los que los reactiva. enemigos se comporten  Cualquier problema con como IAs reactivas características similares (imposibilidad de memoria, limitaciones tiempo de procesamiento).20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 64
  65. 65.  Algoritmo distribuido Uso de GPUs para el cálculo matricial Algoritmo co-evolutivo Algoritmo multi-objetivo Nuevos componentes para el GA Aplicación de las técnicas en otros entornos20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 65
  66. 66. Optimizing player behaviour in real time strategy game using evolutionary algorithms • Aceptado en CEC año 2011 Optimizing Stategy Parameters in a Game bot • Aceptado en IWAN año 2011 Tratamiento del fitness ruidoso en la optimización evolutiva de bots para el juego Planet Wars • Aceptado en MAEB año 2012 Dealing with Noisy Fitness in the Desing of a RTS Game Bot • Aceptado en EVO* año 2012 y nominado a Best Paper en EvoGames Adaptative bots for real-time strategy games via map characterization • ¿Aceptado? en CIG año 2012 Effect of noisy fitness in RTS Player Behaviour Optimisation Using Evolutionary Algorithms • Trabajando para aceptación revista JCST año 2012 (0.656 índice de impacto)20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 66
  67. 67. Es la hora de las preguntas!20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 67
  68. 68. Un saludo20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 68
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×