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 Programming Dan Kiely Ran Shoham Brent Heigold
Genetic Algorithms Genetic Programming Ata Kaban School of Computer Science University of Birmingham 2003.
GP Applications Two main areas of research Testing genetic programming in areas other techniques have been applied to. Applying genetic programming to.
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.
Genetic Programming 김용덕 Page 2 Contents What is Genetic Programming? Difference between GP and GA Flowchart for GP Structures in GP.
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.
Graduate Capstone Project Breaking Walls: Developing a Successful Robot in Robocode Chris Velez Summer 2011 Advisor :Dr. Xiang.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
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.
Doug Downey, adapted from Bryan Pardo, Machine Learning EECS 349 Machine Learning Genetic Programming.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Evolving Killer Robot Tanks Jacob Eisenstein. Why Must We Fight? Giving the people what they want Essence of embodiment: Moving around and surviving in.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Nicholas Mifsud.  Behaviour Trees (BT) proposed as an improvement over Finite State Machines (FSM)  BTs are simple to design, implement, easily scalable,
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.
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Genetic Programming.
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 Algorithm.
Genetic Algorithms and Ant Colony Optimisation
林偉楷 Taiwan Evolutionary Intelligence Laboratory.
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
Improved Gene Expression Programming to Solve the Inverse Problem for Ordinary Differential Equations Kangshun Li Professor, Ph.D Professor, Ph.D College.
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.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic Algorithms Michael J. Watts
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)
Evolutionary Computation Dean F. Hougen w/ contributions from Pedro Diaz-Gomez & Brent Eskridge Robotics, Evolution, Adaptation, and Learning Laboratory.
G ENETIC P ROGRAMMING Ranga Rodrigo March 17,
Artificial Intelligence Chapter 4. Machine Evolution.
D OSHISHA U NIVERSITY 13 November XML-based Genetic Programming Framework: Design Philosophy, Implementation and Applications.
Genetic Algorithms ML 9 Kristie Simpson CS536: Advanced Artificial Intelligence Montana State University.
1 Genetic Algorithms and Ant Colony Optimisation.
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
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.
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.
Evolving Strategies for the Prisoner’s Dilemma Jennifer Golbeck University of Maryland, College Park Department of Computer Science July 23, 2002.
Selection Methods Choosing the individuals in the population that will create offspring for the next generation. Richard P. Simpson.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
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.
Evolving Recursive Algorithms The SRF function Automatically defined recursions (ADRs) The recur operator Dealing with infinite and time-consuming recursions.
Evolutionary Computing Systems Lab (ECSL), University of Nevada, Reno 1 Authors : Siming Liu, Christopher Ballinger, Sushil Louis
An Evolutionary Algorithm for Neural Network Learning using Direct Encoding Paul Batchis Department of Computer Science Rutgers University.
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.
Presented By: Farid, Alidoust Vahid, Akbari 18 th May IAUT University – Faculty.
Genetic Algorithms.
Evolution Strategies Evolutionary Programming
CSC 380: Design and Analysis of Algorithms
GENETIC ALGORITHMS & MACHINE LEARNING
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

Difficulties with Coevolution 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.