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

Slides:



Advertisements
Similar presentations
Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.
Advertisements

Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.
Genetic Algorithms Genetic Programming Ata Kaban School of Computer Science University of Birmingham 2003.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Evolving Cooperative Strategies in Multi-Agent Systems Using a Coevolutionary Algorithm Cesario C. Julaton III, Ramanathan S. Thinniyam, Una-May O’Reilly.
1 November 2005 Stefano Nolfi* Dario Floreano~ *Institute of Psychology, National Research Council Viale Marx 15, Roma, Italy ~LAMI - Laboratory of Microcomputing.
GP Applications Two main areas of research Testing genetic programming in areas other techniques have been applied to. Applying genetic programming to.
EC – Tutorial / Case study Iterated Prisoner's Dilemma Ata Kaban University of Birmingham.
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
Evolving Driving Controllers using Genetic Programming Marc Ebner and Thorsten Tiede.
Genetic Algorithms, Part 2. Evolving (and co-evolving) one-dimensional cellular automata to perform a computation.
Coevolutionary Learning with Genetic Algorithms. Problem for learning algorithms: How to select “training environments” appropriate to different stages.
Genetic Algorithms GAs are one of the most powerful and applicable search methods available GA originally developed by John Holland (1975) Inspired by.
1 Genetic Algorithms. CS The Traditional Approach Ask an expert Adapt existing designs Trial and error.
Using a GA to Create Prey Tactics Presented by Tony Morelli on 11/29/04.
Evolutionary Computation and Co-evolution Alan Blair October 2005.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
Khaled Rasheed Computer Science Dept. University of Georgia
Image Registration of Very Large Images via Genetic Programming Sarit Chicotay Omid E. David Nathan S. Netanyahu CVPR ‘14 Workshop on Registration of Very.
1 Reasons for parallelization Can we make GA faster? One of the most promising choices is to use parallel implementations. The reasons for parallelization.
Genetic Algorithms and Ant Colony Optimisation
Changing Perspective… Common themes throughout past papers Repeated simple games with small number of actions Mostly theoretical papers Known available.
An Approach of Artificial Intelligence Application for Laboratory Tests Evaluation Ş.l.univ.dr.ing. Corina SĂVULESCU University of Piteşti.
林偉楷 Taiwan Evolutionary Intelligence Laboratory.
1 Paper Review for ENGG6140 Memetic Algorithms By: Jin Zeng Shaun Wang School of Engineering University of Guelph Mar. 18, 2002.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
Automatically Defined Functions Used to evolve modular programs Architecture implemented by Koza Architecture implemented by Bruce Function calls A critical.
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
More on coevolution and learning Jing Xiao April, 2008.
Coevolutionary Models A/Prof. Xiaodong Li School of Computer Science and IT, RMIT University Melbourne, Australia April.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic Algorithms Michael J. Watts
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Presenter: Chih-Yuan Chou GA-BASED ALGORITHMS FOR FINDING EQUILIBRIUM 1.
1 Machine Learning: Lecture 12 Genetic Algorithms (Based on Chapter 9 of Mitchell, T., Machine Learning, 1997)
GENETIC ALGORITHM A biologically inspired model of intelligence and the principles of biological evolution are applied to find solutions to difficult problems.
GENETIC ALGORITHMS.  Genetic algorithms are a form of local search that use methods based on evolution to make small changes to a popula- tion of chromosomes.
Evolutionary Computation Dean F. Hougen w/ contributions from Pedro Diaz-Gomez & Brent Eskridge Robotics, Evolution, Adaptation, and Learning Laboratory.
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
1 Genetic Algorithms and Ant Colony Optimisation.
Edge Assembly Crossover
Pac-Man AI using GA. Why Machine Learning in Video Games? Better player experience Agents can adapt to player Increased variety of agent behaviors Ever-changing.
CAP6938 Neuroevolution and Artificial Embryogeny Competitive Coevolution Dr. Kenneth Stanley February 20, 2006.
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
The Standard Genetic Algorithm Start with a “population” of “individuals” Rank these individuals according to their “fitness” Select pairs of individuals.
Evolving Strategies for the Prisoner’s Dilemma Jennifer Golbeck University of Maryland, College Park Department of Computer Science July 23, 2002.
Why do GAs work? Symbol alphabet : {0, 1, * } * is a wild card symbol that matches both 0 and 1 A schema is a string with fixed and variable symbols 01*1*
Chapter 15: Co-Evolutionary Systems
Selection Methods Choosing the individuals in the population that will create offspring for the next generation. Richard P. Simpson.
Agenda  INTRODUCTION  GENETIC ALGORITHMS  GENETIC ALGORITHMS FOR EXPLORING QUERY SPACE  SYSTEM ARCHITECTURE  THE EFFECT OF DIFFERENT MUTATION RATES.
Genetic Programming Using Simulated Natural Selection to Automatically Write Programs.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Evolutionary Computing Systems Lab (ECSL), University of Nevada, Reno 1 Authors : Siming Liu, Christopher Ballinger, Sushil Louis
Robot Intelligence Technology Lab. 8. Competitive co-evolution From ‘Evolutionary Robotics’ Presented by Jeongki, Yoo `
Genetic Algorithm(GA)
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
Genetic Algorithms.
Evolution Strategies Evolutionary Programming
C.-S. Shieh, EC, KUAS, Taiwan
CSC 380: Design and Analysis of Algorithms
GENETIC ALGORITHMS & MACHINE LEARNING
Machine Learning: UNIT-4 CHAPTER-2
Beyond Classical Search
CSC 380: Design and Analysis of Algorithms
Coevolutionary Automated Software Correction
Presentation transcript:

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.

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.

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.

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.

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.

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...

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!

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

Fitness Functions simple (shoot and dodge) movement, enemy sensing, wall avoidance re-proportioned movement value final, emphasis on damage with firing/scanning efficiencies

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.

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.

Updated Results

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?

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.