Introducing KohonAnts, a new stigmergic clustering and classification algorithm

We have submitted, and at the same time uploaded to ArXiV, a paper on this new algorithm the masterminds of GeNeura + Carlos Fernandes and Vitorino Ramos (who are practically now full-privileges GeNeura members). You can download it from ArXiV; the title is KohonAnts: A Self-Organizing Ant Algorithm for Clustering and Pattern Classification:

In this paper we introduce a new ant-based method that takes advantage of the cooperative self-organization of Ant Colony Systems to create a naturally inspired clustering and pattern recognition method. The approach considers each data item as an ant, which moves inside a grid changing the cells it goes through, in a fashion similar to Kohonen’s Self-Organizing Maps. The resulting algorithm is conceptually more simple, takes less free parameters than other ant-based clustering algorithms, and, after some parameter tuning, yields very good results on some benchmark problems.

We’ll be very soon doing the rounds with this algorithm with the usual conferences. It is new, it works surprisingly well, and, as usual, source code is available from your friendly Forja subversion repository (not updated, though).

New paper on evolution of XSLT stylesheets uploaded to ArXiV

A new paper, Improved evolutionary generation of XSLT stylesheets, has been uploaded to ArXiV. It’s been accepted, as poster, to the GECCO 2008 conference, so we conveniently publish the full paper here as a reference. Here’s the abstract:

This paper introduces a procedure based on genetic programming to evolve XSLT programs (usually called stylesheets or logicsheets). XSLT is a general purpose, document-oriented functional language, generally used to transform XML documents (or, in general, solve any problem that can be coded as an XML document). The proposed solution uses a tree representation for the stylesheets as well as diverse specific operators in order to obtain, in the studied cases and a reasonable time, a XSLT stylesheet that performs the transformation. Several types of representation have been compared, resulting in different performance and degree of success.

As the paper says, full source is available from our SubVersion repository

SOTEA: Population structure, coevolution and diversity maintenance

Last Friday’s talk was about the work of Whitacre and coathors presented in:

The authors propose an EA (called SOTEA) for the sake of diversity maintenance. To this aim, they focus on a self-organized population structure with the shape of a complex network. The network co-evolves with the EA by following two rules (from which emerge a power law population structure):

  1. Reproduction rule:
  2. When a new offspring is created, SOTEA add a new node, this node is linked to its parent (asexual reproduction). The parent’s connections are inherited by the offspring with certain probability Padd. Besides, all inherited connections are lost by the parent with probability Premove.

  3. Competition rule
  4. A random selected individual competes with its less fit neighbour. From such a competition, the loser results killed and the winner inherits all its connections.

Within the paper, the results are compared versus a Cellular GA and a Panmictic GA. They show that SOTEA keeps better the population diversity than its competitors and converges reasonably to a solution.

Quite a nice work, although I missed a larger and more stressing test suit case (Authors just use the NK landscape test function).

Pasándonos a git

Una parte posiblemente poco considerada de la investigación científica consiste en compartir código y fuentes de trabajos científicos. Hay miles de formas de hacerlo mal, y varias de hacerlo bien; una de estas últimas es usar repositorios. Nosotros lo venimos usando desde hace cierto tiempo, sobre todo con código, y hemos llegado a estar bastante hartos de las limitaciones de CVS. Subversion está algo mejor, pero desde que ha surgido Git, estamos tratando de pasar todos los repositorios, y de crear los nuevos, usándolos. Así que el viernes pasado dedicamos el seminario a una mini-introducción a git.