20
There can be only one: Evolving RTS Bots via Joust Selection A. Fernández-Ares, P. García-Sánchez, A.M. Mora, P.A. Castillo, J.J. Merelo Universidad de Granada (Spain)

Evo 2016 - There can be only one

Embed Size (px)

Citation preview

Page 1: Evo  2016 - There can be only one

There can be only

one:Evolving RTS

Bots viaJoust

SelectionA. Fernández-Ares, P. García-Sánchez, A.M.

Mora, P.A. Castillo, J.J. Merelo

Universidad de Granada (Spain)

Page 2: Evo  2016 - There can be only one

Index1.Introduction

a.RTSb.Planet Warsc.Genetic

Programmingd.Fitness

Calculation Problem

2.SurvivalBota.Joust-based

selectionb.Replacement of

losers

3.Experimentsa.Experimental

Setupb.SurvivalBot vs

GPBotc.Evolution of

Average Scored.Number of

Victoriese.Evolution of Agef.Analysis of the

Score Uncertainty g.SurvivalBot vs

World4.Conclusions

5. Future Work

Page 3: Evo  2016 - There can be only one

Introduction: RTSReal-Time Strategy games (RTS-games)

Resources

Units

BuildingsVictory: Get all resources, kill all enemy’s units or destroy enemy’s buildings

Page 4: Evo  2016 - There can be only one

Introduction: Planet WarsBuildings:Planets

Units:Space ships

Resources:Ships generated in every planet

Page 5: Evo  2016 - There can be only one

Introduction: Genetic ProgrammingEvolutionary Algorithm that evolves binary decision trees➔Internal nodes: Conditions➔Leaves: Actions

Individual -> behavioural model (solution)Evaluation -> Playing a game against a rival and getting a scoreAdapted operators ->

Page 6: Evo  2016 - There can be only one

Fitness calculation problem

Page 7: Evo  2016 - There can be only one

Joust-based Selection

Page 8: Evo  2016 - There can be only one

Replacement of losers

Page 9: Evo  2016 - There can be only one

Experiments and ResultsParameter Name Value

Population size 32

Initialization Random (trees of 3 levels)

Crossover type Sub-tree crossover

Crossover rate 0.5

Maximum number of turns per battle 1000

Mutation 1-node mutation

Mutation step-size 0.25

Selection 2-tournament

Replacement Steady-state

Stop criterion 4000 iterations

Maximum Tree Depth 7

Runs per configuration 30

Maps used in each evaluation 1 random chosen among maps {76,69,7,11,26}

Page 10: Evo  2016 - There can be only one

SurvivalBot vs GPBot

Page 11: Evo  2016 - There can be only one

Evolution of Average Score

Page 12: Evo  2016 - There can be only one

Number of Victories

Page 13: Evo  2016 - There can be only one

Evolution of Age (generations)

Page 14: Evo  2016 - There can be only one

Analysis of the Score Uncertainty

Noise measurement:

maximun - minimum score:

30 best bots

10 maps (5 trained)

30 battles per map

Page 15: Evo  2016 - There can be only one

SurvivalBot Vs World

BotName Simulations in training

BullyBot None*

SurvivalBot 8 000

Genebot 32 000

ExpGenebot 32 000

GPBot 8 000

HotFBot 180 000

Page 16: Evo  2016 - There can be only one

Conclusions I

General-fighting bots:Non-specialized against specific

opponentDo not need a rival for evaluation

Page 17: Evo  2016 - There can be only one

Conclusions II

Reduce number of battles:Reduce computational time

Page 18: Evo  2016 - There can be only one

Conclusions III

Less affected by noise:Loss a match ➡ Remove from poolHigh selective pressure

Page 19: Evo  2016 - There can be only one

Future workNew problems (and algorithms) will be addressed.

Mechanisms to improve the EA.Use larger and complex decision trees.

Page 20: Evo  2016 - There can be only one

Questions?

Thank you!Antonio Ferná[email protected] - @antaress

Pablo García-Sá[email protected] - @fergunet

Antonio M. [email protected] - @amoragar