This document summarizes research on optimizing strategy parameters for a game bot. It describes a baseline GoogleBot strategy, an initial AresBot strategy using manually tuned parameters, and a GeneBot strategy that uses a genetic algorithm to evolve better parameters for AresBot. GeneBot was able to win more games and do so faster on average than the baseline strategies, showing that evolutionary computation can optimize bot parameters. Future work could explore parallelization, multi-objective optimization, and genetic programming to further improve the bot's strategies.
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Optimizing Strategy Parameters in a Game Bot
1. 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
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
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