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

Ants are already in 5G

Today we have presented our first international paper on the scope of 5G. I have used for that my favourite metaheuristic: Ant Colony Optimization, which has been adapted to solve a problem of network service composition, i.e., the so-called Service Function Chaining.

The paper is titled “Applying Ant Colony Optimization for Service Function Chaining in a 5G Network” paper with the same title presented today (22 October 2019) in Granada, on the “6th IEEE International Conference on Internet of Things: Systems, Management and Security (IOTSMS 2019)“, and in this, inside the “International Workshop on Efficient and Smart 5G Technologies for IoT (ES5TI)“.

The abstract of the paper is:

The growth of data traffic and the demand for new services are two of the main challenges to take into account in the design of next-generation networks. Service Function Chaining (SFC) is a technique that allows the execution of advanced services, routing network traffic through an ordered list of virtual functions. This mechanism is getting great relevance due to the rise of Software-defined Networks (SDNs) and the use of Network Function Virtualization (NFV), as well as the offered possibilities in terms of flexibility and automation. Given the existing need for operators to offer low latency services in 5G networks, the composition of this chain is a critical process that affects the performance of these services. Inside this context, this paper presents the design and implementation of an Ant Colony Optimization algorithm (ACO) for the minimization of the routing cost of service chain composition. ACO is a specially designed metaheuristic to work with weighted graphs, also considering restrictions, as is the case of the addressed problem. To test the value of the implemented algorithm, two different instances have been solved. The first one (with only 6 nodes) is a proof of concept, which easily allows to analyze the obtained solutions. The second one (19 nodes) models a medium-size 5G network, and tries to show the performance of this method in a wider graph. The results show that the proposed algorithm can lead to optimal solutions in many cases, even in a short time (less than 0.5 seconds) in the largest instance, so we consider this method as a very promising solution in this field.

The presentation can be see from Slidehare:

Enjoy it!

(and 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

Making birds less angry by evolving pig supporting structures in the game

After our poster in EvoStar, GECCO 2019 saw another poster on evolution of Angry Birds structures, in this ocassion focused on the inclusion of the Box2D Physics simulation engine into the evolutionary algorithm to save using Science Birds, which improved evaluation of the structures that needed it by 100x.
The poster is minimalistic, with the intention of making it awesome.
Angry Birds poster is ready to go.//embedr.flickr.com/assets/client-code.js
Get data, code and the paper itself from our repository.

From computer engineering and computer science to artificial intelligence

Early June saw the celebration of the Interdisciplinary Summer School on Artificial Intelligence, with talks on diverse subjects that went from creativity in Twitter bots by Tony Veale to my own talk on computer science and engineering and how they can help AI.

The talk had two parts; the first focused on how AI is improving in performance and decreasing its energy footprint via design of specific chips, many of them based on the RISC-V open hardware architecture. The second part was mainly devoted to concurrent programming and how algorithms and whole applications must be changed to meet the challenges of creating cloud-native programs.

Our research group fully supports free software and open science, and the field of AI is ratcheting up its achievements by working on free stacks, from free hardware to the whole set of programs and services that support them. Understanding these stacks will help us design better algorithms and frameworks in the future.

Exploring concurrent evolutionary algorithms in Perl 6

Last April in Leipzig we presented our paper on concurrent evolutionary algorithms using Perl 6, the new, multiparadigm, language that includes Channel-based parallelism.

Perl 6 was proved to be a great testbed for concurrent evolutionary algorithms, using bioinspiration to design the algorithm. Still a lot to be done in that area, though.
Presenting papers

Charla sobre Inteligencia Computacional en Videojuegos

El próximo día 1 de julio yo mismo (@amorag) daré una charla titulada “Inteligencia Computacional en Juegos“.  :D

En la charla hablaré sobre todo tipos de juegos y puzles y las técnicas de inteligencia artificial que se suelen usar para crear o imitar comportamientos inteligentes o parecidos a los de los humanos, tanto a nivel de juegos comerciales, como en el entorno académico e investigador.

El evento ha sido anunciado en Meetup, dentro del grupo Granada Artificial Intelligence Meetup.

El lugar y horario:

 

Quedan pocas plazas ya…¡corre insensat@ y apúntate en Meetup!  :-p