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

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

On Volunteer-Computing and Self-driving car fuzzy controllers in the sunny Cádiz

Every two years, the International Conference on Information Processing and Management of Uncertainty in Knowledge-Based Systems (IPMU) brings together the most important researchers in the area of uncertainty and fuzzy systems. As I am working in Cadiz, it was a great opportunity to present some of the latest work that the Geneura group has recently developed.

The first of these has been developed together with the Technical Institute of Tijuana and describes the social behaviour of users of a voluntary computer system. It is very interesting to discover how the use of a leaderboard makes users spend more time collaborating. Take  a look to the presentation:

Mario García Valdez, Juan Julián Merelo Guervós, Lucero Lara, Pablo García-Sánchez:
Increasing Performance via Gamification in a Volunteer-Based Evolutionary Computation System. IPMU (3) 2018: 342-353

Here is the abstract:

Distributed computing systems can be created using volunteers, users who spontaneously, after receiving an invitation, decide to provide their own resources or storage to contribute to a common effort. They can, for instance, run a script embedded in a web page; thus, collaboration is straightforward, but also ephemeral, with resources depending on the amount of time the user decides to lend. This implies that the user has to be kept engaged so as to obtain as many computing cycles as possible. In this paper, we analyze a volunteer-based evolutionary computing system called NodIO with the objective of discovering design decisions that encourage volunteer participation, thus increasing the overall computing power. We present the results of an experiment in which a gamification technique is applied by adding a leader-board showing the top scores achieved by registered contributors. In NodIO, volunteers can participate without creating an account, so one of the questions we wanted to address was if the need to register would have a negative impact on user participation. The experiment results show that even if only a small percentage of users created an account, those participating in the competition provided around 90% of the work, thus effectively increasing the performance of the overall system.

 

The second work uses an evolutionary algorithm to optimize the parameters of a fuzzy controller that drives a car in the TORCS video game and continues our previous work. We have been collaborating with Mohammed Salem of University of Mascara along this line for a while.

Mohammed Salem, Antonio Miguel Mora, Juan Julián Merelo Guervós, Pablo García-Sánchez: Applying Genetic Algorithms for the Improvement of an Autonomous Fuzzy Driver for Simulated Car Racing. IPMU (3) 2018: 236-247

Games offer a suitable testbed where new methodologies and algorithms can be tested in a near-real life environment. For example, in a car driving game, using transfer learning or other techniques results can be generalized to autonomous driving environments. In this work, we use evolutionary algorithms to optimize a fuzzy autonomous driver for the open simulated car racing game TORCS. The Genetic Algorithm applied improves the fuzzy systems to set an optimal target speed as well as the instantaneous steering angle during the race. Thus, the approach offer an automatic way to define the membership functions, instead of a manual or hill-climbing descent method. However, the main issue with this kind of algorithms is to define a proper fitness function that best delivers the obtained result, which is eventually to win as many races as possible. In this paper we define two different evaluation functions, and prove that fine-tuning the controller via evolutionary algorithms robustly finds good results and that, in many cases, they are able to play very competitively against other published results, with a more relying approach that needs very few parameters to tune. The optimized fuzzy-controllers (one per fitness) yield a very good performance, mainly in tracks that have many turning points, which are, in turn, the most difficult for any autonomous agent. Experimental results show that the enhanced controllers are very competitive with respect to the embedded TORCS drivers, and much more efficient in driving than the original fuzzy-controller.

 

Impact of protests in the number of smart devices in streets: A new approach to analyze protesters behavior

Our last paper of Mobywit Systems was presented the 14th of Jun of 2017 in the Smart Cities Congress in Malaga. You can enjoy the presentation here:

If you have interest in read the full paper, you can download here.

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.

Towards automatic StarCraft strategy generation using genetic programming

I forgot to mention that we published our paper «Towards automatic StarCraft strategy generation using genetic programming» in CIG 2015 conference, held in Taiwan. This was a work made in collaboration with Alberto Tonda (INRA) and Giovanni Squillero (Politecnico di Torino), starting a new research line using this game (and also, starting other nice collaborations that are still a secret!)

The abstract:

Among Real-Time Strategy games few titles have enjoyed the continued success of StarCraft. Many research lines aimed at developing Artificial Intelligences, or “bots”, capable of challenging human players, use StarCraft as a platform. Several characteristics make this game particularly appealing for researchers, such as: asymmetric balanced factions, considerable complexity of the technology trees, large number of units with unique features, and potential for optimization both at the strategical and tactical level. In literature, various works exploit evolutionary computation to optimize particular aspects of the game, from squad formation to map exploration; but so far, no evolutionary approach has been applied to the development of a complete strategy from scratch. In this paper, we present the preliminary results of StarCraftGP, a framework able to evolve a complete strategy for StarCraft, from the building plan, to the composition of squads, up to the set of rules that define the bot’s behavior during the game. The proposed approach generates strategies as C++ classes, that are then compiled and executed inside the OpprimoBot open-source framework. In a first set of runs, we demonstrate that StarCraftGP ultimately generates a competitive strategy for a Zerg bot, able to defeat several human-designed bots.

Do you want to know more? Download the paper draft or electronic version in IEEE web.

[Paper] Studying the effect of population size in distributed evolutionary algorithms on heterogeneous clusters

Finally we have published in Applied Soft Computer journal the last paper related with my thesis. We used OSGiLiath to perform a number of cool experiments related with automatic adaptation of dEAs on heterogeneous clusters.

The abstract:

Distributed Evolutionary Algorithms are traditionally executed on homogeneous dedicated clusters, despite most scientists have access mainly to networks of heterogeneous nodes (for example, desktop PCs in a lab). Fitting this kind of algorithms to these environments, so that they can take advantage of their heterogeneity to save running time, is still an open problem. The different computational power of the nodes affects the performance of the algorithm, and tuning or fitting it to each node properly could reduce execution time.

Since the distributed Evolutionary Algorithms include a whole range of parameters that influence the performance, this paper proposes a study on the population size. This parameter is one of the most important, since it has a direct relationship with the number of iterations needed to find the solution, as it affects the exploration factor of the algorithm. The aim of this paper consists in validating the following hypothesis: fitting the sub-population size to the computational power of the heterogeneous cluster node can lead to an improvement in running time with respect to the use of the same population size in every node.

Two parameter size schemes have been tested, an offline and an online parameter setting, and three problems with different characteristics and computational demands have been used.

Results show that setting the population size according to the computational power of each node in the heterogeneous cluster improves the time required to obtain the optimal solution. Meanwhile, the same set of different size values could not improve the running time to reach the optimum in a homogeneous cluster with respect to the same size in all nodes, indicating that the improvement is due to the interaction of the different hardware resources with the algorithm. In addition, a study on the influence of the different population sizes on each stage of the algorithm is presented. This opens a new research line on the fitting (offline or online) of parameters of the distributed Evolutionary Algorithms to the computational power of the devices.

The paper (currently «In press» form) can be downloaded from http://www.sciencedirect.com/science/article/pii/S1568494615006468

Evostar 2015 mandatory post

We can never skip the chance to assist the Evostar conference, and aside learn the latest trends in Evolutionary Computation and present our results, we also have a good time with our other colleagues.

This time the conference was held in Copenhagen (Denmark), and because Antonio and me were part of the organization we didn’t have much time to go sightseeing, but we went to Tivoli Gardens and ride the flying chairs (and screamed like babies).

On the scientific part, we presented two papers to EvoGames track, related with our research lines on content generation for videogames and AI optimization. The first paper, How the World Was MADE: Parametrization of Evolved Agent-Based Models for Backstory Generation, presents a study on parametrization of the values that define a virtual world to facilitate the emergence of archetypes, and be able to generate interesting backstories (for videogames, for example). See the poster here:

The poster

Also, as we are commited to open science and open software, you can download the MADE environment from its web. The abstract:

Generating fiction environments for a multi-agent system optimized by genetic algorithms (with some specific requirements related to the desirable plots), presents two main problems: first it is impossible to know in advance the optimal value for the particular designed fitness function, and at the same time, it creates a vast search space for the parameters that it needs. The purpose of this paper is to define a methodology to find the best parameter values for both, the evolutionary algorithm, and the own fictional world configuration. This design includes running, to completion, a world simulation represented as a chromosome, and assigning a fitness to it, thus composing a very complex fitness landscape.
In order to optimize the resources allocated to evolution and to have some guarantees that the final result will be close to the optimum, we systematically analyze a set of possible values of the most relevant parameters, obtaining a set of generic rules. These rules, when applied to the plot requisites, and thus, to the fitness function, will lead to a reduced range of parameter values that will help the storyteller to create optimal worlds with a reduced computation budget.

Evostar 2015 - Copenhagen(That’s me with the IKEA rat plushies I used to describe our system)

Our other paper, It’s Time to Stop: A Comparison of Termination Conditions in the Evolution of Game Bots, describes a methodology to compare different termination conditions in noisy environments such as the RTS games. The abstract:

Evolutionary Algorithms (EAs) are frequently used as a mechanism for the optimization of autonomous agents in games (bots), but knowing when to stop the evolution, when the bots are good enough, is not as easy as it would a priori seem. The first issue is that optimal bots are either unknown (and thus unusable as termination condition) or unreachable. In most EAs trying to find optimal bots fitness is evaluated through game playing. Many times it is found to be noisy, making its use as a termination condition also complicated. A fixed amount of evaluations or, in the case of games, a certain level of victories does not guarantee an optimal result. Thus the main objective of this paper is to test several termination conditions in order to find the one that yields optimal solutions within a restricted amount of time, and that allows researchers to compare different EAs as fairly as possible. To achieve this we will examine several ways of finishing an EA who is finding an optimal bot design process for a particular game, Planet Wars in this case, with the characteristics described above, determining the capabilities of every one of them and, eventually, selecting one for future designs.

Evostar 2015 - Copenhagen(Here’s Antonio presenting the paper)

You can see the rest of the Evostar photos in their flickr account.

How the world was MADE: parametrisation of evolved agent-based models for backstory generation

Our paper «How the world was MADE: parametrisation of evolved agent-based models for backstory generation» has been accepted in Evostar 2015 conference. This paper continues our previous work published at ALIFE. You can also download the MADE framework source and binaries to test it for your own. Also, read the draft in our repository on GitHub.

The abstract:

Generating fiction environments for a multi-agent system optimized by genetic algorithms (with some specific requirements related to the desirable plots), presents two main problems: first it is impossible to know in advance the optimal value for the particular designed fitness function, and at the same time, it creates a vast search space for the parameters that it needs. The purpose of this paper is to define a methodology to find the best parameter values for both, the evolutionary algorithm, and the own fictional world configuration. This design includes running, to completion, a world simulation represented as a chromosome, and assigning a fitness to it, thus composing a very complex fitness landscape.

In order to optimize the resources allocated to evolution and to have some guarantees that the final result will be close to the optimum, we systematically analyse a set of possible values of the most relevant parameters, obtaining a set of generic rules. These rules, when applied to the plot requisites, and thus, to the fitness function, will lead to a reduced range of parameter values that will help the storyteller to create optimal worlds with a reduced computation budget.