From: Jessica Kristan Miller (jessica_at_cs.washington.edu)
Date: Mon Oct 20 2003 - 00:12:15 PDT
Paper Reviewed: Evolving Robot Tank Controllers
Paper Author: Jacob Eisenstein
Reviewed By: Jessica Miller
Summary:
This paper presents the author's techniques and results of using a genetic
algorithm approach to generate successful Robocode tank controllers.
Two Important Most Ideas:
(1) Eisenstein's representation of a genome is encoded into a language
called TableRex. His Java code then interprets the given TableRex program
to decide what the tank does in the simulated environment. The reasons
why TableRex was a good language for representation of for the tank
controller was because it was easily encodable as a fixed-length genome,
it could be efficiently interpreted by Java, and it is able to easily
output a sequence of ordered commands. As discussed in class, finding a
good representation of the problem is key to getting good results when
using genetic algorithms. This particular representation seemed key to
Eisenstein's good results.
(2) Another important idea presented in the paper is the fitness function
he used and how he used it. After trying several different fitness
functions Eisenstein found that the difference between the scores of the
two robots was the best one. He then uses fitness scaling to streamline
the effects of the evolutionary process. The way he uses the fitness
function is important because it resulted in breeding good tank
controllers.
Largest Flaw in the Paper:
Since this paper was a school project it didn't have a whole lot of data
that resulted in using different fitness functions, fitness scaling
factors, different operators, or different representations. Eisenstein's
solutions to these problems would be much better supported if he could
compare his decisions with the results of tweaking some of these factors
and then show his decisions were the best.
Two Open Research Questions:
(1) Eisenstein himself identifies targeting strategy as being very
difficult to learn. This in itself could be a good research topic...what
learning techniques can you apply to the tank controller to learn better
targeting strategy? This is important because not only would the
controller be more effective at causing damage to his opponent but also
the only way for a tank to gain energy is to hit another tank.
(2) Another open research question is is there a better approach to
yielding robots that are good at dealing with multiple adversaries? It
seems that Eisenstein's approach is very time consuming and he gives no
results that it would even work had he had the time to train his robots.
This seems important because few (if any) robot controllers deal well with
more than one adversary.
This archive was generated by hypermail 2.1.6 : Mon Oct 20 2003 - 00:12:16 PDT