Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness...

15
Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers

Transcript of Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness...

Page 1: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Coevolution of Human-Competitive Robocode Tanks Using Genetic

Programming with Exogenous Fitness

Jason Owens & Ron Bowers

Page 2: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Why?

• Interesting

• GP and coevolution are particularly intriguing aspects of EC.

• We are using EC to generate an entertaining product.

• Challenging

• GP and coevolution are difficult to use.

• To date, no one has succeeded with coevolution in Robocode.

• Relevant

• Our employer is developing adaptive, agent-based combat simulations.

• We aren't working on them.

Page 3: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Coevolution

• Angeline and Pollock [1993] argue that competitive fitness functions are more effective than independent fitness functions.

• A competitive fitness function is dependent on the current state of the population, rather than relative to a global optimum.

• Generally, competitive fitness is measured through competition betweenpopulation members.

• These competitions can range from testing each member against each other to a carefully structured tournament

• Floreano, Nolfi and Mondada [1999] found that competitive coevolution can generate efficient chasing and escaping strategies in a predator/prey environment.

• This capability evolved even more quickly than "simple" wall avoidance

• They postulate that competitive coevolution generates solutions to difficult problems by generating a series of challenges of increasing difficulty.

• Uchibe and Asasa [2006] were able to use coevolution to evolve both competitive and cooperative behaviors in soccer playing bots.

Page 4: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Difficulties with Coevolution

• Mediocre Stable State

• Ficici and Pollack [1998] note additional difficulties.

• Maintaining balance in the arms race.

• The environment should neither be too easy nor too difficult:

• Open-ended coevolution is not necessarily synonymous with a purely competitive framework. Instead, it's necessary to provide a mixture of competitive and cooperative pressures in order to avoid the mediocre stable state.

Page 5: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Previous Work with Robocode

• Eisenstein [2003]

• Used a GA to evolve a subsumption architecture.

• Was successful in developing bots that could fight a specific adversary given a specific starting condition

• Attempted to use coevolution but “after several generations I found the populations rife with catatonics”

• Hong and Cho [2004]

• Used a GA that consisted of 6 chromosomes, representing the bot behavior in the main loop and in 5 of the event handlers.

• Each chromosome consisted of six genes, corresponding to actions such as move or shoot.

• Each action could be one of 2 or more hand-coded implementations.

• Were successful in consistently defeating 3 of the standard bots.

Page 6: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Previous Work With Robocode

• Shichel, Ziserman, and Sipper [2005]

• Used Koza-style GP

• Limited investigation to Haiku Bot (4 lines of code)

• Evolved bots were entered into a Haiku Bot tournament where they placed third out of 27.

• Also attempted coevolution, but could not produce competitive bots.

Page 7: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Hypothesis

• We hypothesize that by using genetic programming and coevolution with an exogenous fitness function we can evolve Robocode agents that can compete successfully against human-coded bots.

• But...

Page 8: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Initial Results

• We did not entirely succeed.

• We did not produce any competitive agents in time to report in the paper.

• We have continued our efforts!

Page 9: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Algorithm Configuration

• Strongly-typed tree-based GP

• Linear-rank selection using stochastic universal sampling

• 80% crossover, 20% mutation (whoa!)

• Elitism (one individual)

• Initial tree depth of 5

Page 10: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Fitness Functions

• simple (shoot and dodge)

• movement, enemy sensing, wall avoidance

• re-proportioned movement value

• final, emphasis on damage with firing/scanning efficiencies

Page 11: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Analysis of Initial Results

• Unearned dodging credit

• overblown scan credit

• Generally a rapid rise, then decay.

• Trees appear non-robust (brittle).

• Behavior arises from the coupling of trees and state. Different event histories lead to different states and thus radically different behavior.

Page 12: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Mistakes and Deficiencies

• Using a Single Population

• Using instantaneous fitness.

• Not monitoring the progress to determine if the population had started to degress.

• Threading issues (Heisenbugs) in Robocode.

Page 13: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Updated Results

Page 14: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Open Questions

•Can coevolution in general succeed in multi-dimensional one-population competitive environments without outside influence?

•Does this environment need the insertion of external human-coded bots to drive fitness adjustments?

•How do we modify the fitness function to improve behavior?

Page 15: Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.

Future Work

• Continue experimenting with the exogenous fitness function, the node set, population size, and the reproduction parameters in an attempt to succeed with the coevolutionary approach.

• Incorporate the results from the progress measurement rounds into the selection process.

• Replace the single population model with a dual population model and investigate the efficacy of the evaluation approaches specified in De Jong [2004] and Bader-Natal [2005]

• Modify the driver program to limit the size of the trees.