As part of the EvoStar conference, which took place last week, we presented the poster Benchmarking Languages for Evolutionary Algorithms, where, with help from many friends in Open Science fashion, we tested several a bunch of compiled and scripting languages on several common evolutionary operations: crossover, mutation and OneMax.
It was presented in poster form, and you had to be there to actually understand it. Since you are not, it’s better if you use this comments (or those at the poster) to inquire about it. Or you can check out the interactive presentation we also did, which in fact includes data and everything in the source.
This work is ongoing, and you are very welcome to participate. Just take a peek at the repo, and do a pull request.
During EvoStar, our group presented several papers on games, multiobjective optimization and implementation of evolutoinary algorithms. This paper was presented as a full talk at EvoGAMES 2016 in Porto (Portugal). BY: Antonio Fernández Ares, Pablo García-Sánchez, Antonio M. Mora García, Pedro A. Castillo, Juan J. Merelo
Source: There can be only one: Evolving RTS Bots via joust selection
The WordPress.com stats helper monkeys prepared a 2014 annual report for this blog.
Here’s an excerpt:
The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 8,800 times in 2014. If it were a concert at Sydney Opera House, it would take about 3 sold-out performances for that many people to see it.
Click here to see the complete report.
For evolutionary algorithms, noise is something that happens when you cannot get a fitness function to return the same value twice in a row. It is a mainstay of games, but it can be found also in industrial processes and in things like neural nets. We have been working despite it many times usually by doing several evaluations and averaging, but this is not really the best way of dealing with it. Since the shape of noise is not known in advance, in the paper presented at the ECTA 2014 conference we proposed a new method for dealing with it: using statistically sound comparisons, namely Wilcoxon. The paper is entitled “Studying and Tackling Noisy Fitness in Evolutionary Design of Game Characters”, and here’s the abstract.
In most computer games as in life, the outcome of a match is uncertain due to several reasons: the characters or assets appear in different initial positions or the response of the player, even if programmed, is not deterministic; different matches will yield different scores. That is a problem when optimizing a game-playing engine: its fitness will be noisy, and if we use an evolutionary algorithm it will have to deal with it. This is not straightforward since there is an inherent uncertainty in the true value of the fitness of an individual, or rather whether one chromosome is better than another, thus making it preferable for selection. Several methods based on implicit or explicit average or changes in the selection of individuals for the next generation have been proposed in the past, but they involve a substantial redesign of the algorithm and the software used to solve the problem. In this paper we propose new methods based on incremental computation (memory-based) or fitness average or, additionally, using statistical tests to impose a partial order on the population; this partial order is considered to assign a fitness value to every individual which can be used straightforwardly in any selection function. Tests using several hard combinatorial optimization problems show that, despite an increased computation time with respect to the other methods, both memory-based methods have a higher success rate than implicit averaging methods that do not use memory; however, there is not a clear advantage in success rate or algorithmic terms of one method over the other
After the bad experience of spending money in clusters and grids and then spending more time doing maintenance, hack-proofing and installing stuff than science, maybe it is the time to rethink how massive distributed evolutionary computation should be done. Nowadays there are lots of free or use-based resources that can be tapped for doing volunteer-based evolutionary algorithms. That is way my last keynote and tutorial have dealt with that: the IDC Keynote, Low or No Cost Evolutionary computation, which you can access here in Heroku, puts the money where its mouth is: talking and doing volunteer-based evolutionary computing at the same time. The PPSN tutorial, Low or no cost distributed evolutionary computation, touched on the same topic, only longer and with more enphasis on tools.