EAs + Monte Carlo Tree Search for the win (*BEST PAPER of EvoAPPS 2020 conference*)

Yes! We did it! :D

Yesterday we presented our last paper on the scope of AI in Videogames entitled “Testing hybrid computational intelligence algorithms for general game playing“, by two colleagues of the University of Málaga (A. E. Vázquez-Núñez and A. J. Fernández-Leiva), together with P. García-Sánchez (@fergunet) and I (A. M. Mora).

It was focused on the domain of General Game Playing, where the aim is to create an autonomous agent able to adapt itself to play to several different videogames (not previously known for it). We used the framework and followed the rules of the General Video Game AI Competition.

Thus, it’s an approach to implement a kind of human-like behaviour the first time we face a new game.

The manuscript was selected as the Best Paper of EvoAPPS 2020 conference (inside EVO* 2020), held online for the first time, due to COVID-19 situation.

The abstract of the work is:

General Videogame Playing is one of the hottest topics in the research field of AI in videogames. It aims at the implementation of algorithms or autonomous agents able to play a set of unknown games efficiently, just receiving the set of rules to play in real time. Thus, this work presents the implementation of eight approaches based on the main techniques applied in the literature to face this problem, including two different hybrid implementations combining Monte Carlo Tree Search and Genetic Algorithms. They have been created within the General Video Game Artificial Intelligence (GVGAI) Competition platform. Then, the algorithms have been tested in a set of 20 games from that competition, analyzing its performance. According to the obtained results, we can conclude that the proposed hybrid approaches are the best approaches, and they would be a very competitive entry for the competition.

And here is the presentation:

Enjoy it!

And, as usual, cite us. ;D

A new lap in the race to improve our evolutionary fuzzy-controllers for TORCS

Last week we presented at the IEEE Conference on Game 2019, held in London (UK), our new paper titled “Beating uncertainty in racing bot evolution through enhanced exploration and pole position selection“.

The abstract of the work is:

One of the main problems in the design through optimization of car racing bots is the inherent noise in the optimization process: besides the fact that the fitness is a heuristic
based on what we think are the keys to success and as such just a surrogate for the ultimate objective, winning races, fitness itself is uncertain due to the stochastic behavior of racing conditions and the rest of the (simulated) racers. The fuzzy-based genetic controller for the car racing simulator TORCS that we have defined in previous works is based on two fuzzy subcontrollers, one for deciding on the wheel steering angle and another to set the car target speed at the next simulation tick.
They are both optimized by means of an Evolutionary Algorithm, which considers an already tested fitness function focused on the maximization of the average speed during the race and the minimization of the car damage. The noisy environment asks for keeping diversity high during evolution, that is why we have added a Blend Crossover (BLX-alpha) operator, which is, besides, able to exploit current results at the same time it explores. Additionally, we try to address uncertainty in selection by introducing a novel selection policy of parents based in races, where the individuals are grouped and compete against others in several races, so just the firsts ranked will remain in the population as parents. Several experiments have been conducted, testing the value of the different controllers. The results show that the combination of a dynamic BLX-alpha crossover operator plus the pole position selection policy clearly beats the rest of approaches. Moreover, in the comparison of this controller with one of the participants of the prestigious international Simulated Car Racing Championship, our autonomous driver obtains much better results than the opponent.

The presentation can be seen below:

As usual, enjoy it and…cite us! :D

Angry Birds meet EAs at EVO* 2019

Last 24 of April we presented the work “Free Form Evolution for Angry Birds Level Generation” at EVOApplications 2019 (EvoGAMES) a conference part of EVO* 2019, held in Leipzig (Germany).

The abstract of the work is:

This paper presents an original approach for building structures that are stable under gravity for the physics-based puzzle game Angry Birds, with the ultimate objective of creating fun and aesthetically pleasing Angry Birds levels with the minimum number of constraints. This approach consists of a search-based procedural level generation method that uses evolutionary algorithms. In order to evaluate the stability of the levels, they are executed in an adaptation of an open source version of the game called Science Birds. In the same way, an open source evolutionary computation framework has been implemented to fit the requirements of the problem. The main challenge has been to design a fitness function that, first, avoids if possible the actual execution of the simulator, which is time consuming, and, then, to take into account the different ways in which a structure is not structurally sound and consider them in different ways to provide a smooth landscape that eventually achieves that soundness. Different representations and operators have been considered and studied. In order to test the method four experiments have been carried out, obtaining a variety of stable structures, which is the first path for the generation of levels that are aesthetically pleasing as well as playable.

@amorag did a short presentation and later ‘defended’ a poster during the reception act. The presentation is a description of the poster:

Actually the poster was selected as the second best of the conference by the attendants. :D

Those interested can found the paper at Springer web: https://link.springer.com/chapter/10.1007/978-3-030-16692-2_9

Enjoy it… and cite us! ;D

Algoritmos evolutivos aplicados a HearthStone en las noticias

Este fin de semana algunas webs se han hecho eco de una noticia originada por la Agencia SINC.

En concreto la noticia se ha titulado La inteligencia artificial imita la evolución biológica para ganar en los videojuegos y resumida como:

Informáticos españoles han aplicado técnicas avanzadas de inteligencia artificial para generar automáticamente los mejores mazos de cartas en Hearthstone, un videojuego en línea con más de 30 millones de jugadores en todo el mundo. Los algoritmos se inspiran en el proceso biológico de la selección natural.

Entre las webs que la han recogido, destacan, por ejemplo la de La Sexta.

Dichas noticias se refieren a nuestro trabajo publicado hace algunos meses en la revista Knowledge-Based Systems y comentado en esta entrada del blog.



Improved Genetic Fuzzy Drivers presented at CIG 2018

Last week I presented at IEEE CIG 2018 (held in Maastricht, The Netherlands) our following step in our research about autonomous drivers for Car Racing Simulators, such as TORCS, titled “The Evolutionary Race: Improving the Process of Evaluating Car Controllers in Racing Simulators“.

As commented before by @jjmerelo and later by @fergunet, we designed with Mohammed Salem (University of Mascara) a driver’s AI in which two Fuzzy Subcontrollers were hybridized with a Genetic Algorithm.

In this work we present a better evaluation approach for the GA, combining three methods: heuristic track choosing, improved fitness functions, and race-based selection of the best.

The abstract of the work is:

Simulated car races have been used for a long time as an environment where car controlling algorithms can be tested; they are an interesting testbed for all kinds of algorithms, including metaheuristics such as evolutionary algorithms. However, the challenge in the evolutionary algorithms is to design a reliable and effective evaluation process for the individuals that eventually translates into good solutions to the car racing problem: finding a controller that is able to win in a wide range of tracks and with a good quantity of opponents. Evaluating individual car controllers involves not only the design of a proper fitness function representing how good the car controller would be in a competitive race, but also the selection of the best solution for the optimization problem being solved; this decision might not be easy when uncertainty is present in the problem environment; in this case, weather and track conditions as well as unpredictable behavior of other drivers. Creating a methodology for the automatic design of the controller of an autonomous driver for a car racing simulator such as TORCS is an optimization problem which offers all these challenges. Thus, in this paper we describe an analysis and some proposals to improve the evaluation of optimized fuzzy drivers for TORCS over previous attempts to do so. It builds on preliminary results obtained in previous papers as a baseline and aims to obtain a more competitive autonomous driver via redesign of the fitness evaluation procedure; to this end, two different fitness functions are studied in several experiments, along with a novel race-based approach for the selection of the best individual in the evolution.

And the presentation is:

You can check our paper in the proceedings of the conference.

Enjoy it!

(And cite us as usual :D)

Starcraft GP nominated to the HUMIES award

This year we participated in the HUMIES awards with our paper “Towards Automatic StarCraft Strategy Generation Using Genetic Programming“, accepted at CIG2015, wrote in collaboration with Politecnico di Torino and INRA. Our paper was elected from 28 candidates to be part of the 8 finalists, so we can consider it a great achievement. Although we didn’t won, because the astounding quality of the other works, we are thrilled about our nomination :)

Here is the presentation. It even includes a reference to Starship Troopers!

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.

Aplicando algoritmos genéticos a un controlador ‘fuzzy’ para una gestión adaptativa del tráfico

Recientemente se ha aceptado el artículo “A hybrid Fuzzy Genetic Algorithm for an adaptive traffic signal system” en la revista open-access Advances in Fuzzy Systems. En él participamos varios de los investigadores de GeNeura.

El abstract es:

This paper presents a hybrid algorithm that combines Fuzzy Logic Controller (FLC) and Genetic Algorithms (GAs) and its application on a traffic signal system. FLCs have been widely used in many applications in diverse areas, such as control system, pattern recognition, signal processing, and forecasting. They are, essentially, rule-based systems, in which the definition of these rules and fuzzy membership functions is generally based on verbally formulated rules that overlap through the parameter space. They have a great influence over the performance of the system. On the other hand, the Genetic Algorithm is a metaheuristic that provides a robust search in complex spaces. In this work, it has been used to adapt the decision rules of FLCs that define an intelligent traffic signal system, obtaining a higher performance than a classical FLC-based control. The simulation results yielded by the hybrid algorithm show an improvement of up to 34% in the performance with respect to a standard traffic signal controller, Conventional Traffic Signal Controller (CTC), and up to 31% in the comparison with a traditional logic controller, FLC.

Esperamos que os guste (y que lo citéis, claro :D).

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: http://www.eweb.unex.es/eweb/maeb2015/

Tenemos el segundo bot más humano DEL MUNDO…

…jugando a Unreal Tournament 2004. :D

José L. Jiménez, estudiante de informática de la Universidad de Málaga, dirigido por Antonio Fernández Leiva y por mí ha creado un bot, llamado NizorBot, a partir del ExpertBot que hicieron Francisco Aisa y Ricardo Caballero, que ha obtenido el segundo puesto (considerando la humanidad (humanness) del mismo) en el BotPrize 2014, celebrado dentro del CIG 2014.

Human or Bot competition (BotPrize)

Resultados de la competición BotPrize 2014 (primeros puestos)

La competición se basa en un Test de Turing que los bots deben pasar frente a jueces humanos. Éstos se enfrentarán a los bots en combates (Deathmatch) dentro del juego Unreal Tournament 2004. Durante dichos combates (en varias tandas), los jueces marcarán a cada uno de sus rivales como humano o bot en base a su criterio sobre el comportamiento que observen en el jugador.

Además, este año se ha añadido la presencia de un gran número de jueces off-line, es decir, ‘fuera del juego’, que visualizan los enfrentamientos y deciden también qué jugadores son humanos y cuáles no.

Esto le da más valor al resultado que otros años, ya que estos jueces cuentan con un punto de vista ‘menos limitado’ que los participantes en el juego.

El bot ha sido implementado mediante algoritmos evolutivos interactivos, en los que un controlador humano interviene cada cierto tiempo en dos sentidos:

  • Ajustando parámetros del algoritmo (controlador experto en el algoritmo)
  • Respondiendo a cuestiones sobre el jugador y el juego (controlador experto en el juego).

En ambos casos, el desarrollo del algoritmo (su ejecución) se ve afectado y dirigido por este controlador, lo que hace que el bot evolucione de una forma más acorde con lo que éste espera. En este caso, para comportarse de la manera más humana posible.

José está en proceso de escritura de su Proyecto Fin de Carrera y, a continuación, los tres trabajaremos en un artículo describiendo todo el proceso.

¡Estad atentos! :D