Self-organized criticality in software repositories, poster presented at ECAL 2017

mural-insa

The European Conference on Artificial Life or ECAL is not one of our usual suspects. Although we have attended from time to time, and even organized it back in 95 (yep, that is a real web page from 1995, minus the slate gray background), it is a conference I quite enjoy, together with other artificial life related conferences. Artificial life was quite the buzzword in the 90s, but nowadays with all the deep learning and AI stuff it has gone out of fashion. Last time I attended,ten years ago, it seemed more crowded. Be that as it may, I have presented a tutorial and a poster about our work on looking for critical state in software repositories. This the poster itself, and there is a link to the open access proceedings, although, as you know, all our papers are online and you can obtain that one (and a slew of other ones) from repository.
This is a line of research we have been working on for a year now, from this initial paper were we examined a single repository for the Moose Perl module. We are looking for patterns that allow us to say whether repositories are in a critical state or not. Being as they are completely artificial systems, engineering artefacts, looking for self organized criticality might seem like a lost cause. On the other hand, it really clicks with our own experience when writing a paper or anything, really. You write in long stretches, and then you do small sessions where you change a line or two.
This paper, which looks at all kinds of open source projects, from Docker to vue.js, looks at three different things: long distance correlations, free-scale behavior of changes, and a pink noise in the spectral density of the time series of changes. And we do find it, almost everywhere. Most big repos, with more than a few hundred commits, possess it, independently of their language or origin (hobbyist or company).
There is still a lot of work ahead. What are the main mechanisms for this self-organization? Are there any exceptions? That will have to wait until the next conference.

Advertisements

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.

Jornada sobre Smart Cities y Movilidad

El jueves 26 de noviembre de 2015 celebramos en la Sala de Usos Múltiples del CITIC-UGR (C/ Periodista Rafael Gómez, nº 2) la Jornada sobre Smart Cities y Movilidad, enmarcada en el Programa De Ayudas Genil Para Realización De Actividades Por Grupos De Investigación Interdiciplinares (RAGII-2015).

El objeto de esta Jornada fue la investigación en el área de la gestión de la movilidad, internet de las cosas y smart cities.

A lo largo de la mañana asistimos a varias conferencias, impartidas por responsables del Area de Movilidad del Ayuntamiento de Granada, de varias empresas, así como por parte de investigadores de la Universidad de Granada en este ámbito.

Los objetivos finales fueron crear sinergia entre los diversos grupos de investigación y empresas de este área, así como facilitar el contacto de cara a promover colaboraciones, tales como solicitar proyectos, o realizar transferencia de conocimiento a partir de los resultados de investigación.

El desarrollo de la Jornada se basó en presentaciones de unos 40 minutos, en las que el ponente, por parte del Área de Movilidad del Ayuntamiento de Granada, Nazaríes, UXMobile, Geokeda, e investigadores de los grupos de investigación, comentaron los proyectos en los que trabajan actualmente en el área de las smart cities, así como las problemáticas, y los retos a los que se enfrentan.

cartel_mobilidad_smart_cities

EvoGAMES is coming… Check out the CFP

The deadline for submitting your paper to EvoGAMES (and the rest of Evo*) is now set (1 November).

EvoGAMES is a track of the European Conference on the Applications of Evolutionary Computation focused on the applications of bio-inspired algorithms in games.

The areas of interest for the track include, among others:
Computational Intelligence in video games
  – Intelligent avatars and new forms of player interaction
  – Player experience measurement and optimization
  – Procedural content generation
  – Human-like artificial adversaries and emotion modelling
  – Authentic movement, believable multi-agent control
  – Experimental methods for gameplay evaluation
  – Evolutionary testing and debugging of games
  – Adaptive and interactive narrative and cinematography
  – Games related to social, economic, and financial simulations
  – Adaptive educational, serious and/or social games
  – General game intelligence (e.g. general purpose drop-n-play Non-Player Characters, NPCs)
  – Monte-Carlo tree search (MCTS)
  – Affective computing in Games

Important dates are:
– Submission of papers: 1 November 2015
– Notification: 4 January 2015
– Camera-ready: 18 January 2015
– Evo* dates: 30 March – 1 April 2016

This year, the page limit has been increased up to 16 pages, so you could write more and more scientific content. :D

As usual, the accepted submissions will be included in the proceedings of Evo*, published in a volume of the Springer Lecture Notes in Computer Science.

For more info about the conference and the track you can visit the Main site of Evo* 2016.

See you in Porto!

YAPC::Europe 2015: Something dies in your soul when a friend is leaving.

The European Perl conference of this year is over.

2015-09-04-091525

During the week from 31-Aug-2015 to 5-Sep-2015, Granada has been hosting the YAPC::Europe 2015; a Perl conference in which GeNeura Team has been one of the main organizers. Along these days, more than 250 professionals, most of them Perl developers, have been talking, listening, discussing, laughing, singing (at least Larry Wall did it), offering employment opportunities, and sharing drinks and tapas around a single main topic: Perl.

It is never easy to organize a conference, and YAPC has a singularity: is  probably-the-cheapest-international-conference (regarding the prices for delegates) I’ve ever been. Anyone having a talk accepted (except for lightning talks) received a free registration which included all the goodies (bag and T-Shirt, among others), and tickets for pre-conference dinner, lunches and gala dinner. There were also some courses organized under the scope of the conference, but registration was separate. Having all of this in mind, YAPC Europe wouldn’t be possible without the sponsors. For this reason, first of all, let us thank  all the companies and people that have supported this event (you can see all of them at http://act.yapc.eu/ye2015/our_sponsors.html): nothing could have been written about this conference without their generosity.

The venue for YAPC::Europe 2015 has been the Faculty of Sciences of the University of Granada. For this reason, the conference started with the pre-conference dinner, where all of us shared a some bits (in fact, a good amount of) pizzas seated on the grass of the venue’s backyard. Thus, from the very first moment, we realized that YAPC is mainly designed to keep people, the community, in touch. More than sharing knowledge (although it is shared), showing solutions (and they were shown), or talking about “one’s book”, YAPC allows you shaking the hands that wrote the CPAN module that saved your project a few months ago, or seeing the smile of that costumer whose business mainly depends of Perl’s good (unique?) programming features.

During the three days the conference lasted, plenary talks took place both at first and last hours. Thus, the central hours were dedicated to parallel sessions with talk lasting 20 or 50 minutes, with a small gap between them, so that people can move from room to room attending to their favorites talks. It’s rather difficult, if not impossible , to make a summary of all of them, so, both the schedule and list of accepted talks will be available for a long time, just in case anyone is interested.

Last day was probably the big day. Larry Wall was talking about Perl 6… Well, and also about lot of things related to Tolkien’s books and their similarities with Perl 5 and Perl 6. Larry invited us to the party, i.e., the upcoming release of Perl 6, that will be available in Christmas (in fact, this was not the first time he pronounced this sentence… but it’s the first time that he indicates the exact year for those “Christmas”, and is 2015!!!). We’ll never would be able to thank him enough for being with us in Granada, and will never forget him… as well as their hats.

Together with Larry’s talk, probably lightning talks have been the most important discovery in this conference. Far away from extremely, perfectly, and strictly organized and exposed speeches, lightning are 5-minutes length talks that give the opportunity to show new CPAN modules (or also preventing people for spending their time writting modules for solved problems, i.e., CGI.pm ) , your analysis of the use of a given module, the importance of making web analytics… and, most of all, of being in contact with Japanase developers (sorry, fast developers). Lightning talks are dynamic, illustrative, interactive, fun, necessary… essential!!!!

Finally, as this YAPC::Europe was devoted to art and engineering, let us say “good bye” to the attendees with two songs. First one is a typical Andalusian song, that could be translated into “Something dies in your soul when a friend is leaving”. But, as far as I’ve could seen, probably the best song that reflects what programming in Perl means is Joe Cocker’s “With A Little Help From My Friends” (https://www.youtube.com/watch?v=_wG6Cgmgn5U)… Maybe Frodo Baggins and the Fellowship of the Ring would fully agree with me… maybe not.

BTW, YAPC::Europe 2015 is done; so is this entry. (Some other thing I learned in a lightning talk – see http://www.brepettis.com/blog/2009/3/3/the-cult-of-done-manifesto.html)

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.