Optimizing Strategy Parameters in a Game Bot

14
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

description

Using a GA to optimize a hand-coded bot to play Planet Wars game.

Transcript of Optimizing Strategy Parameters in a Game Bot

Page 1: 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

Page 2: Optimizing Strategy Parameters in a Game Bot

Agenda

Introduction

Problem description

Baseline: GoogleBot

First Approach: AresBot

Second Approach: GeneBot

Conclusions

viernes 10 de junio de 2011

Page 3: Optimizing Strategy Parameters in a Game Bot

Introduction

Google AI Challenge

Planet Wars Game

viernes 10 de junio de 2011

Page 4: Optimizing Strategy Parameters in a Game Bot

viernes 10 de junio de 2011

Page 5: Optimizing Strategy Parameters in a Game Bot

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

Page 6: Optimizing Strategy Parameters in a Game Bot

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

Page 7: Optimizing Strategy Parameters in a Game Bot

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

Page 8: Optimizing Strategy Parameters in a Game Bot

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

Page 9: Optimizing Strategy Parameters in a Game Bot

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

Page 10: Optimizing Strategy Parameters in a Game Bot

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

Page 11: Optimizing Strategy Parameters in a Game Bot

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

Page 12: Optimizing Strategy Parameters in a Game Bot

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

Page 13: Optimizing Strategy Parameters in a Game Bot

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

Page 14: Optimizing Strategy Parameters in a Game Bot

Thanks! (and questions, I guess)

viernes 10 de junio de 2011