Category Archives: conference

Post navigation

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.

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.

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.

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:

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.

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.