SlideShare une entreprise Scribd logo
1  sur  68
Télécharger pour lire hors ligne
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-
   respuesta




20/07/2012       Evolución de IAs Reactivas en el Marco de los RTS   4
Real time strategy (games) o juegos de estrategia en
   tiempo real




20/07/2012      Evolución de IAs Reactivas en el Marco de los RTS   5
Estudiar técnicas
    evolutivas para
 diseñar IAs reactivas
       para RTS
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   6
Necesitamos un entorno de pruebas




20/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
   crecimiento
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   9
 Identificador
  Propietario
  Número de naves
  Planeta origen
  Planeta destino
  Duración del viaje
  Turnos hasta
   llegar
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   10
 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 victoria
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   11
>1s


20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   12
Bot
                             proporcionado por
                             Google.
                             Muy simple pero
                             eficaz en todo tipo
                             de mapa
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   13
Diseñando nuestro primer bot
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
     atacar

20/07/2012        Evolución de IAs Reactivas en el Marco de los RTS              15
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   16
𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠
                                                      𝑟𝑟𝑟𝑟𝑟𝑟 =
    Sacrificio      Beneficio

                                                               𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏




20/07/2012       Evolución de IAs Reactivas en el Marco de los RTS          17
    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 OBJETIVO




20/07/2012       Evolución de IAs Reactivas en el Marco de los RTS                 18
¡Porque evolucionar es posible!
 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
 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
    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
    Es posible que el cruce
      no salga bien,
      produciendo una
      mutación




20/07/2012       Evolución de IAs Reactivas en el Marco de los RTS   23
    Para conseguir cada
      vez mejores
      individuos, realizando
      este cruce en varias
      iteraciones o
      generaciones




20/07/2012       Evolución de IAs Reactivas en el Marco de los RTS   24
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
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 enviada


20/07/2012              Evolución de IAs Reactivas en el Marco de los RTS                              26
¿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 conjunto
   de mapa de pruebas y
   enfrentamos los
   individuos contra
   GoogleBot
20/07/2012    Evolución de IAs Reactivas en el Marco de los RTS   28
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
                   ≈
               46.29 días


20/07/2012        Evolución de IAs Reactivas en el Marco de los RTS   30
¡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
  “por azar”

20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   34
G1
         3005
         2505
         2005
Turnos




         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           Promedio

20/07/2012                 Evolución de IAs Reactivas en el Marco de los RTS              35
G5
         3005
         2505
         2005
Turnos




         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           Promedio

20/07/2012                 Evolución de IAs Reactivas en el Marco de los RTS              36
¿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:
                                                                  “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
    Vamos a enfrentar a 40 bots entre ellos
    Los agruparemos en función de fitness:




       A            B                             C                D
20/07/2012     Evolución de IAs Reactivas en el Marco de los RTS       39
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
               individuos!
20/07/2012    Evolución de IAs Reactivas en el Marco de los RTS   42
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 individuos
Número de hebras evaluación                    2
      Número ejecuciones GA                    15


20/07/2012      Evolución de IAs Reactivas en el Marco de los RTS   43
    Conseguimos 15 bots “mejores”




20/07/2012    Evolución de IAs Reactivas en el Marco de los RTS   44
E15                                                                   525
            E14                                                                                                  687
            E13                                                            470
            E12                                                                                590
            E11                                                                   528
            E10                                                                   525
            E09                                                                                                                          857
Ejecució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       E15
Fitness           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
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   E15


20/07/2012                                       Evolución de IAs Reactivas en el Marco de los RTS                                   46
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   47
Fijémonos en un detalle




20/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 llegado




20/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 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
Características
     topológicas:
     Distancia entre bases
     Dispersión
20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   53
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

   • {-∞,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
    Fitness: Conjuntos de mapas iguales
     características.
    Enemigo: Mejor Genebot disponible




20/07/2012     Evolución de IAs Reactivas en el Marco de los RTS   58
%_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,759
ExGenebot       [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
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
Absolutas             Porcentaje
             Victorias            6227                  62,28%
             Derrotas             3771                  37,72%
             TOTAL                9998




20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS       61
    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
    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
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
    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 entornos



20/07/2012     Evolución de IAs Reactivas en el Marco de los RTS   65
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
Es la hora de las preguntas!




20/07/2012      Evolución de IAs Reactivas en el Marco de los RTS   67
Un saludo


20/07/2012   Evolución de IAs Reactivas en el Marco de los RTS   68

Contenu connexe

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

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

  • 2. Evolución, IA reactivas y RTS… 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 2
  • 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. Inteligencia artificial que sigue un modelo estímulo- respuesta 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 4
  • 5. Real time strategy (games) o juegos de estrategia en tiempo real 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 5
  • 6. Estudiar técnicas evolutivas para diseñar IAs reactivas para RTS 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 6
  • 7. Necesitamos un entorno de pruebas 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 7
  • 8. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 8
  • 9.  Identificador  Propietario  Posición  Número de naves  Ratio de crecimiento 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 9
  • 10.  Identificador  Propietario  Número de naves  Planeta origen  Planeta destino  Duración del viaje  Turnos hasta llegar 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 10
  • 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 victoria 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 11
  • 12. >1s 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 12
  • 13. Bot proporcionado por Google. Muy simple pero eficaz en todo tipo de mapa 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 13
  • 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 atacar 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 15
  • 16. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 16
  • 17. 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑟𝑟𝑟𝑟𝑟𝑟 = Sacrificio Beneficio 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 17
  • 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 OBJETIVO 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 18
  • 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.  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. 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. Es posible que el cruce no salga bien, produciendo una mutación 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 23
  • 24. Para conseguir cada vez mejores individuos, realizando este cruce en varias iteraciones o generaciones 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 24
  • 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. 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 enviada 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 26
  • 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.  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 GoogleBot 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 28
  • 29. Las simulaciones nos resultan “caras” 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 29
  • 30. Realizar las simulaciones resulta muy costoso en tiempo: 40 (seg) x 5 x 200 x 100 ≈ 46.29 días 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 30
  • 31. ¡Divide y vencerás! 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 31
  • 32. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 32
  • 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.  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. G1 3005 2505 2005 Turnos 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 Promedio 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 35
  • 36. G5 3005 2505 2005 Turnos 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 Promedio 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 36
  • 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. 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. Vamos a enfrentar a 40 bots entre ellos  Los agruparemos en función de fitness: A B C D 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 39
  • 40. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 40
  • 41. ¡Es el momento de evolucionar! 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 41
  • 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. 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 individuos Número de hebras evaluación 2 Número ejecuciones GA 15 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 43
  • 44. Conseguimos 15 bots “mejores” 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 44
  • 45. E15 525 E14 687 E13 470 E12 590 E11 528 E10 525 E09 857 Ejecució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 E15 Fitness 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. 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 E15 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 46
  • 47. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 47
  • 48. Fijémonos en un detalle 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 48
  • 49. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 49
  • 50. Todas sirven para cortar… ¿Cuál quiero? 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 50
  • 51. El bot especialista y adaptativo a llegado 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 51
  • 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. Características topológicas: Distancia entre bases Dispersión 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 53
  • 54. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 54
  • 55. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 55
  • 56. 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 56
  • 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. Fitness: Conjuntos de mapas iguales características.  Enemigo: Mejor Genebot disponible 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 58
  • 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,759 ExGenebot [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. 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. Absolutas Porcentaje Victorias 6227 62,28% Derrotas 3771 37,72% TOTAL 9998 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 61
  • 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. 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. 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. 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 entornos 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 65
  • 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. Es la hora de las preguntas! 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 67
  • 68. Un saludo 20/07/2012 Evolución de IAs Reactivas en el Marco de los RTS 68