Abstract
Evo Robocode is a competition where the challenge is to use evolutionary techniques to create a Java based controller for a simulated robot tank. The tank competes in a closed arena against other such tanks. The Robocode game is a programming platform that allows such tanks to compete. This article discusses the use of Grammatical Evolution (a form of genetic programming) together with spatial co-evolution. This system harnessed co-evolution to evolve relatively complex behaviours, within the program size constraints of the competition. The entry for the 2013 Evo Robocode competition was not evolved against any human coded robots and yet was able to compete effectively against many previously unseen opponents. The co-evolutionary system was then compared to a system that used a handcrafted fitness gradient consisting of pre-selected human coded robots. The top robots from the co-evolved system performed as well as those evolved using a hand crafted fitness function, scoring well against such robots in head to head battles.








Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
for example, http://robowiki.net/wiki/.
The tracker robot is one of the starter robots provided with Robocode. It tracks its opponent, moving close and firing when possible.
Or conversely, when the hosts attempt to migrate to new nodes, they will meet parasites able to defeat their specialised behaviour.
References
P.J. Angeline, Genetic programming and emergent intelligence, in Advances in Genetic Programming, ed. by K.E. Kinnear Jr (MIT Press, Cambridge, MA, 1994), pp. 75–97
W. Banzhaf, P. Nordin, R.E. Keller, F.D. Francone, Genetic Programming an Introduction (On the Automatic Evolution of Computer Programs and Its Applications) (Morgan Kaufmann Publishers Inc, San Francisco, 1998)
R. Dawkins, J. Krebs, Arms races between and within species. Proc. R. Soc. Lond. B Biol. Sci. 205, 489–511 (1979)
S. Dignum, R. Poli, Generalisation of the limiting distribution of program sizes in tree-based genetic programming and analysis of its effects on bloat, in Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation , GECCO’07, pp. 1588–1595
F. De Boer, The role of speciation in Spatial Co Evolutionary Function Approximation. Master’s Thesis, Utrecht University, 2007
J. Eisenstein, ‘Evolving Robocode TankFighters’, Technical Report 2003-026, Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory (2003)
M. Gade, M. Knudsen, R.A. Kjær, T. Christensen, C.P. Larsen, M.D. Pedersen, J.S.K. Andersen, Applying Machine Learning to Robocode (Aalborg University, Aalborg, 2003)
R. Harper, Spatial Co-evolution: Quicker, Fitter and Less Bloated. GECCO (ACM, New York, 2012), pp. 759–766
R. Harper, Co-evolving robocode tanks, in Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation (GECCO’11), ed. by N. Krasnogor (ACM, New York, 2011), pp. 1443–1450
R. Harper, Spatial co-evolution in Age Layered Planes (SCALP), IEEE Congress on Evolutionary Computation (CEC 2010), IEEE Press, New York, 18–23 July 2010
D. Hillis, Co-evolving parasites improves simulated evolution as an optimization procedure. Artificial Life II Santa FE Institute Studies in the Sciences of Complexity, vol. X (Addison-Wesley, Reading, 1990), pp. 313–324
J. Hong, S.B. Cho, Evolution of emergent behaviours for shooting game characters in Robocode. Congr Evol Comput 1, 634–638 (2004)
G. Hornby, ALPS: The Age-Layered Population Structure for Reducing the Problem of Premature Convergence, GECCO 2006, Seattle, 8–12 July 2006
M. Keijzer, J. Foster, Crossover bias in genetic programming, in Proceedings of the 10th European Conference on Genetic Programming (2007), pp. 116–122
J.R. Koza, Genetic Programming, On the Programming of Computers by Means of Natural Selection, (The MIT Press, New York, 1992), p. 93
S. Luke, Two fast tree-creation algorithms for genetic programming. IEEE Trans. Evol. Comput. 4(3), 274–283 (2000)
S. Luke, L. Panait, A comparison of bloat control methods for genetic programming. Evol. Comput. 14(13), 309–344 (2006)
M. Mitchell, Co evolutionary learning with spatially distributed populations, in Computational Intelligence: Principles and Practice, ed. by G.Y. Yen, D.B. Fogel (IEEE, New York, 2006)
D. Nidorf, L. Barone, A Comparative Study of NEAT and XCS in Robocode, WCCI 2010 IEEE World Congress on Computational Intelligence, CCIB, Barcelona, 18–23 July 2010, p. 86
J. Nielsen, B. Jensen, Modern AI for Games: RoboCode, http://jonnielsen.net/RoboReportOfficial.pdf (2013). Accessed 19 Oct. 2013
M. O’Neill, C. Ryan, Grammatical evolution. IEEE Trans. Evol. Comput. 5(4), 349–358 (2001)
A. Ortega, M. de la Cruz, M. Alfonseca, Christiansen grammar evolution: grammatical evolution with semantics. IEEE Trans. Evol. Comput. 11(1), 77–90 (2007)
Y. Shichel, E. Ziserman, M. Sipper, GP-Robocode: using genetic programming to Evolve Robocode players, Proceedings of the 8th European Conference on Genetic Programming, vol. 3447 (2005), pp. 143–154
T. Soule, J.A. Foster, Removal Bias: a New cause of code growth in tree based evolutionary programming, in 1998 IEEE International Conference on Evolutionary Computation (IEEE Press, Anchorage, 1998) pp. 781–786
L. Spector, J. Klein, M. Keijzer, The Push3 execution stack and the evolution of control, in Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2005) (Springer, New York, 2005), pp. 1689–1696
M. Schmidt, H. Lipson, Co-evolution of fitness predictors. IEEE Trans. Evol. Comput. 12(6), 736–749 (2008)
W.A. Tackett, Recombination, selection and the genetic construction of computer programs. PhD Thesis, University of Southern California, Department of Electrical Engineering Systems, 1994
D. Wyatt, D. Klein, Genetic Programming for Robocode Strategy. https://courses.cs.washington.edu/courses/cse573/03au/reports/team-dan.pdf (2013). Accessed 19 Oct 2013
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Harper, R. Evolving Robocode tanks for Evo Robocode. Genet Program Evolvable Mach 15, 403–431 (2014). https://doi.org/10.1007/s10710-014-9224-2
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10710-014-9224-2