Master of Evolution! Using Genetic Algorithms to generate decks for the game HearthStone

This September we attended to the IEEE CIG 2017 Conference in Santorini, Greece, to present the paper “Evolutionary Deckbuilding in HearthStone”. This paper was written in collaboration with our colleagues Alberto Tonda and Giovanni Squillero.

The story of this paper started a (not so) long time ago while me and Alberto were discussing about how awesome HearthStone is. Suddenly, we thought about how easy it would be to create the constraints for the uGP framework, and that there were some open source simulators of the game. In a while, we already had the constraints, the simulator adapted to accept individuals from uGP, and some experiments running.

And we finished the paper after, of course.

You can download the paper draft from here (the electronic original version is not available yet).

And here is the presentation:

The abstract:

—One of the most notable features of collectible card games is deckbuilding, that is, defining a personalized deck before the real game. Deckbuilding is a challenge that involves a big and rugged search space, with different and unpredictable behaviour
after simple card changes and even hidden information. In this paper, we explore the possibility of automated deckbuilding: a genetic algorithm is applied to the task, with the evaluation delegated to a game simulator that tests every potential deck against a varied and representative range of human-made decks.
In these preliminary experiments, the approach has proven able to create quite effective decks, a promising result that proves that, even in this challenging environment, evolutionary algorithms can find good solutions.

How good are different languages at runnig evolutionary algorithms?

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.

Enviada la versión definitiva del trabajo “Predicción a muy corto plazo de series temporales de volumen de tráfico rodado mediante co-evolución de RNFBR”

Tras realizar las correspondientes modificaciones indicadas por los revisores del congreso MAEB 2015, hemos procedido a enviar la versión definitiva del trabajo, usando para ello la famosa plataforma EasyChair.
Cabe recordar que MAEB’2015 se celebrará en Mérida-Almendralejo, durante los días 4 al 6 de Febrero de 2015, y estará organizada por el Centro Universitario de Mérida, el cual pertenece a la Universidad de Extremadura.
Toda la info del congreso en:

[Paper] My life as a sim: evolving unique and engaging life stories using virtual worlds

Our latest publication My life as a sim: evolving unique and engaging life stories using virtual worlds, using our framework MADE (created by @rubenhek), has been published in the ALIFE 2014 conference. The abstract:

Stories are not only painfully weaved by crafty writers in the solitude of their studios; they also have to be produced massively for non-player characters in the video game industry or tailored to particular tastes in personalized stories. However, the creation of fictional stories is a very complex task that usually implies a creative process where the author has to combine characters, conflicts and backstories to create an engaging narrative. This work describes a general methodology to generate cohesive and coherent backstories where desired archetypes (universally accepted literary symbols) can emerge in complex stochastic systems. This methodology supports the modeling and parametrization of the agents, the environment where they will live and the desired literary setting. The use of a Genetic Algorithm (GA) is proposed to establish the parameter configuration that will lead to backstories that best fit the setting. Information extracted from a simulation can then be used to create the literary work. To demonstrate the adequacy of the methodology, we perform an implementation using a specific multi-agent system and evaluate the results, testing with three different literary settings.

Check out the presentation by @jjmerelo at You can download the proceedings of the conference (CC license), or download the paper draft.

More information is available on the project page.

Free access to paper accepted at GECCO’14

During 1 month, papers accepted at GECCO1’4 will be freely available. Thus, you can get and read our papers:

  • “Assessing different architectures for evolutionary algorithms in javascript” by Juan Julián Merelo, Pedro Castillo, Antonio Mora, Anna I. Esparcia-Alcázar, Víctor M. Rivas Santos (doi 10.1145/2598394.2598460) at
  • NodEO, a multi-paradigm distributed evolutionary algorithm platform in JavaScript” by Juan-Julián Merelo, Pedro Castillo, Antonio Mora, Anna Esparcia-Alcázar, Víctor Rivas-Santos (doi:10.1145/2598394.2605688) at
  • “Enforcing corporate security policies via computational intelligence techniques” by Antonio M. Mora, Paloma De las Cuevas, Juan Julián Merelo, Sergio Zamarripa, Anna I. Esparcia-Alcázar (doi: 10.1145/2598394.2605438) at
  • A methodology for designing emergent literary backstories on non-player characters using genetic algorithms”, by Rubén Héctor García-Ortega, Pablo García-Sánchez, Antonio Miguel Mora, Juan Julián Merelo (doi: 10.1145/2598394.2598482) at


Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for the Ghost Team in the Game of Ms. Pac-Man

by Federico Liberatore, Antonio Mora, Pedro Castillo, Juan Julián Merelo in EvoGAMES
Flocking strategies are sets of behavior rules for the interaction of agents that allow to devise controllers with reduced complexity that generate emerging behavior. In this paper, we present an application of genetic algorithms and flocking strategies to control the Ghost Team in the game Ms. Pac-Man. In particular, we define flocking strategies for the Ghost Team and optimize them for robustness with respect to the stochastic elements of the game and effectivity against different possible opponents by means of genetic algorithm. 
The performance of the methodology proposed is tested and compared with that of other standard controllers belonging to the framework of the Ms. Pac-Man versus Ghosts Competition. The results show that flocking strategies are capable of modelling complex behaviors and produce effective and challenging agents. 

The presentation is:


You can also see a brief demo here (we are the ghosts :D):

Enjoy it!

(And cite us, of course :D)

Volunteer-based evolutionary algorithms al dente

Planning the cook of a time consuming optimization problem? Have you considered to let a crowd of volunteers to help you in this endeavor? In a volunteer-based system,  volunteers provide you with free ingredients (CPU cycles, memory, internet connection,..) to be seasoned with only a pinch of peer-to-peer or desktop-grid technology.

If you are looking for a delicious cook of a volunteer-based evolutionary algorithm, you can find our recipe in this paper published in Genetic Programming and Evolvable Machines (pre-print version available here)

Title: “Designing robust volunteer-based evolutionary algorithms

Abstract This paper tackles the design of scalable and fault-tolerant evolutionary algorithms computed on volunteer platforms. These platforms aggregate computational resources from contributors all around the world. Given that resources may join the system only for a limited period of time, the challenge of a volunteer-based evolutionary algorithm is to take advantage of a large amount of computational power that in turn is volatile. The paper analyzes first the speed of convergence of massively parallel evolutionary algorithms. Then, it provides some guidance about how to design efficient policies to overcome the algorithmic loss of quality when the system undergoes high rates of transient failures, i.e. computers fail only for a limited period of time and then become available again. In order to provide empirical evidence, experiments were conducted for two well-known problems which require large population sizes to be solved, the first based on a genetic algorithm and the second on genetic programming. Results show that, in general, evolutionary algorithms undergo a graceful degradation under the stress of losing computing nodes. Additionally, new available nodes can also contribute to improving the search process. Despite losing up to 90% of the initial computing resources, volunteer-based evolutionary algorithms can find the same solutions in a failure-prone as in a failure-free run.