Optimizing Strategy Parameters in a Game Bot
-
Upload
pablo-garcia -
Category
Technology
-
view
1.045 -
download
3
description
Transcript of Optimizing Strategy Parameters in a Game Bot
Optimizing Strategy Parameters in a Game BotA. 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
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
Current status
BotActions
to perform
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
Resultstitheperc 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
TurnsTurnsTurnsVictories
Average and Std. Dev. Min MaxVictories
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