Kohonants: a gentle introduction

Next week, Carlos Fernandes will present in the ANTS 2008 conference our paper KANTS: Artificial Ant System for Classification (hope the typo is not in the proceedings, but I’m afraid it will be). The algorithm was already presented by Antonio in ALIFE XI, with the paper KohonAnts: a self-organizing ant algorithm for clustering and pattern classification (which is also available from arxiv). Antonio was questioned about what was good about this algorithm, and I guess this is as good a place as any other to tell about it.
The basic idea of Kohonants is to use stigmergy for clustering and classification. Usual ant clustering algorithm place data as objects in the grid ants move around, and then, via some natural inspiration and a great deal of heuristics, they manage to cluster them according to proximity.
Kohonants, on the other hand, makes each data item an ant (or several, if needed). Pheromones are also vectorial in nature, in the same dimension as data, and what ants do when they move about is first take into account what’s the pheromone levels they have around in their neighborhood, and second modify it making them closer to the vector they represent.
That is why they are called Kohonen’s Ants: Kohonen’s algorithm behaves in the same way. Takes a training data vector, compares it to all the vectors in a two-dimensional array, and whoever wins is made closer to the data vector. Ants in Kohonants take the place of data vector in Kohonen’s algorithm, and the two-dimensional vector array that is trained is substituted by the two-dimensional (vectorial) pheromone field in Kohonants.
Results so far have been quite good, but we’ll continue with it to see what are their limits, and how well it fares against other ant and non-ant clustering algorithms. Meanwhile, as we mentioned in our previous post, you can download full code from the GeNeura code repository