Optimizing Strategy Parameters in a Game Bot
          A. Fernández-Ares, A.M. Mora, J.J. Merelo,
          P. García-Sánchez, and C.M. Fernandes
viernes 10 de junio de 2011
Agenda
                Introduction
                Problem description
                Baseline: GoogleBot
                First Approach: AresBot
                Second Approach: GeneBot
                Conclusions



viernes 10 de junio de 2011
Introduction
                Google AI Challenge
                Planet Wars Game




viernes 10 de junio de 2011
viernes 10 de junio de 2011
Problem description
                                                          Actions
                              Current
                                             Bot             to
                              status
                                                          perform

                Restrictions
                      RTS->Turn based game. A turn = 1 sec
                      No memory to store knowledge about the game
                      Current status: planets and fleets
                      Actions: a text file with actions to be read by the game
viernes 10 de junio de 2011
Baseline: GoogleBot
                Included in the framework to use as a comparator of
                quality
                How does it work:
                      Seeks the planet that hosts most ships (base)
                      Target planet calculated using the ratio of growth-rate and
                      number of ships
                      Waits until the fleet reachs the target



viernes 10 de junio de 2011
First Approach: AresBot
                In each turn:
                Select the base according a score function (the rest are
                colonies)
                Select a target planet to attack
                For each colony:
                      Reinforcement of base planet (tithe) or
                      Contribute to attacking


viernes 10 de junio de 2011
AresBot parameters
                titheperc and titheprob: percentage of starships the bot
                sends/probability it happens.
                ωNS−DIS and ωGR: weight of the number of starships,
                distance to target from base and planet growth rate (used
                in the score function of target planet)
                poolperc and supportperc: percentage ships that the bot
                sends from the base planet or colonies to the target planet.
                supportprob: probability of sending extra fleets from the
                colonies to the target planet


viernes 10 de junio de 2011
Operation GeneBot

                Using intergalactic techniques from planet Ares to
                evolve AresBot: a Genetic Algorithm!
                Gene: parameters array
                2-Tournament
                BLX-alpha crossover
                Ellitism



viernes 10 de junio de 2011
Fitness Function

                Each individual runs in five relevant maps
                Ranked fitness:
                      LT: Number of games a bot wins
                      if equal-> WT: number of turns to win




viernes 10 de junio de 2011
Experiments


                Population of 400 individuals
                40 sec to evaluate each one, so just one evaluation to
                enter in the competition (4 hours per generation)->(yes,
                parallelism in future...)




viernes 10 de junio de 2011
Results
                              titheperc   titheprob   ωNS−DIS   ωGR        poolperc     supportperc supportprob


      AresBot                  0,1         0,5            1           1        0,25         0,5        0,9

     GeneBot                  0,294 0,0389 0,316 0,844 0,727 0,822 0,579


                                                              Turns
                                                                                               Victories
                                    Average and Std. Dev. Min                         Max
         AresBot                             210 ± 130                    43      1001             99
        GeneBot                               159 ± 75                    22          458         100

viernes 10 de junio de 2011
Conclusions and
          Future Work
                GeneBot ended in 1454 position in the contest (36%).
                1000 positions better than AresBot
                More work to do:
                      Paralellism
                      Multi-objective approachs
                      Genetic Programming
                Stop when the bot acquire self-awareness, of course.


viernes 10 de junio de 2011
Thanks!
          (and questions, I guess)

viernes 10 de junio de 2011

Optimizing Strategy Parameters in a Game Bot

  • 1.
    Optimizing Strategy Parametersin a Game Bot A. Fernández-Ares, A.M. Mora, J.J. Merelo, P. García-Sánchez, and C.M. Fernandes viernes 10 de junio de 2011
  • 2.
    Agenda Introduction Problem description Baseline: GoogleBot First Approach: AresBot Second Approach: GeneBot Conclusions viernes 10 de junio de 2011
  • 3.
    Introduction Google AI Challenge Planet Wars Game viernes 10 de junio de 2011
  • 4.
    viernes 10 dejunio de 2011
  • 5.
    Problem description Actions Current Bot to status perform Restrictions RTS->Turn based game. A turn = 1 sec No memory to store knowledge about the game Current status: planets and fleets Actions: a text file with actions to be read by the game viernes 10 de junio de 2011
  • 6.
    Baseline: GoogleBot Included in the framework to use as a comparator of quality How does it work: Seeks the planet that hosts most ships (base) Target planet calculated using the ratio of growth-rate and number of ships Waits until the fleet reachs the target viernes 10 de junio de 2011
  • 7.
    First Approach: AresBot In each turn: Select the base according a score function (the rest are colonies) Select a target planet to attack For each colony: Reinforcement of base planet (tithe) or Contribute to attacking viernes 10 de junio de 2011
  • 8.
    AresBot parameters titheperc and titheprob: percentage of starships the bot sends/probability it happens. ωNS−DIS and ωGR: weight of the number of starships, distance to target from base and planet growth rate (used in the score function of target planet) poolperc and supportperc: percentage ships that the bot sends from the base planet or colonies to the target planet. supportprob: probability of sending extra fleets from the colonies to the target planet viernes 10 de junio de 2011
  • 9.
    Operation GeneBot Using intergalactic techniques from planet Ares to evolve AresBot: a Genetic Algorithm! Gene: parameters array 2-Tournament BLX-alpha crossover Ellitism viernes 10 de junio de 2011
  • 10.
    Fitness Function Each individual runs in five relevant maps Ranked fitness: LT: Number of games a bot wins if equal-> WT: number of turns to win viernes 10 de junio de 2011
  • 11.
    Experiments Population of 400 individuals 40 sec to evaluate each one, so just one evaluation to enter in the competition (4 hours per generation)->(yes, parallelism in future...) viernes 10 de junio de 2011
  • 12.
    Results titheperc titheprob ωNS−DIS ωGR poolperc supportperc supportprob AresBot 0,1 0,5 1 1 0,25 0,5 0,9 GeneBot 0,294 0,0389 0,316 0,844 0,727 0,822 0,579 Turns Victories Average and Std. Dev. Min Max AresBot 210 ± 130 43 1001 99 GeneBot 159 ± 75 22 458 100 viernes 10 de junio de 2011
  • 13.
    Conclusions and Future Work GeneBot ended in 1454 position in the contest (36%). 1000 positions better than AresBot More work to do: Paralellism Multi-objective approachs Genetic Programming Stop when the bot acquire self-awareness, of course. viernes 10 de junio de 2011
  • 14.
    Thanks! (and questions, I guess) viernes 10 de junio de 2011