Our TORCS driving controller presented at EvoGAMES 2017

Last week, @jjmerelo presented at EvoGAMES 2017 (inside Evo* 2017) our work titled “Driving in TORCS using modular fuzzy controllers”.

This paper presents a novel car racing controller for TORCS (The Open Racing Car Simulator), which is based in the combination of two fuzzy subcontrollers, one for setting the speed, and one to control the steer angle. The obtained results are quite promissing, as the controller is quite competitive even against very tough TORCS teams.

The abstract of the paper is:

When driving a car it is essential to take into account all possible factors; even more so when, like in the TORCS simulated race game, the objective is not only to avoid collisions, but also to win the race within a limited budget. In this paper, we present the design of an autonomous driver for racing car in a simulated race. Unlike previous controllers, that only used fuzzy logic approaches for either acceleration or steering, the proposed driver uses simultaneously two fuzzy controllers for steering and computing the target speed of the car at every moment of the race. They use the track border sensors as inputs and besides, for enhanced safety, it has also taken into account the relative position of the other competitors. The proposed fuzzy driver is evaluated in practise and timed races giving good results across a wide variety of racing tracks, mainly those that have many turning points.

There was an interactive presentation at the conference, together with a poster:

The paper is available online from: https://link.springer.com/chapter/10.1007/978-3-319-55849-3_24

Enjoy (and cite) it! :D


How I stayed in Granada for 15 days and failed to visit the Alhambra

Let me introduce myself: I am Alberto Tonda, a computer scientist originally from Italy, now working in a French national research center. In the picture below, there’s me looking extremely professional, with a lightsaber. I was at a wedding. Wedding with lightsabers are the best!In 2014, the University of Granada (UGR) hosted the international conference EvoSTAR: me and my co-authors won the Best Paper award, and as a prize we received funding to work with a research team at UGR.

I then contacted the GeNeura team to start a cooperation, and a few months later I was in Granada. I was extremely impressed with how welcoming the GeNeura guys were! They took care of all the administrative business (and, as researchers, we know how much this can be annoying :-D), they showed me around the city, they fed me delicious tapas, and they were an all-around pleasant people.

Here is me again, presenting my work to the team (by the way, here is a link to the presentation). It took us a while to find a common topic to work on, with lots of stimulating brainstorming, and evenalberto-geneuratually we started an exciting work on machine learning. I worked more in direct contact with Pablo Garcia and Antonio “Antares” Ares, but all people from GeNeura pitched in their ideas and were extremely helpful: J. J. Merelo, Antonio Mora, Pedro Castillo, and all the others I am forgetting (sorry, I am terrible with names!).

So, my only regret is that I didn’t visit the renown Alhambra, the beautiful fortress-palace Granada is famous for.Looks awesome. I had even bought a ticket (!) and was preparing for a late afternoon visit after work, when something every computer scientist dreads happened: the program I wrote with Pablo was almost working. So, since that was our last working day before I left, and our task was so engaging, I decided to stay and make it work. And by evening, we made it work, so at least giving up the visit was worth something!

In conclusion, I’d definitely recommend cooperating with GeNeura. And since our work together is far from finished, I have a good excuse to come back and finally visit the Alhambra :-)

Evolution using JavaScript in EvoStar

JavaScript, despite its age, is considered now an emergent language, since it is starting to have a ecosystem that allows the development of complex and high-performance applications. That is why in the recent EvoStar we had a poster that uses evolutionary algorithms libraries written using it. It is based on MOOTools to create an object-oriented browser-based library called jsEO, and is entitled An object-oriented library in JavaScript to build modular and flexible cross-platform evolutionary algorithms.

Unreliable Heterogeneous Workers in a pool-based evolutionary algorithm

by Mario Garcia-Valdez, Juan-J. Merelo, Francisco Fernández de Vega
in  EvoAPPS posters

In this paper the effect of node unavailability in algorithms using EvoSpace, a pool-based evolutionary algorithm, is assessed. EvoSpace is a framework for developing evolutionary algorithms (EAs) using heterogeneous and unreliable resources. It is based on Linda’s tuple space coordination model. The core elements of EvoSpace are a central repository for the evolving population and remote clients, here called EvoWorkers, which pull random samples of the population to perform on them the basic evolutionary processes (selection, variation and survival), once the work is done, the modified sample is pushed back to the central population. To address the problem of unreliable EvoWorkers, EvoSpace uses a simple re-insertion algorithm using copies of samples stored in a global queue which also prevents the starvation of the population pool. Using a benchmark problem from the P-Peaks problem generator we have compared two approaches: (i) the re-insertion of previous individuals at the cost of keeping copies of each sample, and a common approach of other pool based EAs, (ii) inserting randomly generated  individuals. We found that EvoSpace is fault tolerant to highly unreliable resources and also that the re-insertion algorithm is only needed when the population is near the point of starvation.

An object-oriented library in JavaScript to build modular and flexible cross- platform evolutionary algorithms

by Victor Manuel Rivas Santos, Maria Isabel Garcia Arenas, Juan Julian Merelo Guervos, Antonio Mora Garcia and Gustavo Romero Lopez.
In EvoAPPS posters (see the poster at slideshare)

This paper introduces jsEO, a new evolutionary computation library that is executed in web browsers, as it is written in Javascript. The  library allows the rapid development of evolutionary algorithm, and makes easier the collaboration between different clients by means of individuals stored in a web server. In this work, jsEO has been tested against two simple problems, such as the Royal Road function and a 128-terms equation, and analysing how many machines and evaluations it yields. This paper attempts to reproduce results of older papers using modern browsers and all kind of devices that, nowadays, have JavaScript integrated in the browser, and is a complete rewrite of the code using the popular MooTools library. Results show that the system makes easier the development of evolutionary algorithms, suited for different chromosomes representations and problems, that can be simultaneously executed in many different operating systems and web browsers, sharing the best solutions previously found.